Showing posts with label Superboard. Show all posts
Showing posts with label Superboard. Show all posts

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.