source: xtideuniversalbios/trunk/XTIDE_Universal_BIOS_Configurator_v2/Inc/MenuStructs.inc @ 199

Last change on this file since 199 was 199, checked in by gregli@…, 12 years ago

Adding proper serial port support to the Configurator, which required some minor changes elsewhere. Also added an option, off by default, to automatically scan for serial drives at the end of normal drive detection (no ALT key required, although that is still available if the option is off).

File size: 2.4 KB
Line 
1; Project name  :   XTIDE Universal BIOS Configurator v2
2; Description   :   Menu page and item structs.
3%ifndef MENU_STRUCTS_INC
4%define MENU_STRUCTS_INC
5
6struc MENUPAGE
7    .fnEnter            resb    2   ; Function to initialize MENUPAGE
8    .fnBack             resb    2   ; Function to initialize previous MENUPAGE
9    .wMenuitems         resb    2   ; Number of MENUITEM structs
10    .rgMenuitem:                    ; All MENUITEM structs in this MENUPAGE
11endstruc
12
13struc MENUITEM
14    .fnActivate         resb    2   ; Offset to item activation function
15    .fnFormatValue      resb    2   ; Offset to item value formatting function
16
17    .szName             resb    2   ; Offset to item name string
18    .szQuickInfo        resb    2   ; Offset to item quick information string
19    .szHelp             resb    2   ; Offset to item help string
20
21    .bFlags             resb    1   ; Item flags
22    .bType              resb    1   ; Item type
23    .itemValue          resb    ITEM_VALUE_size     ; ITEM_VALUE for automated item handling
24endstruc
25
26; Bit defines for MENUITEM.bFlags
27FLG_MENUITEM_VISIBLE        EQU (1<<0)  ; Item is visible
28FLG_MENUITEM_MODIFY_MENU    EQU (1<<1)  ; Item modifies visibility of other items
29FLG_MENUITEM_FLAGVALUE      EQU (1<<2)  ; Item value is single bit
30FLG_MENUITEM_BYTEVALUE      EQU (1<<3)  ; Item value is single byte
31FLG_MENUITEM_PROGRAMVAR     EQU (1<<4)  ; Item is for configuring program, not BIOS
32
33; Values for MENUITEM.bType
34TYPE_MENUITEM_PAGEBACK      EQU (0<<1)  ; Item returns to previous MENUPAGE
35TYPE_MENUITEM_PAGENEXT      EQU (1<<1)  ; Item changes to next MENUPAGE
36TYPE_MENUITEM_ACTION        EQU (2<<1)  ; Non-configurable item
37TYPE_MENUITEM_MULTICHOICE   EQU (3<<1)  ; Item with multiple predefined choices
38TYPE_MENUITEM_UNSIGNED      EQU (4<<1)  ; Menuitem with user inputted unsigned decimal value
39TYPE_MENUITEM_HEX           EQU (5<<1)  ; Menuitem with user inputted hexadecimal value
40
41
42struc ITEM_VALUE
43    .wRomvarsValueOffset    resb    2   ; ROMVARS offset to actual value to be configured
44    .szDialogTitle          resb    2   ; Dialog title string
45
46    .szMultichoice          resb    2   ; Multiple choices in one string
47    .rgwChoiceToValueLookup resb    2   ; Ptr to lookup table for translating selected choice to actual value
48    .rgszValueToStringLookup:           ; Ptr to lookup table for translating value to string
49    .wMinValue              resb    2   ; Minimum allowed integer value
50    .wMaxValue:
51    .wValueBitmask          resb    2   ; Bitmask for item value flag
52    .fnValueReader          resb    2   ; Called just after ROMVARS is read, providing a hook for further action
53    .fnValueWriter          resb    2   ; Called just before ROMVARS is written, providing a hook for further action
54endstruc
55
56
57%endif ; MENU_STRUCTS_INC
Note: See TracBrowser for help on using the repository browser.