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 //// =============================================