Amstrad Computer User


Devpac

Publisher: Amsoft
Machine: Amstrad CPC464

 
Published in Amstrad Computer User #22

Devpac

This was one of the first packages available for the Amstrad as it was converted quite quickly from the Spectrum version, unfortunately losing macros on the way.

The documentation is 56 pages long and comes ring bound in an Amsoft box with the program in two parts. The monitor is some 8k long and the assembler is about 9k. Both are relocatable and can be called from each other if they are both in memory. The manual is well written with worked examples of tracing a routine with the monitor and writing one with Gene, the assembler.

Gena has an integral line editor which includes most options you would expect. delete whole line or character, restore line and insert and overwrite modes.

Devpac

You can only list down through a file using the L command either from the start or from a line number as in Basic.

The only way you can get to a label is to use the Find command although the U command will tell you what the last line number in the file is.

A list of the available commands and their uses can be called up with the H command.

Gena will load most types of near-Ascii files - with or without line numbers - and put them in the correct format.

It will save out pure Ascii without line numbers if you want to use another editor. Mnemonics are formatted after entry and spaces turned into Tabs to save space. Files can be included from tape or disc to leave more memory which gives you about 25k for object code depending on the size of your symbol table, and Gena supports conditional assembly.

External commands are supported such as |DIR, *.SRC to list all your source files.

Calling Maxam's |CAT for some reason returns you to Basic. I don't know whether this is Arnor's or Hisoft's fault. However returning to Gena from Basic is no problem and you can flit back and forth as with Adam.

The monitor gives you a front page in Mode 1 showing all the registers and 32 bytes around the program counter. You may edit this display except for the IR pair.

As well as the normal move and modify commands Mona will single step through routines, allow breakpoints and allow you to step over calls to subroutines.

You cannot page in ROMs from Mona - you have to do this yourself. but Mona will then work with them.

Although there is the option to show some numbers in decimal. output from Mona is predominantly hexadecimal.

Mona will also create text from object code for use by Gene and the search for bytes option is very fast.

Code can also be loaded from within Mona and saved out again, but there is no information provided about the file being loaded.

A sometimes quirky but very useful package.