Chapter 7: Machine Language Monitor

The built-in machine language monitor can be started with the MON BASIC command. It is based on the monitor of the Final Cartridge III and supports most of its features.

If you invoke the monitor by mistake, you can exit with by typing X, followed by the RETURN key.

Some features specific to this monitor are:

The following commands are used to dump memory contents in various formats:

Dump Prefix description
M : 8 hex bytes
I ' 32 PETSCII/ISO characters
EC [ 1 binary byte (character data)
ES ] 3 binary bytes (sprite data)
D , disassemble
R ; registers

Except for R, these commands take a start address and an optional end address (inclusive). The dumps are prefixed with one of the “Prefix” characters in the table above, so they can be edited by navigating the cursor over a printed line, changing the data and pressing RETURN.

Note that editing a disassembled line (prefix ,) only allows changing the 1-3 opcode bytes. To edit the assembly, change the prefix to A (see below).

These are the remaining commands:

Command Syntax Description
F start end byte fill
H start end byte [byte…] hunt
C start end start compare
T start end start transfer
A address instruction assemble
G [address] run code
J [address] run subroutine
$ value convert hex to decimal
# value convert decimal to hex
X exit monitor
O bank set ROM bank
K bank set RAM/VRAM bank/I2C
L [“filename”[,dev[,start]]] load file
S filename”,dev,start,end save file
@ command send drive command