Changeset 229 in xtideuniversalbios


Ignore:
Timestamp:
Jan 29, 2012, 5:46:59 PM (13 years ago)
Author:
aitotat@…
google:author:
aitotat@gmail.com
Message:

Changes to XTIDE Universal BIOS:

  • All builds now initialize drives on boot loader (INT 19h).
Location:
trunk/XTIDE_Universal_BIOS/Src
Files:
1 deleted
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/EBIOS/AH48h_GetExtendedDriveParameters.asm

    r228 r229  
    6666    mov     [si+EDRIVE_INFO.qwTotalSectors+2], dx
    6767    mov     [si+EDRIVE_INFO.qwTotalSectors+4], bx
    68     mov     [si+EDRIVE_INFO.qwTotalSectors+6], ax
     68    mov     [si+EDRIVE_INFO.qwTotalSectors+6], ax   ; Always zero
    6969    mov     WORD [si+EDRIVE_INFO.wSectorSize], 512
    7070
  • trunk/XTIDE_Universal_BIOS/Src/Initialization/Initialize.asm

    r194 r229  
    1717;       Nothing
    1818;--------------------------------------------------------------------
    19 Initialize_FromMainBiosRomSearch:             ; unused entrypoint ok
     19Initialize_FromMainBiosRomSearch:           ; unused entrypoint ok
    2020    pushf
    2121    push    es
     
    2424
    2525    LOAD_BDA_SEGMENT_TO es, ax
    26     call    Initialize_ShouldSkip
     26    sti                                     ; Enable interrupts
     27    test    BYTE [es:BDA.bKBFlgs1], (1<<2)  ; Clears ZF if CTRL is held down
    2728    jnz     SHORT .SkipRomInitialization
    2829
    29 %ifdef USE_AT   ; Early initialization on AT build
    30     call    Initialize_AndDetectDrives
    31 %else           ; Late initialization on XT builds
    32     call    Int19hLate_InitializeInt19h
    33 %endif
     30    ; Install INT 19h handler (boot loader) where drives are detected
     31    mov     bx, BIOS_BOOT_LOADER_INTERRUPT_19h
     32    mov     si, HandlerForLateInitialization
     33    call    Interrupts_InstallHandlerToVectorInBXFromCSSI
     34
    3435.SkipRomInitialization:
    3536    ePOPA
     
    4142
    4243;--------------------------------------------------------------------
    43 ; Checks if user wants to skip ROM initialization.
    44 ;
    45 ; Initialize_ShouldSkip
     44; HandlerForLateInitialization
    4645;   Parameters:
    47 ;       ES:     BDA segment
     46;       Nothing
    4847;   Returns:
    49 ;       ZF:     Cleared if ROM initialization is to be skipped
    50 ;               Set to continue ROM initialization
    51 ;   Corrupts registers:
    52 ;       Nothing
     48;       Never returns
    5349;--------------------------------------------------------------------
    54 Initialize_ShouldSkip:
    55     sti                                     ; Enable interrupts
    56     test    BYTE [es:BDA.bKBFlgs1], (1<<2)  ; Clear ZF if CTRL is held down
    57     ret
     50HandlerForLateInitialization:
     51    LOAD_BDA_SEGMENT_TO es, ax
     52    call    Initialize_AndDetectDrives      ; Installs new boot menu loader
     53    int     BIOS_BOOT_LOADER_INTERRUPT_19h  ; Display boot menu
    5854
    5955
  • trunk/XTIDE_Universal_BIOS/Src/Main.asm

    r221 r229  
    182182
    183183    ; Boot loader
    184 %ifndef USE_AT
    185     %include "Int19hLate.asm"       ; For late initialization
    186 %endif
    187184    %include "Int19hMenu.asm"       ; For Int 19h, Boot Loader for Boot Menu
    188185
Note: See TracChangeset for help on using the changeset viewer.