MakeRRom – a simple utility

Based on a conversation I had on FaceBook and after reviewing the disassembly of the program written by Stephen Munnings in 1985 called GameSave that would dump the contents of a cartridge plugged into the Adam to a file in CP/M that you could then execute I have created a newer hybrid version of this: MakeRRom.

MakeRRom (Make Run-able ROM) is a program written in Turbo Basic, an old MS-DOS compiler created by Borland that I have been using for almost 30 years. MakeRRom will take a PC file that contains a ROM cartridge dump and create a CP/M (or TDOS) compatible program that you can then import into a disk image for use in the ADAMEm emulator or copy over to your real Adam. Unlike GameSave you do not have to have the cartridge and you create your files on your PC.

How it works:

The heart of MakeRRom is a 32 byte Z80 assembler routine that handles setting up the Adam to execute the file as if it was a ROM cartridge:

The program MakeRRom then takes this code, appends the code for the ROM cartridge and then saves it as a .COM file to be used in CP/M or TDOS.

When you run the created file the Z80 code will copy the appended ROM data to 8000H (the upper 32KB bank of RAM) and then copy the small loader called JumpCode to the top of memory and execute it. JumpCode in turn sets up the Colecovision OS7 Rom in the lower 32K bank and jumps to the cartridge start point.

How to use MakeRRom

MakeRRom.exe is a 16 bit program so you may need to run this either in DosBox or on an older PC. To use it, copy MakeRRom.exe and the ROM file you want to work with into the same folder. Then at the dos prompt type:

C:\> makerrom filename.ext

And after a few moments it will create a file called that is your ROM file and the loader.  Then you can use the process I described here to import it into TDOS or CP/M.

In the download below I have included a copy of the Cabbage Patch Kids Adventure ROM called patch.rom and the resulting file. If you use Debug to view the ROM file and the .COM file you will see how the first 32 bytes of the .COM file are the Z80 loader.

Cool – but why do it?

The simple answer is because I can. The more complex one? I can download all the Colecovision ROMs online, batch convert them into .COM files, import them all into a TDOS IDE image, copy the image to compact flash and now have all of them available to run at anytime on my Adam 🙂


5 Replies to “MakeRRom – a simple utility”

  1. Another great addition… thanks. Now you can have all the 32K CV & Adam roms on your IDE CF Card in both EOS that I setup years ago (in CopyCart format) and in T-DOS *.com format. Pretty cool.

    Only thing left is to get the info for adding bank-switched cart support (a growing number of Homebrews use this cart PCB like Pac-Man Collection and the Adam Super Game conversions to cart format)… think it’s been posted on AtariAge.

  2. Always nice to have new programs…but…(there is always a but)…I’ve done basically the same thing for years using GAMESAVE. Using ADAMem (with the ADAMEmMam front end to make it simpler). Mount a CPM disk with GAMESAVE on it in Drive A: and mount the cartridge rom you want in the line for the cartridge. Then run CPM and GAMESAVE and it copies the cart rom right to your CPM disk as a .COM file. That saves the step of having to transfer the .COM file back to TDOS or CPM….so, Apples & Oranges…sounds like your program has the benefit of being able to do a batch conversion, while you can only do one at a time using ADAMem.

    1. I did not know this – here again a reason why we need some central location for all of this information instead of it being all over the place.

Leave a Reply

Your email address will not be published. Required fields are marked *