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

Arthur Flexser flexser at fiu.edu
Thu Apr 30 00:26:39 EDT 2009


On 4/30/09, news at wzydhek.com <news at wzydhek.com> wrote:
>
>
>  > -----Original Message-----
>  > From: ColorComputer at yahoogroups.com
>  > [mailto:ColorComputer at yahoogroups.com] On Behalf Of Mike Pepe
>  > Sent: Wednesday, April 29, 2009 11:15 PM
>  > To: ColorComputer at yahoogroups.com
>  > Subject: RE: [Color Computer] Hardware specifics regarding
>  > GIME , RAM and ROM
>  >
>  > > 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?)
>  >
>  > No, the MMU affects RAM only.
>  >
>

Actually, that's incorrect, though the ROM segments respond in a
different way to changing the MMU values than RAM segments do.  We had
a thread about this a while back.  Particular ROM segments can only be
moved to certain addresses, and what address you pick determines which
ROM segment moves there.  You can even move segments from the internal
patcher ROM, which is normally inaccessible, to locations where you
can see them.  It works in a very weird way.

Here's part of a message I posted to the list back in April of '04
that gives details:

Here's what happens as a result of moving ROM segments around,
according to some old notes I dug up, where all MMU pokes
are done in ROM mode:

MMU location    Value          Segment moved                 Destination

$FFA0        $3C or $3D      I0  ($8000 Extend. Bas.)           $0000
                    $3E or $3F      E0  ($C000 External ROM)

$FFA1         $3C or $3D      I1  ($A000 Color Bas.)              $2000
                     $3E or $3F      E1  ($E000 External ROM)

$FFA2        $3C or $3D      I2  ($C000 Int. Basic patcher)   $4000
                    $3E or $3F      E0  ($C000 External ROM)

$FFA3        $3C or $3D      I3  ($E000 Int. Basic patcher)    $6000
                    $3E or $3F      E1  ($E000 External ROM)


I haven't actually verified the $FFA0 results, but inferred them from the
pattern of the others.:



Art



More information about the Coco mailing list