Changeset 621 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS_Configurator_v2/Src/Menupages
- Timestamp:
- Nov 21, 2021, 2:15:32 PM (3 years ago)
- Location:
- trunk/XTIDE_Universal_BIOS_Configurator_v2/Src/Menupages
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/XTIDE_Universal_BIOS_Configurator_v2/Src/Menupages/BootMenuSettingsMenu.asm
r605 r621 185 185 186 186 ColorThemeTable: 187 ; Note! If there's ever a need to remove a theme or change a theme or reorder the themes then the ROMVARS version must be incremented. 188 ; This is for backwards compatibility. Adding new themes (at the bottom) however should work with no change to the ROMVARS version. 187 189 ; Classic (default) 188 190 db COLOR_ATTRIBUTE(COLOR_YELLOW, COLOR_BLUE) ; .cBordersAndBackground -
trunk/XTIDE_Universal_BIOS_Configurator_v2/Src/Menupages/FlashMenu.asm
r620 r621 205 205 mov si, g_MenupageForFlashMenu 206 206 ePUSH_T bx, Menupage_ChangeToNewMenupageInDSSI 207 cmp WORD [g_cfgVars+CFGVARS.bEepromType], EEPROM_TYPE.SST_39SF 208 jz SHORT .DisableMenuitemsUnusedBySstFlash 209 ; Fall to .EnableMenuitemsUnusedBySstFlash 210 211 ;-------------------------------------------------------------------- 212 ; .EnableMenuitemsUnusedBySstFlash 213 ; Parameters: 207 cmp BYTE [g_cfgVars+CFGVARS.bEepromType], EEPROM_TYPE.SST_39SF 208 mov ax, DisableMenuitemFromCSBX 209 je SHORT .EnableOrDisableMenuitemsUnusedBySstFlash 210 mov ax, EnableMenuitemFromCSBX 211 ; Fall to .EnableOrDisableMenuitemsUnusedBySstFlash 212 213 ;-------------------------------------------------------------------- 214 ; .EnableOrDisableMenuitemsUnusedBySstFlash 215 ; Parameters: 216 ; AX: Offset to EnableMenuitemFromCSBX / DisableMenuitemFromCSBX 214 217 ; SS:BP: Menu handle 215 218 ; Returns: 216 219 ; Nothing 217 220 ; Corrupts registers: 218 ; AX, BX 219 ;-------------------------------------------------------------------- 220 ALIGN JUMP_ALIGN 221 .EnableMenuitemsUnusedBySstFlash: 221 ; BX 222 ;-------------------------------------------------------------------- 223 .EnableOrDisableMenuitemsUnusedBySstFlash: 222 224 mov bx, g_MenuitemFlashSdpCommand 223 call EnableMenuitemFromCSBX225 call ax 224 226 mov bx, g_MenuitemFlashPageSize 225 jmp EnableMenuitemFromCSBX 226 227 ;-------------------------------------------------------------------- 228 ; .DisableMenuitemsUnusedBySstFlash 229 ; Parameters: 230 ; SS:BP: Menu handle 231 ; Returns: 232 ; Nothing 233 ; Corrupts registers: 234 ; AX, BX 235 ;-------------------------------------------------------------------- 236 ALIGN JUMP_ALIGN 237 .DisableMenuitemsUnusedBySstFlash: 238 mov bx, g_MenuitemFlashSdpCommand 239 call DisableMenuitemFromCSBX 240 mov bx, g_MenuitemFlashPageSize 241 jmp DisableMenuitemFromCSBX 227 jmp ax 242 228 243 229 ;-------------------------------------------------------------------- … … 254 240 call .MakeSureThatImageFitsInEeprom 255 241 jc SHORT .InvalidFlashingParameters 256 cmp WORD [cs:g_cfgVars+CFGVARS.bEepromType], EEPROM_TYPE.SST_39SF257 jn zSHORT .SkipAlignmentCheck242 cmp BYTE [g_cfgVars+CFGVARS.bEepromType], EEPROM_TYPE.SST_39SF 243 jne SHORT .SkipAlignmentCheck 258 244 call .MakeSureAddress32KAligned 259 j cSHORT .InvalidFlashingParameters245 jnz SHORT .InvalidFlashingParameters 260 246 .SkipAlignmentCheck: 261 247 push es … … 267 253 call .InitializeFlashvarsFromDSSI 268 254 mov bx, si ; DS:BX now points to FLASHVARS 269 cmp WORD [cs:g_cfgVars+CFGVARS.bEepromType], EEPROM_TYPE.SST_39SF270 j zSHORT .FlashWithoutProgressBar255 cmp BYTE [g_cfgVars+CFGVARS.bEepromType], EEPROM_TYPE.SST_39SF 256 je SHORT .FlashWithoutProgressBar 271 257 add si, BYTE FLASHVARS_size ; DS:SI now points to PROGRESS_DIALOG_IO 272 258 call Dialogs_DisplayProgressDialogForFlashingWithDialogIoInDSSIandFlashvarsInDSBX … … 282 268 .FlashWithoutProgressBar: ; Worst case. SST devices will 283 269 call FlashSst_WithFlashvarsInDSBX ; either complete flashing 284 jmp SHORT .FlashComplete ; or timeout within 2 seconds. 270 jmp SHORT .FlashComplete ; or timeout within 2 seconds. 285 271 286 272 ;-------------------------------------------------------------------- … … 296 282 .MakeSureThatImageFitsInEeprom: 297 283 call Buffers_GetSelectedEepromSizeInWordsToAX 298 cmp ax, [ cs:g_cfgVars+CFGVARS.wImageSizeInWords]284 cmp ax, [g_cfgVars+CFGVARS.wImageSizeInWords] 299 285 jae SHORT .ImageFitsInSelectedEeprom 300 286 mov dx, g_szErrEepromTooSmall … … 312 298 ; SS:BP: Ptr to MENU 313 299 ; Returns: 314 ; CF: Setif EEPROM segment is not 32K aligned315 ; Corrupts registers: 316 ; AX, BX,DX300 ; ZF: Cleared if EEPROM segment is not 32K aligned 301 ; Corrupts registers: 302 ; AX, DX 317 303 ;-------------------------------------------------------------------- 318 304 ALIGN JUMP_ALIGN 319 305 .MakeSureAddress32KAligned: 320 mov ax, [cs:g_cfgVars+CFGVARS.wEepromSegment] 321 and ax, 007FFh 306 test WORD [g_cfgVars+CFGVARS.wEepromSegment], 07FFh 322 307 jz SHORT .AlignmentIs32K 323 308 mov dx, g_szErrAddrNot32KAligned 324 call Dialogs_DisplayErrorFromCSDX 325 stc 326 ret 309 jmp Dialogs_DisplayErrorFromCSDX 327 310 328 311 ;-------------------------------------------------------------------- … … 339 322 call EEPROM_LoadFromRomToRamComparisonBuffer 340 323 call Buffers_AppendZeroesIfNeeded 341 test BYTE [ cs:g_cfgVars+CFGVARS.wFlags], FLG_CFGVARS_CHECKSUM324 test BYTE [g_cfgVars+CFGVARS.wFlags], FLG_CFGVARS_CHECKSUM 342 325 jz SHORT .DoNotGenerateChecksumByte 343 326 jmp Buffers_GenerateChecksum … … 363 346 mov [si+FLASHVARS.fpNextComparisonPage+2], es 364 347 365 mov ax, [ cs:g_cfgVars+CFGVARS.wEepromSegment]348 mov ax, [g_cfgVars+CFGVARS.wEepromSegment] 366 349 mov WORD [si+FLASHVARS.fpNextDestinationPage], 0 367 350 mov [si+FLASHVARS.fpNextDestinationPage+2], ax 368 351 369 mov al, [ cs:g_cfgVars+CFGVARS.bEepromType]352 mov al, [g_cfgVars+CFGVARS.bEepromType] 370 353 mov [si+FLASHVARS.bEepromType], al 371 354 372 mov al, [ cs:g_cfgVars+CFGVARS.bSdpCommand]355 mov al, [g_cfgVars+CFGVARS.bSdpCommand] 373 356 mov [si+FLASHVARS.bEepromSdpCommand], al 374 357 375 358 mov ax, SST_PAGE_SIZE 376 cmp WORD[g_cfgVars+CFGVARS.bEepromType], EEPROM_TYPE.SST_39SF377 j zSHORT .UseSstPageSize378 379 eMOVZX bx, [ cs:g_cfgVars+CFGVARS.bEepromPage]380 mov ax, [ cs:bx+g_rgwEepromPageToSizeInBytes]359 cmp BYTE [g_cfgVars+CFGVARS.bEepromType], EEPROM_TYPE.SST_39SF 360 je SHORT .UseSstPageSize 361 362 eMOVZX bx, [g_cfgVars+CFGVARS.bEepromPage] 363 mov ax, [bx+g_rgwEepromPageToSizeInBytes] 381 364 .UseSstPageSize: 382 365 mov [si+FLASHVARS.wEepromPageSize], ax -
trunk/XTIDE_Universal_BIOS_Configurator_v2/Src/Menupages/IdeControllerMenu.asm
r614 r621 300 300 IdeControllerMenu_InitializeToIdevarsOffsetInBX: 301 301 lea ax, [bx+IDEVARS.drvParamsMaster] 302 mov [ cs:g_MenuitemIdeControllerMasterDrive+MENUITEM.itemValue+ITEM_VALUE.wRomvarsValueOffset], ax302 mov [g_MenuitemIdeControllerMasterDrive+MENUITEM.itemValue+ITEM_VALUE.wRomvarsValueOffset], ax 303 303 304 304 lea ax, [bx+IDEVARS.drvParamsSlave] 305 mov [ cs:g_MenuitemIdeControllerSlaveDrive+MENUITEM.itemValue+ITEM_VALUE.wRomvarsValueOffset], ax305 mov [g_MenuitemIdeControllerSlaveDrive+MENUITEM.itemValue+ITEM_VALUE.wRomvarsValueOffset], ax 306 306 307 307 lea ax, [bx+IDEVARS.bDevice] 308 mov [ cs:g_MenuitemIdeControllerDevice+MENUITEM.itemValue+ITEM_VALUE.wRomvarsValueOffset], ax308 mov [g_MenuitemIdeControllerDevice+MENUITEM.itemValue+ITEM_VALUE.wRomvarsValueOffset], ax 309 309 310 310 %ifndef CHECK_FOR_UNUSED_ENTRYPOINTS 311 311 %if IDEVARS.wBasePort = 0 312 mov [ cs:g_MenuitemIdeControllerCommandBlockAddress+MENUITEM.itemValue+ITEM_VALUE.wRomvarsValueOffset], bx312 mov [g_MenuitemIdeControllerCommandBlockAddress+MENUITEM.itemValue+ITEM_VALUE.wRomvarsValueOffset], bx 313 313 %else 314 314 lea ax, [bx+IDEVARS.wBasePort] 315 mov [ cs:g_MenuitemIdeControllerCommandBlockAddress+MENUITEM.itemValue+ITEM_VALUE.wRomvarsValueOffset], ax315 mov [g_MenuitemIdeControllerCommandBlockAddress+MENUITEM.itemValue+ITEM_VALUE.wRomvarsValueOffset], ax 316 316 %endif 317 317 318 318 %if IDEVARS.bSerialPort = 0 319 mov [ cs:g_MenuitemIdeControllerSerialPort+MENUITEM.itemValue+ITEM_VALUE.wRomvarsValueOffset], bx319 mov [g_MenuitemIdeControllerSerialPort+MENUITEM.itemValue+ITEM_VALUE.wRomvarsValueOffset], bx 320 320 %else 321 321 lea ax, [bx+IDEVARS.bSerialPort] 322 mov [ cs:g_MenuitemIdeControllerSerialPort+MENUITEM.itemValue+ITEM_VALUE.wRomvarsValueOffset], ax322 mov [g_MenuitemIdeControllerSerialPort+MENUITEM.itemValue+ITEM_VALUE.wRomvarsValueOffset], ax 323 323 %endif 324 324 %endif 325 325 326 326 lea ax, [bx+IDEVARS.bSerialBaud] 327 mov [ cs:g_MenuitemIdeControllerSerialBaud+MENUITEM.itemValue+ITEM_VALUE.wRomvarsValueOffset], ax327 mov [g_MenuitemIdeControllerSerialBaud+MENUITEM.itemValue+ITEM_VALUE.wRomvarsValueOffset], ax 328 328 329 329 lea ax, [bx+IDEVARS.wControlBlockPort] 330 mov [ cs:g_MenuitemIdeControllerControlBlockAddress+MENUITEM.itemValue+ITEM_VALUE.wRomvarsValueOffset], ax330 mov [g_MenuitemIdeControllerControlBlockAddress+MENUITEM.itemValue+ITEM_VALUE.wRomvarsValueOffset], ax 331 331 332 332 lea ax, [bx+IDEVARS.bSerialCOMPortChar] 333 mov [ cs:g_MenuitemIdeControllerSerialCOM+MENUITEM.itemValue+ITEM_VALUE.wRomvarsValueOffset], ax333 mov [g_MenuitemIdeControllerSerialCOM+MENUITEM.itemValue+ITEM_VALUE.wRomvarsValueOffset], ax 334 334 335 335 lea ax, [bx+IDEVARS.bIRQ] 336 mov [ cs:g_MenuitemIdeControllerEnableInterrupt+MENUITEM.itemValue+ITEM_VALUE.wRomvarsValueOffset], ax337 mov [ cs:g_MenuitemIdeControllerIdeIRQ+MENUITEM.itemValue+ITEM_VALUE.wRomvarsValueOffset], ax336 mov [g_MenuitemIdeControllerEnableInterrupt+MENUITEM.itemValue+ITEM_VALUE.wRomvarsValueOffset], ax 337 mov [g_MenuitemIdeControllerIdeIRQ+MENUITEM.itemValue+ITEM_VALUE.wRomvarsValueOffset], ax 338 338 339 339 ret … … 512 512 mov bx, g_MenuitemMasterSlaveDisableDetection 513 513 call DisableMenuitemFromCSBX 514 mov bx, [ cs:g_MenuitemIdeControllerMasterDrive+MENUITEM.itemValue+ITEM_VALUE.wRomvarsValueOffset]514 mov bx, [g_MenuitemIdeControllerMasterDrive+MENUITEM.itemValue+ITEM_VALUE.wRomvarsValueOffset] 515 515 jmp SHORT DisplayMasterSlaveMenu 516 516 … … 519 519 mov bx, g_MenuitemMasterSlaveDisableDetection 520 520 call EnableMenuitemFromCSBX 521 mov bx, [ cs:g_MenuitemIdeControllerSlaveDrive+MENUITEM.itemValue+ITEM_VALUE.wRomvarsValueOffset]521 mov bx, [g_MenuitemIdeControllerSlaveDrive+MENUITEM.itemValue+ITEM_VALUE.wRomvarsValueOffset] 522 522 ; Fall to DisplayMasterSlaveMenu 523 523 … … 566 566 ; Standard ATA controllers, including 8-bit mode 567 567 .StandardIdeDevice: 568 ; Enable IRQ for standard ATA 568 ; Enable IRQ for standard ATA, but only if MODULE_IRQ is included 569 569 570 570 lea ax, [di-ROMVARS.ideVars0+IDEVARS.wBasePort] 571 571 mov bl, IDEVARS_size 572 572 div bl 573 574 test BYTE [es:ROMVARS.wFlags+1], FLG_ROMVARS_MODULE_IRQ >> 8 575 jz SHORT .DoNotEnableIrq 576 577 mov bx, .rgbDefaultIrqForStdIde ; Enable interrupt for primary and secondary IDE 573 578 push ax 574 mov bx, .rgbDefaultIrqForStdIde ; Enable interrupt for primary and secondary IDE575 579 xlat 576 580 mov [es:di+IDEVARS.bIRQ-IDEVARS.wBasePort], al 577 581 pop ax 578 sub bx, BYTE .rgbDefaultIrqForStdIde - .rgbLowByteOfStdIdeInterfacePorts 579 xlat ; DS=CS so no segment override needed 582 583 .DoNotEnableIrq: 584 mov bx, .rgbLowByteOfStdIdeInterfacePorts 585 xlat 580 586 mov ah, 1 ; DEVICE_ATA_*_PORT >> 8 581 587 mov bh, 3 ; DEVICE_ATA_*_PORTCTRL >> 8 -
trunk/XTIDE_Universal_BIOS_Configurator_v2/Src/Menupages/MainMenu.asm
r602 r621 285 285 call Dialogs_DisplayNotificationFromCSDX 286 286 call EEPROM_FindXtideUniversalBiosROMtoESDI 287 call LoadColorTheme.FromROM 287 call LoadColorTheme.FromROM ; Returns the color theme index in AX 288 test BYTE [g_cfgVars+CFGVARS.wFlags], FLG_CFGVARS_FILELOADED 289 jz SHORT .FileNotLoaded 290 ; A file has been loaded so we need to copy the theme to that as well 291 call Buffers_GetFileBufferToESDI 292 add di, ROMVARS.pColorTheme 293 call WriteColorTheme 294 .FileNotLoaded: 288 295 jmp MainMenu_EnterMenuOrModifyItemVisibility 289 296
Note:
See TracChangeset
for help on using the changeset viewer.