source: xtideuniversalbios/trunk/XTIDE_Universal_BIOS/Src/Handlers/Int19hLate.asm @ 152

Last change on this file since 152 was 152, checked in by aitotat, 13 years ago

Changes to XTIDE Universal BIOS:

  • XTIDE mod should now be supported (untested).
  • Interrupt Service Routine no longer requires variable from RAMVARS.
  • Some small improvements.
File size: 1.2 KB
Line 
1; Project name  :   XTIDE Universal BIOS
2; Description   :   Late initialization for XT builds.
3
4; Section containing code
5SECTION .text
6
7;--------------------------------------------------------------------
8; Int19hLate_InitializeInt19h
9;   Parameters:
10;       ES:     BDA segment
11;   Returns:
12;       Nothing
13;   Corrupts registers:
14;       BX, SI
15;--------------------------------------------------------------------
16ALIGN JUMP_ALIGN
17Int19hLate_InitializeInt19h:
18    mov     bx, BIOS_BOOT_LOADER_INTERRUPT_19h
19    mov     si, HandlerForLateInitialization
20    jmp     Interrupts_InstallHandlerToVectorInBXFromCSSI
21
22
23;--------------------------------------------------------------------
24; HandlerForLateInitialization
25;   Parameters:
26;       Nothing
27;   Returns:
28;       Never returns
29;--------------------------------------------------------------------
30ALIGN JUMP_ALIGN
31HandlerForLateInitialization:
32    LOAD_BDA_SEGMENT_TO es, ax
33    call    Initialize_ShouldSkip           ; Skip initialization?
34    jnz     SHORT .SkipInitialization
35    call    Initialize_AndDetectDrives      ; Installs boot menu loader
36    int     BIOS_BOOT_LOADER_INTERRUPT_19h
37.SkipInitialization:
38    call    RamVars_Initialize              ; RAMVARS must be initialized even for simple boot loader
39    int     BIOS_BOOT_LOADER_INTERRUPT_19h  ; Call default system boot loader
Note: See TracBrowser for help on using the repository browser.