On Sat, Aug 6, 2016 at 5:12 PM, Eric Smith <spacewar at 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 at 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.