davidgiven / fluxengine

PSOC5 floppy disk imaging interface
MIT License
353 stars 68 forks source link

mfm decoder misses overlapped sectors #551

Open tdaede opened 2 years ago

tdaede commented 2 years ago

When sectors overlap, any track headers that are within the data region of the sector are missed entirely.

davidgiven commented 2 years ago

This is because start-of-record sequences are only detected while seeking for the next record, and are ignored when actually reading data (because they are actually valid data, just with non-standard disk pulses). A previous version of the decoder would actually slice the flux into records based on start-of-record sequences and then decode each one individually, which wouldn't have suffered from this problem, but that caused other problems --- I forget what.