[Coco] HDBDOS - Floppy/DSKINI Mod
Robert Gault
robert.gault at att.net
Mon Jan 19 22:41:34 EST 2015
Chad H wrote:
> Note to CoCo 3 users:
>
> I don't have a CoCo 3, I have a CoCo 2 so I thought there were no issues here but I tried loading the .ROM in the M.E.S.S. emulator for a CoCo 3 and it always hanged. I tried loading for a CoCo 1 and that works. I was perplexed as I thought the CoCo 3 could handle larger ROM's than the CoCo 1/2 (up to 32K right?) I guess you have to do something special in the ROM to get that to work though with the MMU of the CoCo 3. I found a Memory Map for the CoCo 3 that shows the following...
>
> $C000-$DFFF Disk Basic Interpreter (i.e. Cartridge ROM / 8K space same as CoCo 1/2)
> $E000-$FFFF Super Basic, GIME regs, I/O, Interupts
>
> IF this is the case then it explains why my ROM's won't work in a CoCo 3 as they cross the 8K boundary. According to the same document, the CoCo 2 map shows by comparison ...
>
> $C000-$DFFF Cartridge ROM Space
> $E000-$FEFF Unused
> $FF00-$FFFF I/O, machine configuration, reset vectors
>
> The CoCo 2 has the extra space from $E000-FEFF available that the ROM could run into. That’s 7.5K of space. Hopefully someone will figure out how to use the MMU features to 'map in' larger than 8K ROM's on the CoCo 3 at some point
>
> - Chad
>
Chad,
I just ran a test with MESS using my own ROM of $4000 bytes with Coco3 emulation
and it worked perfectly.
Regardless of the map info you read, you forgot that the Coco3 is normally in
all RAM mode for Super Extended Basic but can be switched back to ROM/RAM mode
at will. To use a 16K Disk ROM that does not interfere with SEB, you just need
to have a switching routine in the lower 8K of the ROM that switches to ROM mode
to access the upper 8K of DOS and then back to RAM mode to access SEB.
Now regards HDBDOS, there is essentially not enough room for such a switching
routine. So, the alternative is to remove Flexikey to get more room in 8K or for
room to have a switching routine with Flexikey moved to the upper 8K along with
new HDBDOS code as needed.
That's how the ADOS Disk ROM functions.
Robert
More information about the Coco
mailing list