BMOW title
Floppy Emu banner

Emu Firmware 0.5: Floppy and HD20 Combined!

emu-config-menu

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 

15 Comments so far

  1. Thomas - December 4th, 2014 4:07 pm

    Yeah!!! You’re an Alien πŸ˜€
    How can you make stuff as fast?

  2. Thomas - December 4th, 2014 4:33 pm

    Your link is broken…

    Instead of “hd20-0.45-F14.zip” you should link “hd20-0.5A-F14.zip” it’s better lol πŸ˜‰

    I tested it in both HD20 and floppy emu mode and I can’t see any difference in emulation accuracy compared to the previous firmwares, Great job!!!

    Instead of rewriting firmware to eventually use TP1 as an output enable for the attached FDD (emulated or not), is it eventually possible to glue-logic the activity led signal directly to the FDD enable input? I should quit marijuana from times to times πŸ˜€

  3. Steve Chamberlin - December 4th, 2014 4:40 pm

    Thanks, I fixed the link.

    LED is controlled by the microcontroller, test point is controlled by the CPLD, so they’re not easily exchangeable. The test point is the unlabeled hole near the bottom edge of the board, just below the IDC-20 connector for the extension cable.

  4. Steve Hatle - December 4th, 2014 7:11 pm

    As I said on another forum, this is like an early Christmas present! Nice work!

  5. Steve Chamberlin - December 4th, 2014 8:30 pm

    Fixed the download link for real this time.

  6. Charles - December 4th, 2014 9:30 pm

    hey how do you get back to the FLOPPY / HD – Choice screen, once you choose one? i would assume, hold down some buttons at boot up?

  7. Steve Chamberlin - December 4th, 2014 9:36 pm

    Yeah, on the power-up info screen it says “SELECT: Config Menu” at the bottom in case you forget what to press. πŸ™‚ So just hit the select button while that screen is visible to get to the menu.

  8. Charles - December 5th, 2014 1:45 pm

    very nice πŸ™‚ i didn’t make it to the office last night to test… me and the wife are on this SCANDAL watching Netflix/binge.. lol

  9. Charles Phillips - December 5th, 2014 8:06 pm

    one word

    AWESOME!

    is about all i can say… love the new firmware! I made a 997meg image with DD, ( thanks for that tip steve )
    and its just ridiculous how awesome this things is.

    Decided I wanted to do a complete backup of my Real HD20 here, plugged the emu into the back of it.
    booted up the SE/30 saw both DCD Devices, did a drag and drop, now i’m in business… I can put the HD20 up on the shelf and let it rest, poor old thing.

  10. Chris Hanson - December 7th, 2014 12:28 am

    Do you have the source on github or someplace like that?

    Also, your work on the Mac Floppy Emu is part of what convinced me to order a Scarab miniSpartan 6+ LX, to potentially build something to interface with NuBus on my Mac IIx and Mac IIci. (You’d be surprised how few FPGA boards there are with enough GPIO to handle NuBus. Or, well, you probably wouldn’t…)

  11. Charles Phillips - December 7th, 2014 11:17 am

    What kind of things were you thinning about doing with the Nubus ? Just from what you have already said, sounds interesting!

  12. Charles Phillips - December 7th, 2014 11:18 am

    Chris come over to ThinkClassic or 68kmla and share your ideas!!!!!

  13. Chris Hanson - December 7th, 2014 11:25 am

    My plan was to implement a video card that has HDMI output so I can use it with a flat panel display without any conversion. I figure the “video” part will be easy: The FPGA board has HDMI output and 32MB RAM, and modules for running them both. All I’d need to deal with is the logic level conversion, the NuBus protocol (which is simple but more than I want to tackle with 7400-series), and providing a declaration ROM telling the Mac the height/width/depth/stride for the VRAM.

  14. Anonymous Freak - December 18th, 2014 11:21 pm

    Silly question: Can TWO FloppyEmus be used, one on the internal floppy port, one on the external? (I’m interesting in having one to emulate the floppy drive, the other to emulate the HD20.)

  15. Steve Chamberlin - December 19th, 2014 7:31 am

    Yes, you can have two or even three Floppy Emus connected, if your Mac has that many floppy ports. Or if you build a custom cable and are comfortable with a soldering iron, you can daisy chain one Emu in HD20 mode followed by one in floppy mode. See the discussion about that here: https://68kmla.org/forums/index.php?/topic/21368-floppy-emu-emulating-hd20/?p=253118

Leave a reply. For customer support issues, please use the Customer Support link instead of writing comments.