BMOW title
Floppy Emu banner

Archive for the 'Macintosh Floppy Emu' Category

In Search of the Elusive DB19


Discontinued parts are bad, “unobtainium” parts are worse. Floppy Emu uses a 19-pin D-SUB male solder cup connector, otherwise known as DB19P, to connect to the computer’s floppy port. DB19 connectors were never common, and were only used in 1980s and 1990s Macintosh, Atari, and some NeXT computers. Today in 2015 they’re very difficult to find. As far as I can tell they’re no longer manufactured, and are only available in small quantities from electronics surplus warehouses.

My hardware sales appear to be drawing down the remaining worldwide stock of these connectors. Working with the vendor who assembles the Floppy Emu boards, we’ve purchased the entire remaining stock from three surplus warehouses, and been advised that they won’t be getting any more. We have enough to finish the current batch of 100 boards, but after that it’s not clear if we can find more DB19s at a reasonable price, or at any price. Worst case, this will be the last batch of Floppy Emus, and I’ll have to stop selling them when the supply runs out. And a couple of DB19-based adapter boards I was planning to release will never see the light of day.


Searching the web, it seems there are at least half a dozen places that sell DB19 male solder cup connectors. But if you look carefully, several of them are just alternate storefronts for the same company with the same stock. A few places show DB19 but list it as out of stock. At least one other shows it as in stock, but if you call them you’ll learn it’s actually not available.


These are the same vendor. I’ve bought their entire stock. They won’t be getting more.

PC Accessories

These are the same vendor. Out of stock, not clear if they’ll be getting more.

Elliott Electronics Supply
Network Cables

These look like active vendors. I haven’t called yet to confirm availability or quantity in stock.

There’s one more vendor I won’t list here, because I don’t want other people buying up their stock. They’re kind of a pain to work with, but I’ve used their parts for all my boards thus far. Now they’re out of stock, and it’s not clear if they’ll be getting more, or if this is the end. Their web site says they are newly-manufactured parts, so I’m hopeful.


A couple of other options, if the supply of DB19 connectors disappears:

  • Use DB25 connectors, and cut off 6 pins. This might or might not fit, depending on the mounting screws and case cutout surround the DB19 port on each Macintosh model. It might be necessary to cut away part of the metal housing of the connector, using tin snips or a Dremel. It would be a lot of extra work, look ugly, and require a modification to the Emu’s PCB.

  • Find an Asian manufacturer to make DB19 connectors. If I commit to buying enough of them, I bet I can find a D-SUB manufacturer in Asia who’d be willing to set up tooling machinery to build DB19s. I’m not sure how many I’d need to buy, though – thousands? And I’m not sure how to find potential Asian partners, and make a proposal to them. My first thought is to use Alibaba to identify existing D-SUB manufacturers of other sizes.
Read 16 comments and join the conversation 

Board Assembly Headaches


This is what 100 unsaleable Floppy Emus look like. After six weeks of waiting, today I received the new batch of assembled boards, and eagerly opened the box. Excitement gave way to dismay when I discovered that every one of them was assembled incorrectly. Arghh, noooooo! I’ve been unable to fill any orders since mid-December, so I’d been counting down the days until the new hardware was expected to arrive. Now it looks as if there will be a further delay of about a week. Manufacturing is hard.

For whatever it’s worth, my instructions were correct and the error was the fault of the assembly shop. That means I won’t have to pay to fix the mistake, but it doesn’t help me get corrected boards any faster.

The assemblers transposed a part from the extension cable’s IDC20 to DB-19 adapter onto the main Floppy Emu board itself, and also omitted one component. The resulting boards still work, but won’t fit the Floppy Emu cases, and I’m left without any usable extension cables. After some discussion on how to make things right, I agreed to return the whole batch to the assembler, and they’re going to rework the boards to the correct design. I’m not certain how long that will take, but I expect it should be finished by next week.

I could demand that they replace the entire batch with new parts, or give me the batch for free, but I don’t think that would go well. Like me, they’re a small business, and I don’t want to stiff them for thousands of dollars in losses if they can make good on their mistake through rework. And quite frankly I’m lucky they accept my business at all, since my order sizes are so small compared to their typical jobs. If I stomp my foot and demand a pound of flesh, I may get it, but I may also be asked to bring my future business elsewhere. I like working with this shop – they’re reasonably priced and local – and I’d hate to start over from scratch building a relationship with a new assembler in some far-off location. So for now I’ll wait, impatiently.

Read 15 comments and join the conversation 

Emu Firmware 0.7: Performance Improvements

Firmware 0.7A-F14 improves write performance for HD20 emulation. With the old firmware, if you wrote a 1 MB file to the disk, it would do 2000 separate 512 byte writes to the SD card. SD cards really don’t like this! With the new firmware, the Emu hardware uses an internal 10K RAM buffer, and does 100 separate 10K writes to the SD card. Read behavior is unchanged, so read performance will be the same as before.

Combo Firmware 0.7A-F14

The performance gain vs the old firmware for HD20 writes depends on the model of Macintosh, and the size and type of SD card used. Faster Macs like the IIci will see more benefit than a Mac Plus, since I/O in the faster Macs is less constrained by CPU speed and more directly tied to the actual disk throughput. SD cards with a larger erase page size will also see more benefit from this new firmware. The erase page size is the native block size of the SD card, and typically is something like 4K. When performing a small 512 byte write, the SD card must read an entire 4K block from flash memory into an internal RAM buffer, erase the whole block of flash, update the 512 bytes of the buffer that are being modified, then write the whole 4K buffer back to flash memory. The larger the erase page size, the more inefficient this process is for small writes, and the more this new firmware will help. Unfortunately erase page sizes aren’t normally advertised, but larger SD cards usually have a larger erase page size than smaller cards. For this reason, the best Emu performance in both HD20 and floppy modes will typically be achieved with a small capacity SD card. Use a card of 2 GB or smaller if you can find one.

On a Mac IIsi with an 8 GB SD card, this new firmware provided a 40% improvement in HD20 write speeds in my testing. With a 2 GB card, the improvement was 8%, but it was still faster in absolute terms than the 8 GB card. Interestingly, the 2 GB card with old firmware had the same performance as the 8 GB card with new firmware, so erase page size really matters! On a Mac Plus with the 8 GB card, the new firmware resulted in about a 36% improvement in HD20 write speeds. With the 2 GB card there was no measurable write speed improvement on the Mac Plus. Bottom line: use a small capacity card in combination with this new firmware for the best HD20 write speeds.

Read 8 comments and join the conversation 

Emu Firmware 0.6: Formatting the HD20

Firmware 0.6A-F14 now supports formatting the emulated HD20 disk from the Finder. This is handy for creating new hard disk images without the aid of programs like Mini vMac or Basilisk II. Just grab any random file of 100 MB or so (or create a new one using DD under Linux), name it HD20.dsk, and put it on the SD card. If you boot the Mac from another disk, it will see the HD20 disk image, but won’t recognize it as a valid Macintosh disk. The Finder will ask if you want to initialize the disk – answer yes. Be aware that formatting large disk images can take several minutes, during which there’s no on-screen feedback that anything is happening.

While working on this firmware, I encountered more mysterious errors and spontaneous reboots of the sort I described with firmware 0.5A-F14 on my original purple prototype board. But this time it was happening on another board. I rearranged some code, and the problems mysteriously went away, and even the balky purple prototype board started working fine again. I can’t explain what was causing those errors originally though, so maybe I fixed them, or maybe I just papered over them and there’s still a problem lurking somewhere. Please let me know if you experience any of these issues with this firmware 0.6A-F14:

  • Emu consistently says there’s no SD card, when there is. Even after reboot, reset, reinsert card.
  • Emu in floppy emulation mode says “no image files found”, even though there are disk images on the SD card
  • Emu resets to the smiley face screen in the middle of disk I/O, as if you had pressed the reset button

Combo Firmware 0.6A-F14

Once again, if you try this firmware, I would appreciate feedback on what systems you tried it with and what the results were. Thanks!

Read 13 comments and join the conversation 

Emu Firmware 0.5: Floppy and HD20 Combined!


Ta dah! I thought it couldn’t be done, but I used my hammer and tongs to smash HD20 emulation and floppy emulation into a single firmware version. No more re-flashing the board when you want to switch between emulation types; now you can make your choice from a config menu during start-up. Your default choice is saved in EEPROM, so you only need to access the config menu if you want to choose a different emulation mode than you did last time. Unfortunately this combo firmware was born on the grave of the self-testing logic, which is now gone. That means I can’t use this to replace the regular production firmware. Maybe I’ll look into using JTAG boundary scan for a future firmware update, and re-implement the self-test using that method instead of with CPLD logic.

This firmware is a major change from version 0.4. The code for both floppy and HD20 emulation underwent significant changes, and the CPLD logic was altered substantially too. That means there’s an excellent chance I broke stuff. If you see any strange behavior during floppy or HD20 emulation that wasn’t present with the previous firmware, please let me know.

The scariest and most perplexing issue with this new firmware is that it doesn’t work on my original purple Floppy Emu board, the very first one I ever built back in April 2012. With this firmware, the purple board experiences constant SD card errors, or even spontaneously reboots during disk I/O! The behavior is similar to what I found on the first production boards, before I discovered that they needed more capacitance on the output of their voltage regulators. The purple board lacks that capacitor, and also has a few other small differences from the production boards. So I’d be prepared to believe the problems are all due to the purple board’s hardware, except that it worked fine with every previous firmware version, including Sunday’s version 0.4A-F66. So… yeah. There’s that.

I’ve tested this new firmware in both floppy and HD20 modes, on a Mac 512K, Plus, and IIsi, with one of the current batch of production boards as well as the first (hand-soldered) production board with serial #0001. No problems anywhere.

  • Merged the firmware, with a menu-selectable HD20 or floppy mode. Default choice is stored in EEPROM.
  • Changed the default HD20 disk icon to a standard Apple hard drive icon.
  • LED now blinks during HD20 disk activity.
  • Fixed a bunch of little bugs.
  • Disabled self-tests. :-(

Combo Firmware 0.5A-F14

Notes on which Macintosh models you’ve confirmed to work with the latest firmware are always welcome.

Read 15 comments and join the conversation 

HD20 Firmware 0.4: Write Support!


Firmware 0.4 adds support for writing to the emulated HD20 disk drive. No more read-only disks! I’ve tested it with a Mac Plus and a Mac IIsi, copying lots of files about and moving the mouse in crazy circles to exercise the holdoff logic, and it all seems solid.

  • Implemented writing to the emulated HD20 disk

HD20 Firmware 0.4A-F66

This marks the completion of the HD20 emulation work, and the latest firmware version is fully usable as a general purpose boot disk or secondary disk. I still need to do some code cleanup and performance optimization, and see how much of the floppy and HD20 emulation code can be merged, but that’s all bonus stuff. Assuming no major problems surface with this HD20 firmware 0.4 in the next couple of days, I’ll promote it to 1.0 status and call it done. Woohoo!

Thank you, Apple, for creating such an oddball hard drive that hijacked the floppy port. HD20 lives!

Read 31 comments and join the conversation 

Older Posts »