Love old Macintosh computers? Floppy Emu is a prototype floppy disk drive emulator for vintage Macs. It uses an SD memory card and custom hardware to mimic a 400K, 800K, or 1.4MB 3.5 inch disk drive and floppy disk. It plugs into the Mac’s external or internal floppy connector, and behaves exactly like a real disk drive, requiring no special software on the Mac.
Floppy Emu is perfect for setup or troubleshooting of a Mac without a hard drive or a working OS. Just plug in the Floppy Emu, and you’re booting up in seconds. Keep it as a permanent solution, or use System 7 installer disk images to do a new hard drive installation. The hardware is also great for moving files between vintage Macs.
- Compatible with everything from the original Mac 128K through the Mac II and Power Mac series
- Reads and writes emulated 400K, 800K, or 1.4MB disk images
- Supports all major Macintosh disk image types
- External or internal connection to your Mac
- Can be used simultaneously with another floppy drive
I developed Floppy Emu here at Big Mess o’ Wires, over a period of several years. You can view the progress reports from the build log if you’re interested in its history.
Get the latest firmware: floppy-emu-1.0K-F11 (updated December 5, 2013)
Expert makers: build your own Floppy Emu
This is experimental hardware, so expect some bugs. Floppy Emu should work with any vintage Macintosh from the original 128K to the Power Macintosh series and beyond, though not every Mac model has been tested. For Macs without an external floppy port, you can unplug the internal floppy drive and connect Floppy Emu in its place. Some older Mac models (Mac Plus and earlier) aren’t designed to use 1.4 MB disks, and will be limited to 400K and 800K disk images. Floppy emulation for the original Mac 128K and 512K may still have some flaws. The full source code is available for download, so if you’re a programmer, you can help improve the software and add new features.
You’ll need an SD or SDHC card that’s fast when transferring small data blocks. A lower capacity card will normally perform better for small transfers. I like this 2 GB Transcend card.
It’s not required, but you may want a DB-19 to IDC-20 extension cable, such as this cable from IEC.
You’ll also need a collection of Macintosh floppy disk images.
How it Works (Nerdy Details)
The hardware consists of a Xilinx XC9572XL CPLD working cooperatively with an ATMEGA1284 microcontroller. The CPLD implements all the timing-sensitive functions and communication with the Macintosh, while the microcontroller provides the brains of the device. The microcontroller uses SdFatLib to read sectors from a disk image file on the SD card, and synthesizes sector headers, footers, and checksums on the fly. It also performs the necessary conversions between logical data and the GCR encoded data format used on Macintosh floppy disks. The microcontroller then passes the bytes one at a time to the CPLD, at a speed that mimics a normal external floppy drive. The CPLD performs the parallel-to-serial conversion and implements the serial signalling convention expected by the Mac. Both reads and writes to emulated floppies are supported. To the Mac, the emulated floppy disk appears identical to a real disk in speed and capacity.
The board can be plugged directly into the DB-19 floppy connector at the rear of the Macintosh, where it fits snugly between the other cables. Alternatively, the board’s 20-pin IDC connector can make the connection. This is the same connector found on the Mac motherboard for the internal floppy, so a standard IDC cable can be used to connect Floppy Emu internally instead of at the external floppy connector. A DB-19 to IDC-20 adapter cable can also be used, such as the previously mentioned cable from IEC. This cable enables Floppy Emu to connect to the external floppy port at the Mac’s rear, but be positioned in the front of the Mac where it’s easier to use.
To update the device’s firmware, the microcontroller can program the CPLD via JTAG. If the Floppy Emu board is reset while holding down a few buttons, it will look for a file named firmware.xvf on the SD card, and use it to update the CPLD with new firmware in about 20 seconds. That means an external Xilinx JTAG programmer isn’t needed. The microcontroller software can be updated from the SD card as well, using an SD-based bootloader.
As of late 2013, the project is essentially complete, although more improvements are possible. The hardware is able to boot the Mac, save documents from MacPaint, or copy files in the Finder. The hardware doesn’t support formatting the emulated floppy, or using it as a destination for format-and-write disk copy programs. If you need a blank disk image file, create one on your PC and then copy it to the SD card.
- Can I boot from an emulated floppy? Yes you can!
- Does this require a special driver or INIT on the Mac? No, nothing special is required.
- What types of disk image files are supported? 400K, 800K, or 1.4MB disk images in raw .dsk format or DiskCopy 4.2 .image format.
- Can I write to the emulated floppy, as well as read from it? Yes, with raw .dsk images. DiskCopy 4.2 images are read-only.
- What if my SD card is too slow? Reading will work, but writing may fail.
- Can I format the emulated floppy, or use it with disk copy programs that format and write? No. Floppy Emu emulates “normal” sector-by-sector writing, such as copying files in the Finder, or saving data from within a program.
- Can I emulate multiple floppies at once? Floppy Emu can store as many disk image files as your SD card will hold, but only one can be “inserted” in the drive at any given time.
- Can I save Mac files to the emulated floppy, then put the SD card in my PC to read them back? Yes. Your files will be inside the disk image. A disk image tool like HFVExplorer or a software-based Mac emulator can extract individual files from the image.
More questions? Email firstname.lastname@example.org