I was just putting some finishing touches on this before I started to actually use and archive some of my stuff. To put it to an actual real world test.
Anyways, I tested an ADF generated ADF against an amiga transdisk ADF, and it failed. Turned out to be different by exactly one sector of all zeros in MY file versus the good file.
I tracked it down to a crappily written readtrack() routine where if I get a bad sector, but then at least one good sector after it, then the thing never retries. As a crappy patch, I check all sectors at the end of a track read and make sure there is good data in them. But this sucks. Even though I want and will have the same check in place, my read routine should be much much cleaner. I’m going to rewrite the routine.
Originally, I thought it was a data-size problem cropping up again, but I was wrong…..