On 01/04/2014 01:37 PM, Pete Turnbull wrote:
On 04/01/2014 18:11, Robert Jarratt wrote:
Indeed, I can see that, but the MicroVAX 2000
firmware manages to
work it
out somehow, I just don't know how. The difference between the RD53
and RD54
seems to be entirely in the number of heads, so my guess is it tries to
detect the number of heads somehow. Of course it may do something
completely
different, I don't know.
DEC were infamous for using "sniffer boots" during which the
controller would use a number of tricks to identify drives by their
idiosyncrasies. It does mean that apparently similar drives don't
always work, depending on the controller firmware revision, most
notably with RQDX1/2.
Sniffer Boots? What they did was try oen if fail t hen step to a
modifed version and try again.
Generally Cylinder 0 sector 1 exists on all MFM drives. If its there
then the contents of a later
sectorar (N=0 to less than 16) is used as thats the Drive ID and where
the bad sector map is.
Anyway, working out the number of heads is trivial.
Every sector on
any vaguely conventionally formatted MFM drive has a header with an ID
mark which includes the track, sector and head numbers. So you just
select each possible head in turn, from 0 up to 7 (most drives) or 15
for controllers that have a 4-bit head select, read a sector, and see
if the returned head number is correct. The first time it's not,
you've just exceeded the head count.
Also the drive interface lines will result in most cases as do nothing
if the head is way off.
Those drives you could step them to the stops and nothing bad happend so
the easy way
was move the head all the way in and then step out till the cylinder 000
flag went true.
Keep in mind the early drives (RD50=Sa506, RD51=SA412) dumb drives that
didn't use
servo. Later drives added a micro that did a bit more work and later
sill the intelligence
was greater to perform the head servo position operation Those with
servo (RD52,53,54)
return errors if the cylinder or head requested are out of allowed range.
All of them formatted for PDP-11 or uVAX carried a sector that had all
the drive ID info.
This is true as they both used the same or similar controllers (RQDXn).
The PC (vaxmate) were PCs using WD1002 or 1006 style controllers.
DECmate versions
did things the PDP-11/uVAX way.
Allison