Saturday, January 31, 2015

Superboard /// Port of JMON

JMON is a machine language monitor program I wrote for the Briel Replica 1, a replica of the Apple 1. It was only natural to want to port it to run on my new Superboard ///. Given that both computers use a 6502 microprocessor, and JMON has minimal hardware dependencies, it was not hard to do. In one evening I had it all working on the Superboard ///.

After determining the addresses of suitable keyboard input and screen output routines, I very quickly got it up and running. Most of the work to fully port it was to adapt the output to the smaller screen width (24 characters) of the Superboard. I also had to disable some features that did not apply. It is now fully working and is quite useful, particularly as the built-in OSI machine language monitor is very primitive.

Years ago, when I had an original Superboard II, I wrote some machine language programs by hand assembling them and entering the hex codes into the monitor. I very quickly wrote a disassembler in BASIC in order to help verify and debug my programs.

JMON is cross-compiled on a desktop computer, and both the Apple Replica 1 and Superboard /// versions build from the same source code using ifdefs for conditional code.

Below are some representative screens showing some of the commands.

Initial Screen
Help command
Disassemble command
Memory Dump command
Info command
Changing registers and single stepping
Memory test

No comments: