| 1 |
|
|---|
| 2 | ; Disclaimer:
|
|---|
| 3 | ;=============
|
|---|
| 4 | ; The sourcecode is released via www.netlabs.org CVS *ONLY*.
|
|---|
| 5 | ; You MUST NOT upload it to other servers nor republish it in any way.
|
|---|
| 6 | ; The sourcecode is still COPYRIGHTED and NOT YET RELEASED UNDER GPL.
|
|---|
| 7 | ; It's (c) Copyright 1998-2002 by Martin Kiewitz.
|
|---|
| 8 | ; You may recompile the source and do *PRIVATE* modifications, but please keep
|
|---|
| 9 | ; in mind that modifying this code needs at least *some* assembly skill. If
|
|---|
| 10 | ; you mess up your system, because you needed to hack your way through, don't
|
|---|
| 11 | ; blame me. Releasing a customized version of AiR-BOOT, selling it in any form
|
|---|
| 12 | ; or reusing parts of this source is *PROHIBITED*. Ask me, if you have some
|
|---|
| 13 | ; idea about new functionality *before* developing the code, otherwise I will
|
|---|
| 14 | ; definitely reject it. Also please accept, that I have some basic design
|
|---|
| 15 | ; rules on AiR-BOOT and I will maintain them at all costs, so this won't get
|
|---|
| 16 | ; another GRUB.
|
|---|
| 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 |
|
|---|
| 57 | LocMENU_LenOfMenuPtrBlock equ 8
|
|---|
| 58 | LocMENU_LenOfItemPack equ 12
|
|---|
| 59 | LocMENU_RoutinePtr equ 0
|
|---|
| 60 | LocMENU_VariablePtr equ 2
|
|---|
| 61 | LocMENU_ItemNamePtr equ 4
|
|---|
| 62 | LocMENU_ItemHelpPtr equ 6
|
|---|
| 63 | LocMENU_ItemPack equ 8 ; only if VariablePtr>0
|
|---|
| 64 |
|
|---|
| 65 | SETUP_MainMenu:
|
|---|
| 66 | db 0 ; Where Current Item will get saved
|
|---|
| 67 | dw offset TXT_SETUPHELP_MAIN ; Pointer to help information
|
|---|
| 68 | ; The Menu-Items start here...
|
|---|
| 69 | dw offset SETUP_EnterMenu_PartitionSetup, 0
|
|---|
| 70 | dw offset TXT_SETUP_PartitionSetup, offset TXT_SETUPHELP_PartitionSetup
|
|---|
| 71 | dw 0, 0
|
|---|
| 72 | dw 0, 0
|
|---|
| 73 | dw offset SETUP_EnterMenu_BasicOptions, 0
|
|---|
| 74 | dw offset TXT_SETUP_BasicOptions, offset TXT_SETUPHELP_BasicOptions
|
|---|
| 75 | dw 0, 0
|
|---|
| 76 | dw 0, 0
|
|---|
| 77 | dw offset SETUP_EnterMenu_AdvancedOptions, 0
|
|---|
| 78 | dw offset TXT_SETUP_AdvOptions, offset TXT_SETUPHELP_AdvOptions
|
|---|
| 79 | dw 0, 0
|
|---|
| 80 | dw 0, 0
|
|---|
| 81 | dw offset SETUP_EnterMenu_ExtendedOptions, 0
|
|---|
| 82 | dw offset TXT_SETUP_ExtOptions, offset TXT_SETUPHELP_ExtOptions
|
|---|
| 83 | ; The Menu-Items of the right side start here...
|
|---|
| 84 | dw offset SETUP_EnterMenu_DefineMasterPassword, 0
|
|---|
| 85 | dw offset TXT_SETUP_DefMasterPwd, offset TXT_SETUPHELP_DefMasterPwd
|
|---|
| 86 | dw 0, 0
|
|---|
| 87 | dw 0, 0
|
|---|
| 88 | dw offset SETUP_EnterMenu_DefineBootPassword, 0
|
|---|
| 89 | dw offset TXT_SETUP_DefBootPwd, offset TXT_SETUPHELP_DefBootPwd
|
|---|
| 90 | dw 0, 0
|
|---|
| 91 | dw 0, 0
|
|---|
| 92 | dw offset SETUP_EnterMenu_SaveAndExitSetup, 0
|
|---|
| 93 | dw offset TXT_SETUP_SaveAndExit, offset TXT_SETUPHELP_SaveAndExit
|
|---|
| 94 | dw 0, 0
|
|---|
| 95 | dw 0, 0
|
|---|
| 96 | dw offset SETUP_EnterMenu_ExitWithoutSaving, 0
|
|---|
| 97 | dw offset TXT_SETUP_JustExit, offset TXT_SETUPHELP_JustExit
|
|---|
| 98 |
|
|---|
| 99 | SETUP_BasicOptions:
|
|---|
| 100 | db 0 ; Where Current Item will get saved
|
|---|
| 101 | dw offset TXT_SETUPHELP_SUBMENU ; Pointer to help info
|
|---|
| 102 | ; The Menu-Items start here...
|
|---|
| 103 | dw offset SETUPMAGIC_ChangePartition, offset CFG_PartDefault
|
|---|
| 104 | dw offset TXT_SETUP_DefaultPart, offset TXT_SETUPHELP_DefaultPart
|
|---|
| 105 | dw 6 dup (0)
|
|---|
| 106 | dw offset SETUPMAGIC_EnableDisable, offset CFG_TimedBoot
|
|---|
| 107 | dw offset TXT_SETUP_TimedBoot, offset TXT_SETUPHELP_TimedBoot
|
|---|
| 108 | dw 6 dup (0)
|
|---|
| 109 | dw offset SETUPMAGIC_ChangeBootDelay, offset CFG_TimedSecs
|
|---|
| 110 | dw offset TXT_SETUP_TimedBootDelay, offset TXT_SETUPHELP_TimedBootDelay
|
|---|
| 111 | dw 6 dup (0)
|
|---|
| 112 | dw offset SETUPMAGIC_ChangeTimedKeyHandling, offset CFG_TimedKeyHandling
|
|---|
| 113 | dw offset TXT_SETUP_TimedKeyHandling, offset TXT_SETUPHELP_TimedKeyHandling
|
|---|
| 114 | dw 6 dup (0)
|
|---|
| 115 | dw offset SETUPMAGIC_EnableDisable, offset CFG_TimedBootLast
|
|---|
| 116 | dw offset TXT_SETUP_BootLastIfTimed, offset TXT_SETUPHELP_BootLastIfTimed
|
|---|
| 117 | dw 6 dup (0)
|
|---|
| 118 | dw offset SETUPMAGIC_EnableDisable, offset CFG_RememberBoot
|
|---|
| 119 | dw offset TXT_SETUP_RememberLastBoot, offset TXT_SETUPHELP_RememberLastBoot
|
|---|
| 120 | dw 6 dup (0)
|
|---|
| 121 | dw offset SETUPMAGIC_EnableDisable, offset CFG_RememberTimed
|
|---|
| 122 | dw offset TXT_SETUP_RememberTimedBoot, offset TXT_SETUPHELP_RememberTimeBoot
|
|---|
| 123 | dw 6 dup (0)
|
|---|
| 124 | ; The Menu-Items of the right side start here...
|
|---|
| 125 | dw offset SETUPMAGIC_EnableDisable, offset CFG_IncludeFloppy
|
|---|
| 126 | dw offset TXT_SETUP_IncludeFloppy, offset TXT_SETUPHELP_IncludeFloppy
|
|---|
| 127 | dw 6 dup (0)
|
|---|
| 128 | dw 0, 0
|
|---|
| 129 | dw 0, 0
|
|---|
| 130 | dw offset SETUPMAGIC_EnableDisable, offset CFG_ProtectMBR
|
|---|
| 131 | dw offset TXT_SETUP_MBRprotection, offset TXT_SETUPHELP_MBRprotection
|
|---|
| 132 | dw 6 dup (0)
|
|---|
| 133 | dw offset SETUPMAGIC_EnableDisable, offset CFG_IgnoreWriteToMBR
|
|---|
| 134 | dw offset TXT_SETUP_IgnoreMBRwrites, offset TXT_SETUPHELP_IGNOREMBRWRITES
|
|---|
| 135 | dw 6 dup (0)
|
|---|
| 136 | dw 0, 0
|
|---|
| 137 | dw 0, 0
|
|---|
| 138 | dw offset SETUPMAGIC_EnableDisable, offset CFG_MakeSound
|
|---|
| 139 | dw offset TXT_SETUP_MakeSounds, offset TXT_SETUPHELP_MakeSounds
|
|---|
| 140 | dw 6 dup (0)
|
|---|
| 141 | dw offset SETUPMAGIC_EnableDisable, offset CFG_CooperBars
|
|---|
| 142 | dw offset TXT_SETUP_CooperBars, offset TXT_SETUPHELP_CooperBars
|
|---|
| 143 | dw 6 dup (0)
|
|---|
| 144 |
|
|---|
| 145 | SETUP_AdvancedOptions:
|
|---|
| 146 | db 0 ; Where Current Item will get saved
|
|---|
| 147 | dw offset TXT_SETUPHELP_SUBMENU ; Pointer to help info
|
|---|
| 148 | ; The Menu-Items start here...
|
|---|
| 149 | dw offset SETUPMAGIC_ChangeBootMenu, offset CFG_BootMenuActive
|
|---|
| 150 | dw offset TXT_SETUP_BootMenu, offset TXT_SETUPHELP_BootMenu
|
|---|
| 151 | dw 6 dup (0)
|
|---|
| 152 | dw offset SETUPMAGIC_EnableDisable, offset CFG_PartitionsDetect
|
|---|
| 153 | dw offset TXT_SETUP_PartAutoDetect, offset TXT_SETUPHELP_PartAutoDetect
|
|---|
| 154 | dw 6 dup (0)
|
|---|
| 155 | dw 0, 0
|
|---|
| 156 | dw 0, 0
|
|---|
| 157 | ; Separator Line
|
|---|
| 158 | dw 0, 0
|
|---|
| 159 | dw offset TXT_SETUP_SECURITYOPTIONS, 0
|
|---|
| 160 | dw offset SETUPMAGIC_EnableDisable, offset CFG_PasswordSetup
|
|---|
| 161 | dw offset TXT_SETUP_PasswordedSetup, offset TXT_SETUPHELP_PasswordedSetup
|
|---|
| 162 | dw 6 dup (0)
|
|---|
| 163 | dw offset SETUPMAGIC_EnableDisable, offset CFG_PasswordSystem
|
|---|
| 164 | dw offset TXT_SETUP_PasswordedSystem, offset TXT_SETUPHELP_PasswordedSystem
|
|---|
| 165 | dw 6 dup (0)
|
|---|
| 166 | dw offset SETUPMAGIC_EnableDisable, offset CFG_PasswordChangeBoot
|
|---|
| 167 | dw offset TXT_SETUP_PasswordedChangeBoot, offset TXT_SETUPHELP_PasswordedBoot
|
|---|
| 168 | dw 6 dup (0)
|
|---|
| 169 | ; The Menu-Items of the right side start here...
|
|---|
| 170 | dw offset SETUPMAGIC_EnableDisable, offset CFG_FloppyBootGetName
|
|---|
| 171 | dw offset TXT_SETUP_GetFloppyName, offset TXT_SETUPHELP_GetFloppyName
|
|---|
| 172 | dw 6 dup (0)
|
|---|
| 173 | dw offset SETUPMAGIC_EnableDisable, offset CFG_FloppyBootGetTimer
|
|---|
| 174 | dw offset TXT_SETUP_GetFloppyName2Sec, offset TXT_SETUPHELP_GetFloppyName2Sec
|
|---|
| 175 | dw 6 dup (0)
|
|---|
| 176 | dw offset SETUPMAGIC_EnableDisable, offset CFG_DetectVirus
|
|---|
| 177 | dw offset TXT_SETUP_VirusDetect, offset TXT_SETUPHELP_VirusDetect
|
|---|
| 178 | dw 6 dup (0)
|
|---|
| 179 | dw offset SETUPMAGIC_EnableDisable, offset CFG_DetectStealth
|
|---|
| 180 | dw offset TXT_SETUP_StealthDetect, offset TXT_SETUPHELP_StealthDetect
|
|---|
| 181 | dw 6 dup (0)
|
|---|
| 182 | dw offset SETUPMAGIC_EnableDisable, offset CFG_DetectVIBR
|
|---|
| 183 | dw offset TXT_SETUP_VIBRdetect, offset TXT_SETUPHELP_VIBRdetect
|
|---|
| 184 | dw 6 dup (0)
|
|---|
| 185 | dw 0, 0
|
|---|
| 186 | dw 0, 0
|
|---|
| 187 | dw offset SETUPMAGIC_ChangeBIOSbootSeq, offset CFG_ResumeBIOSbootSeq
|
|---|
| 188 | dw offset TXT_SETUP_ContinueBIOSboot, offset TXT_SETUPHELP_ContinueBIOSboot
|
|---|
| 189 | dw 6 dup (0)
|
|---|
| 190 |
|
|---|
| 191 |
|
|---|
| 192 | SETUP_ExtendedBootOptions:
|
|---|
| 193 | db 0 ; Where Current Item will get saved
|
|---|
| 194 | dw offset TXT_SETUPHELP_SUBMENU ; Pointer to help information
|
|---|
| 195 | ; The Menu-Items start here...
|
|---|
| 196 | dw offset SETUPMAGIC_ChangeLinuxKernelPart, offset CFG_LinuxKrnlPartition
|
|---|
| 197 | dw offset TXT_SETUP_LinuxKernelPart, offset TXT_SETUPHELP_LinuxKernelPart
|
|---|
| 198 | dw 6 dup (0)
|
|---|
| 199 | dw offset SETUPMAGIC_ChangeLinuxDefaultKernel, offset CFG_LinuxDefaultKernel
|
|---|
| 200 | dw offset TXT_SETUP_LinuxDefaultKernel, offset TXT_SETUPHELP_LinuxDefaultKrnl
|
|---|
| 201 | dw 6 dup (0)
|
|---|
| 202 | dw offset SETUPMAGIC_ChangeLinuxRootPart, offset CFG_LinuxRootPartition
|
|---|
| 203 | dw offset TXT_SETUP_LinuxRootPart, offset TXT_SETUPHELP_LinuxRootPart
|
|---|
| 204 | dw 6 dup (0)
|
|---|
| 205 | dw 0, 0
|
|---|
| 206 | dw 0, 0
|
|---|
| 207 | dw 0, 0
|
|---|
| 208 | dw 0, 0
|
|---|
| 209 | dw 0, 0
|
|---|
| 210 | dw 0, 0
|
|---|
| 211 | dw offset SETUPMAGIC_EnableDisable, offset CFG_ExtPartitionMShack
|
|---|
| 212 | dw offset TXT_SETUP_ExtPartMShack, offset TXT_SETUPHELP_ExtPartMShack
|
|---|
| 213 | dw 6 dup (0)
|
|---|
| 214 | ; The Menu-Items of the right side start here...
|
|---|
| 215 | dw 0, 0
|
|---|
| 216 | dw 0, 0
|
|---|
| 217 | dw offset SETUP_EnterMenu_LinuxCommandLine, 0
|
|---|
| 218 | dw offset TXT_SETUP_DefLinuxCmd, offset TXT_SETUPHELP_DefLinuxCmd
|
|---|
| 219 | dw 0, 0
|
|---|
| 220 | dw 0, 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
|
|---|