Oh wow, I did not realize that floppy discs used the same exact encoding that was used on tape drives of the era, e.g. the TI-99/4A [1]. The wave file in the article is the exact same sound I'd listen to as a child, loading programs from cassettes.<p>Total coincidence -- I recently have been recovering games from my old TI-99/4A cassettes, also using an oscilloscope (the same model in fact; for no particularly good reason beyond it was the most convenient way to record off the only tape player I still own), Audacity, and two open-source tools to recover such data [2] and [3].<p>[1] <a href="http://www.unige.ch/medecine/nouspikel/ti99/cassette.htm" rel="nofollow">http://www.unige.ch/medecine/nouspikel/ti99/cassette.htm</a><p>[2] <a href="https://github.com/dimhoff/ti99_4a_tape_decode" rel="nofollow">https://github.com/dimhoff/ti99_4a_tape_decode</a><p>[3] <a href="http://www.mrousseau.org/programs/ti99sim/" rel="nofollow">http://www.mrousseau.org/programs/ti99sim/</a>
<i>It could be that the disc read head is more sensitive, or able to hover closer to the disc surface</i><p>Unlike HDDs, floppy drive heads do actually rub on the surface of the media in normal operation. This is notable because repeated "scrubbing" in an attempt to statistically recover data[1] can make things much worse, especially if the media surface (or worse, the head) is already damaged.<p><i>The attempt that bore some fruit was to instead locate the start of the sector data, and continually look at the next 8us of the analog stream. If the voltage appears to generally drift in one direction, then it's a "0" bit, or if the voltage peaks one way and then the other, it's a "1" bit.</i><p>More distinctly: if the signal difference between two samples 8us apart is approximately the same, it's a 1; if there's a large difference ("large" being something suitable and AGC-ish like a running average or similar), it's a 0.<p>[1] For optical media this is not a big concern, and I once wrote some code to recover degraded CD/DVD(+/-R) sectors by disabling the ECC of the drive and reading the raw data <i>many</i> times; it was surprisingly effective and interesting to graph the results as they were being obtained in realtime and see the bits literally rising out of the noise.
I'd be interested to see the results of mounting a much smaller head (eg. a hard drive head) to the floppy drive, and then creating a full 2D image of the disk surface magnetics.<p>That should be able to read disks where the disk surface has stretched or warped, and the tracks are no longer perfectly circular.<p>I think there's also a reasonable chance such a method could also be used to recover data on a disc that has been overwritten.
> To store a "0" data bit, there will only be one peak in an 8us window; to store a "1" data bit there will be two peaks.<p>Looks to me like this is just FSK (<a href="https://en.wikipedia.org/wiki/Frequency-shift_keying" rel="nofollow">https://en.wikipedia.org/wiki/Frequency-shift_keying</a>), and if so that's great because it means you can use techniques more sophisticated than the ones in that post, which in turn means that you have a chance to go after more 'unreadable' discs.
Just a little nitpicking note: the spelling of disc versus disk. Per dictionary definition, it's two spellings of the same word. Per convention, "disk" is usually used with magnetic media (like floppies) while "disc" is usually used with optical media (CDs/DVDs/Blu-ray).<p>It took me as just a little odd to see "floppy disc" even if it's technically correct.
Several years back I borrowed a colleague’s KryoFlux to archive hundreds of old 800KB Mac floppies that for over a decade had been sitting in a shoebox with no way to read them. Dozens were unreadable but I still created backups of the raw flux dumps of every one of them so I could come back to them later and do more analysis to see if they were simply unformatted or corrupted but recoverable. (Naturally none of them had useful labels.)<p>Doubtful there’s any treasures to be found here, but reading this article is giving me some inspiration to spend some time on this project again.
I love this. It's crazy the amount of effort, procuring hardware, debugging and manual massaging it takes to work with old hardware, but I think it's great not to lose the past even if the past seems trivial like Old McDonald's Farm game.<p>Another great restoration in all its technical glory is one of the flight computers from Apollo[0]<p>[0] <a href="https://youtu.be/Bh_gP5aF3ys?t=185" rel="nofollow">https://youtu.be/Bh_gP5aF3ys?t=185</a>
I had heard about a technique where tiny particles are spread over the media, and then optically imaged. This method was used to recover the most damaged media.
How does one go about studying and working in data archeology because this is really cool and seems like something that will be in greater demand as old media gets obsoleted and need to be retrieved to be preserved somehow.
This reminds me of my own attempts to read Acorn Atom programs from cassette tapes. I wrote a program to process wave files. Took me quite long to find a reliable method for recognizing the zero's and one's. But even that was not perfect and required some manual editing. For more details, see: <a href="http://www.iwriteiam.nl/D0301.html#20" rel="nofollow">http://www.iwriteiam.nl/D0301.html#20</a>
This reminds me I have a 200MHZ capable osciloscope that I only used when I opened the package and only tested the built-in function generator :(<p>Good thing I bought it cheap from China.