thecloud@dhw68k.cts.com (Ken McLeod) (07/02/89)
Question: how can I determine whether a given floppy disk drive, which
is physically attached and in the drive queue (and which may or may not
contain a disk) is a SuperDrive?
Using the Sony equates file from MPW 3.0, I developed a Pascal interface
to the Sony driver vars (a portion of which follows). Unfortunately, when
tested on a IIx with a SuperDrive, the 'mfmDrive' byte was $00. A dump of
the record I was examining showed that all other values seemed to be correct.
Obviously, hardware interfaces are 'unsupported' and in flux, but if there's
a way to get this info, I'd appreciate any help.
Here's the interesting portion:
DrvStsRec = RECORD { length = 66 }
track : integer; { current track location (used for spd) }
writeProt : SignedByte; { * bit7=1=write-protected }
diskInPlace : SignedByte; { * $FC-$FF= just ejected,
; 0=no disk in place,1=DIP,2=clamped }
installed : SignedByte; { * 0=don't know, 1=inst., $FF=not inst. }
sides : SignedByte; { * bit7=0=1 sided }
driveQLink : QElemPtr; { next drive queue element }
driveQType : integer;
driveQDrive : integer; { drive number }
driveQRefnum: integer;
driveQFSID : integer;
twoSideFmt : SignedByte; { * non-zero if 2-sided format
; only valid when diskInPlace=2; see IM II-215 }
{ driveSize EQU twoSideFmt ; drive block size (DCD only!) }
newIntf : SignedByte; { $FF if new interface, $00 for old }
driveErrs : integer; { drive soft errs
; drive block size (high word) }
mfmDrive : SignedByte; { $FF=SuperDrive, $00=400K or 800K GCR }
mfmDisk : SignedByte; { $FF=MFM, $00=GCR or unformatted }
twoMegFmt : SignedByte; { $FF=2 meg MFM (1440K), $00=1 meg (720K) }
driveManf : SignedByte;
{ trkSpeedTbl EQU 26 ; 5-entry track speed table }
tSTblCode1 : integer; { first is speed code }
tSTblDelta1 : integer; { 2% speed code delta }
tSTblTicks1 : longint; { longword last time checked tick cnt }
{ ... rest of record ... }
---
--
========== ....... =============================================
Ken McLeod :. .: UUCP: ...{spsd,zardoz,felix}!dhw68k!thecloud
========== :::.. ..::: INTERNET: thecloud@dhw68k.cts.com
//// =============================================