hjalfi
Experienced Member
Context: I'm reading floppy disks via flux sampling (see http://cowlark.com/fluxengine).
I've spent some time slaving over a hot logic analyser trying to sort out problems reading Mac disks. I originally thought that my sampler was dropping pulses, but it turns out it's absolutely fine, and the drive itself is dropping them --- I managed to catch some coming off the drive itself with the logic analyser and correlated them to the errors.
Weirdly, these only affect Mac disks, and the middle tracks suffer way more than the outer tracks. Here's the cleanest example I've seen (sent in by a user. I have users! That's terrifying!):
Tracks are horizontal, sectors are vertical. B represents a bad sector. C represents a conflict; ignore these, it's because they imaged both sides of a single-sided disk. The Xs are missing sectors. They're normal because Mac disks have different numbers of sectors per track. My drive produces much the same pattern, although much noisier.
So, Mac disks use different rotational velocities per zone. I'm using a standard PC drive which spins at 300rpm, so I see that as different bitrates per zone, and whatever's happening is primarily affecting the 284kHz and 252kHz zones. However, I've got some Brother disks at 255kHz which read just fine, and I'm getting clean reads from loads of other formats, so it's not solely dependent on bitrate.
Hunting around reveals lots of Kryoflux users seeing exactly the same problem, so it's not just me. The recommended solution is to just try another drive.
My hypothesis here is: at certain rotational speeds, the head alignment of Mac disks goes a bit awry rendering the signal out of spec for a normal drive. This is not usually a problem because Mac disks are supposed to only be used in Mac drives, but I'm using a PC drive. Some drives work and some don't because of the different alignment tolerances. This would also explain the problems people reported in using the later SuperDrives with old Mac disks.
Does any of this seem even slightly plausible, or am I barking up the wrong tree? Is there anything I can do about it (I'm guessing not)?
I've spent some time slaving over a hot logic analyser trying to sort out problems reading Mac disks. I originally thought that my sampler was dropping pulses, but it turns out it's absolutely fine, and the drive itself is dropping them --- I managed to catch some coming off the drive itself with the logic analyser and correlated them to the errors.
Weirdly, these only affect Mac disks, and the middle tracks suffer way more than the outer tracks. Here's the cleanest example I've seen (sent in by a user. I have users! That's terrifying!):
Code:
H.SS Tracks --->
0. 0 CC..............................................BBBBBBBBBBBBBBBB................
0. 1 CC..............................................BBBBBBBBBBBBBBBB................
0. 2 CC..............................................BBBBBBBBBBBBBBBB................
0. 3 CC..............................................BBBBBBBBBBBBBBBB................
0. 4 CC..............................................BBBBBBBBBBBBBBBB................
0. 5 C...............................................BBBBBBBBBBBBBBBB................
0. 6 C...............................................BBBBBBBBBBBBBBBB...............C
0. 7 C...............................................BBBBBBBBBBBBBBBB................
0. 8 C................................................BB.BBBBBBBBBBBBXXXXXXXXXXXXXXXX
0. 9 C...............................................XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0.10 C...............................XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0.11 C...............XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Tracks are horizontal, sectors are vertical. B represents a bad sector. C represents a conflict; ignore these, it's because they imaged both sides of a single-sided disk. The Xs are missing sectors. They're normal because Mac disks have different numbers of sectors per track. My drive produces much the same pattern, although much noisier.
So, Mac disks use different rotational velocities per zone. I'm using a standard PC drive which spins at 300rpm, so I see that as different bitrates per zone, and whatever's happening is primarily affecting the 284kHz and 252kHz zones. However, I've got some Brother disks at 255kHz which read just fine, and I'm getting clean reads from loads of other formats, so it's not solely dependent on bitrate.
Hunting around reveals lots of Kryoflux users seeing exactly the same problem, so it's not just me. The recommended solution is to just try another drive.
My hypothesis here is: at certain rotational speeds, the head alignment of Mac disks goes a bit awry rendering the signal out of spec for a normal drive. This is not usually a problem because Mac disks are supposed to only be used in Mac drives, but I'm using a PC drive. Some drives work and some don't because of the different alignment tolerances. This would also explain the problems people reported in using the later SuperDrives with old Mac disks.
Does any of this seem even slightly plausible, or am I barking up the wrong tree? Is there anything I can do about it (I'm guessing not)?