Bootable 68k Mac ROM Disk


An updated version of this which is much more featureful is here!


dougg3 over at 68kmla, a site for old macs, made a ROM SIMM that works with Mac IIx, SE/30, IIsi, IIci, and Quadra 700 among others. The Mac maps in 1MB of ROM space, and most of these systems use less ROM than the full 1MB. In particular, the Mac IIx and SE/30 use 512KB of space for their ROM. This leaves the other 512KB of mapped in ROM space available for other uses. I've written a driver to allow the machine to boot from that extra 512KB of space.

Driver

The driver (source, binary) is ultimately just a simplistic RAM disk driver (DRVR resource in MacOS) that only allows reads. The Mac IIx maps the ROM at multiple locations but 0x800000 is the location this driver uses as that's consistent across both 24 bit and 32 bit addressing modes. System 6 starts off using the 24 bit address location before it remaps the 32 bit ROM locations back in. Sticking with the 24 bit location throughout the boot process allows the driver to safely handle the transition from 24 to 32 bit address mappings.

Booting

To get the driver booting from ROM, I'm replacing the .Sony floppy driver in the Mac's ROM. This means the floppy drive is no longer usable after installing this ROM disk driver into the Mac's ROM. I've also written an extremely basic Mac ROM patching program in Qt (should be portable across platforms) to automatically install the driver into your own ROM image here.
Here is a video that dougg3 took of his IIci booting off his ROM SIMM + my romdisk driver.