On 2011 Nov 30, at 12:27 PM, Tony Duell wrote:
MFM
drives are not portable across controller models. And at least
sometimes, they're not even portable across examples of a given
model of
controller. Remember that the _analog_ waveform is passed up the
cable
to the controller, where the discriminator turns it back into bits.
Actually, it's analogue in the time domain
Not really. The pulses or flux transitions from the disk are in
discrete time slots relative to each other, albeit with some
fluctuation due to physical reality, but that fluctuation is not part
of the intended information content.
An ST506/ST412 drive records a magnetic transsiton on the disk for every
leading edge of a pulse on the write data line. On reading, the magnetic
transistons on the disk cause pulses on the read data line, the leading
edge of which corresponds to the transsition.
Now, while there is obvisouly a maximium rate that you can write such
pulses (and expect them to be read back correctly), and there is often a
minimum rate too (due to the design of the read amplifier/filter), there
is almost no other restriction that I know of on the pulse rate. You can
essentailly put pulses where you like. And in that sense it's analogue.
Yes, the data from any normal controller has only a few differnt pulse
spacings (and IIRC the change from MFM to RLL encoding at this level
allows for more different spacings), and thus on reading you'd expect to
see only those pulse spacings (apart from mechanical jitter, magnetic
effects (that's what write precomepensation is designed to correct),
etc. But that's a restriction of the controller and not the drive, and
there's no reason why _every_ controller has to be the same in this
respsct, provided that it meets the drive's requirements for minimum and
maximum pulse spacing under all condtions (data to be written, etc). A
general-purpose disk reader/archiver has to take account of this.
-tony