Changeset 369 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Src/Boot
- Timestamp:
- Mar 29, 2012, 9:29:28 AM (13 years ago)
- google:author:
- gregli@hotmail.com
- Location:
- trunk/XTIDE_Universal_BIOS/Src/Boot
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/XTIDE_Universal_BIOS/Src/Boot/BootMenu.asm
r294 r369 16 16 ; All General Purpose Registers 17 17 ;-------------------------------------------------------------------- 18 ALIGN JUMP_ALIGN19 18 BootMenu_DisplayAndReturnSelectionInDX: 20 19 call DriveXlate_Reset … … 39 38 ; AX, DI 40 39 ;-------------------------------------------------------------------- 41 ALIGN JUMP_ALIGN42 40 BootMenu_GetDriveToDXforMenuitemInCX_And_RamVars_GetSegmentToDS: 43 41 call RamVars_GetSegmentToDS 44 42 ;;; fall-through 45 43 46 ALIGN JUMP_ALIGN47 44 BootMenu_GetDriveToDXforMenuitemInCX: 48 45 cmp cl, NO_ITEM_HIGHLIGHTED … … 73 70 ; AX, BX, DI 74 71 ;-------------------------------------------------------------------- 75 ALIGN JUMP_ALIGN76 72 BootMenu_Enter: 77 73 mov bx, BootMenuEvent_Handler … … 92 88 ; CX 93 89 ;-------------------------------------------------------------------- 94 ALIGN JUMP_ALIGN95 90 BootMenu_GetMenuitemCountToAX: 96 91 call RamVars_GetHardDiskCountFromBDAtoAX … … 110 105 ; AL, CX, DI 111 106 ;-------------------------------------------------------------------- 112 ALIGN JUMP_ALIGN113 107 BootMenu_GetHeightToAHwithItemCountInAL: 114 108 add al, BOOT_MENU_HEIGHT_WITHOUT_ITEMS … … 119 113 jb SHORT .Return 120 114 mov ah, cl 121 ALIGN JUMP_ALIGN, ret 115 122 116 .Return: 123 117 ret … … 133 127 ; CX 134 128 ;-------------------------------------------------------------------- 135 ALIGN JUMP_ALIGN136 129 BootMenu_GetMenuitemToAXforAsciiHotkeyInAL: 137 130 call Char_ALtoUpperCaseLetter … … 144 137 sub al, 'A' ; Letter to Floppy Drive menuitem 145 138 ret 146 ALIGN JUMP_ALIGN 139 147 140 .StartFromHardDiskLetter: 148 141 sub cl, al ; Hard Disk index … … 165 158 ; AX 166 159 ;-------------------------------------------------------------------- 167 ALIGN JUMP_ALIGN168 160 BootMenu_GetLetterForFirstHardDiskToAL: 169 161 call FloppyDrive_GetCountToAX … … 172 164 ja .Return 173 165 mov al, 'C' 174 ALIGN JUMP_ALIGN, ret 166 175 167 .Return: 176 168 ret … … 186 178 ; AX 187 179 ;-------------------------------------------------------------------- 188 ALIGN JUMP_ALIGN189 180 BootMenu_GetMenuitemToDXforDriveInDL: 190 181 xor dh, dh ; Drive number now in DX … … 211 202 ; AX, CX 212 203 ;-------------------------------------------------------------------- 213 ALIGN JUMP_ALIGN214 204 BootMenu_IsDriveInSystem: 215 205 test dl, dl ; Floppy drive? -
trunk/XTIDE_Universal_BIOS/Src/Boot/BootMenuEvent.asm
r258 r369 16 16 ; All 17 17 ;-------------------------------------------------------------------- 18 ALIGN JUMP_ALIGN19 18 BootMenuEvent_Handler: 20 19 … … 66 65 ; Returns: 67 66 ; DS:SI: Ptr to initialized MENUINIT struct 68 ALIGN JUMP_ALIGN69 67 .FirstEvent: 70 68 .InitializeMenuinitFromDSSI: … … 85 83 ret 86 84 87 ALIGN JUMP_ALIGN88 85 .GetDefaultMenuitemToDX: 89 86 mov dl, [cs:ROMVARS.bBootDrv] ; Default boot drive … … 92 89 call DriveXlate_SetDriveToSwap 93 90 jmp BootMenu_GetMenuitemToDXforDriveInDL 94 ALIGN JUMP_ALIGN 91 95 92 .DoNotSetDefaultMenuitem: 96 93 xor dx, dx ; Whatever appears first on boot menu … … 101 98 ; CX: Index of new highlighted item 102 99 ; DX: Index of previously highlighted item or NO_ITEM_HIGHLIGHTED 103 ALIGN JUMP_ALIGN104 100 .ItemHighlightedFromCX: 105 101 push cx … … 124 120 ; AL: ASCII character for the key 125 121 ; AH: Keyboard library scan code for the key 126 ALIGN JUMP_ALIGN127 122 .KeyStrokeInAX: 128 123 cmp ah, ROM_BOOT_HOTKEY_SCANCODE … … 130 125 ;; NOTE: carry flag will be clear after compare above that resulted in zero 131 126 jmp Int19hMenu_JumpToBootSector_or_RomBoot 132 ALIGN JUMP_ALIGN 127 133 128 .CheckDriveHotkeys: 134 129 call BootMenu_GetMenuitemToAXforAsciiHotkeyInAL … … 147 142 ; Parameters: 148 143 ; CX: Index of selected item 149 ALIGN JUMP_ALIGN150 144 .ItemSelectedFromCX: 151 145 CALL_MENU_LIBRARY Close -
trunk/XTIDE_Universal_BIOS/Src/Boot/BootMenuInfo.asm
r365 r369 55 55 ; CX 56 56 ;-------------------------------------------------------------------- 57 ALIGN JUMP_ALIGN58 57 BootMenuInfo_GetTotalSectorCount: 59 58 test BYTE [di+DPT.bFlagsLow], FLG_DRVNHEAD_LBA -
trunk/XTIDE_Universal_BIOS/Src/Boot/BootMenuPrint.asm
r294 r369 15 15 ; AX, BX, DX, SI, DI 16 16 ;-------------------------------------------------------------------- 17 ALIGN JUMP_ALIGN18 17 BootMenuPrint_RefreshItem: 19 18 call BootMenu_GetDriveToDXforMenuitemInCX_And_RamVars_GetSegmentToDS … … 59 58 ; AX, SI, DI 60 59 ;-------------------------------------------------------------------- 61 ALIGN JUMP_ALIGN62 60 BootMenuPrint_TitleStrings: 63 61 mov si, ROMVARS.szTitle … … 76 74 ; AX, DI 77 75 ;-------------------------------------------------------------------- 78 ALIGN JUMP_ALIGN79 76 BootMenuPrint_NullTerminatedStringFromCSSIandSetCF: 80 77 ; … … 99 96 ; AX, BX, CX, DX, SI, DI, ES 100 97 ;-------------------------------------------------------------------- 101 ALIGN JUMP_ALIGN102 98 BootMenuPrint_RefreshInformation: 103 99 CALL_MENU_LIBRARY ClearInformationArea … … 188 184 ; BX, CX, DX, SI, DI, ES 189 185 ;-------------------------------------------------------------------- 190 ALIGN JUMP_ALIGN191 186 .HardDiskRefreshInformation: 192 187 jc .HardDiskMenuitemInfoForForeignDrive ; Based on CF from FindDPT_ForDriveNumberInDL (way) above … … 229 224 ; AX, DI 230 225 ;-------------------------------------------------------------------- 231 ALIGN JUMP_ALIGN232 226 BootMenuPrint_FormatCSSIfromParamsInSSBP: 233 227 CALL_DISPLAY_LIBRARY FormatNullTerminatedStringFromCSSI … … 246 240 ; AX, DI 247 241 ;-------------------------------------------------------------------- 248 ALIGN JUMP_ALIGN249 242 BootMenuPrint_ClearScreen: 250 243 call BootMenuPrint_InitializeDisplayContext … … 265 258 ; AX, BX, CX, DX, SI, DI 266 259 ;-------------------------------------------------------------------- 267 ALIGN JUMP_ALIGN268 260 BootMenuPrint_TheBottomOfScreen: 269 261 call FloppyDrive_GetCountToAX … … 351 343 ; AX, SI, DI 352 344 ;-------------------------------------------------------------------- 353 ALIGN JUMP_ALIGN354 345 PushHotkeyParamsAndFormat: 355 346 push bp … … 378 369 ; AX, DI 379 370 ;-------------------------------------------------------------------- 380 ALIGN JUMP_ALIGN381 371 BootMenuPrint_InitializeDisplayContext: 382 372 CALL_DISPLAY_LIBRARY InitializeDisplayContext -
trunk/XTIDE_Universal_BIOS/Src/Boot/BootPrint.asm
r241 r369 14 14 ; AX, CX, SI, DI 15 15 ;-------------------------------------------------------------------- 16 ALIGN JUMP_ALIGN17 16 BootPrint_FailedToLoadFirstSector: 18 17 push bp … … 35 34 ; AX, SI, DI 36 35 ;-------------------------------------------------------------------- 37 ALIGN JUMP_ALIGN38 36 BootPrint_TryToBootFromDL: 39 37 push bp -
trunk/XTIDE_Universal_BIOS/Src/Boot/BootSector.asm
r294 r369 17 17 ; AX, CX, DH, SI, DI, (DL if failed to read boot sector) 18 18 ;-------------------------------------------------------------------- 19 ALIGN JUMP_ALIGN20 19 BootSector_TryToLoadFromDriveDL: 21 20 call BootPrint_TryToBootFromDL … … 52 51 ; AL, CX, DH, DI 53 52 ;-------------------------------------------------------------------- 54 ALIGN JUMP_ALIGN55 53 LoadFirstSectorFromDriveDL: 56 54 LOAD_BDA_SEGMENT_TO es, bx ; ES:BX now points to... 57 55 mov bx, BOOTVARS.rgbBootSect ; ...boot sector location 58 56 mov di, BOOT_READ_RETRY_TIMES ; Initialize retry counter 59 ALIGN JUMP_ALIGN 57 60 58 .ReadRetryLoop: 61 59 call .ResetBootDriveFromDL … … 78 76 ; AL 79 77 ;-------------------------------------------------------------------- 80 ALIGN JUMP_ALIGN81 78 .ResetBootDriveFromDL: 82 79 xor ax, ax ; AH=0h, Disk Controller Reset … … 101 98 ; AL, CX, DH 102 99 ;-------------------------------------------------------------------- 103 ALIGN JUMP_ALIGN104 100 .LoadFirstSectorFromDLtoESBX: 105 101 mov ax, 0201h ; Read 1 sector
Note:
See TracChangeset
for help on using the changeset viewer.