source: xtideuniversalbios/trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/AH11h_HRecal.asm@ 372

Last change on this file since 372 was 369, checked in by gregli@…, 13 years ago

Removed align directives for initalization code and added define for align in boot-time calls to the assembly library (defaulting to 1), resulting in a significant savings for the AT and 386 builds. Fixed a bug with switch command line handling in the serial server. Put in CR characters in licesnse.txt, so that it properly displays on Windows. In the configurator, added default values for user supplied CHS and LBA values, defaulting to values within range when those features are enabled. Updated the copyright message in the configurator as the literal word Copyright is important.

File size: 1.4 KB
Line 
1; Project name : XTIDE Universal BIOS
2; Description : Int 13h function AH=11h, Recalibrate.
3
4; Section containing code
5SECTION .text
6
7;--------------------------------------------------------------------
8; Int 13h function AH=11h, Recalibrate.
9;
10; AH11h_HandlerForRecalibrate
11; Parameters:
12; DL: Translated Drive number
13; DS:DI: Ptr to DPT (in RAMVARS segment)
14; SS:BP: Ptr to IDEREGS_AND_INTPACK
15; Returns with INTPACK:
16; AH: BIOS Error code
17; CF: 0 if successful, 1 if error
18;--------------------------------------------------------------------
19AH11h_HandlerForRecalibrate:
20%ifndef USE_186
21 call AH11h_RecalibrateDrive
22 jmp Int13h_ReturnFromHandlerAfterStoringErrorCodeFromAH
23%else
24 push Int13h_ReturnFromHandlerAfterStoringErrorCodeFromAH
25 ; Fall to AH11h_RecalibrateDrive
26%endif
27
28
29;--------------------------------------------------------------------
30; AH11h_HRecalibrate
31; Parameters:
32; DS:DI: Ptr to DPT (in RAMVARS segment)
33; SS:BP: Ptr to IDEREGS_AND_INTPACK
34; Returns:
35; AH: BIOS Error code
36; CF: 0 if successful, 1 if error
37; Corrupts registers:
38; AL, BX, CX, DX
39;--------------------------------------------------------------------
40AH11h_RecalibrateDrive:
41 ; Recalibrate command is optional, vendor specific and not even
42 ; supported on later ATA-standards. Let's do seek instead.
43 mov cx, 1 ; Seek to Cylinder 0, Sector 1
44 xor dh, dh ; Head 0
45 jmp AHCh_SeekToCylinder
Note: See TracBrowser for help on using the repository browser.