Thursday, October 23, 2014

The Visible Monitor

While waiting for my Briel Superboard III kit, I was reminded of a book that I blogged about last year. The Visible Monitor program in that book was written to run on a number of computers of the era, including the Ohio Scientific C-1P or Superboard II.

In preparation for trying it on the Superboard III, I entered the machine code from the book. Back in the day, this consisted of typing in many numbers as BASIC DATA statements. A loader program read the data at run-time and stored it in memory. A simple checksum scheme caught most errors. After a number of sessions I had all the code entered. I was able to save some time by scanning the book pages and using OCR software to convert it to text, however the process was still quite error prone and required a lot of manual corrections.

After fixing any obvious errors, I was able to load the software on an Ohio Scientific computer emulator. The loader program found a number of additional errors that I had made. After correcting those, I made a file suitable for directly loading from the OSI monitor program. Loading it into the emulator, I was pleasantly surprised to see that it ran fine. I'm quite confident that it will also run on the real hardware.

I also entered some of the source code for the monitor with suitable changes to build with the CC65 assembler. I've only entered a small portion of the code so far, and may not complete this as it is a very time consuming task. All of the code can be found here at github.

By coincidence, a lot of vintage books I recently bought on eBay included the book "Top Down Assembly Language Programming for your VIC-20 and Commodore 64". It turns out that this is essentially the same book, but with the Visible Monitor ported to the VIC-20 and Commodore 64 computers.

To be honest, the Visible Monitor seems a little clunky and hard to use and I think my JMON program is better. I plan to port it to the Superboard III.