Changeset 431 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Src/Initialization


Ignore:
Timestamp:
Jun 9, 2012, 10:33:53 AM (12 years ago)
Author:
aitotat@…
google:author:
aitotat@gmail.com
Message:

Changes to XTIDE Universal BIOS:

  • Our INT 13h handler is no longer installed when no drives are detected and MODULE_HOTKEYS is not included.
Location:
trunk/XTIDE_Universal_BIOS/Src/Initialization
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/XTIDE_Universal_BIOS/Src/Initialization/Initialize.asm

    r413 r431  
    7878    call    RamVars_Initialize
    7979    call    BootVars_Initialize
     80    call    DetectDrives_FromAllIDEControllers
    8081    call    Interrupts_InitializeInterruptVectors
    81     call    DetectDrives_FromAllIDEControllers
    8282    ; Fall to .StoreDptPointersToIntVectors
    8383
  • trunk/XTIDE_Universal_BIOS/Src/Initialization/Interrupts.asm

    r417 r431  
    2222
    2323;--------------------------------------------------------------------
     24; Drives must be detected before this function is called!
     25;
    2426; Interrupts_InitializeInterruptVectors
    2527;   Parameters:
     
    3234;--------------------------------------------------------------------
    3335Interrupts_InitializeInterruptVectors:
     36    ; Install INT 19h handler to properly reset the system
     37    mov     al, BIOS_BOOT_LOADER_INTERRUPT_19h  ; INT 19h interrupt vector offset
     38    mov     si, Int19hReset_Handler             ; INT 19h handler to reboot the system
     39    call    Interrupts_InstallHandlerToVectorInALFromCSSI
     40
     41    ; If no drives detected, leave system INT 13h and 40h handlers
     42    ; in place. We need our INT 13h handler to swap drive letters.
     43%ifndef MODULE_HOTKEYS
     44    cmp     BYTE [RAMVARS.bDrvCnt], 0
     45    je      SHORT Interrupts_Return
     46%endif
    3447    ; Fall to .InitializeInt13hAnd40h
    3548
     
    6679    eCMOVNZ si, Int13h_DiskFunctionsHandlerWithStackChange
    6780%endif
    68     call    Interrupts_InstallHandlerToVectorInALFromCSSI
    69 
    70     ; Install INT 19h handler to properly reset the system
    71     mov     al, BIOS_BOOT_LOADER_INTERRUPT_19h  ; INT 19h interrupt vector offset
    72     mov     si, Int19hReset_Handler             ; INT 19h handler to reboot the system
     81
    7382%ifndef MODULE_IRQ
    7483    ; Fall to Interrupts_InstallHandlerToVectorInALFromCSSI
     
    163172    mov     [es:bx], si             ; Store offset
    164173    mov     [es:bx+2], cs           ; Store segment
     174Interrupts_Return:
    165175    ret
    166176
Note: See TracChangeset for help on using the changeset viewer.