davidgiven / fluxengine

PSOC5 floppy disk imaging interface
MIT License
362 stars 69 forks source link

Iomega Alpha ( 10 / 20 MB Bernoulli ) Disks, where to even start? #775

Closed Bob-O-Rama closed 1 month ago

Bob-O-Rama commented 1 month ago

The drives use a flexible disk spinning at 1500 RPM which forms a fluid bearing over a "bernoulli plate" making an essentially rigid disk platter when spun up. The data clock rate for these drives in about 13Mbps raw, exactly 50% higher than the bit rate of stored data. On the scope I am seeing a vaguely sinusodial-ish signal at 1/4th of that 13Mhz frequency. This is too fast for any of the flux reading devices at my disposal. The Iomega documentation says it uses a NRZ and RLLC for encoding. I just don't know what that "should" look like.

Obvious if there is a better place to discuss this splunking effort, let me know. But ideally I'd like to be able to do the analysis with this or a similar project. I have become very expert in fixing / maintaining / recovering data from these devices - and can likely also write the code to analyze and decode the signals - so I have the tools and expertise - but I'm not smart enough to see how anything is being stored in the data fields. The synchro, servo, and what I think are sector marks - they use a somewhat slower symbol rate and look very much like the series of asymptotes you see with floppy disks. But the rest? Its just mysterious.

davidgiven commented 1 month ago

That's a completely different world than the stuff I'm working with!

I'm guessing that you're trying to read these directly from the analogue circuitry, rather than going through the Iomega drive controller? Which, if it was anything like the Iomega devices I've seen, was based on SCSI. Are you at least downstream of whatever head amplifier the system is using? Assuming it's based on the same magnetic flux reversals that floppy disks are, that should do a lot of the heavy lifting for you.

NRZ suggests that the actual polarity of the signal is relevant, unlike floppy disks where only the timing between reversals is relevant. But everything I know about it came from Wikipedia in the last five minutes. It does suggest it's not self-clocking. Do you know if there's an additional signal providing an external clock?