source: xtideuniversalbios/trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/EBIOS/AH41h_CheckIfExtensionsPresent.asm @ 369

Last change on this file since 369 was 369, checked in by gregli@…, 12 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=41h, Check if Extensions Present.
3
4; Section containing code
5SECTION .text
6
7;--------------------------------------------------------------------
8; Int 13h function AH=41h, Check if Extensions Present.
9;
10; AH41h_HandlerForCheckIfExtensionsPresent
11;   Parameters:
12;       DL:     Translated Drive number
13;       DS:DI:  Ptr to DPT (in RAMVARS segment)
14;       SS:BP:  Ptr to IDEPACK
15;   Parameters on INTPACK:
16;       BX:     55AAh
17;   Returns with INTPACK:
18;       AH:     Major version of EBIOS extensions
19;       BX:     AA55h
20;       CX:     Support bits
21;       CF:     0 if successful, 1 if error
22;--------------------------------------------------------------------
23AH41h_HandlerForCheckIfExtensionsPresent:
24    cmp     WORD [bp+IDEPACK.intpack+INTPACK.bx], 55AAh
25    jne     SHORT .EbiosNotSupported
26
27    mov     BYTE [bp+IDEPACK.intpack+INTPACK.ah], EBIOS_VERSION
28    mov     WORD [bp+IDEPACK.intpack+INTPACK.bx], 0AA55h
29    mov     WORD [bp+IDEPACK.intpack+INTPACK.cx], ENHANCED_DRIVE_ACCESS_SUPPORT
30    and     BYTE [bp+IDEPACK.intpack+INTPACK.flags], ~FLG_FLAGS_CF  ; Return with CF cleared
31    jmp     Int13h_ReturnFromHandlerWithoutStoringErrorCode
32.EbiosNotSupported:
33    jmp     Int13h_UnsupportedFunction
Note: See TracBrowser for help on using the repository browser.