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

Last change on this file since 227 was 199, checked in by gregli@…, 13 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.