[Coco] I just got an odd idea, Once a coco is put into all ram mode could basic be completely whiped away and somthing else put in it's place ?

RETRO Innovations go4retro at go4retro.com
Wed Apr 3 13:49:22 EDT 2019


The technical answer is that you can, but As Ed and Salvador note, it is 
not as practical, since the interpreter that everyone uses to interact 
with the device runs in those ROMs.

But, there is a way to have most of your cake and eat it as well.

It requires rewriting the OS so it treats all RAM access as "indirect" 
access.

I am sure some cart did back in the day.

Essentially, what the code does is store some abstraction code into the 
main memory in a space that is always present.  Then, the code switches 
in the ROMs (in this case, the cart rom), which has a special version of 
the interpreter and BASIC - or no language) that doesn't try to access 
memory directly.  Anytime the ROM code needs to access RAM, it calls a 
routine in the abstraction code. The abstraction code will:

  * map out the ROMs completely
  * grab the data (or write it)
  * map the ROMs back in
  * return

As you can expect, this indirect access of memory is slower, and some 
efficiencies can be made to make the penalty less.  Still, it won't run 
as fast as direct access.  But, you can use almost all 64kB of RAM for 
something.

Jim




More information about the Coco mailing list