1 | ; File name : Strings.asm
|
---|
2 | ; Project name : XTIDE Univeral BIOS Configurator
|
---|
3 | ; Created date : 16.4.2010
|
---|
4 | ; Last update : 2.5.2010
|
---|
5 | ; Author : Tomi Tilli
|
---|
6 | ; Description : Strings used in this program.
|
---|
7 |
|
---|
8 | ; Section containing initialized data
|
---|
9 | SECTION .data
|
---|
10 |
|
---|
11 | ; General strings
|
---|
12 | g_szSignature: db "XTIDE110",STOP ; XTIDE Universal BIOS signature string
|
---|
13 | g_szCommonInfo: db "F1 displays item help. F2 toggles info. UP, DOWN, ENTER and ESC navigates. ENTER changes settings.",STOP
|
---|
14 | g_szPreviousMenu: db "Back to previous menu",STOP
|
---|
15 | g_szFileSearch: db "*.bin",STOP
|
---|
16 | g_szErrFileSize: db "File size is too large! Maximum supported size is 16384 bytes.",STOP
|
---|
17 | g_szDlgSaveChanges: db "Do you want to save changes to BIOS image file?",STOP
|
---|
18 |
|
---|
19 |
|
---|
20 | ; Flashing strings
|
---|
21 | g_szFlashProgress: db "Writing EEPROM: %u / %u B.",STOP
|
---|
22 | g_szFlashTimeout: db "Timeout error when polling EEPROM!",STOP
|
---|
23 | g_szFlashVerifyErr: db "Data verification failed!",STOP
|
---|
24 | g_szFlashDoneReboot: db "EEPROM written succesfully. Press any key to reboot.",STOP
|
---|
25 | g_szFlashDoneContinue: db "EEPROM written succesfully.",STOP
|
---|
26 |
|
---|
27 |
|
---|
28 | ; Strings for menu title
|
---|
29 | g_szTitleProgramName: db "Configuration and flashing program for XTIDE Universal BIOS v1.1.0",STOP
|
---|
30 | g_szNoBiosLoaded: db "No BIOS loaded.",STOP
|
---|
31 | g_szImageSource: db "Source image: ",STOP
|
---|
32 | g_szRomLoaded: db "ROM",STOP
|
---|
33 |
|
---|
34 |
|
---|
35 | ; Strings for main menu
|
---|
36 | g_szItemMainExitToDOS: db "Exit to DOS",STOP
|
---|
37 | g_szItemMainLoadFile: db "Load BIOS from file",STOP
|
---|
38 | g_szItemMainLoadROM: db "Load BIOS from EEPROM",STOP
|
---|
39 | g_szItemMainLoadStngs: db "Load old settings from EEPROM",STOP
|
---|
40 | g_szItemMainFlash: db "Flash EEPROM",STOP
|
---|
41 | g_szItemMainConfigure: db "Configure XTIDE Universal BIOS",STOP
|
---|
42 |
|
---|
43 | g_szDlgMainLoadROM: db "Successfully loaded XTIDE Universal BIOS from EEPROM.",STOP
|
---|
44 | g_szDlgMainLoadStngs: db "Successfully loaded settings from EEPROM.",STOP
|
---|
45 |
|
---|
46 | g_szNfoMainExitToDOS: db "Quits XTIDE Univeral BIOS Configurator.",STOP
|
---|
47 | g_szNfoMainLoadFile: db "Load BIOS file to be configured or flashed.",STOP
|
---|
48 | g_szNfoMainLoadROM: db "Load BIOS from EEPROM to be reconfigured.",STOP
|
---|
49 | g_szNfoMainLoadStngs: db "Load old XTIDE Universal BIOS settings from EEPROM.",STOP
|
---|
50 | g_szNfoMainFlash: db "Flash loaded BIOS image to EEPROM.",STOP
|
---|
51 | g_szNfoMainConfigure: db "Configure XTIDE Universal BIOS settings.",STOP
|
---|
52 |
|
---|
53 |
|
---|
54 | ; Strings for XTIDE Universal BIOS configuration menu
|
---|
55 | g_szItemCfgIde1: db "Primary IDE Controller",STOP
|
---|
56 | g_szItemCfgIde2: db "Secondary IDE Controller",STOP
|
---|
57 | g_szItemCfgIde3: db "Tertiary IDE Controller",STOP
|
---|
58 | g_szItemCfgIde4: db "Quaternary IDE Controller",STOP
|
---|
59 | g_szItemCfgIde5: db "Quinary IDE Controller",STOP
|
---|
60 | g_szItemCfgBootMenu: db "Boot menu settings",STOP
|
---|
61 | g_szItemCfgBootLoader: db "Boot loader type",STOP
|
---|
62 | g_szItemCfgLateInit: db "Late initialization",STOP
|
---|
63 | g_szItemCfgMaxSize: db "Maximize disk size",STOP
|
---|
64 | g_szItemCfgFullMode: db "Full operating mode",STOP
|
---|
65 | g_szItemCfgStealSize: db "kiB to steal from RAM",STOP
|
---|
66 | g_szItemCfgIdeCnt: db "Number of IDE controllers",STOP
|
---|
67 |
|
---|
68 | g_szDlgCfgLateInit: db "Use late BIOS initialization?",STOP
|
---|
69 | g_szDlgCfgMaxSize: db "Maximize hard disk size by sacrificing compatibility with old BIOSes?",STOP
|
---|
70 | g_szDlgCfgFullMode: db "Enable full operating mode?",STOP
|
---|
71 | g_szDlgCfgStealSize: db "How many kiB of base memory to steal for XTIDE Universal BIOS variables (1...255)?",STOP
|
---|
72 | g_szDlgCfgIdeCnt: db "How many IDE controllers to manage (1...5)?",STOP
|
---|
73 |
|
---|
74 | g_szNfoCfgBack: db "Back to main menu.",STOP
|
---|
75 | g_szNfoCfgIde: db "IDE controller and drive configuration.",STOP
|
---|
76 | g_szNfoCfgBootMenu: db "Boot menu configuration.",STOP
|
---|
77 | g_szNfoCfgBootLoader: db "Boot loader selection for INT 19h.",STOP
|
---|
78 | g_szNfoCfgLateInit: db "Detect hard disks on boot loader.",STOP
|
---|
79 | g_szNfoCfgMaxSize: db "Maximize hard disk size by not reserving diagnostic cylinder.",STOP
|
---|
80 | g_szNfoCfgFullMode: db "Full mode supports multiple controllers and has more features.",STOP
|
---|
81 | g_szNfoCfgStealSize: db "Number of kiB of base memory to steal for BIOS variables.",STOP
|
---|
82 | g_szNfoCfgIdeCnt: db "Number of IDE controllers to manage.",STOP
|
---|
83 |
|
---|
84 | g_szHelpCfgLateInit: db "Normally expansion card BIOSes are initialized before POST completes. "
|
---|
85 | db "Some (older) systems initialize expansion card BIOSes before they have "
|
---|
86 | db "initialized themselves. This might cause problems since XTIDE Universal "
|
---|
87 | db "BIOS requires some main BIOS functions for drive detection.",MNU_NL
|
---|
88 | db "This problem can be fixed by using late initialization to "
|
---|
89 | db "detect drives on boot loader. "
|
---|
90 | db "Late initialization requires that XTIDE Universal BIOS is the last "
|
---|
91 | db "BIOS that installs INT 19h handler. Make sure that XTIDE ROM is "
|
---|
92 | db "configured to highest address if you have other storage device "
|
---|
93 | db "controllers present.",STOP
|
---|
94 | g_szHelpCfgMaxSize: db "Old BIOSes reserve diagnostic cylinder (landing zone cylinder for MFM drives) that "
|
---|
95 | db "is not used. Later BIOSes do not reserve it to allow more data to be stored.",MNU_NL
|
---|
96 | db "Do not maximize disk size if you need to move the drive between XTIDE Universal BIOS "
|
---|
97 | db "controlled systems and systems with cylinder reserving BIOSes.",STOP
|
---|
98 | g_szHelpCfgFullMode: db "Full mode supports up to 5 IDE controllers (10 drives). Full mode reserves a bit "
|
---|
99 | db "of RAM from top of base memory. This makes possible to use ROM Basic and software that "
|
---|
100 | db "requires top of interrupt vectors where XTIDE Universal BIOS parameters would be stored "
|
---|
101 | db "in lite mode.",MNU_NL
|
---|
102 | db "Lite mode supports only one IDE controller (2 drives) and stores parameters to top of "
|
---|
103 | db "interrupt vectors (30:0h) so no base RAM needs to be reserved. Lite mode cannot be used "
|
---|
104 | db "if some software requires top of interrupt vectors. Usually this is not a problem since "
|
---|
105 | db "only IBM ROM Basic uses them.",MNU_NL
|
---|
106 | db "Tandy 1000 models with 640 kiB or less memory need to use lite mode since top of base RAM "
|
---|
107 | db "gets dynamically reserved by video hardware. This happens only with Tandy integrated "
|
---|
108 | db "video controller, not with expansion graphics cards. It is possible to use full mode if "
|
---|
109 | db "reserving RAM for video memory + what is required for XTIDE Universal BIOS. This would mean "
|
---|
110 | db "129 kiB but most software should work with 65 kiB reserved.",STOP
|
---|
111 | g_szHelpCfgStealSize: db "Parameters for detected hard disks must be stored somewhere. In full mode they are stored "
|
---|
112 | db "to top of base RAM. At the moment 1 kiB is always enough but you might want to steal more if "
|
---|
113 | db "you want to use full mode with Tandy 1000 (see help for Full Mode).",STOP
|
---|
114 |
|
---|
115 | g_szValueBootLdrMenu: db "Menu",STOP
|
---|
116 | g_szValueBootLdrSimple: db "Simple",STOP
|
---|
117 | g_szValueBootLdrNone: db "System",STOP
|
---|
118 |
|
---|
119 | ; Strings for Boot Loader type menu
|
---|
120 | g_szItemBootMenu: db "Boot menu",STOP
|
---|
121 | g_szItemBootSimple: db "Simple boot loader",STOP
|
---|
122 | g_szItemBootNone: db "System boot loader",STOP
|
---|
123 |
|
---|
124 | g_szNfoBootMenu: db "Boot menu for selecting drive to boot from.",STOP
|
---|
125 | g_szNfoBootSimple: db "Typical A, C, INT 18h boot order.",STOP
|
---|
126 | g_szNfoBootNone: db "Use boot loader provided by some other BIOS.",STOP
|
---|
127 |
|
---|
128 |
|
---|
129 | ; Strings for IDE Controller menu
|
---|
130 | g_szItemIdeMaster: db "Master drive",STOP
|
---|
131 | g_szItemIdeSlave: db "Slave drive",STOP
|
---|
132 | g_szItemIdeCmdPort: db "Base (cmd block) address",STOP
|
---|
133 | g_szItemIdeCtrlPort: db "Control block address",STOP
|
---|
134 | g_szItemIdeBusType: db "Bus type",STOP
|
---|
135 | g_szItemIdeEnIRQ: db "Enable interrupt",STOP
|
---|
136 | g_szItemIdeIRQ: db "IRQ",STOP
|
---|
137 |
|
---|
138 | g_szDlgIdeCmdPort: db "Enter IDE command block (base port) address.",STOP
|
---|
139 | g_szDlgIdeCtrlPort: db "Enter IDE control block address (usually command block + 200h).",STOP
|
---|
140 | g_szDlgIdeEnIRQ: db "Enable interrupt?",STOP
|
---|
141 | g_szDlgIdeIRQ: db "Enter IRQ channel (2...7 for 8-bit controllers, 2...15 for any other controller).",STOP
|
---|
142 |
|
---|
143 | g_szNfoIdeBack: db "Back to XTIDE Universal BIOS configuration menu.",STOP
|
---|
144 | g_szNfoIdeMaster: db "Settings for master drive.",STOP
|
---|
145 | g_szNfoIdeSlave: db "Settings for slave drive.",STOP
|
---|
146 | g_szNfoIdeCmdPort: db "IDE Controller Command Block (base port) address.",STOP
|
---|
147 | g_szNfoIdeCtrlPort: db "IDE Controller Control Block address. Usually Cmd Block + 200h.",STOP
|
---|
148 | g_szNfoIdeBusType: db "Select controller bus type.",STOP
|
---|
149 | g_szNfoIdeEnIRQ: db "Interrupt or polling mode.",STOP
|
---|
150 | g_szNfoIdeIRQ: db "IRQ channel to use.",STOP
|
---|
151 |
|
---|
152 | g_szHelpIdeCmdPort: db "IDE controller command block address is the usual address mentioned for IDE controllers.",MNU_NL
|
---|
153 | db "By default the primary IDE controller uses port 1F0h and secondary controller uses port 170h. "
|
---|
154 | db "XTIDE uses port 300h by default.",STOP
|
---|
155 | g_szHelpIdeCtrlPort: db "IDE controller control block address is normally command block address + 200h.",MNU_NL
|
---|
156 | db "For XTIDE the control block registers are mapped right "
|
---|
157 | db "after command block registers so use command block address + 8h for XTIDE.",STOP
|
---|
158 | g_szHelpIdeEnIRQ: db "IDE controller can use interrupts to signal when it is ready to transfer data. This makes possible "
|
---|
159 | db "to do other tasks while waiting drive to be ready. That is not useful in MS-DOS but using "
|
---|
160 | db "interrupts frees the bus for any DMA transfers.",MNU_NL
|
---|
161 | db "Polling mode is used when interrupts are disabled. Polling usually gives a little better access times "
|
---|
162 | db "since interrupt handling requires extra processing. There can be some compatibility issues with some old drives "
|
---|
163 | db "when polling is used with block mode transfers.",STOP
|
---|
164 | g_szHelpIdeIRQ: db "IRQ channel to use. All controllers managed by XTIDE Universal BIOS can use the same IRQ when MS-DOS is used. "
|
---|
165 | db "Other operating systems are likely to require different interrupts for each controller.",STOP
|
---|
166 |
|
---|
167 | g_szValueDual8b: db "2x8-bit",STOP
|
---|
168 | g_szValue16b: db "16-bit",STOP
|
---|
169 | g_szValue32b: db "32-bit",STOP
|
---|
170 | g_szValueSingle8b: db "1x8-bit",STOP
|
---|
171 |
|
---|
172 |
|
---|
173 | ; Strings for Bus Type menu
|
---|
174 | g_szItemBus8Dual: db "8-bit dual port (XTIDE)",STOP
|
---|
175 | g_szItemBus8Single: db "8-bit single port",STOP
|
---|
176 | g_szItemBus16: db "16-bit",STOP
|
---|
177 | g_szItemBus32Generic: db "32-bit generic",STOP
|
---|
178 |
|
---|
179 | g_szNfoBus8Dual: db "8-bit ISA controllers with two data ports.",STOP
|
---|
180 | g_szNfoBus8Single: db "8-bit ISA controllers with one data port.",STOP
|
---|
181 | g_szNfoBus16: db "16-bit I/O for ISA (16-bit), VLB and PCI controllers.",STOP
|
---|
182 | g_szNfoBus32Generic: db "Generic 32-bit I/O for VLB and PCI controllers.",STOP
|
---|
183 |
|
---|
184 |
|
---|
185 | ; Strings for DRVPARAMS menu
|
---|
186 | g_szItemDrvBlockMode: db "Block mode transfers",STOP
|
---|
187 | g_szItemDrvUserCHS: db "User specified CHS",STOP
|
---|
188 | g_szItemDrvCyls: db "Cylinders",STOP
|
---|
189 | g_szItemDrvHeads: db "Heads",STOP
|
---|
190 | g_szItemDrvSect: db "Sectors per track",STOP
|
---|
191 |
|
---|
192 | g_szDlgDrvBlockMode: db "Enable block mode transfers?",STOP
|
---|
193 | g_szDlgDrvUserCHS: db "Specify (P-)CHS parameters manually?",STOP
|
---|
194 | g_szDlgDrvCyls: db "Enter number of P-CHS cylinders (1...16383).",STOP
|
---|
195 | g_szDlgDrvHeads: db "Enter number of P-CHS heads (1...16).",STOP
|
---|
196 | g_szDlgDrvSect: db "Enter number of sectors per track (1...63).",STOP
|
---|
197 |
|
---|
198 | g_szNfoDrvBack: db "Back to IDE controller menu.",STOP
|
---|
199 | g_szNfoDrvBlockMode: db "Transfer multiple sectors per data request.",STOP
|
---|
200 | g_szNfoDrvUserCHS: db "Specify (P-)CHS manually instead of autodetect.",STOP
|
---|
201 | g_szNfoDrvCyls: db "Number of user specified P-CHS cylinders.",STOP
|
---|
202 | g_szNfoDrvHeads: db "Number of user specified P-CHS heads.",STOP
|
---|
203 | g_szNfoDrvSect: db "Number of user specified P-CHS sectors per track.",STOP
|
---|
204 |
|
---|
205 | g_szHelpDrvBlockMode: db "Block mode will speed up transfers since multiple sectors can be transferred "
|
---|
206 | db "before waiting next data request. Normally block mode should always be kept enabled "
|
---|
207 | db "but there is at least one drive with buggy block mode implementation. See readme for "
|
---|
208 | db "more information.",STOP
|
---|
209 | g_szHelpDrvUserCHS: db "Specify (P-)CHS parameters manually instead of autodetect.",MNU_NL
|
---|
210 | db "This can be used to limit drive size for old operating systems "
|
---|
211 | db "that do not support large hard disks.",MNU_NL
|
---|
212 | db "Limiting cylinders will work for all drives but drives may not accept all "
|
---|
213 | db "values for heads and sectors per track.",STOP
|
---|
214 |
|
---|
215 |
|
---|
216 | ; Strings for boot menu settings menu
|
---|
217 | g_szItemBootHeight: db "Maximum height",STOP
|
---|
218 | g_szItemBootTimeout: db "Selection timeout",STOP
|
---|
219 | g_szItemBootDrive: db "Default boot drive",STOP
|
---|
220 | g_szItemBootMinFDD: db "Min floppy drive count",STOP
|
---|
221 | g_szItemBootSwap: db "Swap boot drive numbers",STOP
|
---|
222 | g_szItemBootRomBoot: db "Display ROM boot",STOP
|
---|
223 | g_szItemBootInfo: db "Display drive info",STOP
|
---|
224 |
|
---|
225 | g_szDlgBootHeight: db "Enter boot menu maximum height in characters (8...25).",STOP
|
---|
226 | g_szDlgBootTimeout: db "Enter Boot Menu selection timeout in seconds (1...60, 0 disables timeout).",STOP
|
---|
227 | g_szDlgBootDrive: db "Enter default drive number (0xh for Floppy Drives, 8xh for Hard Disks, FFh for ROM boot).",STOP
|
---|
228 | g_szDlgBootMinFDD: db "Enter minimum number of floppy drives.",STOP
|
---|
229 | g_szDlgBootSwap: db "Enable drive number translation?",STOP
|
---|
230 | g_szDlgBootRomBoot: db "Show ROM Boot option on boot menu?",STOP
|
---|
231 | g_szDlgBootInfo: db "Show drive information on boot menu?",STOP
|
---|
232 |
|
---|
233 | g_szNfoBootHeight: db "Boot Menu maximum height in characters.",STOP
|
---|
234 | g_szNfoBootTimeout: db "Menu item selection timeout in seconds.",STOP
|
---|
235 | g_szNfoBootDrive: db "Default drive on boot menu.",STOP
|
---|
236 | g_szNfoBootMinFDD: db "Minimum number of floppy drives to display.",STOP
|
---|
237 | g_szNfoBootSwap: db "Drive Number Translation (swap first drive with selected).",STOP
|
---|
238 | g_szNfoBootRomBoot: db "Show ROM Basic or ROM DOS boot option.",STOP
|
---|
239 | g_szNfoBootInfo: db "Show detailed drive information on boot menu.",STOP
|
---|
240 |
|
---|
241 | g_szHelpBootTimeout: db "Boot Menu selection timeout in seconds. When time goes to zero, "
|
---|
242 | db "currently selected drive will be booted automatically.",MNU_NL
|
---|
243 | db "Timeout can be disabled by setting this to 0.",STOP
|
---|
244 | g_szHelpBootDrive: db "Default drive will be set selected by default when Boot Menu is displayed.",STOP
|
---|
245 | g_szHelpBootMinFDD: db "Detecting correct number of floppy drives might fail when using floppy controller with it's own BIOS. "
|
---|
246 | db "Minimum number of floppy drives can be specified to force non-detected drives to appear on boot menu.",STOP
|
---|
247 | g_szHelpBootSwap: db "Some old operating systems (DOS) can only boot from "
|
---|
248 | db "Floppy Drive A (00h) or first Hard Disk (80h, usually drive C). "
|
---|
249 | db "Drive Translation can be used to modify drive numbers so that "
|
---|
250 | db "selected drive will be mapped to 00h or 80h so that it can be booted.",STOP
|
---|
251 | g_szHelpBootRomBoot: db "Some old systems have Basic or DOS in ROM. Since most systems don't have either, "
|
---|
252 | db "ROM Boot setting is disabled by default. Enable it if you have use for it.",STOP
|
---|
253 | g_szHelpBootInfo: db "Boot Menu can display some details about the drives in system. Reading this data "
|
---|
254 | db "is slow on XTs so you might want to hide drive information.",STOP
|
---|
255 |
|
---|
256 |
|
---|
257 | ; Strings for Flash menu
|
---|
258 | g_szItemFlashStart: db "Start flashing",STOP
|
---|
259 | g_szItemFlashSDP: db "SDP command",STOP
|
---|
260 | g_szItemFlashAddr: db "EEPROM address",STOP
|
---|
261 | g_szItemFlashPageSize: db "Page size",STOP
|
---|
262 | g_szItemFlashChecksum: db "Generate checksum byte",STOP
|
---|
263 |
|
---|
264 | g_szDlgFlashAddr: db "Enter segment address where EEPROM is located.",STOP
|
---|
265 | g_szDlgFlashPageSize: db "Enter write page size (1, 2, 4, 8, 16, 32 or 64 bytes).",STOP
|
---|
266 | g_szDlgFlashChecksum: db "Generate checksum byte to the end of BIOS image?",STOP
|
---|
267 |
|
---|
268 | g_szNfoFlashStart: db "Writes BIOS to EEPROM.",STOP
|
---|
269 | g_szNfoFlashSDP: db "Software Data Protection command.",STOP
|
---|
270 | g_szNfoFlashAddr: db "Address (segment) where EEPROM is located.",STOP
|
---|
271 | g_szNfoFlashPageSize: db "Number of bytes to write before delay.",STOP
|
---|
272 | g_szNfoFlashChecksum: db "Generate checksum byte to the end of BIOS image.",STOP
|
---|
273 |
|
---|
274 | g_szHelpFlashSDP: db "Software Data Protection protects the EEPROM from unwanted writes.",MNU_NL
|
---|
275 | db "ENABLE command write protects the EEPROM after flashing. DISABLE command leaves the "
|
---|
276 | db "EEPROM unprotected. NONE is meant for EEPROMs that do not support Software Data Protection.",MNU_NL
|
---|
277 | db "Software Data Protection should always be left enabled if EEPROM supports it.",STOP
|
---|
278 | g_szHelpFlashPageSize: db "Larger page size will improve write performance but not all "
|
---|
279 | db "EEPROMs support large pages or page writing at all.",MNU_NL
|
---|
280 | db "Byte writing mode will be used when page size is set "
|
---|
281 | db "to 1. Byte writing mode is supported by every EEPROM. "
|
---|
282 | db "Large pages cannot be used with slow CPUs.",STOP
|
---|
283 | g_szHelpFlashChecksum: db "PC BIOSes require checksum byte to the end of expansion card BIOS ROMs. "
|
---|
284 | db "Checksum generation can be disabled so any type of binaries can be flashed.",STOP
|
---|
285 |
|
---|
286 |
|
---|
287 | ; Strings for SDP command menu
|
---|
288 | g_szValueSdpNone:
|
---|
289 | g_szItemSdpNone: db "None",STOP
|
---|
290 | g_szValueSdpEnable:
|
---|
291 | g_szItemSdpEnable: db "Enable",STOP
|
---|
292 | g_szValueSdpDisable:
|
---|
293 | g_szItemSdpDisable: db "Disable",STOP
|
---|
294 |
|
---|
295 | g_szNfoSdpNone: db "Do not use Software Data Protection.",STOP
|
---|
296 | g_szNfoSdpEnable: db "Enable Software Data Protection after flashing.",STOP
|
---|
297 | g_szNfoSdpDisable: db "Disable Software Data Protection after flashing.",STOP
|
---|