BMOW title
Floppy Emu banner

Mac ROM-inator

rominator-board-350-2 rominator-installed-372

Add a bootable ROM disk to your vintage compact Macintosh! Replace the startup sound, change the Happy Mac icon, edit the ROM disk, or tweak the ROM code behavior. The Mac ROM-inator Kit replaces the stock 64K or 128K of ROM in a compact Macintosh with a full 1 MB of flash memory. Once installed, the flash ROM’s contents can be updated from within the running Macintosh, allowing for crazy customization experiments. The Mac ROM-inator supports the Macintosh Plus, Mac 512Ke, 512K, and 128K.
 

The Mac ROM-inator Kit includes preprogrammed flash memory chips, and all other necessary parts.
You’ll also need a soldering iron, solder, and wire cutters to complete the kit.

rominator-board-200  Mac ROM-inator Kit, $29
Includes two preprogrammed flash memory chips.
Kit requires assembly. Compatible with Mac Plus, 512Ke, 512K, 128K
  More Info  Out of Stock


  Find more items in the BMOW store

 
The Mac ROM-inator is great for breathing new life into your old compact Mac. Customized startup sounds add a touch of fun, and the ROM disk provides fast and convenient boot-ups. A simple GUI tool on the Mac makes it easy to modify common sections of the ROM, including the ROM disk contents. For power users, binary editing of the ROM image opens new possibilities like altering the built-in fonts and modifying the system startup routines.

The kit includes preprogrammed flash chips with these ROM changes as defaults. Any of them can be changed by updating the flash memory.

  • Startup beep is replaced by a glass “ping”
  • Happy Mac icon is replaced by a Mac wearing sunglasses
  • Pirate icon is displayed while waiting to load the ROM disk
  • ROM disk image including System 6, Mac Write, Mac Draft, and eight games
  • 128K ROM code turns a Mac 128K or 512K into a 128Ke or 512Ke

The ROM-inator is a descendant of Rob Braun’s original Mac Plus ROM Adapter and disk driver. More details about its inspiration and development are here.

 
Downloads

 
Compatibility

The Macintosh Plus, 512Ke, 512K, and 128K all support the Mac ROM-inator. Due to the way the ROM-inator works, some software running on a ROM-inator-equipped Mac 128K or 512K may think it’s running on a Mac Plus.

Mac 128K Owners: The Flash Tool utility program requires 192K of RAM, so it can’t run on an unmodified Mac 128K. The ROM-inator hardware works on the Mac 128K, but modifying the flash ROM contents requires a second Macintosh or an external EPROM programmer.

 
Usage

When first powered on, the Macintosh will play a customized startup sound, and display a “pirate Macintosh” icon. To boot from the ROM disk, press and hold the R key on the keyboard for a few seconds. If R is not pressed, the Macintosh will boot normally from an attached SCSI disk, or wait for a floppy disk to be inserted.

plusromscreen-480

The 1 MB flash ROM includes 132K for ROM code, 28K for a custom startup sound, and up to 864K for a ROM disk image. The preprogrammed flash chips contain ROM code based upon the Mac Plus ROM. If used with a Macintosh 128K or 512K, it will turn them into a 128Ke or 512Ke. This will also give those machines native HD20 support, for use with Floppy Emu in HD20 hard disk emulation mode.

The utility program Flash Tool can update the flash ROM from within the running Mac. Alternatively, the flash chips can be removed from their sockets and reprogrammed using a standard EPROM programmer.

Flash Tool

To use Flash Tool, simply select the ROM area and the data file to use for the update. The program will verify that the data file is the correct size for the area to be updated. After about sixty seconds, it’s done!

The ROM code area contains 128K of patched code from the Macintosh Plus ROM, with a 4K ROM disk driver appended. The disk image for the ROM disk can be any standard Macintosh disk image up to 864K in size, such as image files used with Floppy Emu or Mini vMac.

The startup sound is stored in raw 22 kHz 8-bit unsigned format. The free audio tool Audacity can convert WAV or MP3 files to this format. By default the sound will play for 0.66 seconds at startup, but with an additional ROM modification this can be changed to any interval between 0 and 1.3 seconds.

 
Creating a New ROM Disk

rominator-romdisk

Want to create a new ROM disk image, with a collection of your own favorite software? Follow the ROM disk tutorial to create a new image, then use Flash Tool to update the ROM-inator’s flash memory.

 
Alternative Happy Mac Icons

The data files include about a dozen different varieties of Happy Mac icons – see the downloads section above. Each alternate Happy Mac is part of a ROM code file that contains the modified icon. To use one of these icons on your Mac, use Flash Tool to program the corresponding ROM code file to the ROM-inator’s flash memory.

If you’re comfortable editing binary files in a hex editor, you can design your own Happy Mac icons. The happy face is stored as a 20 byte raw bitmap, beginning at offset $FD2 (hex) in the ROM code file. The outline of the Macintosh icon is defined elsewhere, so only the 16 x 10 rectangle within the “screen” area of the icon can be modified using this method.

 
Advanced Hacking

Fancy a shot at reverse-engineering? How are your 68000 assembly skills? Start with this commented source listing of the stock Mac Plus ROM to identify areas that might be interesting to hack. The listing also shows the address and assembled byte values for each line, so you can cross-check it against the ROM code image files included with the ROM-inator downloads. Identify an interesting data table or piece of code, and use your favorite binary editor to modify it. Then update ROM-inator’s flash memory with Flash Tool to put your new ROM changes into action.

The commented source listing is for the stock Mac Plus ROM (the 128K ROM), not the modified ROM that’s included with the ROM-inator kits. The primary difference is that the “ROM code” section of the ROM-inator’s flash memory is 132K, not 128K. The extra 4K holds the device driver code for the ROM disk. The remaining 128K also contains patches to load the device driver, and to enable modified startup sounds and Happy Mac icons.

 
FAQ

  • What Macintosh models are supported?
    Macintosh Plus, 512Ke, 512K, and 128K.
  • How difficult is the kit to assemble?
    All the components are 0.1 inch through-hole parts. Some closely-spaced headers are slightly tricky, but nothing the average solder-aware hobbyist should have trouble with.
  • Must I solder wires to the CPU?
    That’s the recommended method for the most secure installation. It’s possible to use IC test clips instead, but the limited clearance between the logic board and the Macintosh chassis frame can make clips difficult to use.
  • Does this require a special boot disk or software?
    No, everything is in ROM. The Flash Tool utility can be used to update ROM contents, but is not required for normal operation.
  • Can I write to the ROM disk?
    No, the ROM disk is read-only. However, its contents can be modified between reboots using Flash Tool.
  • What if I want to return my Mac to the stock setup?
    You can update the flash memory with a stock ROM image, to return the Mac to stock behavior while leaving the ROM-inator board installed. Alternatively, you can remove the ROM-inator board entirely and replace the original ROM chips. The chips are in sockets on the Mac logic board, so no permanent modifications are required.

21 comments 

21 Comments so far

  1. Ken Kelley May 20th, 2015 10:41 am

    I’m looking for a startup disk for a Mac 512K. I called it “the fall.”
    As the mac powered up you would hear glass breaking things falling then a loud crash followed by the audio words “Oh Shit.”
    Any idea where I could find another?
    Thanks
    Ken

  2. Anon April 30th, 2016 11:03 pm

    Is it possible to run this 1MB ROM in minivMac (or another emulator) to test it before flashing it?
    My efforts in minivMac have resulted in sad macs so far. But I’m not even sure I have constructed the ROM file properly. I cannot find your 1MB ROM prepackaged in its entirety.
    Could on-the-fly compression be used to get a larger disk? ~860k is limiting sometimes.

  3. Steve May 1st, 2016 6:28 am

    I’m not sure Mini vMac would work, but MESS probably should since it’s the most faithful low-level hardware emulator. However, you’d need to edit the source code to change the assumptions about the ROM’s size and address range. The precompiled MESS wouldn’t work. The full 1MB ROM is the 135K code binary file from the .zip download, with a startup sound appended to it (and padded out to 0x28000 if necessary), with your 835K disk image appended to that. Compression on the fly could theoretically allow a larger disk image around 1.2MB, but I think it would be unacceptably slow on a Plus/512K/128K system.

  4. Anon May 19th, 2016 9:49 pm

    Is it possible to boot from the ROM disk at the same time as having a FloppyEmu attached in HD20 mode?
    Every time I try: it never asks to hold R, it just boots from the HD20.
    When I have the FloppyEmu in Mac disk mode: it gives me the option to hold R.

    I am unable to use the Startup Disk CDEV (and force the ROM disk by default). I\’m using a 512Ke and I\’m told it\’s incompatible (something about not having enough PRAM).

    Furthermore; is it possible to boot from floppy or HD20 and make the ROM disk mount?

  5. Steve May 20th, 2016 6:33 am

    The HD20 has higher priority than the ROM disk, due to the way HD20 support is implemented on the Mac. So if the HD20 is selected as the startup disk, it will load first before the ROM disk menu appears. If you don’t want to boot from the HD20, but rather just use it as a data disk, the easiest solution is to remove the System folder from the HD20. I think zapping the PRAM may also work to clear the startup disk.

    There used to be an INIT developed by Rob Braun at http://synack.net/~bbraun/ that would mount the ROM disk after booting from another disk, but I don’t see it now.

  6. Anon May 30th, 2016 8:04 pm

    Now I’m in trouble.
    I accidentally flashed on the stock 64k ROM. I really have screwed up.
    I don’t even know if it flashed correctly. The screen went crazy and a humming noise started coming out of the speaker before it could tell me it finished.

    I am able to start the computer (a 512Ke with an internal 800k drive) with 400k disks and get to HD20 floppyemu emulation with the HD20 INIT.

    Whenever I try to run the Flash Tool, it bombs.

    I’m stuck. I have ruined my ROM-Inator.

    Is there anything I can do other than get an external chip flasher?

  7. Anon May 30th, 2016 11:22 pm

    Update.
    Using CopyROMS I was able to dump the 64K ROM that I flashed.
    I have compared it to the stock 64K ROM file. The checksums match. I was able to boot Mini vMac 128K with the extracted file.

    The flashing of the 64K ROM was successful. Now I need to get FlashTool working so I can claw my way back to 128K ROMs.

    Is it certain than the FlashTool will work in a 64K ROM environment? I can\\\\\\\’t run any flavour of System 6 with a 64K ROM.
    I am experimenting with a few older systems.

  8. Anon May 31st, 2016 3:26 am

    More testing…

    Under Sys 4.1/Finder 6.0 (Tried with and without HD20 INIT and using FloppyEmu/Real Disks) – FlashTool tries to launch, but dumps me back in Finder
    Under Sys 4.3/Finder 6.0 (had to use a lot of trickery to get that to run) (Tried with and without HD20 INIT and using FloppyEmu/Real Disks) – FlashTool tries to launch, but dumps me back in Finder

    Using the System provided on the ROM-Inator Flasher HD20 Disk (Sys 3.3/Finder 5.5) (Tried with HD20 INIT and using FloppyEmu in HD20 mode) – FlashTool bombs with error 02.

    Using the System provided on the ROM-Inator Flasher Disk (Sys 3.3/Finder 5.5) (Tried with real disk and no HD20 INIT) – FlashTool tries to launch, but dumps me back in Finder.

    I\’m pretty sure now that either there is something wrong with my equipment, OR FlashTool 1.5 requires an already-present 128K ROM.

  9. Steve May 31st, 2016 6:40 am

    Anon, you can email me directly if you need tech support. In this particular case, please try Flash Tool 1.6: https://mac68k.info/forums/thread.jspa?threadID=312&start=240&tstart=0

  10. Anon May 31st, 2016 8:02 am

    E-Mail sent. FlashTool 1.6 still bombs. Thank you for linking to it though!

  11. Anon May 31st, 2016 10:45 pm

    All fixed now.

    The only way I got it to run was:
    Booted from Internal 400K disk with System 3.2+Finder5.3+HD20 INIT.
    External FloppyEmu with 400k disk loaded. This had System 3.2+Finder 5.3. No HD20 INIT. Also had the FlashTool 1.6 and the patched code ROM.bin.

    It all worked with that combination. My 512Ke is now back to normal. My previous ROM disk and Startup sound was perfectly intact.

    Thankyou for your help Steve!

  12. Anon June 3rd, 2016 10:49 pm

    Is there a way to change the ROM Disk icon? I’m not using System 7, so I can’t just use a custom icon and paste it from the Finder.
    I’m guessing the icon is stored somewhere inside the ROM disk driver?

  13. Steve June 4th, 2016 11:35 am

    Changing the icon is possible, but not officially supported and will require modifying the disk driver code. If you read through the mac68k.info thread that’s linked above, you’ll find the source code for the driver and some related discussion.

  14. reukiodo September 1st, 2016 11:17 pm

    “There used to be an INIT developed by Rob Braun at http://synack.net/~bbraun/ that would mount the ROM disk after booting from another disk, but I don’t see it now.”

    Is it not on http://synack.net/~bbraun/macapps.html ?

  15. Charlie Tjalsma March 4th, 2017 5:49 pm

    Well Steve, gotta tell you, another successful Rominator install. I already have the || for my SE/30, which works great! Just installed the new toy into my Plus, fired it up and got the ping! That was a relief, still not 100% confident in my soldering skills.

  16. Matt N March 23rd, 2017 8:11 am

    Short version:

    Is there a certain model, style, or brand of external program you recommend for re-flashing the chips outside of the Mac?

    Longer version:

    I just installed this kit in my Mac Plus last night, but as soon as I booted I would get an error that the Desktop needed to be rebuilt. Of course, the ROM is R/O so that would fail. I decided to try re-flashing the disk image, but the process first hung and then made the machine go wonky (video corruption, strange audio noise), so I killed the power. I’m willing to blame my memory for that, since I’m using 4x1MB 3-chip SIMMS and those are not really recommended.

    Of course, this means I need to re-flash the ROMs outside of the Mac.

    I don’t own a programmer yet, so I’ll need to buy one. Is there any particular model, brand, or style you would recommend? There are loads of USB-based programmers on eBay and Amazon. There are even Arduino-based programmers I can build from stuff in my spare parts box, but I wanted to get your input before I jump in to anything.

  17. Steve March 23rd, 2017 8:30 am

    The default ROM disk image uses System 6, so if you booted from a System 7 disk, the warning about the desktop is normal. You can ignore it, or make a new ROM disk using System 7.

    In the option for “ROM area to update”, did you select “ROM disk image”? As long as the ROM code area wasn’t modified, the Mac should still be bootable without need to re-flash the ROMs outside the Mac. Video corruption and strange audio noise are normal if you’re rewriting the ROM code section, but shouldn’t occur if you’re only rewriting the ROM disk image.

    Any external programmer is fine, as long as it can handle a 39SF040 chip and is compatible with your computer and OS. Personally I use an EasyPro 90B. MCU Mall has good choices.

  18. Matt N March 23rd, 2017 2:29 pm

    Thanks for the reply, Steve. From what you say, it sounds like I fat-fingered the option in the program and accidentally flashed the ROM code section with a boot disk image.

    As for the desktop rebuild message, I got that when booting from the ROM-inator itself and not from another disk, no other drives were attached. Either choice in the error dialog, “rebuild” or “cancel”, work result in the machine rebooting itself. I might be mis-understanding what you’re meaning.

    Thank you for the notes on the eeprom programmer, I’ll check for compatibility with those chips.

  19. Thomas September 27th, 2017 9:56 am

    Hi, I’ve got a question about the file “code-64k-stock.bin” in the rominator data package: The first 64k are exactly what a stock 128k/512k rom should be, the rest seems nearly empty except far later in the file there is some code at offset &20000 (from bbraun apparently)… I don’t understand why since there is nothing in the first 64k to make use of it ?!?

  20. Steve September 27th, 2017 10:10 am

    When the first 64K matches the stock ROM, then you’ll get stock behavior and the remainder of the expanded ROM will never be accessed. On a true 64K ROM, this expanded area doesn’t physically exist. On the ROM-inator with the 64K ROM image, the expanded area contains whatever data I happened to have loaded when I built the ROM image. You could set it all to zero if you wish.

  21. Thomas September 27th, 2017 12:04 pm

    That’s what I thought, was just wondering why this piece of code was lost there… Anyway, thanks for your insights 😉

Leave a reply. Comments may not be monitored regularly. For product support questions, visit the Contact page.