Changeset 243 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Inc


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/Inc
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/XTIDE_Universal_BIOS/Inc/BootVars.inc

    r241 r243  
    5656; STORE_POST_STACK_POINTER
    5757;   Parameters:
    58 ;       DS:     BDA and Interrupt Vector segment (zero)
     58;       ES:     BDA and Interrupt Vector segment (zero)
    5959;   Returns:
    6060;       Nothing
     
    6363;--------------------------------------------------------------------
    6464%macro STORE_POST_STACK_POINTER 0
    65     mov     [BOOTVARS.dwPostStack], sp
    66     mov     [BOOTVARS.dwPostStack+2], ss
     65    mov     [es:BOOTVARS.dwPostStack], sp
     66    mov     [es:BOOTVARS.dwPostStack+2], ss
    6767%endmacro
    6868
     
    102102; Restores SS and SP to initial boot loader values.
    103103;
    104 ; Before doing any changes, see the note regarding
    105 ; LOAD_BDA_SEGMENT_TO in BootVars_SwitchToBootMenuStack
     104; Note! Must return with AX=0 and CF preserved.
     105; See Int19hMenu_JumpToBootSector_or_RomBoot.
    106106;
    107107; SWITCH_BACK_TO_POST_STACK
    108108;   Parameters:
    109 ;       Nothing
     109;       AX:     BDA and Interrupt Vector segment (zero)
    110110;   Returns:
    111111;       SS:SP:  Ptr to POST stack
    112112;   Corrupts registers:
    113 ;       Nothing
     113;       Nothing (not even FLAGS)
    114114;--------------------------------------------------------------------
    115115%macro SWITCH_BACK_TO_POST_STACK 0
    116116%ifndef USE_386
    117     cli                                 ; Disable interrupts
    118     LOAD_BDA_SEGMENT_TO ss, sp
     117    cli
     118    mov     ss, ax
    119119    mov     sp, [ss:BOOTVARS.dwPostStack]
    120120    mov     ss, [ss:BOOTVARS.dwPostStack+2]
    121     sti                                 ; Enable interrupts
     121    sti
    122122%else
    123     LOAD_BDA_SEGMENT_TO ss, sp
     123    mov     ss, ax
    124124    lss     sp, [ss:BOOTVARS.dwPostStack]
    125 %endif
     125%endif 
    126126%endmacro
    127127
  • trunk/XTIDE_Universal_BIOS/Inc/RomVars.inc

    r242 r243  
    1717    .wFlags             resb    2   ; Word for ROM flags
    1818    .wDisplayMode       resb    2   ; Display mode for boot menu
     19    .wfDisplayBootMenu:             ; Zero = no Boot Menu, non-zero = Boot Menu timeout
    1920    .wBootTimeout       resb    2   ; Boot Menu selection timeout in system timer ticks
    2021    .bIdeCnt            resb    1   ; Number of available IDE controllers
     
    3940                                                ; by holding down the ALT key at the end of drive detection.
    4041                                                ; (Conveniently, this is 8, a fact we exploit when testing the bit)
     42FLG_ROMVARS_MODULE_JRIDE            EQU (1<<5)  ; Here in case the configuration needs to know functionality is present
    4143FLG_ROMVARS_MODULE_SERIAL           EQU (1<<6)  ; Here in case the configuration needs to know functionality is present
    4244FLG_ROMVARS_MODULE_EBIOS            EQU (1<<7)  ; Here in case the configuration needs to know functionality is present
Note: See TracChangeset for help on using the changeset viewer.