Changeset 95 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Src/Handlers/Int19hMenu.asm
- Timestamp:
- Jan 28, 2011, 11:55:34 AM (14 years ago)
- google:author:
- aitotat
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/XTIDE_Universal_BIOS/Src/Handlers/Int19hMenu.asm
r90 r95 53 53 ALIGN JUMP_ALIGN 54 54 Int19hMenu_ProcessMenuSelectionsUntilBootable: 55 call Int19hMenu_GetDriveOrFunctionFromBootMenu56 jc SHORT Int19hMenu_ExecuteSelectedFunction55 call BootMenu_DisplayAndReturnSelection 56 call DriveXlate_ToOrBack ; Translate drive number 57 57 call Int19h_TryToLoadBootSectorFromDL 58 jnc SHORT Int19hMenu_ProcessMenuSelectionsUntilBootable ; Boot failure 58 jnc SHORT Int19hMenu_ProcessMenuSelectionsUntilBootable ; Boot failure, show menu again 59 59 call BootVars_SwitchBackToPostStack 60 jmp SHORTInt19h_JumpToBootSector60 jmp Int19h_JumpToBootSector 61 61 62 62 63 63 ;-------------------------------------------------------------------- 64 ; Selects Floppy or Hard Disk Drive to boot from or some function. 65 ; 66 ; Int19hMenu_GetDriveOrFunctionFromBootMenu 64 ; Int19hMenu_RomBoot 67 65 ; Parameters: 68 66 ; DS: RAMVARS segment 69 67 ; 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 76 69 ;-------------------------------------------------------------------- 77 70 ALIGN 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: 71 Int19hMenu_RomBoot: 108 72 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.