On Sat, Aug 6, 2016 at 5:12 PM, Eric Smith <space...@gmail.com> wrote: > My ADPLL data separator has parameters to control the proportions of > frequency adjustment and instantaneous phase adjustment that are done > at each flux transition. I've experimented with the parameters quite a > bit, but it's still not good enough to reliably recover all sectors > from the disk images that started this thread. The default parameters > are currently 0.5% frequency adjustment and 10% instantaneous phase > adjustment. I was actually fairly surprised that I didn't get better > results with more frequency adjustment and less instantaneous phase > adjustment. It's entirely possible that my algorithm isn't very good.
Of the four Intel M2FM disk images I've tried, which are single-sided 77 track 52 sector 128 byte, for a total of 4004 sectors, I get 3990, 3981, 4004, and 3976 sectors read apparently correctly (without CRC error). That's more than 99.3%, which isn't good enough. Can anyone share a sample DiscFerret image (.dfi) of a normal double-density (MFM) disk? I don't think my data separator performance should be much different for MFM vs. Intel M2FM, but it would be nice to give it a try. I've built my own floppy imager hardware, but I haven't yet written firmware for it: https://www.flickr.com/photos/22368471@N04/26782411256/ It's a daughterboard for an Artix 7 FPGA board that Emanuel Stiebler made. The only thing wrong with his FPGA board is that it isn't readily available. The daughterboard just has SN7438 drivers and SN74LS14 Schmitt triggers, terminators, and series resistors for 5V tolerance. There's also a SMC FDC92C39B data separator on the daughterboard, but it's not actually in the floppy data path. All of its I/O signals go to the FPGA. It's there to serve as a reference for comparison.