OK, I’ve applied the “double 1’s” fix that I talked about earlier today.
This definitely helped things. I think my results are quite possibly the best I’ve seen them yet.
Now, my SX enforces both the back-to-back one MFM rule, and the no-more-than-3-consecutive-zeros rule. So despite what the drive puts out, the SX only sends back compliant MFM.
I think I was detecting the same transition twice somehow. While I’m not super happy about the way I’ve gone about fixing it, this patch seems to have worked.
I can still read the all 0xFF’s and all 0x00’s disk ok, so at least I haven’t gone backwards.
I sometimes get mixed results no matter the disk. Sometimes when I read the track I get certain sectors right, for example maybe 1-7 but no 8,9,10. Other times I get 8,9,10 right, along with 1-5, but then 6 and 7 are corrupt. It’s very wierd. And remember I’m reading exactly the same spot on the disk. So depending on the, I don’t know, order of the data, changes the validity of it????
Also, I’m running into exactly the same problem in some cases I had before. While the data looks PERFECT, the checksum isn’t coming out correctly in all cases. Header checksum matches. Data checksum does not, but the data is fine.
Maybe my data checksum in the header is getting corrupted? So that’s why it doesn’t match?
I thought for a half-second about just making multiple passes over the data, get the good sectors from each of the batches until I have all 11. 🙂
Im getting closer…………………..