I debugged this for FlashFloppy and the bug is in Ziriax track loader.
For efficient sector scanning it skips 300*2 MFM bytes at the track gap. However this assumes the track is at least (544*11 + 300)*2*8 = 100544 bitcells long.
However a DD track is 100000 bitcells +/- perhaps 2%. Usually drives run a bit slow and you end up with a long enough track, but this is certainly not guaranteed.
Works on HxC because it generates long-ish tracks for ADF (101372 bitcells).
I fixed the track loader to skip 0x11A (=141*2) MFM bytes instead (conservatively assumes track is >= 98000 bitcells) and that works fine for me on FlashFloppy.
Last edited by Keir; 27 February 2018 at 12:22.
|