Colecovision Experience Volume #6
The Colecovision Experience Volume #6 contains 22 fantastic Colecovision / Homebrew and prototype games that are 32K in size. If you want to know how a 32K ROM was loaded on the Adam see below.
All of these games are easily accessed through an intuitive menu system that makes use of the ADAM's 40 column mode and allows you to use the keyboard or controller for navigation. The menu system also allows you to change the colors on the screen which it will save in the image as well as remember the last title you accessed.
The games that are in this volume are:
2010 - The Graphic Action Game
If you are wondering why a 32k ROM loading on a Coleco Adam is a big deal then consider the following:
- The Operating System for the Adam begins at RAM location 54160 and uses all of the RAM above this.
- The ColecoVision OS7 ROM is at locations 0 - 8191 and when activated it makes the lower 32K of the Adam's RAM inaccessable.
- The ColecoVision expects a ROM to start at 32768. If we tried to load a 32K of ROM code while in Adam mode we would overwrite the EOS and the system would crash.
- The CVE code runs in the lower 32k of RAM when loaded from the VDD.
So how do we get around this? It's a little tricky:
- First we copy three routines, Mover, Loader and Fixer, into the upper RAM to location 51200.
- We jump to the Mover routine, toggle the OS7 ROM into the first 8KB of space and then copy it to 32768, the start of upper RAM.
- Next we toggle the lower RAM back in and move our copy of OS7 ROM to the bottom of RAM. We have just moved the ColecoVision OS7 ROM to RAM for the Adam to use.
- Now we use the Loader routine to load the 32 1024 byte blocks from the VDD for the selected game to RAM starting at 8960. When done we will have filled all the RAM up to 41727 with the game.
- Now we copy Fixer to RAM location 8192 and jump to it.
- Fixer firsts runs RELOCATE PCB and SCAN FOR DEVICES in the EOS to move the Adam Network DMA RAM from 65216 to 8448 so that the Master 6801 processor will not look at the code of the loaded game and think it is a command.
- Fixer now will copy the 32768 bytes of the loaded game from 8960 - 41727 to RAM locations 32768 - 65535, overwriting EOS as we are done with it.
- Then Fixer will jump to RAM location 0 and our copy of the ColecoVision ROM will now run the game.
If you enjoy these games and would like to help cover the costs please consider a donation via PayPal