Messages in this thread | | | Date | Wed, 28 May 2008 17:46:30 -0400 | From | Gene Heskett <> | Subject | Re: floppy question of the hour |
| |
On Wednesday 28 May 2008, Lennart Sorensen wrote: >On Tue, May 27, 2008 at 05:49:18PM -0400, Phillip Susi wrote: >> Yes, the interleave slows you down, since after accessing sector 1, the >> head must wait to pass over 3 other sectors before finally reaching >> sector 2, therefore, you can only read 1/4 of the sectors on the track >> each revolution of the disk. That leaves 4 revolutions at 300 rpm >> giving 0.8s to read a track, or 64 seconds to read all 80 tracks, plus >> seek time. That still does not explain 3 minutes though... not sure >> what else could be slowing you down. > >Just do what the Amiga did: Read the entire track into a buffer in >memory, then deal with the sectors, and write the entire track back. :)
That would be a huge improvement, but I'm afraid it would need someone far more familiar with floppy.c than I.
I am beginning to figure out how to make it work though. The sequence goes something like this: 1. insert disk in drive, wait 5 minutes just in case, didn't help. 2. setfdprm /dev/fd0 COCO7203.5 3. getfdprm /dev/fd0 (fails, no such device) 4. dd if=/dev/fd0 bs=256 count=1 5. wait 20 to 40 secs for it to fail with an i/o error 6. setfdprm /dev/fd0 COCO7203.5 7. getfdprm /dev/fd0 DS DD sect=18 ssize=256 8. dd if=disk.image of=/dev/fd0 bs=256
then about 4 minutes later:
9. dd if=dev/fd0 of=test.dsk;cmp disk.image test.dsk Eof "disk.image" (its shorter than the 720k disk itself)
3 more minutes for step 9 and I know if I have a good write. You can do the setfdprm 100 times and it fails silently everytime, but attack it with dd once, and /dev/fd0 gets well and works. 4 or 5 years ago it all worked straight off with the tools we had then.
FWIW, kernel is now 2.6.26-rc4, stable so far with a 49 hour uptime.
Hell of a way to run a train, guys, really. :)
-- Cheers, Gene "There are four boxes to be used in defense of liberty: soap, ballot, jury, and ammo. Please use in that order." -Ed Howdershelt (Author) Ambidextrous, adj.: Able to pick with equal skill a right-hand pocket or a left. -- Ambrose Bierce, "The Devil's Dictionary"
| |