Hacker News new | past | comments | ask | show | jobs | submit login

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.

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

[1] http://www.unige.ch/medecine/nouspikel/ti99/cassette.htm

[2] https://github.com/dimhoff/ti99_4a_tape_decode

[3] http://www.mrousseau.org/programs/ti99sim/




It's just FM, on floppies known as "single density" mode: https://en.wikipedia.org/wiki/Frequency_modulation

The common IBM PC and related formats use "double density" MFM: https://en.wikipedia.org/wiki/Modified_frequency_modulation


Interesting - I should really try to find the specifics on how AmigaOS stored its data. I'm guessing it's not MFM as the optional driver slash virtual device for reading IBM floppies required an MFM driver (thus implying MFM is not in use for standard AOS floppies).

[edit] it actually IS mfm after all https://wiki.amigaos.net/wiki/Amiga_Floppy_Boot_Process_and_...


FYI, the MFM/Modified Frequency Modulation is also described in the original Shugart SA800/SA801 8-inch floppy diskette drives manuals.

The OEM Manual describes the basic MFM information and the Maintenance Manual contains the PCB layouts, logic information and the schematic diagrams. The first two links are to the OEM/Theory of Operation Manual and the third link is to the Maintenance Manual.

https://hxc2001.com/download/datasheet/floppy/thirdparty/Shu...

http://avitech.com.au/mm-files/dilog-dq419/SA800-801_Diskett...

http://bitsavers.informatik.uni-stuttgart.de/www.computer.mu...

BTW, I still have two SA800 drives from my old CompuPro 8/16 S-100 system that I thought would be nice to play with again when I had a moment but I've no 8" floppies either single or double density. Does anyone know where one can get some?


The Amiga floppy controller hardware just DMAs the bits to / from RAM. MFM encoding and decoding is implemented in the software trackdisk.device by using the blitter.


Great that you're working on something similar! How are you finding those tools for handling degraded tape waveforms? I keep bouncing back and forth between hacking up my own vs. wanting to find some existing tool that has some clever math formula.


Both those I linked seem to work fine, though the tapes I'm recovering from are mostly in good condition. The Python one is a bit more robust than the one included with ti99sim, but much much slower and picky about DC offset.

(Note that both of these also decode the TI's frame format; but it should be easy to pull out the core waveform decoder of either.)


rewrite it for speed :)


> the same model in fact

It could only be Rigol or Siglent. Fascinating though. I know how slow floppies are, but I wouldn't have imagined an oscilloscope to have the necessary resolution.


Siglent SDS 1104X-E, same as in one of the photos.

In my case, the data was coming from cassette tapes, so the oscilloscope was absolutely overkill in terms of raw bandwidth by 3 orders of magnitude. However I was operating at its memory limit of 14 MSa (megasamples)... running at a sampling rate of 20 kSa/s, I had barely enough memory to grab the full 10 minutes of each tape side.

Its vertical resolution (8 bits) I was a little worried about, but the dynamic range of Differential Manchester/FM is so low it turned out to be a nonissue. Certainly the quantization noise is comparable to the noise floor of the basic-quality cassettes that my data was on.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: