source: trunk/BOOTCODE/SETUP/MENUS.ASM@ 43

Last change on this file since 43 was 40, checked in by Ben Rietbroek, 12 years ago

Converting to JWasm -- phase 3 (not working) [2012-02-16]

WARNING!!

All commits upto and including the commit of [2012-05-13] contain
a severe bug!! Building from these sources and then disabling
the 'force LBA' feature while also using the drive-letter feature or
editing the label can DESTROY THE MBR on ALL ATTACHED DISKS!!
DO NOT DISABLE 'FORCE LBA USAGE' WHEN BUILT FROM THE THESE COMMITS!!

Problems

o Problem with location of BSS
o Problem with segments

Info

o Adjusted DISCLAIM.TXT

File size: 13.0 KB
Line 
1; AiR-BOOT (c) Copyright 1998-2008 M. Kiewitz
2;
3; This file is part of AiR-BOOT
4;
5; AiR-BOOT is free software: you can redistribute it and/or modify it under
6; the terms of the GNU General Public License as published by the Free
7; Software Foundation, either version 3 of the License, or (at your option)
8; any later version.
9;
10; AiR-BOOT is distributed in the hope that it will be useful, but WITHOUT ANY
11; WARRANTY: without even the implied warranty of MERCHANTABILITY or FITNESS
12; FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
13; details.
14;
15; You should have received a copy of the GNU General Public License along with
16; AiR-BOOT. If not, see <http://www.gnu.org/licenses/>.
17;
18;---------------------------------------------------------------------------
19; AiR-BOOT SETUP / MENU STRUCTURE
20;---------------------------------------------------------------------------
21
22; Format of a Menu Item:
23; =======================
24; RoutinePtr :WORD - Points to Modification/Exec-Routine
25; if 0, item is empty and will get skiped
26; VariablePtr :WORD - Points to actual Item-Data
27; if 0, no ItemPack. Is used for e.g.
28; main menu items and will exec only
29; ItemNamePtr :WORD - Points to Item-Name
30; ItemHelpPtr :WORD - Points to Item-Help Text
31; If VariablePtr>0:
32; ItemPack :BYTE*12 - Spaceholder for displaying
33;
34;
35; Example:
36; dw offset MBRS_Magic_ChangePartition, offset CFG_PartDefault
37; dw offset TXT_SETUP_DefaultPart, offset TXT_SETUPHELP_DefaultPart
38; dw 6 dup (0)
39;
40; Will be a normal item-entry (not a menu-entry).
41; If modified MBRS_Magic_ChangePartition will get called and CFG_PartDefault
42; will get modified according to the users key press.
43; The name of the item will be taken from TXT_SETUP_DefaultPart and if help is
44; requested TXT_SETUPHELP_DefaultPart will get shown.
45;
46;
47; Further Example:
48; dw offset MBRS_Routines_EnterMenu_PartitionSetup, 0
49; dw offset TXT_SETUP_PartitionSetup, offset TXT_SETUPHELP_PartitionSetup
50;
51; Will be a menu-entry (due VariablePtr==0)
52; If enter is pressed MBRS_Routines_EnterMenu_PartitionSetup will get called
53; The name of the menu-entry will be taken from TXT_SETUP_PartitionSetup and
54; if help is requested TXT_SETUPHELP_PartitionSetup will get shown.
55;
56
57IFDEF ModuleNames
58DB 'MENUS',0
59ENDIF
60
61LocMENU_LenOfMenuPtrBlock equ 8
62LocMENU_LenOfItemPack equ 12
63LocMENU_RoutinePtr equ 0
64LocMENU_VariablePtr equ 2
65LocMENU_ItemNamePtr equ 4
66LocMENU_ItemHelpPtr equ 6
67LocMENU_ItemPack equ 8 ; only if VariablePtr>0
68
69SETUP_MainMenu:
70 db 0 ; Where Current Item will get saved
71 dw offset TXT_SETUPHELP_Main ; Pointer to help information
72 ; The Menu-Items start here...
73 dw offset SETUP_EnterMenu_PartitionSetup, 0
74 dw offset TXT_SETUP_PartitionSetup, offset TXT_SETUPHELP_PartitionSetup
75 dw 0, 0
76 dw 0, 0
77 dw offset SETUP_EnterMenu_BasicOptions, 0
78 dw offset TXT_SETUP_BasicOptions, offset TXT_SETUPHELP_BasicOptions
79 dw 0, 0
80 dw 0, 0
81 dw offset SETUP_EnterMenu_AdvancedOptions, 0
82 dw offset TXT_SETUP_AdvOptions, offset TXT_SETUPHELP_AdvOptions
83 dw 0, 0
84 dw 0, 0
85 dw offset SETUP_EnterMenu_ExtendedOptions, 0
86 dw offset TXT_SETUP_ExtOptions, offset TXT_SETUPHELP_ExtOptions
87 ; The Menu-Items of the right side start here...
88 dw offset SETUP_EnterMenu_DefineMasterPassword, 0
89 dw offset TXT_SETUP_DefMasterPwd, offset TXT_SETUPHELP_DefMasterPwd
90 dw 0, 0
91 dw 0, 0
92 dw offset SETUP_EnterMenu_DefineBootPassword, 0
93 dw offset TXT_SETUP_DefBootPwd, offset TXT_SETUPHELP_DefBootPwd
94 dw 0, 0
95 dw 0, 0
96 dw offset SETUP_EnterMenu_SaveAndExitSetup, 0
97 dw offset TXT_SETUP_SaveAndExit, offset TXT_SETUPHELP_SaveAndExit
98 dw 0, 0
99 dw 0, 0
100 dw offset SETUP_EnterMenu_ExitWithoutSaving, 0
101 dw offset TXT_SETUP_JustExit, offset TXT_SETUPHELP_JustExit
102
103SETUP_BasicOptions:
104 db 0 ; Where Current Item will get saved
105 dw offset TXT_SETUPHELP_SubMenu ; Pointer to help info
106 ; The Menu-Items start here...
107 dw offset SETUPMAGIC_ChangeDefaultSelection, offset CFG_PartDefault
108 dw offset TXT_SETUP_DefaultSelection, offset TXT_SETUPHELP_DefaultSelection
109 dw 6 dup (0)
110 ; ATTENTION: ChangeDefaultSelection is redrawn hardcoded in
111 ; SETUPMAGIC_ChangeFloppyDisplay.
112 dw offset SETUPMAGIC_EnableDisable, offset CFG_TimedBoot
113 dw offset TXT_SETUP_TimedBoot, offset TXT_SETUPHELP_TimedBoot
114 dw 6 dup (0)
115 dw offset SETUPMAGIC_ChangeBootDelay, offset CFG_TimedSecs
116 dw offset TXT_SETUP_TimedBootDelay, offset TXT_SETUPHELP_TimedBootDelay
117 dw 6 dup (0)
118 dw offset SETUPMAGIC_ChangeTimedKeyHandling, offset CFG_TimedKeyHandling
119 dw offset TXT_SETUP_TimedKeyHandling, offset TXT_SETUPHELP_TimedKeyHandling
120 dw 6 dup (0)
121 dw offset SETUPMAGIC_EnableDisable, offset CFG_TimedBootLast
122 dw offset TXT_SETUP_BootLastIfTimed, offset TXT_SETUPHELP_BootLastIfTimed
123 dw 6 dup (0)
124 dw offset SETUPMAGIC_EnableDisable, offset CFG_RememberBoot
125 dw offset TXT_SETUP_RememberLastBoot, offset TXT_SETUPHELP_RememberLastBoot
126 dw 6 dup (0)
127 dw offset SETUPMAGIC_EnableDisable, offset CFG_RememberTimed
128 dw offset TXT_SETUP_RememberTimedBoot, offset TXT_SETUPHELP_RememberTimeBoot
129 dw 6 dup (0)
130 ; The Menu-Items of the right side start here...
131 dw offset SETUPMAGIC_ChangeFloppyDisplay, offset CFG_IncludeFloppy
132 dw offset TXT_SETUP_IncludeFloppy, offset TXT_SETUPHELP_IncludeFloppy
133 dw 6 dup (0)
134 dw 0, 0
135 dw 0, 0
136 dw offset SETUPMAGIC_EnableDisable, offset CFG_ProtectMBR
137 dw offset TXT_SETUP_MbrProtection, offset TXT_SETUPHELP_MbrProtection
138 dw 6 dup (0)
139 dw offset SETUPMAGIC_EnableDisable, offset CFG_IgnoreWriteToMBR
140 dw offset TXT_SETUP_IgnoreMbrWrites, offset TXT_SETUPHELP_IgnoreMbrWrites
141 dw 6 dup (0)
142 dw 0, 0
143 dw 0, 0
144 dw offset SETUPMAGIC_EnableDisable, offset CFG_MakeSound
145 dw offset TXT_SETUP_MakeSounds, offset TXT_SETUPHELP_MakeSounds
146 dw 6 dup (0)
147 dw offset SETUPMAGIC_EnableDisable, offset CFG_CooperBars
148 dw offset TXT_SETUP_CooperBars, offset TXT_SETUPHELP_CooperBars
149 dw 6 dup (0)
150
151SETUP_AdvancedOptions:
152 db 0 ; Where Current Item will get saved
153 dw offset TXT_SETUPHELP_SubMenu ; Pointer to help info
154 ; The Menu-Items start here...
155 dw offset SETUPMAGIC_ChangeBootMenu, offset CFG_BootMenuActive
156 dw offset TXT_SETUP_BootMenu, offset TXT_SETUPHELP_BootMenu
157 dw 6 dup (0)
158 dw offset SETUPMAGIC_EnableDisable, offset CFG_PartitionsDetect
159 dw offset TXT_SETUP_PartAutoDetect, offset TXT_SETUPHELP_PartAutoDetect
160 dw 6 dup (0)
161 dw 0, 0
162 dw 0, 0
163 ; Separator Line
164 dw 0, 0
165 dw offset TXT_SETUP_SecurityOptions, 0
166 dw offset SETUPMAGIC_EnableDisable, offset CFG_PasswordSetup
167 dw offset TXT_SETUP_PasswordedSetup, offset TXT_SETUPHELP_PasswordedSetup
168 dw 6 dup (0)
169 dw offset SETUPMAGIC_EnableDisable, offset CFG_PasswordSystem
170 dw offset TXT_SETUP_PasswordedSystem, offset TXT_SETUPHELP_PasswordedSystem
171 dw 6 dup (0)
172 dw offset SETUPMAGIC_EnableDisable, offset CFG_PasswordChangeBoot
173 dw offset TXT_SETUP_PasswordedChangeBoot, offset TXT_SETUPHELP_PasswordedBoot
174 dw 6 dup (0)
175 ; The Menu-Items of the right side start here...
176 dw offset SETUPMAGIC_EnableDisable, offset CFG_FloppyBootGetName
177 dw offset TXT_SETUP_GetFloppyName, offset TXT_SETUPHELP_GetFloppyName
178 dw 6 dup (0)
179 dw offset SETUPMAGIC_EnableDisable, offset CFG_FloppyBootGetTimer
180 dw offset TXT_SETUP_GetFloppyName2Sec, offset TXT_SETUPHELP_GetFloppyName2Sec
181 dw 6 dup (0)
182 dw offset SETUPMAGIC_EnableDisable, offset CFG_DetectVirus
183 dw offset TXT_SETUP_VirusDetect, offset TXT_SETUPHELP_VirusDetect
184 dw 6 dup (0)
185 dw offset SETUPMAGIC_EnableDisable, offset CFG_DetectStealth
186 dw offset TXT_SETUP_StealthDetect, offset TXT_SETUPHELP_StealthDetect
187 dw 6 dup (0)
188 dw offset SETUPMAGIC_EnableDisable, offset CFG_DetectVIBR
189 dw offset TXT_SETUP_VIBRdetect, offset TXT_SETUPHELP_VIBRdetect
190 dw 6 dup (0)
191 dw 0, 0
192 dw 0, 0
193 dw offset SETUPMAGIC_ChangeBIOSbootSeq, offset CFG_ResumeBIOSbootSeq
194 dw offset TXT_SETUP_ContinueBIOSboot, offset TXT_SETUPHELP_ContinueBIOSboot
195 dw 6 dup (0)
196
197
198SETUP_ExtendedBootOptions:
199 db 0 ; Where Current Item will get saved
200 dw offset TXT_SETUPHELP_SubMenu ; Pointer to help information
201 ; The Menu-Items start here...
202; [Linux support removed since v1.02]
203; dw offset SETUPMAGIC_ChangeLinuxKernelPart, offset CFG_LinuxKrnlPartition
204; dw offset TXT_SETUP_LinuxKernelPart, offset TXT_SETUPHELP_LinuxKernelPart
205; dw 6 dup (0)
206; dw offset SETUPMAGIC_ChangeLinuxDefaultKernel, offset CFG_LinuxDefaultKernel
207; dw offset TXT_SETUP_LinuxDefaultKernel, offset TXT_SETUPHELP_LinuxDefaultKrnl
208; dw 6 dup (0)
209; dw offset SETUPMAGIC_ChangeLinuxRootPart, offset CFG_LinuxRootPartition
210; dw offset TXT_SETUP_LinuxRootPart, offset TXT_SETUPHELP_LinuxRootPart
211; dw 6 dup (0)
212 dw offset SETUPMAGIC_EnableDisable, offset CFG_IgnoreLVM
213 dw offset TXT_SETUP_IgnoreLVM, offset TXT_SETUPHELP_IgnoreLVM
214 dw 6 dup (0)
215 dw offset SETUPMAGIC_EnableDisable, offset CFG_ForceLBAUsage ; Rousseau: LBA
216 dw offset TXT_SETUP_ForceLBAUsage, offset TXT_SETUPHELP_ForceLBAUsage
217 dw 6 dup (0)
218 dw offset SETUPMAGIC_EnableDisable, offset CFG_ExtPartitionMShack
219 dw offset TXT_SETUP_ExtPartMShack, offset TXT_SETUPHELP_ExtPartMShack
220 dw 6 dup (0)
221 dw 0, 0
222 dw 0, 0
223 dw 0, 0
224 dw 0, 0
225 dw 0, 0
226 dw 0, 0
227 dw 0, 0
228 dw 0, 0
229 ; The Menu-Items of the right side start here...
230 dw 0, 0
231 dw 0, 0
232; [Linux support removed since v1.02]
233 dw 0, 0
234 dw 0, 0
235; dw offset SETUP_EnterMenu_LinuxCommandLine, 0
236; dw offset TXT_SETUP_DefLinuxCmd, offset TXT_SETUPHELP_DefLinuxCmd
237 dw 0, 0
238 dw 0, 0
239 dw 0, 0
240 dw 0, 0
241 dw 0, 0
242 dw 0, 0
243 dw 0, 0
244 dw 0, 0
245 dw 0, 0
246 dw 0, 0
Note: See TracBrowser for help on using the repository browser.