BMOW title
Floppy Emu banner

ROM Disk Creation with ROM-inator II

ROM Disk

Good news, ROM-heads! The software needed for ROM-inator II programming is now available for Mac OSX as well as Windows, and I’m marking the occasion with this step-by-step guide for creating your own bootable ROM disk. Here’s what you’ll need in order to get started:

Hardware

Software and Files

You can find the latest versions of all of these in the Downloads section of the ROM-inator II project page.

  • ROM SIMM Programmer utility software
  • FC8 compression command-line software
  • ROM-inator II 512K base ROM file

Disk Image File

Lastly, you’ll also need a disk image file that defines the contents of your ROM disk. If you’ve previously used a Floppy Emu disk emulator or a Macintosh software emulator like Mini vMac, you’ve doubtless seen these kinds of disk image files before. For ROM-inator II, the disk image file should be in “raw” format, meaning it contains only the actual contents of the Macintosh disk with no extra headers or checksums. Files in this format typically have a .dsk suffix for their filename. If in doubt, confirm that the first two bytes of the file are 4C 4B (hex). You’ll find an example disk image at the ROM-inator II project page.

 
Prepare the Disk Image

When using compression, the ROM-inator II Atom SIMM can store a disk image as large as about 2.2 MB (or 5.5 MB for ROM-inator II Basic, 12 MB for Mega). The exact limit depends on the contents of the disk image and its compressibility. You can use your own pre-existing disk image, or start with these empty 2.25 MB or empty 5.5 MB or empty 12 MB disk images. If you’re using your own disk image, its size must be a multiple of 65536 bytes (64 KB).

I recommend Mini vMac for editing the contents of the disk image. It’s a cross-platform tool that emulates a Macintosh Plus, and you can quickly mount disk images by dragging them into the Mini vMac window. Once you’ve mounted a few different disk images, you can copy programs and data between images to configure your ROM disk image however you’d like it. If you’re unfamiliar with this process, check out this disk image setup tutorial for the original ROM-inator.

On Windows, another alternative is HFV Explorer to transfer data directly to/from the disk image, without a Mac emulation intermediary.

Don’t forget to include a System folder in your disk image! The Macintosh will need an operating system in order to boot. You can find installers for Systems 6 and 7 at Macintosh Garden – as well as all sorts of other vintage Mac software.

 
Compress the Disk Image

compress-data

Next, you’ll compress the disk image file so that it fits in the space available in ROM. The compression format is FC8, a custom format that I designed specifically for this purpose. The FC8 compressor is a command line program, so you’ll need to run it from a command prompt (Windows) or terminal (Mac). The ROM-inator II disk driver uses FC8’s block compression format, with 65536 byte blocks. To compress the disk image, type this at the command line:

fc8.exe -b:65536 mydisk.dsk mydisk.fc8

This will compress the disk image file mydisk.dsk, and create the compressed file mydisk.fc8. If the fc8 program or the disk images aren’t in the current directory, you’ll need to specify the path to those files on the command line.

Check the size of the resulting mydisk.fc8 file. For the ROM-inator II Atom, the compressed file must be no larger than 1.5 MB (1572864 bytes). For ROM-inator II Basic, the compressed file must be no larger than 3.5 MB (3670016 bytes). For the ROM-inator II MEGA, the compressed file must be no larger than 7.5 MB (7864320 bytes). If it’s too big, remove some files from your disk image and try again.

Note that simply deleting a file from the disk image may not help, because “deleting” normally just marks sectors as unused but doesn’t actually set their contents to zero. To truly delete the file and gain better compression density, you may need to create a new disk image from scratch and then copy all the files from the old disk image. It’s a minor hassle, but worth it for the improved compression density. Typical disk images will compresses to 60-70 percent of their original size, when using FC8 65536 byte blocks.

 
Create the ROM Contents File

You’ll need to concatenate the 512K base ROM file and the compressed disk image file, in order to create the final ROM contents file. The base ROM file contains the low-level code needed to operate your Macintosh, including the ROM disk driver that performs on-the-fly decompression of your disk image’s data. At the time of writing this file is named iisi+romdrv1.2.rom, but check the project page to get the latest version. The concatenation is performed on the command line, using the built-in programs copy (Windows) or cat (Mac OSX and Linux):

copy /b iisi+romdrv1.2.rom + mydisk.fc8 myrom.rom (Windows)

cat iisi+romdrv1.2.rom mydisk.fc8 > myrom.rom (Mac OSX and Linux)

This will concatenate the files iisi+romdrv1.2.rom and mydisk.fc8, and create the combined file myrom.rom. If the files aren’t in the current directory, you’ll need to specify the path to those files on the command line.

The resulting myrom.rom file should be 2 MB (2097152 bytes) or less for the ROM-inator II Atom, 4 MB (4194304 bytes) for the Basic, or 8 MB (8388608 bytes) for the Mega, in order to fit the space available in ROM SIMM.

 
Program the SIMM

simm-programmer-software

The final step is to program the ROM-inator II SIMM with your new ROM contents file. Connect your ROM SIMM Programmer to your PC or Mac’s USB port. Turn the programmer’s power switch to OFF, insert the ROM SIMM in the socket, then turn the switch to ON. Open the ROM SIMM programmer utility software.

From the software’s GUI, select myrom.rom as the file to write. Programming speed will be fastest when “verify after writing” is selected as the verification option. Ensure the SIMM capacity is set correctly (2 MB for the ROM-inator II Atom, 4 MB for the Basic, 8 MB for the Mega), then press the Write to SIMM button.

After programming is complete, turn the programmer’s power switch to OFF, and then remove the ROM SIMM from the socket. Have fun with your new ROM disk!

Read 6 comments and join the conversation 

6 Comments so far

  1. Miles Raymond April 23rd, 2019 2:30 pm

    I’d like to mention that Visual C++ Redistributable for Visual Studio 2012 Update 4 was needed to run fc8 on windows:
    https://www.microsoft.com/en-us/download/details.aspx?id=30679

    Is there any way to program the ROM from within the Mac, similar to the Flash Tool app you created for the original ROMinator?

  2. Steve April 23rd, 2019 5:52 pm

    The ROM-inator II SIMM requires an external programmer as described here: https://www.bigmessowires.com/mac-rom-inator-ii-programming/

  3. Miles Raymond May 20th, 2019 11:28 pm

    Steve, this page refers back to the project page for the iisi+romdrv1.2.rom file, but I couldn’t find the link there. Could you link directly to it on this page please?

  4. Steve May 21st, 2019 6:39 am

    All of the downloads related to the SIMM programmer are here: Mac ROM-inator II Programming – the file you want is baserom.rom.

  5. Miles Raymond May 24th, 2019 5:56 pm

    I found it there, thanks!

    Do you have an updated link for the 12M empty base image? I get a 404 error when I attempt to download it.

  6. Steve May 24th, 2019 7:11 pm

    Thanks for letting me know, I’ve fixed the link.

Leave a reply. For customer support issues, use the Contact page instead of comments.