BMOW title
Floppy Emu banner

Mac ROM-inator I Kit

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 has been discontinued at BMOW, but don’t despair! The design is open source:

You can buy a pre-packaged kit from Kero’s Mac Mods. Please see their store for any questions and tech support.

Or see the parts list and Gerber files below for information on how to make your own kit. You’ll need a hobbyist-friendly fabrication service like OSHPark to create the PCB, and an EPROM programmer for the flash memory chips.

 
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.

37 comments 

37 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 😉

  22. Wesley - February 8th, 2018 1:13 pm

    Thank you for sharing the info to make this kit build-able after you stop selling them. I’m tempted to give this a try, but life is just too busy to even think about it now. In looking over everything and pondering it, I do have one question, which may be a dumb one to those with more knowledge than I have. What file(s) get flashed to which chip if you are programming blank chips for a new build? The .zip file that contains files for in-system programming doesn’t seem to give any clues as to how to write them as “high” and “low” chips with a EPROM programmer…

    Thanks!

  23. Steve - February 8th, 2018 1:15 pm

    See the parts list document for details.

  24. Wesley - February 8th, 2018 1:17 pm

    Doh! Sorry, totally overlooked that part! Thanks for the info…

  25. Smitty - November 24th, 2019 8:07 pm

    So I built one of these and had Issues with it booting on my macintosh plus. I get like a box pattern and no boot. I initially ties all three of the data lines A17-A19 to the Processor along with the R/W line and thought that this was likely the root of my problem, but when I disconnected the A17 line it had no effect. You don’t mention Offsets when writing ROMs and I reverified the ROMs and they Verify just fine. I could send a picture if you can contact me directly.

  26. Smitty - November 24th, 2019 8:30 pm

    Maybe my 74HCT02 NOR Gate is incompatible? this is the one I bought CD74HCT02M from Mouser.. I didn’t search the part number you supplied in the line just below the other number so the one I purchased is not the one you listed. I guess this is where I should start?

  27. Steve - November 24th, 2019 10:47 pm

    I can’t offer any tech support on discontinued products, but I doubt there’s anything wrong with your NOR gate. Use a continuity meter to check for open circuits where there should be a connection, or short circuits between neighboring pins on the PCB.

  28. Kai Robinson - June 21st, 2020 7:45 am

    Would this setup work for the Macintosh SE – as they also use an upper/lower ROM set?

  29. Steve - June 21st, 2020 7:51 am

    Sorry, no. Different physical spacing of the ROM chips and very different ROM contents due to hardware differences vs the earlier Mac models.

  30. Kai Robinson - June 21st, 2020 7:54 am

    Aaah – well, would you object if i used your original design, open source, to make a ROM adapter with the correct spacing for the Mac SE? 🙂

  31. Steve - June 21st, 2020 5:35 pm

    I think the physical spacing isn’t the main issue. The PCB in the ROM-inator is basically just a pinout adapter to make it easier to use modern flash ROMs with the sockets on the logic board, and to provide the write-enable signal from the CPU. But you can go buy 27C512 EPROMs (or whatever is in the SE) to replace the existing ROMs without needing any adapter or other hardware. The bigger challenge is in reverse-engineering the SE’s ROM contents and then customizing it to add new features. You may be interested in this discussion from 2014: https://mac68k.info/forums/thread.jspa?threadID=312&tstart=0

  32. GM - August 23rd, 2020 10:07 pm

    I have recently replaced a faulty ROM chip with EEPROM. I wonder if there is anything interesting that I can do with just a custom ROM? Are there custom ROM out there that can give me some useful functionality for the Classic Mac? Say, support for Serial Mouse?

  33. george h - January 18th, 2021 6:01 pm

    Thank you for such a neat project, and especially providing DIY instructions!!! Everything turned out great for me.

    I’ll just share one issue I worked around and a question about the sample ROMs.

    Upon installation, I had a clearance issue on my macintosh 512K. With the sockets and header pins adding to the height, I couldn’t slide the digital board into slot without the frame hitting the rominator. This wasn’t a big deal and I initially “cheated” by forcing the digital board in sideways (bending the frame). Later, when I was confident the ROM images were good, I soldered the EEPROMs directly to the board. With this, and some careful shortening of my header pins, the rominator cleared the frame. Of course, now I’ll have to use the flashing tool, but I’m looking forward to playing with that.

    Also, I used the set of High/Low rom images provided in the archive (thanks for these!). However, I did notice one oddity in that the control panel volume “ping” seems distorted/raspy (when compared to my stock 512K’s ROMs). I’m curious if this is intentional, or perhaps this is how all of the newer ROMs sound?

    In any case, thank you again!

  34. Michael Loret - June 9th, 2022 7:04 pm

    Hello! I recently purchased a Rom-inator Ressurection kit from Kay Koba. I purchased the ROM-inator for use on my Mac Plus. Unfortunately I am not able to get the Flash Tool to work on the Plus. I receive an “Error: Flash ID BFBB, B7BB, B7BB did not match known device ID.” In addition, I don’t seem to be able to boot from an HD20 files on my BMOW Floppy EMU or from my BlueSCSI. Is there a way to by-pass the Rominator and boot from the BlueSCSI? I had it working on my Plus…

  35. Kay Koba, Kero's Mac Mods Store - August 23rd, 2022 9:41 pm

    To Michael Loret,

    I stumbled across your post by chance, so I’m replying.
    https://www.youtube.com/watch?v=QRdutuAVrgU
    https://www.youtube.com/watch?v=d532eu_NAFo
    https://www.youtube.com/watch?v=57Qp7j2Fg4o&t=377s

    Your problem is similar to his problem. I got the exact same question from him. He was able to fix it by cleaning the ROM socket, but I think it was temporary and replaced.

    And please do not post any questions or complaints about ROM-inator Resurrections here. Please visit my shop page or below:
    https://tinkerdifferent.com/forums/keros-mac-mods.193/

    It’s been a while since you posted so I hope your issue is resolved!

  36. AlexCL - November 9th, 2022 12:21 pm

    Greetings,

    I have gotten the PiStorm (an interface board between a Raspberry Pi and 68000 socket that emulates 680×0 CPUs, RAM and ROM (mostly developed for Amiga computers).

    I’ve managed to get soft ROM loading on the Macintosh SE and wanted to know if there was any patched versions that were made and not released…I can use the full 1MB space at 0x0400000 and beyond and would like to experiment with a built in ROM Disk for booting as the floppy access is limited to 800K and the HD20 on the Floppy Emu isn’t working due to what appear to be timing issues.

    Love my Wombat and Floppy Emu!!

  37. Steve - November 10th, 2022 8:41 am

    BMOW never made any Mac SE replacement ROMs, but check out the links to Rob Braun’s stuff and the discussions on mac68k.info describing how the ROM disk feature was developed and patched into the Plus ROM. You could follow the same general roadmap.

Leave a reply. For customer support issues, please use the Customer Support link instead of writing comments.