On Wed, 25 Jul 2007, Dave Dunfield wrote:
I've also restored Imagedisk 1.16 to the site,
listing it as the
last known stable release, so that people won't be left hanging if
(when) something like this happens again.
I like Imagedisk very much, I've switched over from TeleDisk for all new
images I will make.
Lately I've found a very nasty bugs in IMD 1.16 (at least with a secondary
FDC, tested on two different machines of different speed with different
FDC). Reading disks is mostly fine, but writing to a drive connected to a
secondary FDC doesn't work reliably. The problem is that the drive won't
step properly, i.e. sometimes it misses a step pulse which makes the
written disk unusable. The same problem occurs e.g. with the clean head
routine. I had a look on your source code and I think it's a timing
issue. I've inserted a small delay ('delay(55);') into the seek routine
(between line 998 and line 999 in version 1.16) and this solved all the
problem. I think that the seek routine is called too early after having
sent the previous command to the FDC although it shouldn't matter because
wrfdc officially waits for the FDC to be ready before sending a byte. But
apparently some (many? all?) FDCs appear to be in a ready state although
they are not yet ready to do a seek... really weird.
Christian