Color Computer Cartridge Dumping

Here are instructions to dump a color computer cartridge using a color computer and a PC.

Almost all Color Computer Program Paks use an auto start mechanism. Color BASIC is configured on startup to accept an IRQ and jump to address $C000 in the ROM in the cartridge port. A cartridge can automatically generate an IRQ by physically connecting pin 8 (CART) and pin 7 (Q Clock).

Stopping Automatic Exectution

To stop automatic execution of the cartridge’s code it is as simple as putting cellophane tape on top of pin 8. See the image below to locate pin 8.

Color Computer Program Pak with Pin 8 identified

Color Computer Program Pak with Pin 8 identified

Here is a picture with the tape in place:

Tape over pin 8 of the cartridge port.

Tape over pin 8 of the cartridge port.

Plug the cartridge into the Color Computer Expansion port and turn the CoCo on. You should see the Color BASIC prompt. This means the tape was applied successfully.

Now connect the cassette cable to the cassette port on the CoCo. Connect the other end directly to a PC that can capture audio. On the PC side, begin recording audio.

On the CoCo side there is a difference between using a Color Computer 1 or 2, and a Color Computer 3

Saving the ROM using a CoCo 1 or 2

If you have Extended Color BASIC type:

CSAVEM”ROM”,&HC000,&HFEFF,&HC000

If you have regular Color BASIC:

CSAVEM”ROM”,49152,65279,49512

Either of these commands instruct the Color Computer to convert the ROM binary into audio data and send it thru the cassette port.

Saving the ROM using a CoCo 3

TBD.

Processing the audio file to create the ROM

There are several tools that can be used to process the audio file, I will be describing how to use CECB from the Toolshed project. I would gladly add instruction for others tool if the information was sent to me.

Using CECB

Save the audio from your recording program to a WAV file. Then issue the following command to extract the ROM:

cecb copy rom.wav,ROM rom.bin

This will convert the audio data into binary data.

Processing binary file

The following instructions will require the use of a hex editor. This is a tool that allows you to edit the actual bytes in a file. You will be using the tool to inspect the file and delete extra data.

The rom.bin file contains a binary Color BASIC header and footer (because it was saved with the CSAVEM command), in addition to the ROM itself. The header is 5 bytes at the start and the footer is 5 bytes at the end. Remove these ten bytes and you will have the ROM.

Next step is to remove redundant data from the ROM file. The Color Computer reserves 16K bytes of space for the ROM, but most cartridges are 4K or 8K in length. Inspect the ROM in the Hex Editor and look for repeating data. Delete any repeating data.

If the cartridge was 16K, then you are actually missing data. The last 256 bytes is inaccessible using this method. You should pad the ROM with 256 zeros at the end to bring the ROM to full size.

There are some Color Computer Program Paks for the Color Computer 3 that are 32K, the data past the first 16K is inaccessible using this method.

There also also some banked switched Color Computer 3 cartridge that are larger than 32K, the extra data is inaccessible using this method.

END

Thank you for reading thru this process. I hope it help you.