Love old Macintosh computers? Floppy Emu is a prototype floppy and hard disk drive emulator for vintage Macs. It uses an SD memory card and custom hardware to mimic a 400K, 800K, or 1.4MB floppy disk and drive, or an HD20 hard drive. It plugs into the Mac’s external or internal floppy port, and behaves exactly like a real disk drive, requiring no special software on the Mac. Floppy disk emulation works with any vintage Macintosh. HD20 hard disk emulation works on supported Macintosh models; see below for a list.
Optional accessories for your Floppy Emu board.
Shipping – Shipping is available worldwide. Packages in the USA are shipped by Priority Mail, and outside USA by US Postal Service First Class International mail (typically about 2 weeks delivery time).
Address – Your package will be mailed to the address provided by PayPal. Please confirm this address is correct before making your purchase! If necessary, you can add multiple addresses to your PayPal account, and select the correct address during checkout.
Warranty – Floppy Emu is covered against defects for 90 days from the date of purchase. If the hardware fails during this period, you may return it and I’ll provide a replacement or refund.
Floppy Emu is perfect for setup and troubleshooting of a Mac without a working OS, for moving files between vintage Macs, or for tinkering with your classic Mac collection. Just plug in the Floppy Emu, and you’ll be booting up in seconds. Keep it as a permanent solution, or use System 6 or 7 installer disk images to do a new OS installation to the internal hard drive.
- 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 floppy disk images, or hard disk images up to 2GB
- Supports all major Macintosh disk image types
- External or internal connection to your Mac
- Can be used simultaneously with other floppy and hard disk drives
I developed Floppy Emu here at Big Mess o’ Wires, over a period of several years. You can view the tech details and progress reports from the development blog if you’re interested in its history and operation. There’s a TON of info there on nitty gritty details and problems solved along the way, so check it out!
- Get the latest firmware:
Floppy firmware, serial numbers 0001 to 0108: floppy-emu-1.0L-F11
Floppy firmware, serial numbers 0109 and higher: floppy-emu-1.0Q-F13
Experimental HD20 firmware, all serial numbers: hd20-0.7A-F14
- Get all the source files: floppy-emu-source-1.0L-F11
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. HD20 hard disk emulation is supported on certain Macintosh models only; see below for a list.
You’ll need an SD or SDHC card that’s fast when transferring small data blocks. A lower capacity card will normally provide better performance. I like this 2 GB Transcend card.
You’ll also need a collection of Macintosh floppy disk images. You can get these directly from Apple, from Mac emulator sites, or from collections like Macintosh Garden. Note: as of November 2014, Apple has removed their legacy software download page, but you can access a mirror here.
Always plug the Floppy Emu into your Macintosh before turning the Mac on. “Hot plugging” the Floppy Emu (plugging and unplugging it while the Mac is already on) may damage it.
SD Card: The SD card should be formatted as FAT32. Most new cards are already preformatted as FAT32, so you probably don’t need to do anything.
Disk Images: From your PC, copy your floppy disk image files to the SD card. These can be 400K, 800K, or 1.4MB images. You can get system software disk images from a mirror of Apple’s old support site. The image files should either be in raw format (containing nothing but the disk data, and usually having a .dsk or .hfv filename extension), or DiskCopy 4.2 format (usually having a .img or .image filename extension). Raw images are readable and writable by Floppy Emu, DiskCopy 4.2 images are read-only.
Image Conversion: If desired, you can convert DiskCopy 4.2 images into raw images using the floppy image converter tool.
Connection: Insert the SD card into the Floppy Emu, and plug the Emu into the Mac’s external or internal floppy port. Then turn the Mac on.
Disk Mounting: Use the PREV and NEXT buttons to navigate through the list of image files on the SD card. Press the SELECT button to choose an image to “insert” into the drive. The Macintosh system software handles disk ejection. To eject a disk, drag its Finder icon into the trash can, or select “Eject” from the Finder’s menu.
LCD Contrast Adjustment: Hold down the SELECT and NEXT buttons while Floppy Emu is initializing. After a few seconds you’ll see the contrast adjustment screen. Use the PREV and NEXT buttons to change the contrast, and SELECT to save the contrast setting. (Requires firmware 1.0L-F11 or later)
Firmware Updates: Download the latest version of the software from this page. The software comes in two parts: femu.bin for the AVR microcontroller, and firmware.xvf for the CPLD. Follow the instructions in the included readme.txt file to install both components of the new software.
HD20 Hard Disk Emulation
An experimental firmware version adds HD20 hard disk emulation to the Floppy Emu. The HD20 was an early model of Apple hard disk that connected to the Mac via the floppy port. See the link above to download and install the firmware, but be aware it’s a work-in-progress and likely contains some bugs. With this firmware, you can switch between floppy and HD20 emulation modes by pressing the SELECT button during Emu startup, while the system and version info is displayed on the LCD.
In hard disk mode, the Floppy Emu looks for a disk image file named HD20.dsk on the SD card. This image file can be up to 2 GB in size. The format of the file is the same raw format used for floppy emulation, and the same format commonly used by Macintosh emulators like Mini vMac and Basilisk II. If you’ve already got a hard disk image file for use with these emulators, just rename it to HD20.dsk and copy it to your SD card. Otherwise you can create a new blank image file by using DD to generate a large file full of zeroes, or even just rename an existing large video or other file to HD20.dsk to create an uninitialized disk image.
HD20 hard disk emulation requires a Macintosh model with HD20 support in ROM, or booting from another disk that contains Apple’s HD20 Init. The supported models are:
- 128K (requires HD20 Init)
- 512K (requires HD20 Init)
- Classic II
- LC (but not LC-II or LC-III)
It’s also possible to add HD20 support to a Mac SE/30, IIx, IIcx, or IIfx by substituting a IIsi ROM SIMM. Doug Brown sells a programmable Macintosh ROM SIMM that can work.
For HD20 mode, you must connect the Floppy Emu board to the external floppy port, not the internal one. For the LC, one of the two internal floppy ports is considered “external” – try them both.
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. 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.
- Can I boot from an emulated floppy or hard disk?
Yes you can!
- Does this require a special driver or INIT on the Mac?
No software is required for floppy emulation. Most supported Mac models require no software for hard disk emulation, though the Mac 128K and 512K require Apple’s HD20 Init.
- What types of disk image files are supported?
400K, 800K, or 1.4MB floppy disk images in raw .dsk format or DiskCopy 4.2 .image format, or hard disk images up to 2GB in raw format.
- Can I write to the emulated disk, as well as read from it?
Yes, with raw .dsk images. DiskCopy 4.2 images are read-only.
- Can I format the emulated disk?
Yes for hard disk emulation, no for floppy emulation. Floppy Emu emulates normal sector-by-sector floppy 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.
- How can I edit the contents of a disk image file, using a modern PC or Mac?
Use HFVExplorer (Windows) or Fuse HFS (Mac OS X) to copy files between the local filesystem and the disk image. Or mount the disk image in a Macintosh emulator program like Mini vMac or Basilisk II.
More questions? Email firstname.lastname@example.org comments