The FluxEngine is a very cheap USB floppy disk interface capable of reading and writing exotic non-PC floppy disk formats. It allows you to use a conventional PC drive to accept Amiga disks, CLV Macintosh disks, bizarre 128-sector CP/M disks, and other weird and bizarre formats. (Although not all of these are supported yet. I could really use samples.)
Important note. On 2019-02-09 I did a hardware redesign and moved the pins on the board. Sorry for the inconvenience, but it means you don’t have to modify the board any more to make it work. If you built the hardware prior to then, you’ll need to adjust it.
Infrequently asked questions because nobody’s got round to asking them yet
Q. Why not just use a USB floppy drive? There are lots and they’re cheap.
A. Because USB floppy drives typically support a very limited set of formats —- typically only IBM 1440kB and 720kB. The FluxEngine should work on (almost) anything.
Q. But aren’t floppy disks obsolete?
A. Absolutely they are. That doesn’t mean they’ve gone away. Good luck with any old hardware, for example; a classic Mac won’t boot without a classic Mac boot disk, and you can’t make them on PCs (because they’re weird). This is where the FluxEngine comes in.
Q. But how can you read and write non-PC formats on a PC floppy drive?
A. Because the FluxEngine hardware simply streams the raw magnetic flux pulsetrain from the drive to the PC, and then the analysis is done off-line in software. It doesn’t rely on any floppy disk controller to interpret the pulsetrain, so we can be a lot cleverer. In fact, the disk doesn’t even have to be spinning at the same speed.
Q. Does it work on 5.25” drives?
A. Yes! Although PC 5.25” drives spin at 360 RPM rather than 300 RPM, which means there’s only 166ms of data on one per track rather than 200ms; if you try to write a 3.5” format disk onto one it probably won’t work.
Q. Is this like KryoFlux? Do you support KryoFlux stream files?
A. It’s very like KryoFlux, although much simpler. Yes, FluxEngine can read from KryoFlux stream files (but not write to them yet; nobody’s asked). FluxEngine doesn’t capture all the data that KryoFlux does, like index markers.
Q. That’s awesome! What formats does it support?
A. I’m glad you asked the question. Not a lot, currently.
Formats that it supports
All standard double and high density IBM MFM formats, a.k.a. 360kB, 720kB, 1200kB, 1440kB formats; read only (I haven’t got round to writing the write support). Non-standard formats like the DMF 1680kB format should work too but will require a little effort. ED disks probably don’t work, but I’d love to hear from you if you have one and want to give it a try. This includes variations like Atari ST.
Acorn ADFS disks: read only (likewise)
Acorn DFS disks: read only (likewise)
Amiga disks: read only (likewise)
Brother 120kB and 240kB word processor disks; read and write
Macintosh 800kB (and probably 400kB too) disks; read only
…aaaand that’s it. If you want more, please get in touch; I need samples of floppy disks to scan and play with.
Big list of stuff to work on
Both the firmware and the software are works in progress. There’s still things to do.
Support for more floppy disk formats! I’m trying to scare up some sample disks to image and decode; I’m particularly looking for Commodore 64 1541 disks and Apple Macintosh 800kB CLV disks. If you have any which I can borrow and you live in (or near) Switzerland, please get in touch.
Better (and more) write support. The hardware can write disks, but not much of the software’s done. Writing is hard because I really need the device to test the disks on. I could use some help here. Also, most of the write code is a bit of a disaster and needs a major refactoring.
Sourcing a different microcontroller. The PSoC5 is a great thing to work with, but it’s disappointingly proprietary and the toolchain only works on Windows. It’d be nice to support something easier to work with. I need a 5V microcontroller (which unfortunately rules out Arduinos) with at least seventeen GPIO pins in a row. As non-PSoC5 microcontrollers won’t have the FPGA soft logic, that also means I’d most likely need to bitbang the floppy drive, so speed is important. If you have any recommendations, please get in touch.”