[Coco] [Color Computer] Hardware specifics regarding GIME , RAM and ROM

Darren A mechacoco at gmail.com
Wed Apr 29 21:02:47 EDT 2009


On 4/29/09, news wrote:
> I have a few questions regarding the GIME, RAM and ROM.
>
> 1) If I understant what I have read so far, if $FFDE is written to, then the
> memory will be in ROM mode, meaning $8000-$FEFF will be accessed from rom?
> How does the MMU registers $FFA0-$FFAF affect this? Can those ROM addresses
> be remapped to different memory slots? (Instead of $8000 being at $78000,
> can it be read from the equivalent of $18000, etc?)

Not sure about that one.


> 2) When $FFDF is written to set RAM mode, are the ROMs no longer accessible
> until $FFDE is written back to?

That's correct except for the Reset and Interrupt vectors.


> 3) Also, if I understand correctly, there is 32K worth of ROM space, mapped
> either 32K internal, 32K internal (Cartridge?), or 16K internal/16K
> external. Does bit 2 (MC2) of $FF90 determine WHICH external ROM (if there
> is a multipack in use) is mapped for the 32k external or 16k external?

The Multipack has it's own address (FF7F) for controlling which slot
is selected. One nybble controls CTS* selection and the other nybble
controls SCS*.


> 4) Is $FF00 - FFEF ALWAYS mapped for hardware no matter what MMU registers
> are set or RAM/ROM mode, etc? And are they always mapped to $7FF00 - $7FFEF?

This range is always mapped for hardware. The MMU and RAM/ROM mode
have no effect on this range.


> And what about $FFF0-$FFFF, I understand they are mapped to $BFF0-$BFFF for
> the vectors in the ROM. Is this ALWAYS the case no matter what the MMU
> registers and RAM/ROM mode are set for?

They are not mapped to $BFF0-$BFFF on the CoCo 3.  That is done by the
SAM in the CoCo 1 and 2.  The GIME passes them straight through to
$FFF0-$FFFF in the CoCo 3's internal 32K ROM.  The MMU and the ROM/RAM
mode switch have no effect on these.


> 5) Lastly, I guess bit 3 of $FF90 controls whether the 256 bytes from
> $FE00-FEFF are always present at that address no matter if banks are
> switched around? If so, is this space mapped to $7FE00 to $7FEFF?

Yes. That bit ensures that those 256 addresses are constant. I believe
they are always mapped to the upper most page of physical RAM.

Darren



More information about the Coco mailing list