Assembler Workbench - Review

The Z88 Assembler Workbench is a complete package for the budding Z88 developer, released by Interlogic and now available free from this site. It comprises a ROM containing four applications:

All the applications included include plenty of online help, and are well-presented, using windows wherever possible. Full documentation is also provided in the form of PipeDream files. There are also a lot of source files to examine, and a library of useful routines.


Z80Asm

(Screenshot of
Z80Asm)

This is a full-featured assembler, supporting INCLUDE and library files. You create the assembly source files using PipeDream or your favourite text editor, and save them as plain text. Your program can then be assembled simply by typing the filename, together with any options you require.

There are options to create library object files (which can be linked into other projects at a later date) and to split code across the 16K banks. In addition, the assembler allows the use of project files: these are simply a list of source files, which will be assembled when the project file is used. (This is similar to the list file system used in PipeDream).

A message window keeps you informed of progress at all times, and a very useful memory-usage window is also present.

The assembler directives accepted include all the standard ones, plus CALL_OZ which is used to handle all the operating system calls. There is no macro facility as yet, but this is a minor quibble. Interlogic very thoughtfully supply a large library of useful routines to save you re-inventing the wheel, including a set of graphics routines to handle the map area.

The latest version (v1.02) contains a few minor bugfixes, and it is worth upgrading to get these.

If you don't fancy doing the assembly work on the Z88, Interlogic have released cross-assemblers into the public domain for the PC (MSDOS & Unix) and QL. These assemblers work in exactly the same way as the Z88 application.


Zprom

(Screenshot of
Zprom)

This application works on banks of memory, it's main use being to create ROMs from object files created by the assembler.

The application works on 16K banks, one at a time. You can load and save a bank to a file, examine and/or edit it's contents, or program an EPROM bank. There are also options to check that EPROMs are erased before use, and to verify them after programming.

Interlogic offer to modify RAM cards to become pseudo-EPROMs, with a switch which provides write-protection. Zprom can then be used to copy banks to these cards and they can be tested out as ROMs, the idea being that this saves on tedious EPROM-erasing during program development. A good idea, but you do need a spare RAM card, as they cannot be used as standard RAM after modification.

Another facility of Zprom allows you to copy an entire ROM card to an EPROM, thus making mastering copies of your own software fairly straightforward (however, you require a Z88 with V4 ROM and at least 128K internal RAM, otherwise you will not have enough slots free to make use of the option). Unfortunately, it's not so easy to create your original ROM, as each bank must be loaded from a file and programmed separately. However, a simple CLI file could easily be used to automate this task.

The latest version (v1.4) of the software includes full support for the new Flash EPROMs, making these the preferred development device, as programming and erasing is almost instantaneous.


Intuition

(Screenshot of
Intuition)

Intuition is the debugger included with Assembler Workbench. There are actually four versions of it included: one is a standard application (included on the ROM card) and the other three are binary files, designed to be linked in to your application.

The application version is ideal for developing and debugging routines before actually making them part of an application. It provides a 40K workspace (8K on an unexpanded Z88), identical to the workspace provided in BASIC, so memory allocation calls are not required (or even advisable) at this stage of development. Binary files assembled with Z80Asm can be loaded in to any part of the workspace and executed with the debugger in full control.

When you reach the stage of needing to debug an actual application or popdown, you must use one of the three binary files provided. This is simply a matter of choosing a segment that Intuition can use, loading the appropriate binary file to a spare bank in your Eprom, and then modifying your application to call Intuition at the start of its code. This then transfers control to the debugger.

The debugger is a full Z80 emulator: this means that it runs your application slower than if it were running alone, but is the only way that applications in Eprom can be trapped.

All the standard features of a monitor/debugger are here, including:

As well as setting breakpoints at certain addresses, Intuition also allows you to break at other events, such as a certain opcode (typed in as a list of up to 4 hexcodes), an OZ error or a special keypress.

All in all, Intuition is an extremely powerful debugging tool, with all the facilities you would expect and many more besides.


EazyLink

(Screenshot of
EazyLink)

EazyLink has been completely revamped in its latest release (v5.0.1). Now, only a single popdown is provided, but this includes a menu to select the various auto-translation options.

This popdown can be used as a direct substitute for PC Link II, and will work with the same client programs. However, with software designed to take advantage of it (such as the "link" command-line client available from the linking the Z88 page it offers many more facilities, including:


Conclusion

If you have any intention to produce applications for the Z88, or are simply curious about poking around in its insides, then this package is for you! There are no obvious bugs, and the whole thing exudes quality. Especially now, with the advent of the Flash EPROM, development on the Z88 is extremely fast and convenient with this package.

9/10


Other reviews

Back to the Z88 home page