[Coco] Moving ROM segments to other locations

Arthur Flexser flexser at fiu.edu
Sun Apr 25 18:19:37 EDT 2004


On Sun, 25 Apr 2004, Robert Gault wrote:

> Arthur Flexser wrote:
> > In response to some questions that arose in an off-list discussion
> > involving Boisy and others, 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
> > 
> > 
> 
> Good work Art!
> 
> I finally got my test code straightened out and can comfirm your 
> results. On my system, it does not matter whether the MMU is poked in 
> RAM or ROM mode. This pattern extends through all 16 MMU registers.
> 

Are you sure about it not mattering whether you are in RAM or ROM mode?  
I would think that in RAM mode, what would be moved is the contents of RAM
at the relevant address.  Which in a number of cases would be the same
bytes, since a RAM copy exists in the case of Extended, Color, and Disk
Basic, so it might be hard to distinguish.  But I think if you try the
ones involving the internal patcher, you'll see that you need to be in ROM
mode.

Art





More information about the Coco mailing list