Changeset 550 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Src/Menus
- Timestamp:
- Apr 27, 2013, 5:30:50 PM (12 years ago)
- google:author:
- aitotat@gmail.com
- Location:
- trunk/XTIDE_Universal_BIOS/Src/Menus
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/XTIDE_Universal_BIOS/Src/Menus/BootMenu/BootMenuPrintCfg.asm
r526 r550 81 81 .PushBlockMode: 82 82 mov ax, 1 83 test BYTE [di+DPT.bFlagsHigh], FLGH_DPT_ BLOCK_MODE_SUPPORTED83 test BYTE [di+DPT.bFlagsHigh], FLGH_DPT_USE_BLOCK_MODE_COMMANDS 84 84 jz SHORT .PushBlockSizeFromAX 85 85 mov al, [di+DPT_ATA.bBlockSize] -
trunk/XTIDE_Universal_BIOS/Src/Menus/DriveXlate.asm
r547 r550 96 96 test dl, ah ; Hard disk? 97 97 jnz SHORT .SwapDrive ; If so, jump to swap 98 98 99 mov al, [RAMVARS.xlateVars+XLATEVARS.bFDSwap] 99 100 cbw … … 106 107 jne SHORT .RestoreAXandReturn 107 108 mov al, ah 109 108 110 ALIGN JUMP_ALIGN 109 111 .SwapToXXhInAL: 110 112 mov dl, al 113 114 %ifdef MODULE_COMPATIBLE_TABLES 115 cmp al, 81h 116 jne SHORT .RestoreAXandReturn 117 118 ; Since swapping drive 80h <=> 81h, we need to swap 119 ; DPT pointers in interrupt vectors 41h and 46h. 120 push ds 121 LOAD_BDA_SEGMENT_TO ds, ax 122 mov ax, [HD0_DPT_POINTER_41h*4] 123 xchg [HD1_DPT_POINTER_46h*4], ax 124 mov [HD0_DPT_POINTER_41h*4], ax 125 mov ax, [HD0_DPT_POINTER_41h*4+2] 126 xchg [HD1_DPT_POINTER_46h*4+2], ax 127 mov [HD0_DPT_POINTER_41h*4+2], ax 128 pop ds 129 %endif ; MODULE_COMPATIBLE_TABLES 130 111 131 ALIGN JUMP_ALIGN 112 132 .RestoreAXandReturn:
Note:
See TracChangeset
for help on using the changeset viewer.