TurboMON is a Z80 monitor and toolkit for the SAM Coupé. It provides a controlled execution environment for SAM programs, supporting single-stepping, tracing, breakpoints, as well as a selection of utility functions.
To allow the execution of code in ROM and RAM, and in any memory configuration, we must maintain full control at all times. The Z80's lack of debug registers leaves little choice but to interpret the target Z80 code to execute it. While this reduces execution speed to around 2% of normal SAM speed, it is fast enough to allow most programs to be used almost normally, instead of single-stepping everything.
As the name suggests, the monitor is optimised for speed, running over 100 times faster than an existing SAM monitor program. A number of common instruction blocks are recognised, allowing faster execution without a separate decode stage for each. Common delay and sound loops are also short-circuited to improve overall speed, when not single-stepping.
Load at any free 16K page boundary and CALL the loading address. e.g.
LOAD "TurboMON" CODE 32768 : CALL 32768
A full manual is available on the author’s TurboMON page.
TurboMON was written in the 6 months after finishing University, and in parallel with work on Search: “Pac-Man”. Shortly after finishing TurboMON in early 1994, the author left to work in Thailand for 6 months. The program was left in the capable hands of Steve Nutting, who released it as part of the SC_Monitor Pro pack.
TurboMON was later re-released as freeware.
TurboMON also forms the basis for the SimICE debugger in SimCoupe.