Changeset 290 in xtideuniversalbios


Ignore:
Timestamp:
Mar 2, 2012, 1:30:18 PM (13 years ago)
Author:
aitotat@…
google:author:
aitotat@gmail.com
Message:

Changes to Configurator v2:

  • Added option to disable boot menu.
Location:
trunk/XTIDE_Universal_BIOS_Configurator_v2
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/XTIDE_Universal_BIOS_Configurator_v2/Inc/Variables.inc

    r159 r290  
    55
    66; Equates and defines
     7BOOT_MENU_DEFAULT_TIMEOUT           EQU (30 * TICKS_PER_SECOND)
    78MAX_ALLOWED_IDE_CONTROLLERS         EQU     4   ; Maximum number of IDE controllers
    89MAX_LITE_MODE_CONTROLLERS           EQU     2
  • trunk/XTIDE_Universal_BIOS_Configurator_v2/Src/Menupages/BootMenuSettingsMenu.asm

    r199 r290  
    1010    at  MENUPAGE.fnEnter,           dw  BootMenuSettingsMenu_EnterMenuOrModifyItemVisibility
    1111    at  MENUPAGE.fnBack,            dw  ConfigurationMenu_EnterMenuOrModifyItemVisibility
    12     at  MENUPAGE.wMenuitems,        dw  7
     12    at  MENUPAGE.wMenuitems,        dw  8
    1313iend
    1414
     
    2323iend
    2424
     25g_MenuitemBootMnuStngsDisplayMode:
     26istruc MENUITEM
     27    at  MENUITEM.fnActivate,        dw  Menuitem_ActivateMultichoiceSelectionForMenuitemInDSSI
     28    at  MENUITEM.fnFormatValue,     dw  MenuitemPrint_WriteLookupValueStringToBufferInESDIfromUnshiftedItemInDSSI
     29    at  MENUITEM.szName,            dw  g_szItemBootDispMode
     30    at  MENUITEM.szQuickInfo,       dw  g_szNfoDispMode
     31    at  MENUITEM.szHelp,            dw  g_szNfoDispMode
     32    at  MENUITEM.bFlags,            db  FLG_MENUITEM_VISIBLE
     33    at  MENUITEM.bType,             db  TYPE_MENUITEM_MULTICHOICE
     34    at  MENUITEM.itemValue + ITEM_VALUE.wRomvarsValueOffset,        dw  ROMVARS.wDisplayMode
     35    at  MENUITEM.itemValue + ITEM_VALUE.szDialogTitle,              dw  g_szDlgBootDispMode
     36    at  MENUITEM.itemValue + ITEM_VALUE.szMultichoice,              dw  g_szMultichoiceBootDispMode
     37    at  MENUITEM.itemValue + ITEM_VALUE.rgwChoiceToValueLookup,     dw  g_rgwChoiceToValueLookupForDisplayModes
     38    at  MENUITEM.itemValue + ITEM_VALUE.rgszValueToStringLookup,    dw  g_rgszValueToStringLookupForDisplayModes
     39iend
     40
     41g_MenuitemBootMnuStngsFloppyDrives:
     42istruc MENUITEM
     43    at  MENUITEM.fnActivate,        dw  Menuitem_ActivateMultichoiceSelectionForMenuitemInDSSI
     44    at  MENUITEM.fnFormatValue,     dw  MenuitemPrint_WriteLookupValueStringToBufferInESDIfromUnshiftedItemInDSSI
     45    at  MENUITEM.szName,            dw  g_szItemBootFloppyDrvs
     46    at  MENUITEM.szQuickInfo,       dw  g_szNfoBootFloppyDrvs
     47    at  MENUITEM.szHelp,            dw  g_szHelpBootFloppyDrvs
     48    at  MENUITEM.bFlags,            db  FLG_MENUITEM_VISIBLE | FLG_MENUITEM_BYTEVALUE
     49    at  MENUITEM.bType,             db  TYPE_MENUITEM_MULTICHOICE
     50    at  MENUITEM.itemValue + ITEM_VALUE.wRomvarsValueOffset,        dw  ROMVARS.bMinFddCnt
     51    at  MENUITEM.itemValue + ITEM_VALUE.szDialogTitle,              dw  g_szDlgBootFloppyDrvs
     52    at  MENUITEM.itemValue + ITEM_VALUE.szMultichoice,              dw  g_szMultichoiceBootFloppyDrvs
     53    at  MENUITEM.itemValue + ITEM_VALUE.rgwChoiceToValueLookup,     dw  NULL
     54    at  MENUITEM.itemValue + ITEM_VALUE.rgszValueToStringLookup,    dw  g_rgszValueToStringLookupForFloppyDrives
     55iend
     56
     57g_MenuitemBootMenuSerialScanDetect:     
     58istruc MENUITEM
     59    at  MENUITEM.fnActivate,        dw  Menuitem_ActivateMultichoiceSelectionForMenuitemInDSSI
     60    at  MENUITEM.fnFormatValue,     dw  MenuitemPrint_WriteLookupValueStringToBufferInESDIfromShiftedItemInDSSI
     61    at  MENUITEM.szName,            dw  g_szItemSerialDetect
     62    at  MENUITEM.szQuickInfo,       dw  g_szNfoSerialDetect
     63    at  MENUITEM.szHelp,            dw  g_szHelpSerialDetect
     64    at  MENUITEM.bFlags,            db  FLG_MENUITEM_VISIBLE | FLG_MENUITEM_FLAGVALUE
     65    at  MENUITEM.bType,             db  TYPE_MENUITEM_MULTICHOICE
     66    at  MENUITEM.itemValue + ITEM_VALUE.wRomvarsValueOffset,        dw  ROMVARS.wFlags
     67    at  MENUITEM.itemValue + ITEM_VALUE.szDialogTitle,              dw  g_szDlgSerialDetect
     68    at  MENUITEM.itemValue + ITEM_VALUE.szMultichoice,              dw  g_szMultichoiceBooleanFlag
     69    at  MENUITEM.itemValue + ITEM_VALUE.rgszValueToStringLookup,    dw  g_rgszValueToStringLookupForFlagBooleans
     70    at  MENUITEM.itemValue + ITEM_VALUE.wValueBitmask,              dw  FLG_ROMVARS_SERIAL_SCANDETECT
     71iend
     72
     73g_MenuitemBootMnuStngsEnableBootMenu:
     74istruc MENUITEM
     75    at  MENUITEM.fnActivate,        dw  Menuitem_ActivateMultichoiceSelectionForMenuitemInDSSI
     76    at  MENUITEM.fnFormatValue,     dw  MenuitemPrint_WriteLookupValueStringToBufferInESDIfromShiftedItemInDSSI
     77    at  MENUITEM.szName,            dw  g_szItemBootEnableMenu
     78    at  MENUITEM.szQuickInfo,       dw  g_szNfoBootEnableMenu
     79    at  MENUITEM.szHelp,            dw  g_szNfoBootEnableMenu
     80    at  MENUITEM.bFlags,            db  FLG_MENUITEM_VISIBLE | FLG_MENUITEM_MODIFY_MENU
     81    at  MENUITEM.bType,             db  TYPE_MENUITEM_MULTICHOICE
     82    at  MENUITEM.itemValue + ITEM_VALUE.wRomvarsValueOffset,        dw  ROMVARS.wfDisplayBootMenu
     83    at  MENUITEM.itemValue + ITEM_VALUE.szDialogTitle,              dw  g_szDlgBootEnableMenu
     84    at  MENUITEM.itemValue + ITEM_VALUE.szMultichoice,              dw  g_szMultichoiceBooleanFlag
     85    at  MENUITEM.itemValue + ITEM_VALUE.rgwChoiceToValueLookup,     dw  g_rgwChoiceToValueLookupForEnableBootMenu
     86    at  MENUITEM.itemValue + ITEM_VALUE.rgszValueToStringLookup,    dw  g_rgszValueToStringLookupForFlagBooleans
     87    at  MENUITEM.itemValue + ITEM_VALUE.fnValueReader,              dw  ValueReaderForEnableBootMenu
     88iend
     89
    2590g_MenuitemBootMnuStngsDefaultBootDrive:
    2691istruc MENUITEM
     
    3095    at  MENUITEM.szQuickInfo,       dw  g_szNfoBootDrive
    3196    at  MENUITEM.szHelp,            dw  g_szHelpBootDrive
    32     at  MENUITEM.bFlags,            db  FLG_MENUITEM_VISIBLE | FLG_MENUITEM_BYTEVALUE
     97    at  MENUITEM.bFlags,            db  FLG_MENUITEM_BYTEVALUE
    3398    at  MENUITEM.bType,             db  TYPE_MENUITEM_HEX
    3499    at  MENUITEM.itemValue + ITEM_VALUE.wRomvarsValueOffset,        dw  ROMVARS.bBootDrv
     
    38103iend
    39104
    40 g_MenuitemBootMnuStngsDisplayMode:
    41 istruc MENUITEM
    42     at  MENUITEM.fnActivate,        dw  Menuitem_ActivateMultichoiceSelectionForMenuitemInDSSI
    43     at  MENUITEM.fnFormatValue,     dw  MenuitemPrint_WriteLookupValueStringToBufferInESDIfromUnshiftedItemInDSSI
    44     at  MENUITEM.szName,            dw  g_szItemBootDispMode
    45     at  MENUITEM.szQuickInfo,       dw  g_szNfoDispMode
    46     at  MENUITEM.szHelp,            dw  g_szNfoDispMode
    47     at  MENUITEM.bFlags,            db  FLG_MENUITEM_VISIBLE
    48     at  MENUITEM.bType,             db  TYPE_MENUITEM_MULTICHOICE
    49     at  MENUITEM.itemValue + ITEM_VALUE.wRomvarsValueOffset,        dw  ROMVARS.wDisplayMode
    50     at  MENUITEM.itemValue + ITEM_VALUE.szDialogTitle,              dw  g_szDlgBootDispMode
    51     at  MENUITEM.itemValue + ITEM_VALUE.szMultichoice,              dw  g_szMultichoiceBootDispMode
    52     at  MENUITEM.itemValue + ITEM_VALUE.rgwChoiceToValueLookup,     dw  g_rgwChoiceToValueLookupForDisplayModes
    53     at  MENUITEM.itemValue + ITEM_VALUE.rgszValueToStringLookup,    dw  g_rgszValueToStringLookupForDisplayModes
    54 iend
    55 
    56 g_MenuitemBootMnuStngsFloppyDrives:
    57 istruc MENUITEM
    58     at  MENUITEM.fnActivate,        dw  Menuitem_ActivateMultichoiceSelectionForMenuitemInDSSI
    59     at  MENUITEM.fnFormatValue,     dw  MenuitemPrint_WriteLookupValueStringToBufferInESDIfromUnshiftedItemInDSSI
    60     at  MENUITEM.szName,            dw  g_szItemBootFloppyDrvs
    61     at  MENUITEM.szQuickInfo,       dw  g_szNfoBootFloppyDrvs
    62     at  MENUITEM.szHelp,            dw  g_szHelpBootFloppyDrvs
    63     at  MENUITEM.bFlags,            db  FLG_MENUITEM_VISIBLE | FLG_MENUITEM_BYTEVALUE
    64     at  MENUITEM.bType,             db  TYPE_MENUITEM_MULTICHOICE
    65     at  MENUITEM.itemValue + ITEM_VALUE.wRomvarsValueOffset,        dw  ROMVARS.bMinFddCnt
    66     at  MENUITEM.itemValue + ITEM_VALUE.szDialogTitle,              dw  g_szDlgBootFloppyDrvs
    67     at  MENUITEM.itemValue + ITEM_VALUE.szMultichoice,              dw  g_szMultichoiceBootFloppyDrvs
    68     at  MENUITEM.itemValue + ITEM_VALUE.rgwChoiceToValueLookup,     dw  NULL
    69     at  MENUITEM.itemValue + ITEM_VALUE.rgszValueToStringLookup,    dw  g_rgszValueToStringLookupForFloppyDrives
    70 iend
    71 
    72105g_MenuitemBootMnuStngsSelectionTimeout:
    73106istruc MENUITEM
     
    77110    at  MENUITEM.szQuickInfo,       dw  g_szNfoBootTimeout
    78111    at  MENUITEM.szHelp,            dw  g_szHelpBootTimeout
    79     at  MENUITEM.bFlags,            db  FLG_MENUITEM_VISIBLE
     112    at  MENUITEM.bFlags,            db  NULL
    80113    at  MENUITEM.bType,             db  TYPE_MENUITEM_UNSIGNED
    81114    at  MENUITEM.itemValue + ITEM_VALUE.wRomvarsValueOffset,        dw  ROMVARS.wBootTimeout
    82115    at  MENUITEM.itemValue + ITEM_VALUE.szDialogTitle,              dw  g_szDlgBootTimeout
    83     at  MENUITEM.itemValue + ITEM_VALUE.wMinValue,                  dw  0
     116    at  MENUITEM.itemValue + ITEM_VALUE.wMinValue,                  dw  2
    84117    at  MENUITEM.itemValue + ITEM_VALUE.wMaxValue,                  dw  1092
    85118iend
     
    92125    at  MENUITEM.szQuickInfo,       dw  g_szNfoBootSwap
    93126    at  MENUITEM.szHelp,            dw  g_szHelpBootSwap
    94     at  MENUITEM.bFlags,            db  FLG_MENUITEM_VISIBLE | FLG_MENUITEM_FLAGVALUE
     127    at  MENUITEM.bFlags,            db  FLG_MENUITEM_FLAGVALUE
    95128    at  MENUITEM.bType,             db  TYPE_MENUITEM_MULTICHOICE
    96129    at  MENUITEM.itemValue + ITEM_VALUE.wRomvarsValueOffset,        dw  ROMVARS.wFlags
     
    101134iend
    102135
    103 g_MenuitemBootMenuSerialScanDetect:     
    104 istruc MENUITEM
    105     at  MENUITEM.fnActivate,        dw  Menuitem_ActivateMultichoiceSelectionForMenuitemInDSSI
    106     at  MENUITEM.fnFormatValue,     dw  MenuitemPrint_WriteLookupValueStringToBufferInESDIfromShiftedItemInDSSI
    107     at  MENUITEM.szName,            dw  g_szItemSerialDetect
    108     at  MENUITEM.szQuickInfo,       dw  g_szNfoSerialDetect
    109     at  MENUITEM.szHelp,            dw  g_szHelpSerialDetect
    110     at  MENUITEM.bFlags,            db  FLG_MENUITEM_VISIBLE | FLG_MENUITEM_FLAGVALUE
    111     at  MENUITEM.bType,             db  TYPE_MENUITEM_MULTICHOICE
    112     at  MENUITEM.itemValue + ITEM_VALUE.wRomvarsValueOffset,        dw  ROMVARS.wFlags
    113     at  MENUITEM.itemValue + ITEM_VALUE.szDialogTitle,              dw  g_szDlgSerialDetect
    114     at  MENUITEM.itemValue + ITEM_VALUE.szMultichoice,              dw  g_szMultichoiceBooleanFlag
    115     at  MENUITEM.itemValue + ITEM_VALUE.rgszValueToStringLookup,    dw  g_rgszValueToStringLookupForFlagBooleans
    116     at  MENUITEM.itemValue + ITEM_VALUE.wValueBitmask,              dw  FLG_ROMVARS_SERIAL_SCANDETECT
    117 iend       
     136
     137g_rgwChoiceToValueLookupForEnableBootMenu:
     138    dw  FALSE
     139    dw  BOOT_MENU_DEFAULT_TIMEOUT
    118140
    119141g_rgwChoiceToValueLookupForDisplayModes:
     
    158180    push    cs
    159181    pop     ds
     182    call    EnableOrDisableBootMenuSettings
    160183    mov     si, g_MenupageForBootMenuSettingsMenu
    161184    jmp     Menupage_ChangeToNewMenupageInDSSI
     185
     186
     187;--------------------------------------------------------------------
     188; EnableOrDisableBootMenuSettings
     189;   Parameters:
     190;       SS:BP:  Menu handle
     191;   Returns:
     192;       Nothing
     193;   Corrupts registers:
     194;       AX, BX
     195;--------------------------------------------------------------------
     196ALIGN JUMP_ALIGN
     197EnableOrDisableBootMenuSettings:
     198    mov     bx, [cs:g_MenuitemBootMnuStngsEnableBootMenu+MENUITEM.itemValue+ITEM_VALUE.wRomvarsValueOffset]
     199    call    Buffers_GetRomvarsValueToAXfromOffsetInBX
     200    test    ax, ax
     201    mov     al, FLG_MENUITEM_VISIBLE
     202    jz      SHORT .DisableBootMenuSettings
     203
     204    ; Enable boot menu related
     205    or      [g_MenuitemBootMnuStngsDefaultBootDrive+MENUITEM.bFlags], al
     206    or      [g_MenuitemBootMnuStngsSelectionTimeout+MENUITEM.bFlags], al
     207    or      [g_MenuitemBootMnuStngsSwapBootDriveNumbers+MENUITEM.bFlags], al
     208    ret
     209
     210.DisableBootMenuSettings:
     211    not     ax
     212    and     [g_MenuitemBootMnuStngsDefaultBootDrive+MENUITEM.bFlags], al
     213    and     [g_MenuitemBootMnuStngsSelectionTimeout+MENUITEM.bFlags], al
     214    and     [g_MenuitemBootMnuStngsSwapBootDriveNumbers+MENUITEM.bFlags], al
     215    ret
     216
     217
     218;--------------------------------------------------------------------
     219; MENUITEM value reader functions
     220;   Parameters:
     221;       AX:     Value from MENUITEM.itemValue+ITEM_VALUE.wRomvarsValueOffset
     222;       DS:SI:  Ptr to MENUITEM
     223;       ES:DI:  Ptr to value variable
     224;   Returns:
     225;       AX:     Value with possible modifications
     226;   Corrupts registers:
     227;       Nothing
     228;--------------------------------------------------------------------
     229ALIGN JUMP_ALIGN
     230ValueReaderForEnableBootMenu:
     231    test    ax, ax
     232    jz      SHORT .NoNeedToModify
     233    mov     ax, TRUE<<1
     234.NoNeedToModify:
     235    ret
  • trunk/XTIDE_Universal_BIOS_Configurator_v2/Src/Strings.asm

    r286 r290  
    8282g_szItemCfgIde3:        db  "Tertiary IDE Controller",NULL
    8383g_szItemCfgIde4:        db  "Quaternary IDE Controller",NULL
    84 g_szItemCfgBootMenu:    db  "Boot menu settings",NULL
     84g_szItemCfgBootMenu:    db  "Boot settings",NULL
    8585g_szItemCfgFullMode:    db  "Full operating mode",NULL
    8686g_szItemCfgStealSize:   db  "kiB to steal from RAM",NULL
     
    9292
    9393g_szNfoCfgIde:          db  "IDE controller and drive configuration.",NULL
    94 g_szNfoCfgBootMenu:     db  "Boot menu configuration.",NULL
     94g_szNfoCfgBootMenu:     db  "Boot configuration.",NULL
    9595g_szNfoCfgFullMode:     db  "Full mode supports multiple controllers and has more features.",NULL
    9696g_szNfoCfgStealSize:    db  "How many kiB's to steal from Conventional memory for XTIDE Universal BIOS variables.",NULL
     
    266266
    267267
    268 ; Strings for boot menu settings menu
     268; Strings for boot settings menu
     269g_szItemBootEnableMenu: db  "Boot Menu",NULL
    269270g_szItemBootTimeout:    db  "Selection timeout",NULL
    270271g_szItemBootDrive:      db  "Default boot drive",NULL
     
    274275g_szItemSerialDetect:   db  "Scan for Serial Drives",NULL
    275276
    276 g_szDlgBootTimeout:     db  "Enter Boot Menu selection timeout in BIOS timer ticks (1...1092, 0 disables timeout).",NULL
     277g_szDlgBootEnableMenu:  db  "Enable Boot Menu?",NULL
     278g_szDlgBootTimeout:     db  "Enter Boot Menu selection timeout in BIOS timer ticks (2...1092).",NULL
    277279g_szDlgBootDrive:       db  "Enter default drive number (0xh for Floppy Drives, 8xh for Hard Disks, FFh for ROM boot).",NULL
    278280g_szDlgBootDispMode:    db  "Select display mode for Boot Menu.",NULL
     
    281283g_szDlgSerialDetect:    db  "Scan for serial drives?",NULL
    282284
    283 g_szNfoBootTimeout:     db  "Menu item selection timeout in BIOS timer ticks.",NULL
     285g_szNfoBootEnableMenu:  db  "Enable to display boot drive selection menu.",NULL
     286g_szNfoBootTimeout:     db  "Menu item selection timeout in BIOS timer ticks. 1 tick = 54.9 ms.",NULL
    284287g_szNfoBootDrive:       db  "Default drive on boot menu.",NULL
    285288g_szNfoDispMode:        db  "Display Mode for Boot Menu.",NULL
Note: See TracChangeset for help on using the changeset viewer.