[Coco] HDBDOS - Floppy/DSKINI Mod

Chad H chadbh74 at hotmail.com
Mon Jan 19 23:04:41 EST 2015


Ahhh.  Fancy.. above my paygrade me thinks.  I suppose I'm 'fortunate' that going over the 8k boundary didn't require any special switching routine or I would have most likely been screwed...

Here's a thought for all involved with HDBDOS development...

Wouldn't it be GREAT if we could come up with a standardized 'Enhanced' version of HDBDOS with new features and commands but that was 16K instead of 8K and included the appropriate IFDEF routines to handle the 16K one way if it was on a CoCo 1 / 2 and another way (memory switching) on a CoCo 3?

This could end up being a BIGGG boost to HDBDOS if this path were pursued ... Just a thought.

- Chad

-----Original Message-----
From: Coco [mailto:coco-bounces at maltedmedia.com] On Behalf Of Robert Gault
Sent: Monday, January 19, 2015 9:42 PM
To: CoCoList for Color Computer Enthusiasts
Subject: Re: [Coco] HDBDOS - Floppy/DSKINI Mod

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


--
Coco mailing list
Coco at maltedmedia.com
https://pairlist5.pair.net/mailman/listinfo/coco



More information about the Coco mailing list