Liron Support for Floppy Emu
Great news for owners of the Apple II Liron disk controller card: the latest Floppy Emu disk emulator firmware adds Liron support. This means that for the first time, it’s now possible to emulate 32 MB hard disks on an Apple II+ or IIe with the Floppy Emu!
The Liron is a “smart” disk controller for the II+ and IIe, using the same Smartport protocol as the Apple IIc, IIc+, and IIgs. It was originally designed to work with the Unidisk 3.5 inch floppy drive, but other Liron-compatible third-party external hard drives were later developed. With this new firmware, the Floppy Emu is able to emulate one of these hard drives, bringing an exciting new capability to the II+ and IIe.
Smartport emulation with the Liron card works nearly identically to the IIc, IIc+, and IIgs, as described in section 10.4 of the Floppy Emu manual. Connect the Emu to the Liron card, use the Emu’s menus to select Smartport mode, and populate your SD card with up to four disk images. These will appear as four virtual hard drives connected to your II+ or IIe.
Depending on your Apple II model and its version of the autostart ROM, the Liron-connected disk may or may not automatically boot when the power is turned on. If you have an older model that doesn’t autostart the Liron, type PR#7 to get things started (or PR#N if your Liron card is in slot N).
This is new firmware, so your help with testing is appreciated. If you tried the new firmware and it worked fine, please let me know. If it didn’t work, definitely let me know. Try it in Smartport mode with the Liron of course, but also try it with the built-in Smartport of your IIc, IIc+, or IIgs to verify it still works there too, and doesn’t interfere with other types of drives that are also present in the daisy chain.
Download the new firmware here:
Floppy Emu Model A – apple-II-0.1T-F16
Floppy Emu Model B – apple-II-0.1T-F18-modelB
29 Comments so far
Leave a reply. For customer support issues, please use the Customer Support link instead of writing comments.
Note to enhanced //e owners: If the Liron card is the disk controller in the highest numbered slot, you may just get an Applsoft prompt on a power up. The Liron firmware will do that if it doesn’t find a disk to boot. After the Floppy Emu has initialized, reboot and the Liron should boot off of the Floppy Emu.
My simple testing was with John Brooks’ ProDOS 2.4.1 to start BASIC.SYSTEM.
I was able to (manually) boot a II+ from a Liron card with the Floppy Emu! (The II+ and original //e can only autoboot a Disk II.)
An enhanced //e booted eventually as indicated above.
I also booted with the Floppy Emu in SmartPort mode with a //c ROM 0, //c+ and GS ROM 3, so no regressions there.
The Floppy Emu in SmartPort mode works as expected when daisy chained from an Apple 3.5 drive on the //c+ and GS.
Caveat: The Floppy Emu SmartPort isn’t compatible with the UniDisk 3.5. The UniDisk 3.5 spins up but the computer reports an I/O error.
Thanks for the test info! I’m not sure why your enhanced IIe didn’t boot directly from power-up the first time. I have an unenhanced IIe (which behaves as you described) and a GS, which does boot straight from the Liron+Emu at power-up. I should probably get the IIe enhancement kit for experimenting purposes.
Very cool Steve, it is working fine so far on my enhanced IIe as well.
I can confirm that Liron doesn’t seem to see the Floppy Emu at powerup, it looks like the controller doesn’t wait long enough for the Emu to become ready. The firmware gives up and returns to the Autostart ROM which resumes scanning slots for the next bootable card. It does work fine on a reboot.
Also tested with the Emu daisy chained behind a Unidisk 3.5, neither the Floppy Emu nor Unidisk works for me in this case,
The enhanced //e is a bit a problem compared to the GS or //c+ because the //e has the least about of time between power up and initializing the SmartPort bus. I didn’t try disabling Slot 6 on the GS; that should reduce boot time. The //c+ checks its internal 3.5 drive first.
UniDisk 3.5 speculation on my part: It could be that the 1.0T firmware is hardcoded to be SmartPort unit 1. SmartPort unit number assignment is documented in the IIGS Firmware manual. SmartPort firmware source listings are in the first two Apple IIc Technical Reference Manuals (ROMs 0 and 3; the Second Edition, which includes the //c+, does not have a source listing).
I may be able to speed up how quickly the Floppy Emu is ready after power-up, so the enhanced IIe can autostart from it. It’s good that there’s an easy work-around, though. This sounds like a minor nuisance, but please correct me if you see it differently. I would need to get an enhanced IIe (or enhancement kit for my unenhanced IIe) in order to really test it, so the effort may not be worth it if it’s not a big problem.
I think I see why the Unidisk won’t coexist with the Floppy Emu using this new Smartport firmware. The Emu does use Smartport unit number assignments, and only replies to commands sent to one of its unit numbers. But the CPLD interface will enable output to the RD line any time the Smartport is enabled, regardless of unit number, which will interfere with other smart devices on the same daisy chain. That may not be fixable with the Emu’s hardware design, since the CPLD doesn’t know anything about unit numbers, but I will see what I can do.
I don’t have a Unidisk 3.5, but I see a few reasons why it probably wouldn’t get along with the Floppy Emu in Smartport mode. The first is the RD signal that I mentioned in the previous comment. That can be solved. The second is the WPROT / SENSE / HSHK signal (different names for the same thing), which I don’t think has an easy solution.
In Smartport mode, this signal is used for handshaking, even before a command has been sent and a unit number has been specified. So the firmware can’t rely on the unit number to know whether to drive HSHK’s value or to let it float so that other Smartport devices can drive it. This implies a different solution, and that HSHK is probably supposed to be an open collector bus with a pull-up resistor somewhere. But the Liron card doesn’t have a pull-up for this signal, and neither does the Floppy Emu. Presumably the Unidisk 3.5 drive does. Or the IWM contains an internal pull-up, but that seems unlikely.
It’s also possible that Unidisk 3.5 has a logic gate on its daisy chain interface for the HSHK signal, so HSHK is asserted if either the Unidisk wants to assert it or if the downstream device wants to assert it. In that case, Floppy Emu could probably be made to work, without an open collector bus or pull-up resistor.
I can confirm that the new firmware allows my Laser 128EX to use Smartport hard drives via the Floppy Emu, appearing as slot 7, drive 1. Previously, booting ProDOS would fail (sometimes crash, sometimes “Relocation/Configuration Error” shortly after the initial screen – indicating a timing problem), and only 5.25″ and 3.5″ drive emulation worked. Which was awesome, but it’s now even more awesome.
Hi Steve, I have a Floppy Emu v1.1 – will the this model support this Liron setup with a firmware upgrade?
The firmware I linked is for the Model B only. The same Liron support should work on the Model A, but I ran into a small problem preparing the firmware for it and haven’t finished it yet.
OK, thanks for the info, I hope the problem can be resolved 🙂
The firmware for Floppy Emu Model A is out now. I edited the link above.
Thanks, Steve, you’re a legend! Hope to be trying it shortly.
Hi, this is very cool, either a) does anyone have a spare liron card to sell on or b) did you say you’d think about making up some clone cards? Please:) Please:)
Yes I’m working on cloning the Liron, or at least enough of it to work with Floppy Emu. They’re not very common, but they do appear on eBay sometimes. The official name is something like “Apple 3.5 floppy disk controller” but most people call it Liron.
Regarding HKSK and the missing pull-ups: The Liron card seems to use TTL chips (74LSxx series). Unlike CMOS, those TTL chips consider an open input as high. So in theory, you could use a few open train / open collector outputs wired together and connected to a TTL input without a pull-up. Of course, this is bad practice and will likely become unstable with higher frequencies, but it could explain the missing pull-up.
I actually found some documentation that says the IWM has a nominal 10K internal pull-up for both of the inputs from the disk drive, including SENSE (HSHK). But the original DIsk II controller card built from discrete logic doesn’t have a pull-up. Maybe it relied on open inputs being read as high, but my guess is Woz wouldn’t have done that just to save the cost of a single resistor. My interpretation of the Disk II schematic is that SENSE (HSHK) is actively driven both high and low, so it’s probably not an open collector design. I really need to get my hands on a Unidisk 3.5 to figure it out.
Hi Steve, I’ve kept an eye out for liron cards on well known auction sites… but found zero 🙁 Have you had any more thoughts on producing a run of ‘liron’ cards please? is that viable by your good self, or anyone else?
cheers!
🙂
I’m pretty close to having a working Liron clone ready.
Hi @Anonymous,
Honestly, you were probably better off missing the Liron cards lately. The last two I noticed were at collector prices; the lowest was $400.
Additionally UniDisk 3.5s are also at collector prices at the moment, the lowest recent selling price was $293.88. (Good time to sell?)
===
Note that Rich Dreher announced what may be the last run of CFFA3000 cards (parts are getting scarce, time for a redesign). Worth mentioning if a Liron clone will also be available.
Steve that’s fantastic
Ps sorry I posted ‘anonymous’ly:)
I can’t get floppy emu seen by my apple IIe: i get “NO DEVICE CONNECTED” at PR# command.. smartport mode and firmware 21 (the last i think). I missed something or my Liron is faulty (i can’t test it with a smartport real disk as i haven’t one)?
Thanks!
Hi Andrea,
In case nobody got back to you….
What does the Floppy Emu display after when it’s done booting? In SmartPort mode, it should display the 1 to 4 volume names that correspond to smart0.xx through smart3.xx in the root folder of the card.
If the Emu displays “could not find smart0.po”, then yes, I too got DEVICE NOT CONNECTED when trying PR#.
Hi AVRkiller,
thank you for reply and suggestion. In my case, the emu show the right 6mb hd (with the lock icon on the right), but Asco Liron seems not detect it… i am afraid i made something wrong in resoldering the cable socket (i replaced the original with a IDC 20 one as the cable was missing when i ebayed the card), and i’m connecting floppyemu directly, without 19 pin adaptor: it seems WPROT wiring is in a different position in the 19 pinout respect the 20 wire ones, so i’ll made some test in that way..
And, a question to Steve: any chance to have in the future a 3,5″ floppy mode emulation for the IIe?
The Liron card has a permanently soldered in connector cable, so this isn’t something that would normally be encountered. But as far as I can see, the 20-pin footprint on the Liron has a compatible pinout to the Floppy Emu’s 20-pin connector, and a straight through 20 conductor ribbon cable ought to work. I’m not sure what’s happening with your custom cable.
There are no commonly available disk controller cards for the IIe that support 3.5 inch floppies. The existing 3.5 inch floppy mode may work if you’re one of the lucky few owners of the UDC card or similar.
Thanks Steve for the reply and for your great Emu!
I made in fact a straight connection 20 to 20, and looking traces on card, pinout of IWM and ports, it should work in teory…
but i got no boot, only “no device” error when pr# liron slot (but EMU’s status led turn on when pr#ing it.. and stay fixed on, it means something?).
I tried only with smart0.po you send in the SDcard bundle, may i try something else?
I know i had to test my liron with real hardware to find if it’s a card problem or not, but any help will be appreciated.
Andrea,
A Liron card with a missing connector is a sad thing.
The Status LED staying on is a bad sign, probably a communication problem.
On my Liron card the DB-19 is wired straight through. I believe the Floppy Emu is basically wired as a Apple 3.5 drive so would be expecting WRPROT on pin 20.
My Liron has 19 and 20 connected together. 19 is 12V for a Disk II. I thought that this might be a problem, but did not find 19 connected to anything on my Emu.
The lock icon in SmartPort mode means that the image is a sparse file (has less data than the file size), so cannot be written to because the Emu cannot grow the disk image file.
Testing a Liron controller without a DB-19 would be complicated. You might have more success by taking the wiring and connector from an I/O controller card. DB-19 sockets are still available from both ReactiveMicro and UltimateApple2.
If possible, you may want to find another Apple II with SmartPort to check if your Emu’s SmartPort is working correctly.
Sometime i get my liron off the box and try in new desoldering and soldering.. Rewired some burned trace, changed all chips (included the iwm with a IIc ones) but still no luck.. With a real unidisk I get only red led when starting, then nothing else. With floppy emu, I get a strange checksum error (chks!=54.. Sometimes with different number). Any idea about this error? May be can help me in repairing my card. Thank you
That sounds like a checksum error. That’s a pretty good sign for your damaged Liron card, actually. It means it’s working well enough that the Floppy Emu recognizes the communication from the Liron card, but the data is incorrect.
Steve you was right!! i was close to the solution… and finally got the Liron working, after changing the IWM – taken from a IIc motherboard bought in the bay. Thank for your support! (and hoping you’ll produce the Liron clone one days 😉 )