Well, I have finally got ReadADF working properly on my Disk2FDI machine by running the parallel port cable internally from the motherboard header, having first removed the ribbon cable to the external parallel D-type socket (which I never use on this machine anyway).

It is still an unshielded twisted pair of wires which will serve as both a Disk2FDI and ReadADF parallel port cable. It connects Pins 10 (ACKNOWLEDGE) and 13 (SELECT) of the parallel port motherboard header with Pins 30 (READ DATA) and 8 (INDEX) of the spare 3½-inch floppy drive cable connector, respectively. I made a neat job of it by using an old PC-speaker lead to span Pins 10-13 of the parallel port header and soldered a square header pin to the other end of each of the two wires to insert into the floppy drive connector.

Now, when I run the ReadADF program using the default settings and a good disk, the speed is MUCH improved (approximately half the speed of Disk2FDI) and the resulting disk image exactly matches the one produced by Disk2FDI!

Unfortunately, there are inconsistencies between the command line switches that the program will accept and the help screen:

Before I replaced the cable, I did try to use the manual mode switch consistent with a 166MHz processor, (-m 1:1:1 by my reckoning), to see if this would improve the dismal speed I was witnessing yesterday. However, the only display the program would generate in this case was an occasional "Read error (A)bort (I)gnore (R)etry R(E)calibrate" at the bottom of the screen, following an unsuccessful default number of retries, until I aborted the process. (I now know that this behaviour is consistent with failure to read entire tracks!)

I don't think I have any copy-protected disks, so I haven't tried that mode, I can't imagine what the -s and -d switches are for and test mode is academic unless the program is still supported.

However, I have got the program running as it was surely meant to, so I now have an additional application in my floppy recovery toolbox!

I ran both the Disk2FDI and ReadADF programs on Ze Emulatron's original Compute Games disk, which has 21 bad sectors - 13 of them with a missing header. Disk2FDI will always fill "missing sector header" blocks in the image with zeroes and sometimes "bad sector checksum" blocks too, but ReadADF always captures something. Most times this is nothing useful, but occasionally there will be something more meaningful, and whole sectors can sometimes be rebuilt from information like this gathered over a sufficient number of runs and a bit of guesswork based on inspection of the rest of the disk image.

Using good disks, I can't distinguish between the Retry and Recalibrate choices following notification of a read error; there may be differences in the processes involved, but the result is the same: both will persist until the whole track is captured.

With bad disks, however, both these options can result in an endless loop if a truly unreadable sector is encountered, so it's best to stick with the Ignore option. A read error notification will follow 20 unsuccessful retries, which is a fair number (Disk2FDI uses only 10 retries, IIRC).

ReadADF is not such a bad utility after all!

Quote:

Originally Posted by mr.vince

This will give you some ADFs for disks that are fine, but the jitter and other stuff induced will for sure not help when trying to recover things.

O ye of little faith!

Last edited by prowler; 22 March 2012 at 01:53.
Reason: Added details of the parallel port cable construction.