Well, I've done some final testing and appears to work well and as intended. I've also run the 65C51 at 115200 baud with Xmodem loader with a 4MHz CPU clock without error. I cleaned up the source quite a bit, found another 8 bytes to free up and have decided to share the code now. The zip file contains the source for the monitor (which includes BIOS) and a separate source file for the BIOS. It also contains the LIST file, S19 file (which I use to program the EEPROM), the WDC Tide file and the Quick reference. Using standard directories for WDC Tools, everything should assemble and link fine by placing the zip file under Projects and expanding it (directory is C02Monitor).
Default assembly for the Monitor is $F000 and is 3024 bytes. The BIOS is at $FC00 and is 760 bytes. The BIOS is split however, as my 65C02 setup uses page $FE for I/O. With the exception of page $FF, the rest of the code can be relocated. Page $FF contains the JUMP table (40 entries), all of the soft vector and soft HW config tables and base startup routines. The largest single function is the Xmodem/CRC loader which automagically supports the S19 record processing, 550 bytes of code.
Hope some forum users find it useful, it's been a fun project so far. It can also be used as a quick hardware test as it uses interrupt driven routines to support the 65C51 in full duplex mode, and both 65C22 timers. It also provides basic Port control for setup, input and output.
Now that I can write code in WDC tools and directly load to the board, it's a useful monitor coupled with the EEPROM program capability. I've tested Xmodem download using both ExtraPutty and TeraTerm. Next on the list is a disassembler, no idea when I'll get around to that.
Attachment:
C02Monitor.zip [92.76 KiB]
Downloaded 206 times