BMOW title
Floppy Emu banner

Floppy Emu Update: Favorites, Lisa Fixes, and More

New features have arrived for the BMOW Floppy Emu disk emulator! This update has something for everyone.

 
Favorites Menu

If your SD card contains hundreds of disk images or many deeply-nested subdirectories, navigating through the contents of the card can become tedious and slow. For convenience, an optional Favorites menu can now be configured. At startup the Favorites menu will be shown instead of the standard File Explorer menu. If needed, you can exit the Favorites menu at any time in order to choose non-favorite disk images.

The Favorites menu is configured using a plain text file named favdisks.txt. This file should be placed in the top-level root directory of your SD card. In this file, list the path to each favorite floppy disk image, one per line. An example file is included with the Floppy Emu’s firmware update package, which can be downloaded from the BMOW web site.

 
Auto-mounting

The Macintosh and Lisa will wait patiently for you to insert a boot disk, but most Apple II computers will give up if a boot disk isn’t found within a few seconds after power-on. To make life easier, past versions of the Apple II compatible firmware included a simple auto-remount behavior. At power-on, the most recently used disk was automatically re-mounted, if the disk was inserted when the power was turned off last time.

This new firmware enables further control over the Apple II automount behavior, using an optional automount directive on the first line of the favdisks.txt file. This is just the word “automount” followed by a space and a single digit:

  • 0 – Never automount. The Floppy Emu will always power up to display your Favorites menu.
  • 1 – Always automount the first disk image listed in favdisks.txt
  • 2 – Automount the most recently used disk, if there was a disk inserted when the power was turned off last time.

Automounting is only supported for the Apple II floppy disk emulation modes. The automount directive has no effect in other emulation modes, or for Macintosh / Lisa disk emulation.

 
Lisa 2/5 Fixes

Unlike the Lisa 2/10, the Lisa 2/5 doesn’t have an IWM chip for processing floppy disk signals. It uses a collection of discrete logic chips to accomplish the same result. For several years I’ve struggled to understand why the Floppy Emu firmware works poorly with the Lisa 2/5, and now I finally have the answer.

To detect a “1” bit from the floppy drive, the computer looks for a high-to-low transition occurring somewhere in the 2 microsecond bit window. It repeatedly samples the signal during that 2 microsecond window, looking for a transition. It turns out that the IWM samples the signal at a higher rate than the Lisa 2/5 discrete logic. The high periods of Floppy Emu’s “1” bits were too short to be reliably detected by the Lisa 2/5 level-sensitive hardware. This firmware update doubles the width of the high period, and my Lisa 2/5 testers report that it’s now working smoothly.

 
Floppy Emu for Visually Impaired Users

Several small tweaks have been made to improve the experience for visually impaired users. A new appendix has also been added to the instruction manual, with a detailed description of the behaviors necessary to use the Floppy Emu without seeing the display. The favorites menu was initially developed as a tool for blind users, before being extended into a general-use feature. With the Favorites menu, any desired disk image can be chosen reliably by counting how many times you’ve pressed NEXT before pressing SELECT to insert the disk.

Today’s firmware update also introduces an optional emumode.txt config file, which simplifies the process of changing the emulation mode by reducing the number of button presses needed. If this file is present, then as soon as the emulation mode menu is opened, the Floppy Emu will automatically change the emulation mode according to the ID specified in the file. An example file is included with the Floppy Emu’s firmware update package.

 
Download the New Firmware

Mac/Lisa firmware: mac-lisa-0.8G-F15
Apple II firmware for Floppy Emu Model B and C: apple-II-0.2L-F25

Read 7 comments and join the conversation 

7 Comments so far

  1. Marc I. - May 27th, 2020 8:19 pm

    Yes, but will it handle *.woz files?
    Just kidding… it is an excellent device as is.

  2. Steve - May 28th, 2020 6:33 am

    Yes, the Apple II firmware has supported *.woz files since January 2019.

  3. xot - May 27th, 2020 9:42 pm

    Very interesting findings about the logic differences between IWM-style and Lisa 2/5 disk controllers.

  4. Steve - May 28th, 2020 8:14 am

    A footnote to the Lisa 2/5 fix: After more review, I think I was wrong about the IWM being edge-triggered, and I’ve updated the text of the original post. I now believe both the IWM and the Lisa 2/5 discrete logic are level-sensitive, but they use different sampling rates.

    From the IWM spec: “When reading serial data, a falling transition within a bit cell window is considered to be a one, and no falling transition within a bit cell window is considered to be a zero. The receive data input on RDDATA is synchronized internally with the CLK clock. The synchronized falling transition is then discriminated to the nearest bit cell window using the 7/8 MHz FCLK clock signal in fast mode and the FCLK signal divided by two in slow mode.” So depending on FCLK and fast/slow mode, the IWM sampling period is anywhere from 0.125 us (8 MHz) to 0.286 us (7 MHz divided by 2).

    I couldn’t find a schematic of the Lisa 2/5 controller, but if it’s similar to the Apple II Disk II controller, it samples the disk signal with a 74LS174 flip-flop. The clock source for that FF is Q3 – a 2 MHz reference from the computer’s logic board. So the sampling period is 0.5 us.

    The old Floppy Emu firmware for Mac/Lisa that had trouble with the Lisa 2/5 used a “1” bit pulse width of 0.35 us. A 0.5 us sampling period wouldn’t reliably detect that, but a 0.125 – 0.286 us period would. The new firmware that works on the Lisa 2/5 has a “1” bit pulse width of 0.75 us. And the Floppy Emu Apple II firmware has always used a pulse width of 0.75 us. So this all seems to make sense.

  5. Alex B - June 15th, 2020 4:36 pm

    About image selection, I wonder if a Mac-side navigation program would make sense — if there’s some communication channel it could use for talking to the emu microcontroller (maybe magic disk locations?).

  6. Maxwell H - June 15th, 2020 7:10 pm

    I love your dedication to the floppy emu. I first found out about it through your blog about restoring the db-19 connector because I was looking for one for future projects and the only ones I found on eBay where very expensive. Then I discovered your blog about it and was super excited. I ordered one right away. I haven’t bought a floppy emu yet because it is a very pricy thing but I hope I will be able to buy one at some point. Just a extra note, will you ever make female db-19 connectors?

  7. Michael Engel - February 11th, 2024 4:44 pm

    I just found this article mentioned on reddit (https://www.bigmessowires.com/2020/05/27/floppy-emu-update-favorites-lisa-fixes-and-more/). Back in 2020, I wasn’t interested as much in the Lisa as I’m now as I’m currently building a Lisa 2/5 clone. So – sorry for the late reply. Maybe it’s still interesting…

    The Lisa 2/5 I/O board is identical to the Lisa 1 board, the schematics for which can be found on bitsavers (http://bitsavers.org/pdf/apple/lisa/hardware/Lisa_1_IO_Board/050-4008-H_IO.pdf). The floppy controller part is pretty similar to the original Apple ][ FDC and also uses a 74LS174 (U5B) to sample the read signal (RDA). The contents of the 6309 state machine PROM are different, though (which is to be expected since the FDC was used for Twiggies or 400 kB Sony 3.5″ drives – there was also a firmware by Sun Remarketing that could handle the double-sided 800 kB drives)

    However, the LS174 seems to be driven by a 4 MHz clock. This is generated by output Q1 (also named QB in som data sheets) of the 4 bit synchronous 74LS161 counter (U7A). The counter is driven by a 16 MHz clock, so if I’m reading the schematic correctly, Q1 should output a rectangle signal with 1/4 of the input clock frequency. Accordingly, the sampling period should be 0.25 us.

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