[Coco] Cartridge memory - mapping in and out
flexser at fiu.edu
Tue Oct 30 03:42:56 EDT 2007
On Tue, 30 Oct 2007, Arthur Flexser wrote:
> On Mon, 29 Oct 2007, Roger Taylor wrote:
> > At 04:48 PM 10/29/2007, you wrote:
> > >On Mon, 29 Oct 2007, Roger Taylor wrote:
> > >
> > > >
> > > > (On a CoCo 3) I think doing a POKE 65502,x from BASIC is a no-no
> > > > because it switches out the patched ROMs (which are in RAM) and
> > > > switches in the underlying actual ROMs, and performing any commands
> > > > now could crash the system.
> > > > That's what the EXEC $E010 does,... very quickly by machine language
> > > > - sets up the GIME and RAM/ROM switch to prepare to run the cartridge
> > > > ROM without letting the user fiddle around at the prompt or perform
> > > > any other functions.
> > >
> > >This is not actually true, Roger. The CoCo 3 patches were carefully
> > >designed to
> > >avoid such a crash, for compatibility with existing programs. The only thing
> > >is, you can't do the ROM poke from the 40/80 column screen, since the screen
> > >drivers for that are in the Super Extended Basic RAM that will be
> > >switched out.
> > >(I don't recall whether you can still type blind if you do the poke
> > >from a 40/80
> > >column screen, or if the CoCo just crashes in that case.)
> > >
> > >Art
> > Let me rephrase... performing "some" commands could crash the system.
> My point was, that so long as you do the ROM poke from the 32 column screen, NO
> command should crash the system, since the Super Extended Basic command set has
> ceased to exist when Super Extended Basic got switched out.
P.S. I should have elaborated that a bit more....Super Extended Basic is very
cleverly patched into the CoCo 1/2 Basic in such a way as to allow going to ROM
mode without anything weird happening. All the hooks into the Super Extended
code have "underneath" them, in ROM, the standard, un-Super vectors, so all that
happens when you switch out Super Extended Basic by going to ROM mode is that
you revert to the CoCo 1/2 version of Basic, pretty much. Same thing if you
copy ROM to RAM. If you try to reference a Super Ext. Basic command, you just
get a syntax error, not a crash, same as if you tried that on a CoCo 1/2.
More information about the Coco