source: xtideuniversalbios/trunk/XTIDE_Universal_BIOS/Src/StringsCompressed.asm@ 622

Last change on this file since 622 was 603, checked in by Krister Nordvall, 4 years ago

Changes:

  • Fixed a bug in Strings.asm from r589 where building the BIOS without MODULE_STRINGS_COMPRESSED would fail. Also removed a redundant CR to save a byte when building without MODULE_STRINGS_COMPRESSED.
  • Optimized the code in MODULE_HOTKEYS to reduce ROM space usage, stack usage and time spent in the user timer tick interrupt handler (1Ch). I hope this will fix the problem with hangs introduced in r599.
File size: 31.6 KB
Line 
1;;;======================================================================
2;;;
3;;; This file is generated by StringsCompress.pl from source in Strings.asm
4;;; DO NOT EDIT DIRECTLY - See the makefile for how to rebuild this file.
5;;; This file only needs to be rebuilt if Strings.asm is changed.
6;;;
7;;;======================================================================
8
9%ifdef STRINGSCOMPRESSED_STRINGS
10
11; Project name : XTIDE Universal BIOS
12; Description : Strings and equates for BIOS messages.
13
14;
15; XTIDE Universal BIOS and Associated Tools
16; Copyright (C) 2009-2010 by Tomi Tilli, 2011-2013 by XTIDE Universal BIOS Team.
17;
18; This program is free software; you can redistribute it and/or modify
19; it under the terms of the GNU General Public License as published by
20; the Free Software Foundation; either version 2 of the License, or
21; (at your option) any later version.
22;
23; This program is distributed in the hope that it will be useful,
24; but WITHOUT ANY WARRANTY; without even the implied warranty of
25; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
26; GNU General Public License for more details.
27; Visit http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
28;
29
30%ifdef MODULE_STRINGS_COMPRESSED_PRECOMPRESS
31%include "Display.inc"
32%endif
33
34; Section containing code
35SECTION .text
36
37; The following strings are used by DetectPrint_StartDetectWithMasterOrSlaveStringInCXandIdeVarsInCSBP
38; To support an optimization in that code, these strings must start on the same 256 byte page,
39; which is checked at assembly time below.
40;
41g_szDetectStart:
42g_szDetectMaster: ; db "Master",NULL
43 ; db 4dh, 61h, 73h, 74h, 65h, 72h, 00h ; uncompressed
44 db 53h, 67h, 79h, 7ah, 6bh, 0b8h ; compressed
45
46g_szDetectSlave: ; db "Slave ",NULL
47 ; db 53h, 6ch, 61h, 76h, 65h, 20h, 00h ; uncompressed
48 db 59h, 72h, 67h, 7ch, 6bh, 00h ; compressed
49
50g_szDetectOuter: ; db "%s at %s: ",NULL
51 ; db 25h, 73h, 20h, 61h, 74h, 20h, 25h, 73h, 3ah, 20h, 00h ; uncompressed
52 db 3dh, 20h, 67h, 0fah, 3dh, 40h, 00h ; compressed
53
54%ifdef MODULE_SERIAL
55g_szDetectCOM: ; db "COM%c%s",NULL
56 ; db 43h, 4fh, 4dh, 25h, 63h, 25h, 73h, 00h ; uncompressed
57 db 49h, 55h, 53h, 3ch, 1dh ; compressed
58
59g_szDetectCOMAuto: ; db " Detect",NULL
60 ; db 20h, 44h, 65h, 74h, 65h, 63h, 74h, 00h ; uncompressed
61 db 20h, 4ah, 6bh, 7ah, 6bh, 69h, 0bah ; compressed
62
63g_szDetectCOMSmall: ; db "/%u%u00",NULL ; IDE Master at COM1/9600:
64 ; db 2fh, 25h, 75h, 25h, 75h, 30h, 30h, 00h ; uncompressed
65 db 2ah, 35h, 35h, 33h, 13h ; compressed
66
67g_szDetectCOMLarge: ; db "/%u.%uK",NULL ; IDE Master at COM1/19.2K:
68 ; db 2fh, 25h, 75h, 2eh, 25h, 75h, 4bh, 00h ; uncompressed
69 db 2ah, 35h, 29h, 35h, 91h ; compressed
70
71%endif
72g_szDetectEnd:
73g_szDetectPort: ; db "%x",NULL ; IDE Master at 1F0h:
74 ; db 25h, 78h, 00h ; uncompressed
75 db 17h ; compressed
76
77
78%ifndef CHECK_FOR_UNUSED_ENTRYPOINTS
79%if ((g_szDetectEnd-$$) & 0xff00) <> ((g_szDetectStart-$$) & 0xff00)
80%error "g_szDetect* strings must start on the same 256 byte page, required by DetectPrint_StartDetectWithMasterOrSlaveStringInCXandIdeVarsInCSBP. Please move this block up or down within Strings.asm"
81%endif
82%endif
83
84
85; POST drive detection strings
86g_szDashForZero: ; db "- ",NULL ; Required by Display Library
87 ; db 2dh, 20h, 00h ; uncompressed
88 db 28h, 00h ; compressed
89
90g_szRomAt: ; db LF,CR
91 ; db 0ah, 0dh ; uncompressed
92 db 39h ; compressed
93
94 ; db "%s @ %x",LF,CR ; -=XTIDE ... =- @ Segment
95 ; db 25h, 73h, 20h, 40h, 20h, 25h, 78h, 0ah, 0dh ; uncompressed
96 db 3dh, 20h, 0c6h, 37h, 39h ; compressed
97
98 ; db "%s",LF,CR ; version string
99 ; db 25h, 73h, 0ah, 0dh ; uncompressed
100 db 3dh, 39h ; compressed
101
102%ifdef MODULE_STRINGS_COMPRESSED
103 ; db "Released under GNU GPL v2",LF,CR
104 ; db 52h, 65h, 6ch, 65h, 61h, 73h, 65h, 64h, 20h, 75h, 6eh, 64h, 65h, 72h, 20h, 47h, 4eh, 55h, 20h, 47h, 50h, 4ch, 20h, 76h, 32h, 0ah, 0dh ; uncompressed
105 db 58h, 6bh, 72h, 6bh, 67h, 79h, 6bh, 0eah, 7bh, 74h, 6ah, 6bh, 0f8h, 4dh, 54h, 0dbh, 4dh, 56h, 0d2h, 7ch, 2ch, 39h ; compressed
106
107%else
108db "Released under GNU GPL v2",LF
109%endif
110 ; db LF,CR,NULL
111 ; db 0ah, 0dh, 00h ; uncompressed
112 db 19h ; compressed
113
114%ifdef MODULE_BOOT_MENU
115g_szBootMenuTitle: ; db "%s%c",LF,CR ; -=XTIDE ... =- and null (eaten)
116 ; db 25h, 73h, 25h, 63h, 0ah, 0dh ; uncompressed
117 db 3dh, 3ch, 39h ; compressed
118
119 ; db "%s",NULL ; version string
120 ; db 25h, 73h, 00h ; uncompressed
121 db 1dh ; compressed
122
123%endif
124g_szDriveName: ; db "%z",LF,CR,NULL
125 ; db 25h, 7ah, 0ah, 0dh, 00h ; uncompressed
126 db 3eh, 19h ; compressed
127
128
129
130; Boot loader strings
131g_szTryToBoot: ; db "Booting %c",ANGLE_QUOTE_RIGHT,"%c",LF,CR,NULL
132 ; db 42h, 6fh, 6fh, 74h, 69h, 6eh, 67h, 20h, 25h, 63h, 0afh, 25h, 63h, 0ah, 0dh, 00h ; uncompressed
133 db 48h, 75h, 75h, 7ah, 6fh, 74h, 0edh, 3ch, 24h, 3ch, 19h ; compressed
134
135g_szBootSectorNotFound: ; db "Boot sector " ; String fall through...
136 ; db 42h, 6fh, 6fh, 74h, 20h, 73h, 65h, 63h, 74h, 6fh, 72h, 20h ; uncompressed
137 db 48h, 75h, 75h, 0fah, 79h, 6bh, 69h, 7ah, 75h, 0f8h ; compressed
138
139g_szNotFound: ; db "not found",LF,CR,NULL
140 ; db 6eh, 6fh, 74h, 20h, 66h, 6fh, 75h, 6eh, 64h, 0ah, 0dh, 00h ; uncompressed
141 db 74h, 75h, 0fah, 6ch, 75h, 7bh, 74h, 6ah, 19h ; compressed
142
143g_szReadError: ; db "Error %x!",LF,CR,NULL
144 ; db 45h, 72h, 72h, 6fh, 72h, 20h, 25h, 78h, 21h, 0ah, 0dh, 00h ; uncompressed
145 db 4bh, 78h, 78h, 75h, 0f8h, 37h, 25h, 19h ; compressed
146
147
148
149%ifdef MODULE_HOTKEYS
150; Hotkey Bar strings
151g_szFDD: ; db "FDD [%c]",NULL ; "FDD [A]"
152 ; db 46h, 44h, 44h, 20h, 5bh, 25h, 63h, 5dh, 00h ; uncompressed
153 db 4ch, 4ah, 0cah, 61h, 3ch, 0a3h ; compressed
154
155g_szHDD: ; db "HDD [%c]",NULL ; "HDD [C]"
156 ; db 48h, 44h, 44h, 20h, 5bh, 25h, 63h, 5dh, 00h ; uncompressed
157 db 4eh, 4ah, 0cah, 61h, 3ch, 0a3h ; compressed
158
159%ifdef MODULE_BOOT_MENU
160g_szBootMenu: ; db "BootMnu%c",NULL ; "BootMnu", location of %c doesn't matter
161 ; db 42h, 6fh, 6fh, 74h, 4dh, 6eh, 75h, 25h, 63h, 00h ; uncompressed
162 db 48h, 75h, 75h, 7ah, 53h, 74h, 7bh, 1ch ; compressed
163
164%endif ; MODULE_BOOT_MENU
165g_szHotkey: ; db "%A%c%c%A%s%A ",NULL ; "C»HDD [A] ", "F2BootMnu " or "F8RomBoot "
166 ; db 25h, 41h, 25h, 63h, 25h, 63h, 25h, 41h, 25h, 73h, 25h, 41h, 20h, 00h ; uncompressed
167 db 3bh, 3ch, 3ch, 3bh, 3dh, 3bh, 00h ; compressed
168
169%ifdef MODULE_SERIAL
170g_szHotComDetect: ; db "ComDtct%c",NULL ; "ComDtct", location of %c doesn't matter
171 ; db 43h, 6fh, 6dh, 44h, 74h, 63h, 74h, 25h, 63h, 00h ; uncompressed
172 db 49h, 75h, 73h, 4ah, 7ah, 69h, 7ah, 1ch ; compressed
173
174%endif ; MODULE_SERIAL
175%endif ; MODULE_HOTKEYS
176
177%ifdef MODULE_BOOT_MENU
178g_szRomBootDash: ; db " - " ; String fall through to g_szRomBoot
179 ; db 20h, 2dh, 20h, 20h ; uncompressed
180 db 20h, 28h, 20h, 20h ; compressed
181
182%endif
183%ifdef MODULE_HOTKEYS OR MODULE_BOOT_MENU
184g_szRomBoot: ; db "Rom%cBoot",NULL ; "RomBoot" or "Rom Boot"
185 ; db 52h, 6fh, 6dh, 25h, 63h, 42h, 6fh, 6fh, 74h, 00h ; uncompressed
186 db 58h, 75h, 73h, 3ch, 48h, 75h, 75h, 0bah ; compressed
187
188%endif
189
190
191%ifdef MODULE_BOOT_MENU
192; Boot Menu Floppy Disk strings
193;
194; The following strings are used by BootMenuPrint_RefreshInformation
195; To support optimizations in that code, these strings must start on the same 256 byte page,
196; which is checked at assembly time below.
197;
198g_szFddStart:
199g_szFddUnknown: ; db "Unknown",NULL
200 ; db 55h, 6eh, 6bh, 6eh, 6fh, 77h, 6eh, 00h ; uncompressed
201 db 5bh, 74h, 71h, 74h, 75h, 7dh, 0b4h ; compressed
202
203g_szFddSizeOr: ; db "5",ONE_QUARTER,QUOTATION_MARK," or 3",ONE_HALF,QUOTATION_MARK," DD",NULL
204 ; db 35h, 0ach, 22h, 20h, 6fh, 72h, 20h, 33h, 0abh, 22h, 20h, 44h, 44h, 00h ; uncompressed
205 db 2eh, 21h, 26h, 20h, 75h, 0f8h, 2dh, 22h, 26h, 20h, 4ah, 8ah ; compressed
206
207g_szFddSize: ; db "%s",QUOTATION_MARK,", %u kiB",NULL ; 3½", 1440 kiB
208 ; db 25h, 73h, 22h, 2ch, 20h, 25h, 75h, 20h, 6bh, 69h, 42h, 00h ; uncompressed
209 db 3dh, 26h, 27h, 20h, 35h, 20h, 71h, 6fh, 88h ; compressed
210
211g_szFddThreeHalf: ; db "3",ONE_HALF,NULL
212 ; db 33h, 0abh, 00h ; uncompressed
213 db 2dh, 02h ; compressed
214
215g_szFddEnd:
216g_szFddFiveQuarter: ; db "5",ONE_QUARTER,NULL
217 ; db 35h, 0ach, 00h ; uncompressed
218 db 2eh, 01h ; compressed
219
220
221%ifndef CHECK_FOR_UNUSED_ENTRYPOINTS
222%if ((g_szFddStart-$$) & 0xff00) <> ((g_szFddEnd-$$) & 0xff00)
223%error "g_szFdd* strings must start on the same 256 byte page, required by the BootMenuPrint_RefreshInformation routines for floppy drives. Please move this block up or down within Strings.asm"
224%endif
225%endif
226
227
228g_szAddressingModes:
229g_szNORMAL: ; db "NORMAL",NULL
230 ; db 4eh, 4fh, 52h, 4dh, 41h, 4ch, 00h ; uncompressed
231 db 54h, 55h, 58h, 53h, 47h, 92h ; compressed
232
233g_szLARGE: ; db "LARGE ",NULL
234 ; db 4ch, 41h, 52h, 47h, 45h, 20h, 00h ; uncompressed
235 db 52h, 47h, 58h, 4dh, 4bh, 00h ; compressed
236
237g_szLBA: ; db "LBA ",NULL
238 ; db 4ch, 42h, 41h, 20h, 20h, 20h, 00h ; uncompressed
239 db 52h, 48h, 0c7h, 20h, 00h ; compressed
240
241g_szAddressingModes_Displacement equ (g_szLARGE - g_szAddressingModes)
242;
243; Ensure that addressing modes are correctly spaced in memory
244;
245%ifndef CHECK_FOR_UNUSED_ENTRYPOINTS
246%if g_szNORMAL <> g_szAddressingModes
247%error "g_szAddressingModes Displacement Incorrect 1"
248%endif
249%if g_szLARGE <> g_szNORMAL + g_szAddressingModes_Displacement
250%error "g_szAddressingModes Displacement Incorrect 2"
251%endif
252%if g_szLBA <> g_szLARGE + g_szAddressingModes_Displacement
253%error "g_szAddressingModes Displacement Incorrect 3"
254%endif
255%endif
256
257
258g_szDeviceTypeValues:
259g_szDeviceTypeValues_16bit: ; db " 16",NULL
260 ; db 20h, 31h, 36h, 00h ; uncompressed
261 db 20h, 2bh, 0fh ; compressed
262
263%ifdef MODULE_ADVANCED_ATA OR MODULE_8BIT_IDE OR MODULE_8BIT_IDE_ADVANCED OR MODULE_SERIAL
264g_szDeviceTypeValues_32bit: ; db " 32",NULL
265 ; db 20h, 33h, 32h, 00h ; uncompressed
266 db 20h, 2dh, 0ch ; compressed
267
268%ifdef MODULE_8BIT_IDE OR MODULE_8BIT_IDE_ADVANCED OR MODULE_SERIAL
269g_szDeviceTypeValues_8bit: ; db " 8",NULL
270 ; db 20h, 20h, 38h, 00h ; uncompressed
271 db 20h, 20h, 10h ; compressed
272
273g_szDeviceTypeValues_XTIDEr1: ; db "D8 ",NULL ; Dual 8-bit
274 ; db 44h, 38h, 20h, 00h ; uncompressed
275 db 4ah, 30h, 00h ; compressed
276
277g_szDeviceTypeValues_XTIDEr2: ; db "X8 ",NULL ; A0<->A3 swapped 8-bit
278 ; db 58h, 38h, 20h, 00h ; uncompressed
279 db 5eh, 30h, 00h ; compressed
280
281g_szDeviceTypeValues_XTIDEr2_Olivetti: ; db "X8O",NULL ; Same as above but in Olivetti M24 and derivatives
282 ; db 58h, 38h, 4fh, 00h ; uncompressed
283 db 5eh, 30h, 95h ; compressed
284
285%ifdef MODULE_8BIT_IDE_ADVANCED OR MODULE_SERIAL
286g_szDeviceTypeValues_XTCFpio8: ; db "T8 ",NULL ; True 8-bit
287 ; db 54h, 38h, 20h, 00h ; uncompressed
288 db 5ah, 30h, 00h ; compressed
289
290g_szDeviceTypeValues_XTCFpio8BIU: ; db "T8B",NULL
291 ; db 54h, 38h, 42h, 00h ; uncompressed
292 db 5ah, 30h, 88h ; compressed
293
294g_szDeviceTypeValues_XTCFpio16BIU: ; db "16B",NULL
295 ; db 31h, 36h, 42h, 00h ; uncompressed
296 db 2bh, 2fh, 88h ; compressed
297
298g_szDeviceTypeValues_XTCFdma: ; db "8MA",NULL ; DMA 8-bit
299 ; db 38h, 4dh, 41h, 00h ; uncompressed
300 db 30h, 53h, 87h ; compressed
301
302g_szDeviceTypeValues_JrIde: ; db "M8 ",NULL ; Memory Mapped 8-bit
303 ; db 4dh, 38h, 20h, 00h ; uncompressed
304 db 53h, 30h, 00h ; compressed
305
306g_szDeviceTypeValues_ADP50L: ; db "M8 ",NULL ; Memory Mapped 8-bit
307 ; db 4dh, 38h, 20h, 00h ; uncompressed
308 db 53h, 30h, 00h ; compressed
309
310%ifdef MODULE_SERIAL
311g_szDeviceTypeValues_Serial: ; db "SER",NULL
312 ; db 53h, 45h, 52h, 00h ; uncompressed
313 db 59h, 4bh, 98h ; compressed
314
315%endif ; MODULE_SERIAL
316%endif ; MODULE_8BIT_IDE_ADVANCED OR MODULE_SERIAL
317%endif ; MODULE_8BIT_IDE OR MODULE_8BIT_IDE_ADVANCED OR MODULE_SERIAL
318%endif ; MODULE_ADVANCED_ATA OR MODULE_8BIT_IDE OR MODULE_8BIT_IDE_ADVANCED OR MODULE_SERIAL
319
320%ifdef MODULE_STRINGS_COMPRESSED
321g_szDeviceTypeValues_Displacement equ 3
322%else
323g_szDeviceTypeValues_Displacement equ 4
324%endif
325;
326; Ensure that device type strings are correctly spaced in memory
327;
328%ifndef CHECK_FOR_UNUSED_ENTRYPOINTS
329%if g_szDeviceTypeValues_16bit <> g_szDeviceTypeValues
330%error "g_szDeviceTypeValues Displacement Incorrect 1"
331%endif
332
333%ifdef MODULE_ADVANCED_ATA OR MODULE_8BIT_IDE OR MODULE_8BIT_IDE_ADVANCED OR MODULE_SERIAL
334
335%if g_szDeviceTypeValues_32bit <> g_szDeviceTypeValues_16bit + g_szDeviceTypeValues_Displacement
336%error "g_szDeviceTypeValues Displacement Incorrect 2"
337%endif
338
339%ifdef MODULE_8BIT_IDE OR MODULE_8BIT_IDE_ADVANCED OR MODULE_SERIAL
340
341%if g_szDeviceTypeValues_8bit <> g_szDeviceTypeValues_32bit + g_szDeviceTypeValues_Displacement
342%error "g_szDeviceTypeValues Displacement Incorrect 3"
343%endif
344%if g_szDeviceTypeValues_XTIDEr1 <> g_szDeviceTypeValues_8bit + g_szDeviceTypeValues_Displacement
345%error "g_szDeviceTypeValues Displacement Incorrect 4"
346%endif
347%if g_szDeviceTypeValues_XTIDEr2 <> g_szDeviceTypeValues_XTIDEr1 + g_szDeviceTypeValues_Displacement
348%error "g_szDeviceTypeValues Displacement Incorrect 5"
349%endif
350%if g_szDeviceTypeValues_XTIDEr2_Olivetti <> g_szDeviceTypeValues_XTIDEr2 + g_szDeviceTypeValues_Displacement
351%error "g_szDeviceTypeValues Displacement Incorrect 6"
352%endif
353
354%ifdef MODULE_8BIT_IDE_ADVANCED OR MODULE_SERIAL
355
356%if g_szDeviceTypeValues_XTCFpio8 <> g_szDeviceTypeValues_XTIDEr2_Olivetti + g_szDeviceTypeValues_Displacement
357%error "g_szDeviceTypeValues Displacement Incorrect 7"
358%endif
359%if g_szDeviceTypeValues_XTCFpio8BIU <> g_szDeviceTypeValues_XTCFpio8 + g_szDeviceTypeValues_Displacement
360%error "g_szDeviceTypeValues Displacement Incorrect 8"
361%endif
362%if g_szDeviceTypeValues_XTCFpio16BIU <> g_szDeviceTypeValues_XTCFpio8BIU + g_szDeviceTypeValues_Displacement
363%error "g_szDeviceTypeValues Displacement Incorrect 9"
364%endif
365%if g_szDeviceTypeValues_XTCFdma <> g_szDeviceTypeValues_XTCFpio16BIU + g_szDeviceTypeValues_Displacement
366%error "g_szDeviceTypeValues Displacement Incorrect 10"
367%endif
368%if g_szDeviceTypeValues_JrIde <> g_szDeviceTypeValues_XTCFdma + g_szDeviceTypeValues_Displacement
369%error "g_szDeviceTypeValues Displacement Incorrect 11"
370%endif
371%if g_szDeviceTypeValues_ADP50L <> g_szDeviceTypeValues_JrIde + g_szDeviceTypeValues_Displacement
372%error "g_szDeviceTypeValues Displacement Incorrect 12"
373%endif
374
375%ifdef MODULE_SERIAL
376
377%if g_szDeviceTypeValues_Serial <> g_szDeviceTypeValues_ADP50L + g_szDeviceTypeValues_Displacement
378%error "g_szDeviceTypeValues Displacement Incorrect 13"
379%endif
380
381%endif ; MODULE_SERIAL
382%endif ; MODULE_8BIT_IDE_ADVANCED OR MODULE_SERIAL
383%endif ; MODULE_8BIT_IDE OR MODULE_8BIT_IDE_ADVANCED OR MODULE_SERIAL
384%endif ; MODULE_ADVANCED_ATA OR MODULE_8BIT_IDE OR MODULE_8BIT_IDE_ADVANCED OR MODULE_SERIAL
385
386%endif
387
388
389g_szSelectionTimeout: ; db DOUBLE_BOTTOM_LEFT_CORNER,DOUBLE_LEFT_HORIZONTAL_TO_SINGLE_VERTICAL,"%ASelection in %2-u s",NULL
390 ; db 0c8h, 0b5h, 25h, 41h, 53h, 65h, 6ch, 65h, 63h, 74h, 69h, 6fh, 6eh, 20h, 69h, 6eh, 20h, 25h, 32h, 2dh, 75h, 20h, 73h, 00h ; uncompressed
391 db 31h, 32h, 3bh, 59h, 6bh, 72h, 6bh, 69h, 7ah, 6fh, 75h, 0f4h, 6fh, 0f4h, 3ah, 20h, 0b9h ; compressed
392
393
394
395; Boot Menu menuitem strings
396;
397; The following strings are used by BootMenuPrint_* routines.
398; To support optimizations in that code, these strings must start on the same 256 byte page,
399; which is checked at assembly time below.
400;
401g_szDriveNumSpace: ; db " " ; leading space, used if drive number is less than 0fh
402 ; db 20h ; uncompressed
403 db 20h ; compressed
404
405; must come immediately before g_szDriveNum!
406g_szBootMenuPrintStart:
407g_szDriveNum: ; db "%x %s",NULL
408 ; db 25h, 78h, 20h, 25h, 73h, 00h ; uncompressed
409 db 37h, 20h, 1dh ; compressed
410
411g_szDriveNumBNSpace: ; db " " ; leading space, used if drive number is less than 0fh
412 ; db 20h ; uncompressed
413 db 20h ; compressed
414
415; must come immediately before g_szDriveNumBOOTNFO!
416g_szDriveNumBOOTNFO: ; db "%x %z",NULL
417 ; db 25h, 78h, 20h, 25h, 7ah, 00h ; uncompressed
418 db 37h, 20h, 1eh ; compressed
419
420g_szFloppyDrv: ; db "Floppy Drive %c",NULL
421 ; db 46h, 6ch, 6fh, 70h, 70h, 79h, 20h, 44h, 72h, 69h, 76h, 65h, 20h, 25h, 63h, 00h ; uncompressed
422 db 4ch, 72h, 75h, 76h, 76h, 0ffh, 4ah, 78h, 6fh, 7ch, 0ebh, 1ch ; compressed
423
424g_szBootMenuPrintEnd:
425g_szForeignHD: ; db "Foreign Hard Disk",NULL
426 ; db 46h, 6fh, 72h, 65h, 69h, 67h, 6eh, 20h, 48h, 61h, 72h, 64h, 20h, 44h, 69h, 73h, 6bh, 00h ; uncompressed
427 db 4ch, 75h, 78h, 6bh, 6fh, 6dh, 0f4h, 4eh, 67h, 78h, 0eah, 4ah, 6fh, 79h, 0b1h ; compressed
428
429
430%ifndef CHECK_FOR_UNUSED_ENTRYPOINTS
431%if ((g_szBootMenuPrintStart-$$) & 0xff00) <> ((g_szBootMenuPrintEnd-$$) & 0xff00)
432%error "g_szBootMenuPrint* strings must start on the same 256 byte page, required by the BootMenuPrint_* routines. Please move this block up or down within Strings.asm"
433%endif
434%if g_szDriveNumSpace+1 != g_szDriveNum || g_szDriveNumBNSpace+1 != g_szDriveNumBOOTNFO
435%error "g_szDriveNumSpace or g_szDriveNumBNSpace are out of position"
436%endif
437%endif
438
439
440; Boot Menu information strings
441g_szCapacity: ; db "Capacity : %s",NULL
442 ; db 43h, 61h, 70h, 61h, 63h, 69h, 74h, 79h, 20h, 3ah, 20h, 25h, 73h, 00h ; uncompressed
443 db 49h, 67h, 76h, 67h, 69h, 6fh, 7ah, 0ffh, 0c0h, 1dh ; compressed
444
445g_szCapacityNum: ; db "%5-u.%u %ciB",NULL
446 ; db 25h, 35h, 2dh, 75h, 2eh, 25h, 75h, 20h, 25h, 63h, 69h, 42h, 00h ; uncompressed
447 db 36h, 29h, 35h, 20h, 3ch, 6fh, 88h ; compressed
448
449g_szInformation: ; db "%s",LF,CR
450 ; db 25h, 73h, 0ah, 0dh ; uncompressed
451 db 3dh, 39h ; compressed
452
453 ; db "Addr. ",SINGLE_VERTICAL,"Block",SINGLE_VERTICAL,"Bus",SINGLE_VERTICAL,"IRQ",SINGLE_VERTICAL,"Reset",LF,CR
454 ; db 41h, 64h, 64h, 72h, 2eh, 20h, 0b3h, 42h, 6ch, 6fh, 63h, 6bh, 0b3h, 42h, 75h, 73h, 0b3h, 49h, 52h, 51h, 0b3h, 52h, 65h, 73h, 65h, 74h, 0ah, 0dh ; uncompressed
455 db 47h, 6ah, 6ah, 78h, 29h, 20h, 23h, 48h, 72h, 75h, 69h, 71h, 23h, 48h, 7bh, 79h, 23h, 4fh, 58h, 57h, 23h, 58h, 6bh, 79h, 6bh, 7ah, 39h ; compressed
456
457 ; db "%s",SINGLE_VERTICAL,"%5-u",SINGLE_VERTICAL,"%s",SINGLE_VERTICAL," %2-I",SINGLE_VERTICAL,"%5-x",NULL
458 ; db 25h, 73h, 0b3h, 25h, 35h, 2dh, 75h, 0b3h, 25h, 73h, 0b3h, 20h, 25h, 32h, 2dh, 49h, 0b3h, 25h, 35h, 2dh, 78h, 00h ; uncompressed
459 db 3dh, 23h, 36h, 23h, 3dh, 23h, 20h, 34h, 23h, 18h ; compressed
460
461
462%endif ; MODULE_BOOT_MENU
463
464
465;------------------------------------------------------------------------------------------
466;
467; Tables for StringsCompress.pl
468;
469; Items can be added and removed from this table as needed, with the following rules:
470; * Formats follow the special characters. But other than that, order makes no difference.
471; * Some of the formats require "even" and "odd" numbering. Even tells the code that
472; it is a "number-" format, otherwise it doesn't interpret a number first. The easiest
473; way to maintain this is to move one of the "n/a" items to/from the front of the format
474; list to maintain the even/odd.
475; * Values do not need to remain consistent across versions. This table is only used
476; internally to this file.
477; * There can only be 32 of these (0-31).
478; * Keeping the list short is good - this translates to a table in the compressed version.
479; An error will be reported if a character or format is no longer being used by any
480; strings above.
481; * Please keep items sequential for ease of further editing.
482;
483;$translate{ord(' ')} = 0; [StringsCompress Processed]
484;$translate{172} = 1; # ONE_QUARTER [StringsCompress Processed]
485;$translate{171} = 2; # ONE_HALF [StringsCompress Processed]
486;$translate{179} = 3; # SINGLE_VERTICAL [StringsCompress Processed]
487;$translate{175} = 4; # ANGLE_QUOTE_RIGHT [StringsCompress Processed]
488;$translate{ord('!')} = 5; [StringsCompress Processed]
489;$translate{ord('"')} = 6; [StringsCompress Processed]
490;$translate{ord(',')} = 7; [StringsCompress Processed]
491;$translate{ord('-')} = 8; [StringsCompress Processed]
492;$translate{ord('.')} = 9; [StringsCompress Processed]
493;$translate{ord('/')} = 10; [StringsCompress Processed]
494;$translate{ord('1')} = 11; [StringsCompress Processed]
495;$translate{ord('2')} = 12; [StringsCompress Processed]
496;$translate{ord('3')} = 13; [StringsCompress Processed]
497;$translate{ord('5')} = 14; [StringsCompress Processed]
498;$translate{ord('6')} = 15; [StringsCompress Processed]
499;$translate{ord('8')} = 16; [StringsCompress Processed]
500;$translate{200} = 17; # DOUBLE_BOTTOM_LEFT_CORNER [StringsCompress Processed]
501;$translate{181} = 18; # DOUBLE_LEFT_HORIZONTAL_TO_SINGLE_VERTICAL [StringsCompress Processed]
502;$translate{ord('0')} = 19; [StringsCompress Processed]
503;
504; Formats begin immediately after the last Translated character (they are in the same table)
505;
506;$format_begin = 20; [StringsCompress Processed]
507;
508;$format{"2-I"} = 20; # must be even [StringsCompress Processed]
509;$format{"u"} = 21; # must be odd [StringsCompress Processed]
510;$format{"5-u"} = 22; # must be even [StringsCompress Processed]
511;$format{"x"} = 23; # must be odd [StringsCompress Processed]
512;$format{"5-x"} = 24; # must be even [StringsCompress Processed]
513;$format{"nl"} = 25; # n/a [StringsCompress Processed]
514;$format{"2-u"} = 26; # must be even [StringsCompress Processed]
515;$format{"A"} = 27; # n/a [StringsCompress Processed]
516;$format{"c"} = 28; # n/a [StringsCompress Processed]
517;$format{"s"} = 29; # n/a, normal string from DS [StringsCompress Processed]
518;$format{"z"} = 30; # n/a, boot string from BDA [StringsCompress Processed]
519;
520; NOTE: The last $format cannot exceed 31 (stored in a 5-bit quantity).
521;
522; Starting point for the "normal" range, typically around 0x40 to cover upper and lower case
523; letters. If lower case 'z' is not used, 0x3a can be a good choice as it adds ':' to the
524; front end.
525;
526;$normal_base = 0x3a; [StringsCompress Processed]
527;
528; End of StringsCompress.pl information
529;
530;;; end of input stream
531
532%endif ; STRINGSCOMPRESSED_STRINGS
533
534%ifdef STRINGSCOMPRESSED_TABLES
535
536StringsCompressed_NormalBase equ 58
537
538StringsCompressed_FormatsBegin equ 20
539
540StringsCompressed_TranslatesAndFormats:
541 db 32 ; 0
542 db 172 ; 1
543 db 171 ; 2
544 db 179 ; 3
545 db 175 ; 4
546 db 33 ; 5
547 db 34 ; 6
548 db 44 ; 7
549 db 45 ; 8
550 db 46 ; 9
551 db 47 ; 10
552 db 49 ; 11
553 db 50 ; 12
554 db 51 ; 13
555 db 53 ; 14
556 db 54 ; 15
557 db 56 ; 16
558 db 200 ; 17
559 db 181 ; 18
560 db 48 ; 19
561 db (DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_2_I) ; 20
562 db (DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_u) ; 21
563 db (DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_5_u) ; 22
564 db (DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_x) ; 23
565 db (DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_5_x) ; 24
566 db (DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_nl) ; 25
567 db (DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_2_u) ; 26
568 db (DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_A) ; 27
569 db (DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_c) ; 28
570 db (DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_s) ; 29
571 db (DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_z) ; 30
572
573%ifndef CHECK_FOR_UNUSED_ENTRYPOINTS
574%if DisplayFormatCompressed_BaseFormatOffset < DisplayFormatCompressed_Format_2_I || DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_2_I > 255
575%error "DisplayFormatCompressed_Format_2_I is out of range of DisplayFormatCompressed_BaseFormatOffset"
576%endif
577%if DisplayFormatCompressed_BaseFormatOffset < DisplayFormatCompressed_Format_u || DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_u > 255
578%error "DisplayFormatCompressed_Format_u is out of range of DisplayFormatCompressed_BaseFormatOffset"
579%endif
580%if DisplayFormatCompressed_BaseFormatOffset < DisplayFormatCompressed_Format_5_u || DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_5_u > 255
581%error "DisplayFormatCompressed_Format_5_u is out of range of DisplayFormatCompressed_BaseFormatOffset"
582%endif
583%if DisplayFormatCompressed_BaseFormatOffset < DisplayFormatCompressed_Format_x || DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_x > 255
584%error "DisplayFormatCompressed_Format_x is out of range of DisplayFormatCompressed_BaseFormatOffset"
585%endif
586%if DisplayFormatCompressed_BaseFormatOffset < DisplayFormatCompressed_Format_5_x || DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_5_x > 255
587%error "DisplayFormatCompressed_Format_5_x is out of range of DisplayFormatCompressed_BaseFormatOffset"
588%endif
589%if DisplayFormatCompressed_BaseFormatOffset < DisplayFormatCompressed_Format_nl || DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_nl > 255
590%error "DisplayFormatCompressed_Format_nl is out of range of DisplayFormatCompressed_BaseFormatOffset"
591%endif
592%if DisplayFormatCompressed_BaseFormatOffset < DisplayFormatCompressed_Format_2_u || DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_2_u > 255
593%error "DisplayFormatCompressed_Format_2_u is out of range of DisplayFormatCompressed_BaseFormatOffset"
594%endif
595%if DisplayFormatCompressed_BaseFormatOffset < DisplayFormatCompressed_Format_A || DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_A > 255
596%error "DisplayFormatCompressed_Format_A is out of range of DisplayFormatCompressed_BaseFormatOffset"
597%endif
598%if DisplayFormatCompressed_BaseFormatOffset < DisplayFormatCompressed_Format_c || DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_c > 255
599%error "DisplayFormatCompressed_Format_c is out of range of DisplayFormatCompressed_BaseFormatOffset"
600%endif
601%if DisplayFormatCompressed_BaseFormatOffset < DisplayFormatCompressed_Format_s || DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_s > 255
602%error "DisplayFormatCompressed_Format_s is out of range of DisplayFormatCompressed_BaseFormatOffset"
603%endif
604%if DisplayFormatCompressed_BaseFormatOffset < DisplayFormatCompressed_Format_z || DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_z > 255
605%error "DisplayFormatCompressed_Format_z is out of range of DisplayFormatCompressed_BaseFormatOffset"
606%endif
607%endif
608
609;; translated usage stats
610;; 181:1
611;; 48:2
612;; 172:2
613;; 50:2
614;; 171:2
615;; 45:2
616;; 51:3
617;; 200:1
618;; 34:3
619;; 179:8
620;; 33:1
621;; 53:2
622;; 47:2
623;; 54:2
624;; 46:3
625;; 32:34
626;; 56:9
627;; 175:1
628;; 49:2
629;; 44:1
630;; total translated: 20
631
632;; format usage stats
633;; 5-x:1
634;; s:14
635;; z:2
636;; u:6
637;; 2-u:1
638;; nl:12
639;; 2-I:1
640;; c:13
641;; 5-u:2
642;; x:5
643;; A:4
644;; total format: 11
645
646;; alphabet usage stats
647;; 58,::2
648;; 59,;:
649;; 60,<:
650;; 61,=:
651;; 62,>:
652;; 63,?:
653;; 64,@:1
654;; 65,A:5
655;; 66,B:11
656;; 67,C:3
657;; 68,D:11
658;; 69,E:3
659;; 70,F:3
660;; 71,G:3
661;; 72,H:2
662;; 73,I:1
663;; 74,J:
664;; 75,K:1
665;; 76,L:4
666;; 77,M:7
667;; 78,N:2
668;; 79,O:3
669;; 80,P:1
670;; 81,Q:1
671;; 82,R:7
672;; 83,S:3
673;; 84,T:2
674;; 85,U:2
675;; 86,V:
676;; 87,W:
677;; 88,X:2
678;; 89,Y:
679;; 90,Z:
680;; 91,[:2
681;; 92,\:
682;; 93,]:2
683;; 94,^:
684;; 95,_:
685;; 96,`:
686;; 97,a:7
687;; 98,b:
688;; 99,c:6
689;; 100,d:6
690;; 101,e:15
691;; 102,f:1
692;; 103,g:2
693;; 104,h:
694;; 105,i:9
695;; 106,j:
696;; 107,k:4
697;; 108,l:5
698;; 109,m:2
699;; 110,n:11
700;; 111,o:20
701;; 112,p:3
702;; 113,q:
703;; 114,r:11
704;; 115,s:7
705;; 116,t:15
706;; 117,u:4
707;; 118,v:3
708;; 119,w:1
709;; 120,x:
710;; 121,y:2
711;; alphabet used count: 45
712%endif ; STRINGSCOMPRESSED_TABLES
713
Note: See TracBrowser for help on using the repository browser.