Recovering Data From Floppies With Errors

Those of us of advancing years will remember the era of the floppy disc. Maybe not that of the 8-inch drive, but probably its 5.25-inch and certainly its 3.5-inch cousins. Some will remember the floppy disc fondly, while for others there will be recollections of slow and unreliable media with inadequate capacity, whose ability to hold data for any length of time was severely questionable. Add three decades to the time a disc has spent in storage, and those data errors become frequent. The life of a retrocomputing enthusiast hoping to preserve aged software is made extremely difficult by them, and [] has a few tips to help with recovery.

It’s written with specific reference to Commodore 5.25-inch floppies, but aside from some of the specific software, the techniques could be applied to any discs. Most interesting is his explanation of the mechanisms that lead to bad discs or bad sectors, before he looks at some of the mitigations that might be employed. Cleaning the disc or the drive head with alcohol is explored, then taking a dump of the raw data for detailed inspection and disassembly in search of checksum errors. If in your youth a floppy disc was just something you put in a drive and you never investigated further, perhaps this piece will fill in some of the gaps.

If the thought of a stack of Commodore 64 floppies fills you with dread, how about using an emulator?

Header image: PrixeH [CC BY-SA 3.0].

35 thoughts on “Recovering Data From Floppies With Errors

  1. I still have the square punch that lets you notch the disk so you can write to the opposite side of a 5-1/4, and some of the stickers to write protect them.

    1. Just punching the second write protect notch only worked on Commodore. For other brands you also had to carefully slip a round hole punch between the disk and jacket on both sides to punch holes for the index hole, which Commodore didn’t bother to use.

    1. Jason Scott, who I trust wrt making data available from floppies, doesn’t like Kryoflux. Among other, more Jason-y quotes:

      “In the 9 years of Kryoflux’s existence from prototype through to product, it has had two main branches of influence: A problematic approach to licensing and openness, and a scorched-earth warfare against any other technologies perceived as threats to Kryoflux as a dominating tool for forensic-level magnetic ingestion of floppies.”

      https://www.reddit.com/r/vintagecomputing/comments/buyj9f/til_that_computer_archivists_image_the_magnetic/epjwsut/

  2. My 3.5’s were easy to recover with dd_rescue and a usb floppy drive. Still need to come up with some hardware that will work with my collection of 5.25’s and 8’s, though….

    1. For the 5 1/4, look for some junk 286/386´s being sold for recycling …. most have drives that will work after a little cleaning. As for the 8″ disks, it is tougher …

        1. Too expensive for being read-only. My work machine still has a FDD connector on board, sadly single channel. Still, currently i have a 5¼” drive connected to an AMD X4-950 Black Edition. ;)

  3. tl;dr summary:

    1. clean the disk
    2. clean the drive
    3. read – read – read – read – read – read, retry, read, retry, read, until success
    4. get a new replacement disk, goto 1-3
    5. piece together the data

    sad that in many years, no real advances have been made in data recovery. What about going backwards from the checksum and getting the data – should work if there are not too many bad bits.

    1. I think Jenny misunderestimates the age demographic here. I have some spools of punch tape for a Teletype, with Digital RSTS Fortran code on it, sitting in my pile at home, right next to a couple 16″ platters out of an IBM 360 that I used to use for classroom show’n’tell.

  4. Amazingly, just a week ago I dug out my old Sinclair QL and tried to read from several Microdrive cartridges (slow tape loop things with 100Kb that were reckoned to be flaky even in the mid-80s).

    They all worked! I had a go with an old text editor, and Computer-One Pascal (a p-code Pascal). 32 year old tapes, still pretty readable! Over time I copied them to 3.5” floppy disk on a QL, then onto a Mac floppy disk before backing them up it’s hard disk, cds and zip-disks over time. Gotta keep the old data safe ;-)

  5. I had the problem recently with a dual 8″ for an OSI Challenger II. I was halfway to getting at adjustment screws when I remembered the OSI interface has an RC based oscillator and it is 40 years old. An Xtal might do the trick. Now I wonder, as it aged did it speed up or slow down? (All the 8″ disks were formatted and written to by this system.)

    1. Resistors are more stable over time. Capacitors loose capacitance so a RC oscillator would increase in frequency.

      In any case data is not about reading the data at the specified frequency but rather reading the data at the frequency at which it was written.

    1. I hope that either there’s a typo in that, or I just misunderstand, because it looks to me like the years are declining (which is fine by me, on its own), but you can only continue as long as you continue to be older than you desire. Which is problematic if you keep getting younger.

      1. On the other hand, there’s:

        for (years = age, desired = years + 1; desired > years; years++, desired++)

        encodes the toast “May you live as long as you want to, and want to as long as you live.” It IS continually advancing, though.

    1. Spinrite? Are you serious?

      Read – Read – Read – Read – Retry – Retry

      That’s ALL spinrite does.

      May Read – Write – Read – Write

      It’s been proven to be snake oil.

      I have some Halogen Fluid and blinker fluid you might be interested in. and your EFI Carburetor needs service.

    2. Lone ? No. It doesn´t work, and end up destroying the things it touches.

      Hate, despise, other bad feelings ? A lot, since people keep trying to use this in their 2TB hdds / ssds, and wonder why the poor disk completely dies.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.