Changeset 369 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Src
- Timestamp:
- Mar 29, 2012, 9:29:28 AM (13 years ago)
- google:author:
- gregli@hotmail.com
- Location:
- trunk/XTIDE_Universal_BIOS/Src
- Files:
-
- 14 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 -
trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/AH0h_HReset.asm
r316 r369 21 21 ; CF: 0 if successful, 1 if error 22 22 ;-------------------------------------------------------------------- 23 ALIGN JUMP_ALIGN24 23 AH0h_HandlerForDiskControllerReset: 25 24 eMOVZX bx, dl ; Copy requested drive to BL, zero BH to assume no errors -
trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/AH11h_HRecal.asm
r294 r369 17 17 ; CF: 0 if successful, 1 if error 18 18 ;-------------------------------------------------------------------- 19 ALIGN JUMP_ALIGN20 19 AH11h_HandlerForRecalibrate: 21 20 %ifndef USE_186 -
trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/AH15h_HSize.asm
r294 r369 24 24 ; CF: 1 25 25 ;-------------------------------------------------------------------- 26 ALIGN JUMP_ALIGN27 26 AH15h_HandlerForReadDiskDriveSize: 28 27 %ifdef MODULE_SERIAL_FLOPPY -
trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/AH23h_HFeatures.asm
r294 r369 26 26 ; CF: 0 if successful, 1 if error 27 27 ;-------------------------------------------------------------------- 28 ALIGN JUMP_ALIGN29 28 AH23h_HandlerForSetControllerFeatures: 30 29 xchg si, ax ; SI = Feature Number … … 55 54 ; AL, BX, CX, DX 56 55 ;-------------------------------------------------------------------- 57 ;ALIGN JUMP_ALIGN58 56 AH23h_SetControllerFeatures: 59 57 mov al, COMMAND_SET_FEATURES -
trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/AH25h_HDrvID.asm
r322 r369 20 20 ; CF: 0 if successful, 1 if error 21 21 ;-------------------------------------------------------------------- 22 ALIGN JUMP_ALIGN23 22 AH25h_HandlerForGetDriveInformation: 24 23 mov ax, (COMMAND_IDENTIFY_DEVICE << 8 | 1) ; Read 1 sector -
trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/AHDh_HReset.asm
r363 r369 17 17 ; CF: 0 if successful, 1 if error 18 18 ;-------------------------------------------------------------------- 19 ALIGN JUMP_ALIGN20 19 AHDh_HandlerForResetHardDisk: 21 20 %ifndef USE_186 -
trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/EBIOS/AH41h_CheckIfExtensionsPresent.asm
r294 r369 21 21 ; CF: 0 if successful, 1 if error 22 22 ;-------------------------------------------------------------------- 23 ALIGN JUMP_ALIGN24 23 AH41h_HandlerForCheckIfExtensionsPresent: 25 24 cmp WORD [bp+IDEPACK.intpack+INTPACK.bx], 55AAh -
trunk/XTIDE_Universal_BIOS/Src/Initialization/FloppyDrive.asm
r294 r369 109 109 ; AX, CX, DX, DI, ES 110 110 ;-------------------------------------------------------------------- 111 ALIGN JUMP_ALIGN112 111 FloppyDrive_GetType: 113 112 mov ah, 08h ; Get Drive Parameters … … 126 125 ; AX: Number of Floppy Drives 127 126 ;-------------------------------------------------------------------- 128 ALIGN JUMP_ALIGN129 127 FloppyDrive_GetCountToAX: 130 128 %ifdef MODULE_SERIAL_FLOPPY … … 146 144 ret 147 145 148 ALIGN JUMP_ALIGN149 146 FloppyDrive_GetCountFromBIOS_or_BDA: 150 147 push es … … 166 163 ;-------------------------------------------------------------------- 167 164 %ifdef USE_AT 168 ALIGN JUMP_ALIGN169 165 .GetCountFromBIOS: 170 166 push di … … 197 193 ;-------------------------------------------------------------------- 198 194 %ifndef USE_AT 199 ALIGN JUMP_ALIGN200 195 .GetCountFromBDA: 201 196 LOAD_BDA_SEGMENT_TO es, ax
Note:
See TracChangeset
for help on using the changeset viewer.