[Coco] Multi-Pak and Switched Bank ROM/RAM
John Collyer
johncollyer at zoominternet.net
Thu Jan 29 17:12:36 EST 2004
How the Multi-Pak and Switched Bank ROM/RAM works:
Instead of limiting the number of switched banked rom/ram cartridges
you can have I'll ask the operating system for the memory needed for
the banked switched rom/ram. The Multi-pak memory is a table of four
16K/32K memory pointers to a 16K/32K memory area. Because we
are using pointers all we need to do is calculate where the pointer needs
to point to and make sure the table of virtual memory pointers is updated
properly for single bank and fix banks. With this system you can change
memory very quickly and have a total virtual way of accessing memory.
The other routines take care of switching the pointers for the switched
banked rom/ram. For the Tandy produced bank switched game roms I
will set a flag and monitor $FF40 for any write page number request.
Other schemes can be made if you switch rom/ram banks in a different
manner then the above manner.
Technically this is called a virtual device driver. If you could move
virtual
hardware devices around that would be more like a real coco using an
MPI device. Users could setup the emulator to match the way their real
coco was setup. When and if virtual hardware devices became available
the emulator could add the exported virtual device drivers read/write link
functions to the available device driver list file. The general config file
would be used by the emulator to init the systems hardware $FFxx mem
area and link in any defined exported device functions found.
John Collyer
More information about the Coco
mailing list