FluxEngine

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.)

The hardware consists of a single, commodity part with a floppy drive connector soldered onto it. No ordering custom boards, no fiddly surface mount assembly, and no fuss: nineteen simpler solder joints and you’re done. You can make one for $15

It’s open source on GitHub!

Which?

The current support state is as follows.

Dinosaurs (🦖) have yet to be observed in real life — I’ve written the encoder and/or decoder based on Kryoflux (or other) dumps I’ve found. I don’t (yet) have real, physical disks in my hand to test the capture process, or hardware to verify that written disks work.

Unicorns (🦄) are completely real — this means that I’ve read actual, physical disks with these formats and/or written real, physical disks and then used them on real hardware, and so know they work (or had reports from people who’ve had it work).

If a filesystem is listed, this means that FluxEngine natively supports that particular filesystem and can read (and sometimes write, support varies) files directly from disks, flux files or disk images. Some formats have multiple choices because they can store multiple types of file system.

ProfileFormatRead?Write?Filesystem?
acornadfsAcorn ADFS: BBC Micro, Archimedes🦖
acorndfsAcorn DFS: Acorn Atom, BBC Micro series🦄ACORNDFS
aeslanierAES Lanier “No Problem”: 616kB 5.25″ 77-track SSDD hard sectored🦖
agatAgat: 840kB 5.25″ 80-track DS🦖🦖
amigaAmiga: 880kB 3.5″ DSDD🦄🦄AMIGAFFS
amproAmpro Little Board: CP/M🦖CPMFS
apple2Apple II: Prodos, Appledos, and CP/M🦄🦄APPLEDOS CPMFS PRODOS
ataristAtari ST: Almost PC compatible🦄🦄
bkBK: 800kB 5.25″/3.5″ 80-track 10-sector DSDD🦖🦖
brotherBrother word processors: GCR family🦄🦄BROTHER120 FATFS
commodoreCommodore: 1541, 1581, 8050 and variations🦄🦄CBMFS
eco1VDS Eco1: CP/M; 1210kB 77-track mixed format DSHD🦖CPMFS
epsonpf10Epson PF-10: CP/M; 3.5″ 40-track DSDD🦖CPMFS
f85Durango F85: 461kB 5.25″ 77-track SS🦖
fb100Brother FB-100: 100kB 3.5″ 40-track SSSD🦖
hplifHewlett-Packard LIF: a variety of disk formats used by HP🦄🦄LIF
ibmIBM PC: Generic PC 3.5″/5.25″ disks🦄🦄FATFS
icl30ICL Model 30: CP/M; 263kB 35-track DSSD🦖CPMFS
macMacintosh: 400kB/800kB 3.5″ GCR🦄🦄MACHFS
micropolisMicropolis: 100tpi MetaFloppy disks🦄🦄
ms2000: MS2000 Microdisk Development SystemMICRODOS
mxDVK MX: Soviet-era PDP-11 clone🦖
n88basicN88-BASIC: PC8800/PC98 5.25″ 77-track 26-sector DSHD🦄🦄
northstarNorthstar: 5.25″ hard sectored🦄🦄
psospSOS: 800kB DSDD with PHILE🦄🦄PHILE
rolandd20Roland D20: 3.5″ electronic synthesiser disks🦄🦖ROLAND
rx50Digital RX50: 400kB 5.25″ 80-track 10-sector SSDD🦖🦖
smaky6Smaky 6: 308kB 5.25″ 77-track 16-sector SSDD, hard sectored🦖SMAKY6
tartuTartu: The Palivere and variations🦄🦖CPMFS
tids990Texas Instruments DS990: 1126kB 8″ DSSD🦖🦖
tikiTiki 100: CP/MCPMFS
victor9kVictor 9000 / Sirius One: 1224kB 5.25″ DSDD GCR🦖🦖
zilogmczZilog MCZ: 320kB 8″ 77-track SSSD hard-sectored🦖ZDOS
{: .datatable }

Notes

  • IBM PC disks are the lowest-common-denominator standard. A number of other systems use this format in disguise (the Atari ST, late-era Apple machines, Acorn). FluxEngine supports both FM and MFM disks, although you have to tell it which one. If you have an unknown disk, try this; you may get something. Then tell me about it.
  • Not many formats support writing yet. That’s because I need actual, physical hardware to test with in order to verify it works, and I only have a limited selection. (Plus a lot of the write code needs work.) There hasn’t been a lot of demand for this yet; if you have a pressing need to write weird disks, please ask. I haven’t implemented write support for PC disks because they’re boring and I’m lazy, and also because they vary so much that figuring out how to specify them is hard.

If you have samples of weird disks, and want to send them to me — either FluxEngine, Kryoflux or Catweasel dumps, or (even better) actually physically — I can identify them and add support.

Please note that at this point I am not interested in copy protected disks. It’s not out of principle. It’s just they’ll drive me insane. FluxEngine will most likely be able to read the data fine, unless they’re doing bizarre things like spiral tracks or partially encoded data, but let’s stick with normal conventionally formatted disks for the time being!

Leave a Reply

Your email address will not be published. Required fields are marked *