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


Ignore:
Timestamp:
Feb 10, 2012, 2:00:50 PM (13 years ago)
Author:
aitotat@…
google:author:
aitotat@gmail.com
Message:

Changes to XTIDE Universal BIOS:

  • Brought back optional "A then C" boot loader.
  • Now there is only one INT 19h handler that remains unchanged.
Location:
trunk/XTIDE_Universal_BIOS/Src/Initialization
Files:
2 edited

Legend:

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

    r229 r243  
    3030    ; Install INT 19h handler (boot loader) where drives are detected
    3131    mov     bx, BIOS_BOOT_LOADER_INTERRUPT_19h
    32     mov     si, HandlerForLateInitialization
     32    mov     si, Int19h_BootLoaderHandler
    3333    call    Interrupts_InstallHandlerToVectorInBXFromCSSI
    3434
     
    3939    popf
    4040    retf
    41 
    42 
    43 ;--------------------------------------------------------------------
    44 ; HandlerForLateInitialization
    45 ;   Parameters:
    46 ;       Nothing
    47 ;   Returns:
    48 ;       Never returns
    49 ;--------------------------------------------------------------------
    50 HandlerForLateInitialization:
    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
    5441
    5542
     
    10390;   Parameters:
    10491;       DS:     RAMVARS segment
     92;       ES:     BDA and interrupt vector segment (zero)
    10593;   Returns:
    10694;       Nothing
    10795;   Corrupts registers:
    108 ;       All
     96;       All, except DS and ES
    10997;--------------------------------------------------------------------
    11098.ResetDetectedDrives:
  • trunk/XTIDE_Universal_BIOS/Src/Initialization/Interrupts.asm

    r181 r243  
    4343    ; 40h from 13h. That system locks to infinite loop if we copy 13h to 40h.
    4444    call    FloppyDrive_IsInt40hInstalled
    45     jc      SHORT .InitializeInt19h
     45    jc      SHORT .Int40hAlreadyInstalled
    4646    mov     [es:BIOS_DISKETTE_INTERRUPT_40h*4], ax      ; Store old INT 13h offset
    4747    mov     [es:BIOS_DISKETTE_INTERRUPT_40h*4+2], dx    ; Store old INT 13h segment
    48     ; Fall to .InitializeInt19h
    49 
    50 ;--------------------------------------------------------------------
    51 ; .InitializeInt19h
    52 ;   Parameters:
    53 ;       DS:     RAMVARS segment
    54 ;       ES:     BDA and Interrupt Vector segment (zero)
    55 ;   Returns:
    56 ;       Nothing
    57 ;   Corrupts registers:
    58 ;       BX, SI
    59 ;--------------------------------------------------------------------
    60 .InitializeInt19h:
    61     mov     bx, BIOS_BOOT_LOADER_INTERRUPT_19h
    62     mov     si, Int19hMenu_BootLoader
    63     call    Interrupts_InstallHandlerToVectorInBXFromCSSI
     48.Int40hAlreadyInstalled:
    6449    ; Fall to .InitializeHardwareIrqHandlers
    6550
Note: See TracChangeset for help on using the changeset viewer.