Changeset 605 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS_Configurator_v2/Src
- Timestamp:
- May 8, 2021, 6:55:56 PM (4 years ago)
- Location:
- trunk/XTIDE_Universal_BIOS_Configurator_v2/Src
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/XTIDE_Universal_BIOS_Configurator_v2/Src/AutoConfigure.asm
r592 r605 41 41 push es 42 42 pop ds ; ROMVARS now in DS:DI 43 call ChecksumSystemBios 43 44 call ResetIdevarsToDefaultValues 44 45 call DetectIdePortsAndDevices … … 48 49 pop ds 49 50 pop es 51 .Return: 52 ret 53 54 55 ;-------------------------------------------------------------------- 56 ; ChecksumSystemBios 57 ; Parameters: 58 ; DS:DI: Ptr to ROMVARS 59 ; Returns: 60 ; Nothing 61 ; Corrupts registers: 62 ; AX, BX, CX, DX, SI 63 ;-------------------------------------------------------------------- 64 ALIGN JUMP_ALIGN 65 ChecksumSystemBios: 66 push ds 67 mov si, 0F000h 68 mov ds, si 69 mov si, 0FFFFh 70 ; DS:SI now points to the end of the System BIOS. 71 std 72 mov cx, 32768 ; The smallest known problematic BIOS so far. 73 mov dx, si ; Initialize the checksum 74 call CalculateCRC_CCITTfromDSSIwithSizeInCX 75 pop ds 76 mov bx, .Checksums 77 cld 78 .NextChecksum: 79 mov ax, [cs:bx] 80 test ax, ax 81 jz SHORT AutoConfigure_ForThisSystem.Return 82 inc bx 83 inc bx 84 cmp ax, dx 85 jne SHORT .NextChecksum 86 or BYTE [di+ROMVARS.wFlags], FLG_ROMVARS_CLEAR_BDA_HD_COUNT 87 mov dx, g_szDlgBadBiosFound 88 jmp Dialogs_DisplayNotificationFromCSDX 89 90 ALIGN WORD_ALIGN 91 .Checksums: 92 dw 0D192h ; 32 KB Zenith Z-161 (071784) 93 dw 02F69h ; 32 KB Zenith Z-171 (031485) 94 dw 0 95 96 97 ;-------------------------------------------------------------------- 98 ; CalculateCRC_CCITTfromDSSIwithSizeInCX 99 ; Parameters: 100 ; DS:SI: Pointer to string to checksum 101 ; CX: Length of string to checksum 102 ; DX: Checksum (initially 0FFFFh) 103 ; DF: Set/Clear depending on direction wanted 104 ; Returns: 105 ; DX: Checksum 106 ; DS:SI: Pointer to byte after the end of checksummed string 107 ; Corrupts registers: 108 ; AX, BX, CX 109 ;-------------------------------------------------------------------- 110 ALIGN JUMP_ALIGN 111 CalculateCRC_CCITTfromDSSIwithSizeInCX: 112 ; jcxz .Return 113 xor bh, bh 114 mov ah, 0E0h 115 .NextByte: 116 lodsb 117 xor dh, al 118 mov bl, dh 119 rol bx, 1 120 rol bx, 1 121 rol bx, 1 122 rol bx, 1 123 xor dx, bx 124 rol bx, 1 125 xchg dh, dl 126 xor dx, bx 127 ror bx, 1 128 ror bx, 1 129 ror bx, 1 130 ror bx, 1 131 and bl, ah 132 xor dx, bx 133 ror bx, 1 134 xor dh, bl 135 loop .NextByte 136 ;.Return: 50 137 ret 51 138 -
trunk/XTIDE_Universal_BIOS_Configurator_v2/Src/Menupages/BootMenuSettingsMenu.asm
r597 r605 142 142 at MENUITEM.szQuickInfo, dw g_szNfoClearBdaDriveCount 143 143 at MENUITEM.szHelp, dw g_szHelpClearBdaDriveCount 144 at MENUITEM.bFlags, db FLG_MENUITEM_ FLAGVALUE144 at MENUITEM.bFlags, db FLG_MENUITEM_VISIBLE | FLG_MENUITEM_FLAGVALUE 145 145 at MENUITEM.bType, db TYPE_MENUITEM_MULTICHOICE 146 146 at MENUITEM.itemValue + ITEM_VALUE.wRomvarsValueOffset, dw ROMVARS.wFlags … … 148 148 at MENUITEM.itemValue + ITEM_VALUE.szMultichoice, dw g_szMultichoiceBooleanFlag 149 149 at MENUITEM.itemValue + ITEM_VALUE.rgszValueToStringLookup, dw g_rgszValueToStringLookupForFlagBooleans 150 at MENUITEM.itemValue + ITEM_VALUE.wValueBitmask, dw FLG_ROMVARS_ IGNORE_MOTHERBOARD_DRIVES150 at MENUITEM.itemValue + ITEM_VALUE.wValueBitmask, dw FLG_ROMVARS_CLEAR_BDA_HD_COUNT 151 151 iend 152 152 … … 258 258 call .EnableOrDisableColorThemeSelection 259 259 call .EnableOrDisableBootMenuSelectionTimeout 260 call .EnableOrDisableClearBdaDriveCount261 260 mov si, g_MenupageForBootMenuSettingsMenu 262 261 jmp Menupage_ChangeToNewMenupageInDSSI … … 328 327 mov bx, g_MenuitemBootMnuStngsSelectionTimeout 329 328 test ax, FLG_ROMVARS_MODULE_BOOT_MENU 330 jmp SHORT .DisableMenuitemFromCSBXifZFset331 332 333 ;--------------------------------------------------------------------334 ; .EnableOrDisableClearBdaDriveCount335 ; Parameters:336 ; AX: ROMVARS.wFlags337 ; SS:BP: Menu handle338 ; Returns:339 ; Nothing340 ; Corrupts registers:341 ; BX342 ;--------------------------------------------------------------------343 ALIGN JUMP_ALIGN344 .EnableOrDisableClearBdaDriveCount:345 mov bx, g_MenuitemBootMnuStngsClearBdaDriveCount346 call Buffers_IsXTbuildLoaded347 329 .DisableMenuitemFromCSBXifZFset: 348 330 jz SHORT .DisableMenuitemFromCSBX … … 448 430 mov cx, ATTRIBUTE_CHARS_size 449 431 mul cl ; Multiply with the menu choice index 450 mov si, ColorThemeTable451 add si, ax452 mov ax, [es:di] ; Fetch the ptr to ColorTheme432 mov si, [es:di] ; Fetch the ptr to ColorTheme 433 add ax, ColorThemeTable 434 xchg si, ax 453 435 mov di, ax 454 436 -
trunk/XTIDE_Universal_BIOS_Configurator_v2/Src/Strings.asm
r602 r605 118 118 g_bControllersDetected: db 'x' ; Value stored directly here 119 119 db " controllers.",NULL 120 g_szDlgBadBiosFound: db "This computer has been identified as being one of the following models:",LF,LF 121 db "Zenith Z-171",LF 122 db "Zenith Z-161",LF,LF 123 db "The Boot settings menu option 'Remove other hard drives' has been set to YES for this reason.",NULL 120 124 g_szDlgCfgFullMode: db "Enable full operating mode?",NULL 121 125 g_szDlgCfgStealSize: db "How many kiB of base memory to steal for XTIDE Universal BIOS variables (1...255)?",NULL … … 465 469 db " of normal drive detection. Note that if any serial drives are detected during the normal drive detection," 466 470 db " no scan will take place (to avoid finding the same drive twice).",NULL 467 g_szHelpClearBdaDriveCount: db "Set to NO for normal operation. Set to YES to get Windows 95 drivers to work when" 468 db " MODULE_WIN95_CMOS_HACK is not included (dummy drive needs to be defined in system BIOS setup).",NULL 471 g_szHelpClearBdaDriveCount: db "Set to NO for normal operation. Set to YES to get Windows 9x protected mode drivers to work when" 472 db " MODULE_WIN9X_CMOS_HACK is not included (dummy drive needs to be defined in system BIOS setup). This option must" 473 db " also be set to YES on computers where the system BIOS does not initialize RAM properly. Zenith models Z-171 and" 474 db " Z-161 are known examples of such machines.",NULL 469 475 470 476 g_szMultichoiceBootDispMode: db "Default",LF
Note:
See TracChangeset
for help on using the changeset viewer.