[vcf-midatlantic] How To Geek article on floppy data recovery

Herb Johnson hjohnson at retrotechnology.info
Fri May 8 18:45:06 EDT 2020

So, Gordon S. writes, something like this. He buys-in, that these 
floppy-recover solutions, are made from currently available hardware, 
but that hardware goes away over time. So, he says, why not implement on 
widely available and well-sourced hardware? The challenge as he put it is:

"The only real irritant, then, becomes working out how to cheaply do 
whatever it is these other projects are using FPGAs for. Those are the 
parts that get updated whenever someone works out a better technique, 
but... as a general rule, the  interface to whatever vintage hardware is 
more or less invariant, correct? That would mean the alterable functions 
can be carried out in software rather than in (redefinable) hardware. 
Flash updates are still flash updates, regardless of whether they 
contain computer programs or FPGA configuration files."

"Can anyone poke holes in this? - Gordon S".

Well, I reject the limitation "cheaply". That constrains any modern 
solutions to the hell of rapid obsolescence and proprietary solutions. 
That's the current strategy. I'm being blunt but brief. At $10, $20 
single-board single-chip solutions, how does any hobbyist outdesign 
*that* with more persistent hardware?

The vintage hardware interface, is either a floppy drive for data 
recovery; or a floppy drive controller, for diskette emulators (not 
discussed but the complimentary device). Well, po-TAE-toe, po-TAUGHT-oe, 
to a first order. That's not the hard part.

On FPGAs, and the hard part. Turns out the support page for the 
Fluxengine, is pretty informative about this and other arguments for 
alternative technologies. After five years, that's already been defended 
(but I only read the gloss).

The defense is, it comes down to the design practice, of massive 
oversampling of floppy data streams, to extract arbitrary-rates of 
binary data relatively fast. Go to the site for details. So: one ether 
borrows cheep ARM-class devices that do that, or cheep FPLA devices 
which do that, or both. Because of that "cheap" constraint. Shrug.

In what used to be the real world, floppy disk controllers were 
dedicated microprocessors with fast bit-serial/parallel hardware. Read 
the early floppy controller FDC chip data sheets about that. They ran at 
defined data rates - so write hardware was easier. Reading hardware 
involved some skew, so one needed some tricks to sync-sample the read 
data. We call that data, single/double density, FM/MFM. Or the Apple 
mind-trick of the Apple II (later Mac) "Woz machine", a programmed-logic 
device (!) to perform 3-of-5 encoding and decoding. Or, some custom 
hardware and software, on other computers of vintage.

At one time, ALL floppy controllers were custom logic. (Search 
retrotechnology.com ) Now, in some sense, the custom logic is in the 
FPGA. This might make a case for preserving vintage computers (he he ...).

To replace all that, the cheat is to sample like hell and let 
post-1990's computers sort out the results in software. Fair enough.

I appreciate Gordon's point, that functionality in modern devices is a 
matter of programming, and reprogramming. That's fine, for those who 
enjoy modern embedded programming. But when the hardware to be 
programmed changes "too much"; the old software becomes obsolete. 
Yesterday's FPLAs can't be programmed with today's FPLA tools. The codes 
are changed too. The binaries are useless, even proprietary. That was my 

Subtle comment by Gordon: "We already know what stays around, or at 
least remains well-documented and well-supported." Trick question. The 
trick answer #1 is "that's the same thing". Answer #2 is "well, stuff 
persists until it breaks; if you can't fix it you replace it". Sort of 
the short version of the argument.

Now, the software to RUN the platform around the FPLA, could in 
principle be standardized. For big-enough embedded systems, that's fine, 
they are application-specific not implementation-specific (kinda). But 
this is just a *floppy controller*. There *is no application*. Nobody is 
running MS-DOS or Linux on these puppies. They are driven-by something, 
the something steers it around, and that's all.

And by the way? The 1990's solution - the Catweasel, an ISA or PCI 
bit-sampling controller on PC's? Last I checked, there were five-six 
"installation solutions" for running that puppy. Surprisingly, each 
developer came up with their own software to drive it. Go figure.

I don't know how much that happens, with 21st century $20 
microcontroller solutions; the Arduino platform is pretty established; 
the RaspPi, somewhat the same. Then each other device-family, has their 
manufacturer's development engine software (to keep you from using 
another product, he he). I made that point before.

So: walk through this with me. What floppy control hardware is pretty 
much standardized, available, and stable; year after year and even into 
decades? and what software to support what software to drive it, has 
those qualities? Answer: XT/AT/386 class PC's and MS-DOS. And that's why 
solutions like "Imagedsk" / MS-DOS / ISA floppy controllers / IMG files 
just keep on workin'.

But they don't work for 68K Mac disk formats, Apple II disk formats, 
etc. etc. That's why bit-sampling general solutions emerged in the 
1990's, from Compaticard to Catweasel. And you know, maybe I'll think of 
a 1985 solution to the problem for those reasons. But it's harder to 
design PCI cards; many people don't have computers with PCI slots; USB 
is the "bus" of choice; and there's those dammed $10, $20, $30 
stick-puters. They are the black-holes of design-your-own-devices.

But the question of the day, was about a $10 solution. It's an amazing 
bit of application, that FluxEngine; as is/was the GreaseWeasel. But 
it's like other $10 embedded solutions, with all the faults I mentioned 
and alternatives Gordon suggests. One can work around these, because in 
the end, nobody is gonna die because a $10 embedded stick coughs and 
sputters, or can't be found. There's no mission-critical task in play 
that matters. They will come and go, as do supporters of some 
application like read-a-floppy.

Sorry for the long lecture, I got a real question and it took time to 
answer it. Hope this did that.

regards, Herb Johnson

Herbert R. Johnson, New Jersey in the USA
http://www.retrotechnology.com OR .net
preserve, recover, restore 1970's computing
email: hjohnson AT retrotechnology DOT com
or try later herbjohnson AT retrotechnology DOT info

More information about the vcf-midatlantic mailing list