Contributor: JAN DOGGEN 
===========================================================================
 BBS: Canada Remote Systems
Date: 07-11-93 (20:49) Number: 30503
From: JAN DOGGEN Refer#: NONE
 To: MARK STEPHEN Recvd: NO 
Subj: RE: PARK IT! Conf: (1221) F-PASCAL
---------------------------------------------------------------------------
 -=> Quoting Mark Stephen to Herb Brown <=- HB> Anybody have any suggestions, experiences, trials, tribulations,
 HB> videos, and/or code examples on how to park a hard drive?
 MS> Trouble is, I have no idea of how to find out if the code has actually
 MS> done what I want it to, and there seems to be a real possibility of
 Yep, took me some time to figure out you can't test where the head is
 (i.e. if the park was succesful).
 I always assume that it won't do any harm on self-parking drives
 (they just park twice).
 Here's some code for Herb too; I guess he reads this too.
PROCEDURE ParkDisk;
 VAR Regs: Registers;
 BEGIN
 Regs.AH := 08ドル; { 'Return drive parameters' function }
 Regs.DL := 80ドル; { Physical drive number - first hard disk }
 Regs.AL := 00ドル;
 Intr(13,ドルRegs);
 Assert((Regs.Flags AND FCarry) = 0,
 'Error getting disk parameters - AL returns '+IntToStr(Regs.AL,0));
 { Now: DL = Number of drives responding }
 { DH = Maximum head number (# heads - 1) }
 { CH = Maximum cylinders/tracks (# tracks - 1) - lower 8 bits }
 { CL = Higher 2 bits: high 2 bits of max cyl/tr }
 { Lower 6 bits: Maximum sector number }
 { We now position the heads using the BIOS Seek service. We can use }
 { the returned registers again if we set DL back to 80ドル. }
 Regs.AH := 0ドルC;
 Regs.DL := 80ドル;
 Intr(13,ドルRegs);
 Assert((Regs.Flags AND FCarry) = 0,
 'Error parking disk - AL returns '+IntToStr(Regs.AL,0));
 END; { ParkDisk }
 MS> How about ignoring the problem, and if trouble develops, blaming it on
 MS> the hardware? (I believe this is the traditional approach?) The code
 Some approach!
 Jan
___ Blue Wave/QWK v2.10
--- Maximus 2.01
 * Origin: *** DOSBoss Zuid *** (2:500/131)
 

AltStyle によって変換されたページ (->オリジナル) /