source: xtideuniversalbios/trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/AH25h_HDrvID.asm@ 373

Last change on this file since 373 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.2 KB
Line 
1; Project name : XTIDE Universal BIOS
2; Description : Int 13h function AH=25h, Get Drive Information.
3
4; Section containing code
5SECTION .text
6
7;--------------------------------------------------------------------
8; Int 13h function AH=25h, Get Drive Information.
9;
10; AH25h_HandlerForGetDriveInformation
11; Parameters:
12; ES: Same as in INTPACK
13; DL: Translated Drive number
14; DS:DI: Ptr to DPT (in RAMVARS segment)
15; SS:BP: Ptr to IDEPACK
16; Parameters on INTPACK:
17; ES:BX: Ptr to buffer to receive 512-byte drive information
18; Returns with INTPACK:
19; AH: Int 13h return status
20; CF: 0 if successful, 1 if error
21;--------------------------------------------------------------------
22AH25h_HandlerForGetDriveInformation:
23 mov ax, (COMMAND_IDENTIFY_DEVICE << 8 | 1) ; Read 1 sector
24 call Prepare_BufferToESSIforOldInt13hTransfer ; Preserves AX
25 mov bx, TIMEOUT_AND_STATUS_TO_WAIT(TIMEOUT_DRQ, FLG_STATUS_DRQ)
26%ifdef USE_186
27 push Int13h_ReturnFromHandlerAfterStoringErrorCodeFromAH
28 jmp Idepack_TranslateOldInt13hAddressAndIssueCommandFromAH
29%else
30 call Idepack_TranslateOldInt13hAddressAndIssueCommandFromAH
31 jmp Int13h_ReturnFromHandlerAfterStoringErrorCodeFromAH
32%endif
Note: See TracBrowser for help on using the repository browser.