Home Computing Weekly
2nd April 1985This Z80 development system is the first expansion ROM available for the Amstrad CPC464, and Arnor are to be congratulated on a superb job.
The 16K ROM comes on a small circuit board which plugs into the expansion port (most of the board goes inside the computer): a through-connector allows other boards and the disc drive to be fitted, and a third connector caters for future ROMs from Arnor.
MAXAM contains a versatile ZSO assembler, monitor and a simple but useful text editor. Between them, they provide all the tools you need to write, . develop and debug machine code programs, either alone or mixed with BASIC.
Assembler source code may be typed in using the text editor (no line numbers are required). or you can mix assembler with BASIC in a similar way to BBC BASIC. In this case the source code must be in REM statements since extension ROMs cannot alter the way BASIC interprets the program. and syntax errors would occur if the source wasn't "hidden".
Extra assembly directives are provided to pass variable values and addresses between BASIC and assembler in mixed applications. All the other standard directives to be substituted - BYTE, WORD and TEXT for DEFB, DEFW and DEFM, for example.
The monitor allows any pan of RAM and ROM (including expansion ROMs, but not MAXAM itself!) to be disassembled to screen or printer, or simply listed in hex or ASCII format. RAM contents can be altered just by overtyping on the screen display. Blocks of memory can be moved intelligently (i.e. partial overlaps are permissible). or relocated to run at new addresses.
One debugging tool not included is single-stepping through a machine code program, but there is a way round this. Breakpoints may be set freely in the code simply by typing BRK as a directive in the source listing (a breakpoint halts a machine code program and displays the registers on screen, continuing once you've examined the contents). To single-step, you could insert BRKs after every op-code in the block in question. String search facilities allow a check to ensure you'd taken them all out after debugging.
Useful external commands include I HELP to identify all expansion ROMs fitted, ROM numbers. and the external commands provided by a particular ROM. I ROM OFF resets the machine without initializing any expansion ROMs, which allows some fussy types of cassette software to be run without problems.
This is definitely the best editor/assembler for the Amstrad - I can highly recommend it. If the ROM version is too expensive for you. disc and cassette versions are also available at £13.50 and £26.90, with slightly fewer features.