[Coco] CoCo 32k rom architecture

RETRO Innovations go4retro at go4retro.com
Tue Jan 26 22:07:17 EST 2016


On 1/26/2016 5:36 PM, Robert Gault wrote:
> OK, after writing an ml routine to print data to the screen I can 
> report what a Coco3 sees in the external ROM with 16k / 16k internal 
> external and 32k external.
>
> The most reasonable way to present this is that the 32k ROM always 
> exists from $8000-$FF00 and when the Coco3 is in standard 16k internal 
> 16k external mode, it sees the second half of the external ROM.
> So my program when using 16k/16k saw the Extended Basic ROM at $8000 
> and the second half of the cart ROM at $C000. When the program set 32k 
> external, then it saw the first half of the external ROM at $8000 and 
> the same data (second half ROM) at $C000.
> Can I prove that a ROM reader would see the same thing? No I can't, 
> but I expect it would. It makes sense because it is the only way a 32k 
> ROM would not get lost when switching from 16k/16k to 32k external.
>
> And then how does this relate to .ccc files? These files do NOT 
> present the ROM as seen by a Coco3. The halves are reversed with the 
> second half preceding the first!
> This makes no sense to me but someone must have decided that one of 
> the emulators JVC, MESS, or VCC could handle a 32k ROM cart more 
> easily in this fashion. That format then became the standard for .ccc 
> files regardless if it was reasonable.
>
> Robert
>
>
I assume the ccc file is this way because then the code could always 
assume the first byte goes at $c000 in the ROM virtual memory space of 
the emulator and then if the counter rolled over 16kB, then it would 
stuff it into another array that represents $8000

Strange ccc format, though

Jim


-- 
RETRO Innovations, Contemporary Gear for Classic Systems
www.go4retro.com
store.go4retro.com



More information about the Coco mailing list