Changeset 95 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Src/Handlers/Int19hMenu.asm


Ignore:
Timestamp:
Jan 28, 2011, 11:55:34 AM (13 years ago)
Author:
aitotat
google:author:
aitotat
Message:

Changes to XTIDE Universal BIOS:

  • Smaller boot sector loading string.
  • Cleaned boot code a bit.
File:
1 edited

Legend:

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

    r90 r95  
    5353ALIGN JUMP_ALIGN
    5454Int19hMenu_ProcessMenuSelectionsUntilBootable:
    55     call    Int19hMenu_GetDriveOrFunctionFromBootMenu
    56     jc      SHORT Int19hMenu_ExecuteSelectedFunction
     55    call    BootMenu_DisplayAndReturnSelection
     56    call    DriveXlate_ToOrBack         ; Translate drive number
    5757    call    Int19h_TryToLoadBootSectorFromDL
    58     jnc     SHORT Int19hMenu_ProcessMenuSelectionsUntilBootable ; Boot failure
     58    jnc     SHORT Int19hMenu_ProcessMenuSelectionsUntilBootable ; Boot failure, show menu again
    5959    call    BootVars_SwitchBackToPostStack
    60     jmp     SHORT Int19h_JumpToBootSector
     60    jmp     Int19h_JumpToBootSector
    6161
    6262
    6363;--------------------------------------------------------------------
    64 ; Selects Floppy or Hard Disk Drive to boot from or some function.
    65 ;
    66 ; Int19hMenu_GetDriveOrFunctionFromBootMenu
     64; Int19hMenu_RomBoot
    6765;   Parameters:
    6866;       DS:     RAMVARS segment
    6967;   Returns:
    70 ;       DX:     Drive number (translated, 00h or 80h) or
    71 ;               Function ID
    72 ;       CF:     Cleared if drive selected
    73 ;               Set if function selected
    74 ;   Corrupts registers:
    75 ;       All non segment regs
     68;       Never returns
    7669;--------------------------------------------------------------------
    7770ALIGN JUMP_ALIGN
    78 Int19hMenu_GetDriveOrFunctionFromBootMenu:
    79     call    BootMenu_DisplayAndReturnSelection
    80     jc      SHORT .ReturnFunction
    81     call    DriveXlate_ToOrBack         ; Translate drive number
    82     clc
    83 ALIGN JUMP_ALIGN
    84 .ReturnFunction:
    85     ret
    86 
    87 
    88 ;--------------------------------------------------------------------
    89 ; Executes any function (non-drive) selected from Boot Menu.
    90 ;
    91 ; Int19hMenu_ExecuteSelectedFunction
    92 ;   Parameters:
    93 ;       DX:     Function ID (selected from Boot Menu)
    94 ;       DS:     RAMVARS segment
    95 ;   Returns:
    96 ;       Nothing
    97 ;   Corrupts registers:
    98 ;       All non segment regs
    99 ;--------------------------------------------------------------------
    100 ALIGN JUMP_ALIGN
    101 Int19hMenu_ExecuteSelectedFunction:
    102     ePUSH_T ax, Int19hMenu_ProcessMenuSelectionsUntilBootable
    103     test    dx, dx                      ; 0, IDF_BOOTMNU_ROM
    104     jz      SHORT .Int18hRomBoot
    105     ret
    106 ALIGN JUMP_ALIGN
    107 .Int18hRomBoot:
     71Int19hMenu_RomBoot:
    10872    call    BootVars_SwitchBackToPostStack
    109     jmp     Int19h_BootFailure          ; Never returns
     73    call    Int19h_ClearSegmentsForBoot
     74    int     INTV_BOOT_FAILURE       ; Never returns
Note: See TracChangeset for help on using the changeset viewer.