I've decided to create a new post instead of appending to the initial post (
viewtopic.php?f=2&t=6525).
I've managed to further integrate DOS/65 into my C02 Pocket SBC and I'm quite happy with the results so far. The entire ROM image size is now 6.5KB. The version Richard sent me was setup for Daryl's SBC 2.5 and supported 4- 8MB drives containes on an SD-Card, interfaced through a VIA port, and required about 10KB of ROM space. The changes I've made are outlined below:
1- CCM has been modified a fair amount to take advantage of CMOS instructions and addressing modes. The original version had 2304 bytes of reserved ROM and was 2124 bytes in size. The CMOS version has 2048 bytes of reserved ROM and is 2046 bytes in size. This eliminates a page of ROM space and moves the PEM module start address by a page (256 bytes).
2- PEM has (also) been modified a fair amount to take advantage of CMOS instructions and addressing modes. The original version had 2944 bytes of reserved ROM and was 2874 bytes in size. The CMOS version has 2816 bytes of reserved ROM and is 2776 bytes in size. This eliminates a second page ROM space and moves the SIM module start address by two pages (512 bytes) overall.
3- SIM has been changed quite a bit. CMOS instructions and addressing modes, but also the inclusion of code required to access the C02 BIOS and Monitor routines directly. This eliminates the separate Hardware Monitor module. This results in a larger SIM module, but it's size is smaller than the earlier SIM and Monitor modules together. It also eliminates some additional JMP table entries. It currently has 1280 bytes of allocated ROM space and is 1085 bytes in size.
4- The RAM usage required was condensed previously to two pages (512 bytes) which are moved from ROM to RAM during a cold start. Not all of this space is used, but it's unlikely attempting to reduce the ROM foot print would be that beneficial. I'll likely take a closer look at that in future.
The configuration provides for 7- 8MB drives on the CF-Card adapter attached to the C02 Pocket SBC. I've opted to update the version number from 3.02 to 3.03. There are a few routines in the C02Monitor code that are required for a Cold and Warm start, along with several routines in the C02BIOS to provide access to the UART Console and CF-Card. The total allocated ROM space for DOS/65 is from: $C000 - $D9FF, or 6656 bytes (6.5KB). The C02Monitor has reserved ROM space from $E000 - $F7FF and the C02BIOS has reserved ROM space from $F800 - $FFFF, with 5-I/O selects that are 32-bytes wide starting at $FE00. Despite having 16KB allocated, there's just over 2.5KB of free space within that range.
In any case, the only change to the C02BIOS/Monitor was the calling address to coldstart DOS/65. I'm attaching a ZIP file that has the updated BIOS and Monitor along with the updated files required to assemble and link the DOS/65 code. Note that WDC Tools are used for all of the code. Modifying it to run elsewhere is likely possible, but I have no intention or plans to do so going forward.
Attachment:
DOS65C02V303.zip [352.9 KiB]
Downloaded 86 times