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

It could be that the disc read head is more sensitive, or able to hover closer to the disc surface

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.

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.

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.

[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 many 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 once wrote some code to recover degraded CD/DVD(+/-R) sectors by disabling the ECC of the drive

How did you do this? Is there some SCSI/ATAPI command for this?


I found out how to use a vendor-specific command to read the raw data from the buffer of the drive before descrambling and ECC. Look up the "FriiDump" project for some more background information. I then patched the firmware in memory (that took a lot of work...) to cause regular read commands to return the raw data.

(Contrary to some of the other comments in this thread, the drive was actually an LG.)


Wow! It does sound extremely painful haha. Thanks for sharing, that's pretty useful info.


What data you can get depends on the disc drive. DiscImageCreator [0] or the redump.org wiki [1] are good starting points.

[0] https://github.com/saramibreak/DiscImageCreator

[1] http://wiki.redump.org/index.php?title=Dumping_Guides


I'd also like to know. I tried to send those commands (SCSI I think?) to the drive, but it seemed to just ignore them. Heck, it seemed to ignore a huge portion of the different commands I tried to send it.


Sounds like "READ RAW". From memory it only works on certain drives - I want to say LiteOn but my memory is hazy.


That matches with my recollection too. I remember getting a specific model of a LiteOn drive specifically to ensure that I had the ability to do this, both for data recovery and because some forms of copy protection abused disc read errors and made reading your own CDs a (kernel blocking) pain under linux. I think the source of `cdparanoia` [1] has some good examples.

[1] https://xiph.org/paranoia/faq.html




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

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

Search: