Changeset 595 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Src/Handlers/Int19h.asm


Ignore:
Timestamp:
Jul 7, 2018, 9:53:24 AM (6 years ago)
Author:
aitotat
Message:
  • Int 19h reset handler now tries to boot from drive A before warm reset. This should help to get INT 10h hooked before launching booter games (meaning system reset without reseting interrupt vector table).
  • Win 95 hack temporarily removed (module not included by default). Very limited testing shows that CMOS hack seems to work with AMI bios but locks on Award BIOS.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/XTIDE_Universal_BIOS/Src/Handlers/Int19h.asm

    r593 r595  
    200200%endif
    201201    clc
    202     ;; fall through to Int19_JumpToBootSectorOrRomBoot
    203 
    204 ;--------------------------------------------------------------------
    205 ; Int19_JumpToBootSectorOrRomBoot
     202    ;; fall through to Int19h_JumpToBootSectorOrRomBoot
     203
     204;--------------------------------------------------------------------
     205; Int19h_JumpToBootSectorOrRomBoot
    206206;
    207207; Switches back to the POST stack, clears the DS and ES registers,
     
    213213;       CF:     Set for Boot Sector Boot
    214214;               Clear for ROM Boot
    215 ;       ES:BX:  (if CF set) Ptr to boot sector
     215;       ES:BX:  (if CF set) Ptr to boot sector (ES = zero)
    216216;
    217217;   Returns:
    218218;       Never returns
    219219;--------------------------------------------------------------------
    220 Int19_JumpToBootSectorOrRomBoot:
    221     mov     cx, es      ; Preserve MBR segment (can't push because of stack change)
    222     mov     ax, 0       ; NOTE: can't use XOR (LOAD_BDA_SEGMENT_TO) as it impacts CF
     220Int19h_JumpToBootSectorOrRomBoot:
     221    mov     ax, es      ; Preserve MBR segment (can't push because of stack change)
     222                        ; NOTE: can't use XOR (LOAD_BDA_SEGMENT_TO) as it impacts CF
    223223    SWITCH_BACK_TO_POST_STACK
    224224
    225225; clear segment registers before boot sector or rom call
    226226    mov     ds, ax
    227     mov     es, ax
    228227%ifdef USE_386
    229228    mov     fs, ax
     
    233232
    234233; jump to boot sector
    235     push    cx          ; sgment address for MBR
     234    push    ax          ; sgment address for MBR
    236235    push    bx          ; offset address for MBR
    237236    retf                ; NOTE: DL is set to the drive number
Note: See TracChangeset for help on using the changeset viewer.