BMOW title
Floppy Emu banner

Archive for the 'ROM-inator' Category

Introducing the Mac ROM-inator

finished2-600 rom-inator-photo

Today I’m excited to introduce a new product: the Mac ROM-inator kit. The ROM-inator replaces the stock 64K or 128K of ROM in a compact Macintosh with a full 1 MB of flash memory, unlocking wild new possibilities. Add and edit a bootable ROM disk! Replace the startup sound, or tweak the ROM code behavior. What’s best is the flash ROM’s contents can be updated from within the running Macintosh, allowing for crazy customization experiments. For power users, binary editing of the ROM image opens new possibilities like changing the Happy Mac icon, altering the built-in fonts, and modifying the system startup routines.

The Mac ROM-inator supports the Macintosh Plus, Mac 512Ke, 512K, and 128K. The kit includes two preprogrammed flash memory chips, with a System 6 ROM disk and a “mooo” startup sound. It’s priced at $25, and is available immediately. Get yours now!

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.

 
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!

Read 5 comments and join the conversation 

Rewritable ROM Disk for Mac Plus

plus-flash-tool

Stuffing new technology into old hardware is fun. How about a bootable, rewritable ROM disk for a Macintosh Plus, using modern flash memory? Dream no more, the reality is here. 🙂 Using a small adapter board, the original ROM chips on the Mac’s logic board are replaced with 1 MB of flash ROM. The flash ROM contains a modified copy of the original Apple ROM data plus a special disk driver, and a disk image occupies the remainder of the 1 MB of flash. When powered on, the Mac can be booted from the built-in ROM disk with a single key press. When necessary, the contents of the ROM disk image can be rewritten from within the running system, using a custom-made flash updater program. You can fill the ROM disk with system software and a couple of games, or whatever you want to show off without needing a disk. The same thing should be possible for the Mac 128K and Mac 512K too.

This project is a combination of three smaller projects, two of which were developed by other people.

 
1. ROM Adapter Board

Swapping the stock ROMs for larger 1 MB flash ROMs requires a physical adapter, because the flash ROMs have more pins and have some signal pins in different locations than the stock ROM chips. Rob Braun designed an adapter board that fits in the stock ROM sockets of a Mac Plus, and accepts modern (well, less ancient) 29F040B flash ROM chips. In order to take advantage of the entire 1 MB, two extra wires must be connected to address pins on the CPU. This can be done using IC test clips, or by soldering wires directly to pins on the 68000 CPU.

rom-adapter-board

 
2. ROM Disk Driver

Apple provided the Macintosh Classic with a built-in ROM disk: hold Command-Option-X-O during startup, and the Classic will boot from the built-in disk image. Rob and Doug Brown studied how the Classic’s ROM disk driver works, and developed a stand-alone ROM disk driver for vintage Macintosh computers. Originally designed for custom ROMs in Mac II-series machines, Rob updated the ROM disk driver to work with the modified Mac Plus ROM as well. It even has a custom “pirate Mac” icon at the boot screen, to remind you that you’ve got a modified ROM installed. But the disk image is fixed in ROM – to change it, you need to open up the Mac and put the flash ROM chips in an external EPROM programmer.

plus-romboot

 
3. Rewritable Flash ROM

In a discussion on the mac68k.info forum, I proposed connecting the CPU’s R/W pin to the flash ROMs, to make in-system reprogramming of the disk image possible. By coincidence, I had just finished my 68 Katy breadboard computer, which also used a 29F040B flash ROM and a 68000-family CPU. So I knew in-system modification of the flash ROM data was possible. Writing to a ROM is a strange concept, and with the 29F040B, it will ignore standard attempts at writing. That’s a good thing – you wouldn’t want a software bug to go modifying your ROM! But if you write a series of magic “unlock” bytes to a series of magic addresses in the ROM, it will enter a special command mode. From this mode, it’s possible to query the chip parameters, erase blocks of flash memory, and write new values to the flash.

To make this happen, I needed to write a flash updater program that could run on a vintage Mac. It’s not rocket science, but it had been 20 years since I last did any real classic Macintosh programming, so it took me a while to dig up Metrowerks Codewarrior and remember how to create a “hello world” type program. The resulting tool isn’t pretty, but it gets the job done, and now the contents of the ROM disk can be modified from within the running system, or even the ROM code itself can be modified.

 
Build

Want to build one of these? You’ll need soldering equipment, and an EPROM programmer to write the initial image to the flash chips.

PCB Gerber files for the adapter board – plusrom5
Flash Tool for in-system ROM updating – Flash Tool 1.1
Modified ROM image (concatenate your ROM disk image to this to make a bootable ROM disk) – modplus.bin

Read 2 comments and join the conversation 

« Newer Posts