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

Last change on this file since 491 was 491, checked in by krille_n_@…, 12 years ago

Changes:

  • Added a new define (USE_UNDOC_INTEL) that enables optimizations possible by using undocumented instructions available on all Intel processors and truly compatible clones. AFAIK the only exceptions are the NEC V-series and the Sony CXQ70108 processors so this option should be safe for use on the AT builds.
  • Building BIOSDRVS or the BIOS without MODULE_STRINGS_COMPRESSED would fail due to the recent code exclusions so I changed them a bit. Also fixed the mistaken change to Main.asm
  • Changed the Tandy specific info in Configuration_FullMode.txt so it matches the info in the Wiki.
  • Optimizations and fixes in general.
File size: 28.1 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-2012 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    ; db    "Released under GNU GPL v2",LF,CR
103    ; 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
104      db     58h,  6bh,  72h,  6bh,  67h,  79h,  6bh, 0eah,  7bh,  74h,  6ah,  6bh, 0f8h,  4dh,  54h, 0dbh,  4dh,  56h, 0d2h,  7ch,  2ch,  39h                                  ; compressed
105
106    ; db    LF,CR,NULL
107    ; db     0ah,  0dh,  00h    ; uncompressed
108      db     19h                ; compressed
109
110%ifdef MODULE_BOOT_MENU
111g_szBootMenuTitle:  ; db    "%s%c",LF,CR                        ; -=XTIDE ... =- and null (eaten)
112                    ; db     25h,  73h,  25h,  63h,  0ah,  0dh    ; uncompressed
113                      db     3dh,  3ch,  39h                      ; compressed
114
115    ; db    "%s",NULL                           ; version string
116    ; db     25h,  73h,  00h    ; uncompressed
117      db     1dh                ; compressed
118
119%endif
120g_szDriveName:      ; db    "%z",LF,CR,NULL
121                    ; db     25h,  7ah,  0ah,  0dh,  00h    ; uncompressed
122                      db     3eh,  19h                      ; compressed
123
124
125
126; Boot loader strings
127g_szTryToBoot:          ; db    "Booting %c",ANGLE_QUOTE_RIGHT,"%c",LF,CR,NULL
128                        ; db     42h,  6fh,  6fh,  74h,  69h,  6eh,  67h,  20h,  25h,  63h, 0afh,  25h,  63h,  0ah,  0dh,  00h    ; uncompressed
129                          db     48h,  75h,  75h,  7ah,  6fh,  74h, 0edh,  3ch,  24h,  3ch,  19h                                  ; compressed
130
131g_szBootSectorNotFound: ; db    "Boot sector "
132                        ; db     42h,  6fh,  6fh,  74h,  20h,  73h,  65h,  63h,  74h,  6fh,  72h,  20h    ; uncompressed
133                          db     48h,  75h,  75h, 0fah,  79h,  6bh,  69h,  7ah,  75h, 0f8h                ; compressed
134
135g_szNotFound:           ; db    "not found",LF,CR,NULL
136                        ; db     6eh,  6fh,  74h,  20h,  66h,  6fh,  75h,  6eh,  64h,  0ah,  0dh,  00h    ; uncompressed
137                          db     74h,  75h, 0fah,  6ch,  75h,  7bh,  74h,  6ah,  19h                      ; compressed
138
139g_szReadError:          ; db    "Error %x!",LF,CR,NULL
140                        ; db     45h,  72h,  72h,  6fh,  72h,  20h,  25h,  78h,  21h,  0ah,  0dh,  00h    ; uncompressed
141                          db     4bh,  78h,  78h,  75h, 0f8h,  37h,  25h,  19h                            ; compressed
142
143
144
145%ifdef MODULE_HOTKEYS
146; Hotkey Bar strings
147g_szFDD:        ; db    "FDD [%c]",NULL         ; "FDD [A]"
148                ; db     46h,  44h,  44h,  20h,  5bh,  25h,  63h,  5dh,  00h    ; uncompressed
149                  db     4ch,  4ah, 0cah,  61h,  3ch, 0a3h                      ; compressed
150
151g_szHDD:        ; db    "HDD [%c]",NULL         ; "HDD [C]"
152                ; db     48h,  44h,  44h,  20h,  5bh,  25h,  63h,  5dh,  00h    ; uncompressed
153                  db     4eh,  4ah, 0cah,  61h,  3ch, 0a3h                      ; compressed
154
155g_szBootMenu:   ; db    "%sMnu",NULL            ; "BootMnu"
156                ; db     25h,  73h,  4dh,  6eh,  75h,  00h    ; uncompressed
157                  db     3dh,  53h,  74h, 0bbh                ; compressed
158
159g_szRomBoot:    ; db    "Rom%s",NULL            ; "RomBoot"
160                ; db     52h,  6fh,  6dh,  25h,  73h,  00h    ; uncompressed
161                  db     58h,  75h,  73h,  1dh                ; compressed
162
163g_szBoot:       ; db    "Boot",NULL
164                ; db     42h,  6fh,  6fh,  74h,  00h    ; uncompressed
165                  db     48h,  75h,  75h, 0bah          ; compressed
166
167g_szHotkey:     ; db    "%A%c%c%A%s%A ",NULL    ; "C»HDD [A] ", "F2BootMnu " or "F8RomBoot "
168                ; db     25h,  41h,  25h,  63h,  25h,  63h,  25h,  41h,  25h,  73h,  25h,  41h,  20h,  00h    ; uncompressed
169                  db     3bh,  3ch,  3ch,  3bh,  3dh,  3bh,  00h                                              ; compressed
170
171
172
173%ifdef MODULE_BOOT_MENU
174; Boot Menu Floppy Disk strings
175;
176; The following strings are used by BootMenuPrint_RefreshInformation
177; To support optimizations in that code, these strings must start on the same 256 byte page,
178; which is checked at assembly time below.
179;
180g_szFddStart:
181g_szFddUnknown:     ; db    "Unknown",NULL
182                    ; db     55h,  6eh,  6bh,  6eh,  6fh,  77h,  6eh,  00h    ; uncompressed
183                      db     5bh,  74h,  71h,  74h,  75h,  7dh, 0b4h          ; compressed
184
185g_szFddSizeOr:      ; db    "5",ONE_QUARTER,QUOTATION_MARK," or 3",ONE_HALF,QUOTATION_MARK," DD",NULL
186                    ; db     35h, 0ach,  22h,  20h,  6fh,  72h,  20h,  33h, 0abh,  22h,  20h,  44h,  44h,  00h    ; uncompressed
187                      db     2eh,  21h,  26h,  20h,  75h, 0f8h,  2dh,  22h,  26h,  20h,  4ah,  8ah                ; compressed
188
189g_szFddSize:        ; db    "%s",QUOTATION_MARK,", %u kiB",NULL ; 3½", 1440 kiB
190                    ; db     25h,  73h,  22h,  2ch,  20h,  25h,  75h,  20h,  6bh,  69h,  42h,  00h    ; uncompressed
191                      db     3dh,  26h,  27h,  20h,  35h,  20h,  71h,  6fh,  88h                      ; compressed
192
193g_szFddThreeHalf:   ; db    "3",ONE_HALF,NULL
194                    ; db     33h, 0abh,  00h    ; uncompressed
195                      db     2dh,  02h          ; compressed
196
197g_szFddEnd:
198g_szFddFiveQuarter: ; db    "5",ONE_QUARTER,NULL
199                    ; db     35h, 0ach,  00h    ; uncompressed
200                      db     2eh,  01h          ; compressed
201
202
203%ifndef CHECK_FOR_UNUSED_ENTRYPOINTS
204%if ((g_szFddStart-$$) & 0xff00) <> ((g_szFddEnd-$$) & 0xff00)
205%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"
206%endif
207%endif
208
209
210g_szAddressingModes:
211g_szNORMAL:     ; db    "NORMAL",NULL
212                ; db     4eh,  4fh,  52h,  4dh,  41h,  4ch,  00h    ; uncompressed
213                  db     54h,  55h,  58h,  53h,  47h,  92h          ; compressed
214
215g_szLARGE:      ; db    "LARGE ",NULL
216                ; db     4ch,  41h,  52h,  47h,  45h,  20h,  00h    ; uncompressed
217                  db     52h,  47h,  58h,  4dh,  4bh,  00h          ; compressed
218
219g_szLBA:        ; db    "LBA   ",NULL
220                ; db     4ch,  42h,  41h,  20h,  20h,  20h,  00h    ; uncompressed
221                  db     52h,  48h, 0c7h,  20h,  00h                ; compressed
222
223g_szAddressingModes_Displacement equ (g_szLARGE - g_szAddressingModes)
224;
225; Ensure that addressing modes are correctly spaced in memory
226;
227%ifndef CHECK_FOR_UNUSED_ENTRYPOINTS
228%if g_szNORMAL <> g_szAddressingModes
229%error "g_szAddressingModes Displacement Incorrect 1"
230%endif
231%if g_szLARGE <> g_szNORMAL + g_szAddressingModes_Displacement
232%error "g_szAddressingModes Displacement Incorrect 2"
233%endif
234%if g_szLBA <> g_szLARGE + g_szAddressingModes_Displacement
235%error "g_szAddressingModes Displacement Incorrect 3"
236%endif
237%endif
238
239
240g_szDeviceTypeValues:
241g_szDeviceTypeValues_16bit:     ; db    " 16",NULL
242                                ; db     20h,  31h,  36h,  00h    ; uncompressed
243                                  db     20h,  2bh,  0fh          ; compressed
244
245g_szDeviceTypeValues_32bit:     ; db    " 32",NULL
246                                ; db     20h,  33h,  32h,  00h    ; uncompressed
247                                  db     20h,  2dh,  0ch          ; compressed
248
249g_szDeviceTypeValues_8bit:      ; db    "  8",NULL
250                                ; db     20h,  20h,  38h,  00h    ; uncompressed
251                                  db     20h,  20h,  10h          ; compressed
252
253g_szDeviceTypeValues_XTIDEr1:   ; db    "D8 ",NULL  ; Dual 8-bit
254                                ; db     44h,  38h,  20h,  00h    ; uncompressed
255                                  db     4ah,  30h,  00h          ; compressed
256
257g_szDeviceTypeValues_XTIDEr2:   ; db    "X8 ",NULL  ; A0<->A3 swapped 8-bit
258                                ; db     58h,  38h,  20h,  00h    ; uncompressed
259                                  db     5eh,  30h,  00h          ; compressed
260
261g_szDeviceTypeValues_XTCFpio8:  ; db    "T8 ",NULL  ; True 8-bit
262                                ; db     54h,  38h,  20h,  00h    ; uncompressed
263                                  db     5ah,  30h,  00h          ; compressed
264
265g_szDeviceTypeValues_XTCFdma:   ; db    "8MA",NULL  ; DMA 8-bit
266                                ; db     38h,  4dh,  41h,  00h    ; uncompressed
267                                  db     30h,  53h,  87h          ; compressed
268
269g_szDeviceTypeValues_XTCFmem:   ; db    "M8 ",NULL  ; Memory Mapped 8-bit
270                                ; db     4dh,  38h,  20h,  00h    ; uncompressed
271                                  db     53h,  30h,  00h          ; compressed
272
273g_szDeviceTypeValues_JrIde:     ; db    "M8 ",NULL
274                                ; db     4dh,  38h,  20h,  00h    ; uncompressed
275                                  db     53h,  30h,  00h          ; compressed
276
277g_szDeviceTypeValues_Serial:    ; db    "SER",NULL
278                                ; db     53h,  45h,  52h,  00h    ; uncompressed
279                                  db     59h,  4bh,  98h          ; compressed
280
281
282g_szDeviceTypeValues_Displacement equ (g_szDeviceTypeValues_32bit - g_szDeviceTypeValues)
283;
284; Ensure that device type strings are correctly spaced in memory
285;
286%ifndef CHECK_FOR_UNUSED_ENTRYPOINTS
287%if g_szDeviceTypeValues_16bit <> g_szDeviceTypeValues
288%error "g_szDeviceTypeValues Displacement Incorrect 1"
289%endif
290%if g_szDeviceTypeValues_32bit <> g_szDeviceTypeValues_16bit + g_szDeviceTypeValues_Displacement
291%error "g_szDeviceTypeValues Displacement Incorrect 2"
292%endif
293%if g_szDeviceTypeValues_8bit <> g_szDeviceTypeValues_32bit + g_szDeviceTypeValues_Displacement
294%error "g_szDeviceTypeValues Displacement Incorrect 2"
295%endif
296%if g_szDeviceTypeValues_XTIDEr1 <> g_szDeviceTypeValues_8bit + g_szDeviceTypeValues_Displacement
297%error "g_szDeviceTypeValues Displacement Incorrect 3"
298%endif
299%if g_szDeviceTypeValues_XTIDEr2 <> g_szDeviceTypeValues_XTIDEr1 + g_szDeviceTypeValues_Displacement
300%error "g_szDeviceTypeValues Displacement Incorrect 4"
301%endif
302%if g_szDeviceTypeValues_XTCFpio8 <> g_szDeviceTypeValues_XTIDEr2 + g_szDeviceTypeValues_Displacement
303%error "g_szDeviceTypeValues Displacement Incorrect 5"
304%endif
305%if g_szDeviceTypeValues_XTCFdma <> g_szDeviceTypeValues_XTCFpio8 + g_szDeviceTypeValues_Displacement
306%error "g_szDeviceTypeValues Displacement Incorrect 6"
307%endif
308%if g_szDeviceTypeValues_XTCFmem <> g_szDeviceTypeValues_XTCFdma + g_szDeviceTypeValues_Displacement
309%error "g_szDeviceTypeValues Displacement Incorrect 7"
310%endif
311%if g_szDeviceTypeValues_JrIde <> g_szDeviceTypeValues_XTCFmem + g_szDeviceTypeValues_Displacement
312%error "g_szDeviceTypeValues Displacement Incorrect 8"
313%endif
314%if g_szDeviceTypeValues_Serial <> g_szDeviceTypeValues_JrIde + g_szDeviceTypeValues_Displacement
315%error "g_szDeviceTypeValues Displacement Incorrect 9"
316%endif
317%endif
318
319
320g_szSelectionTimeout:   ; db    DOUBLE_BOTTOM_LEFT_CORNER,DOUBLE_LEFT_HORIZONTAL_TO_SINGLE_VERTICAL,"%ASelection in %2-u s",NULL
321                        ; 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
322                          db     31h,  32h,  3bh,  59h,  6bh,  72h,  6bh,  69h,  7ah,  6fh,  75h, 0f4h,  6fh, 0f4h,  3ah,  20h, 0b9h                                              ; compressed
323
324
325
326; Boot Menu information strings
327g_szCapacity:           ; db    "Capacity : %s",NULL
328                        ; db     43h,  61h,  70h,  61h,  63h,  69h,  74h,  79h,  20h,  3ah,  20h,  25h,  73h,  00h    ; uncompressed
329                          db     49h,  67h,  76h,  67h,  69h,  6fh,  7ah, 0ffh, 0c0h,  1dh                            ; compressed
330
331g_szCapacityNum:        ; db    "%5-u.%u %ciB",NULL
332                        ; db     25h,  35h,  2dh,  75h,  2eh,  25h,  75h,  20h,  25h,  63h,  69h,  42h,  00h    ; uncompressed
333                          db     36h,  29h,  35h,  20h,  3ch,  6fh,  88h                                        ; compressed
334
335g_szInformation:        ; db    "%s",LF,CR
336                        ; db     25h,  73h,  0ah,  0dh    ; uncompressed
337                          db     3dh,  39h                ; compressed
338
339    ; db    "Addr. ",SINGLE_VERTICAL,"Block",SINGLE_VERTICAL,"Bus",SINGLE_VERTICAL,"IRQ",SINGLE_VERTICAL,"Reset",LF,CR
340    ; 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
341      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
342
343    ; db    "%s",SINGLE_VERTICAL,"%5-u",SINGLE_VERTICAL,"%s",SINGLE_VERTICAL," %2-I",SINGLE_VERTICAL,"%5-x",NULL
344    ; db     25h,  73h, 0b3h,  25h,  35h,  2dh,  75h, 0b3h,  25h,  73h, 0b3h,  20h,  25h,  32h,  2dh,  49h, 0b3h,  25h,  35h,  2dh,  78h,  00h    ; uncompressed
345      db     3dh,  23h,  36h,  23h,  3dh,  23h,  20h,  34h,  23h,  18h                                                                            ; compressed
346
347
348
349; Boot Menu menuitem strings
350;
351; The following strings are used by BootMenuPrint_* routines.
352; To support optimizations in that code, these strings must start on the same 256 byte page,
353; which is checked at assembly time below.
354;
355g_szBootMenuPrintStart:
356g_szDriveNum:           ; db    "%x %s",NULL
357                        ; db     25h,  78h,  20h,  25h,  73h,  00h    ; uncompressed
358                          db     37h,  20h,  1dh                      ; compressed
359
360g_szDriveNumBOOTNFO:    ; db    "%x %z",NULL
361                        ; db     25h,  78h,  20h,  25h,  7ah,  00h    ; uncompressed
362                          db     37h,  20h,  1eh                      ; compressed
363
364g_szFloppyDrv:          ; db    "Floppy Drive %c",NULL
365                        ; db     46h,  6ch,  6fh,  70h,  70h,  79h,  20h,  44h,  72h,  69h,  76h,  65h,  20h,  25h,  63h,  00h    ; uncompressed
366                          db     4ch,  72h,  75h,  76h,  76h, 0ffh,  4ah,  78h,  6fh,  7ch, 0ebh,  1ch                            ; compressed
367
368g_szBootMenuPrintEnd:
369g_szForeignHD:          ; db    "Foreign Hard Disk",NULL
370                        ; db     46h,  6fh,  72h,  65h,  69h,  67h,  6eh,  20h,  48h,  61h,  72h,  64h,  20h,  44h,  69h,  73h,  6bh,  00h    ; uncompressed
371                          db     4ch,  75h,  78h,  6bh,  6fh,  6dh, 0f4h,  4eh,  67h,  78h, 0eah,  4ah,  6fh,  79h, 0b1h                      ; compressed
372
373
374%ifndef CHECK_FOR_UNUSED_ENTRYPOINTS
375%if ((g_szBootMenuPrintStart-$$) & 0xff00) <> ((g_szBootMenuPrintEnd-$$) & 0xff00)
376%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"
377%endif
378%endif
379
380%endif ; MODULE_BOOT_MENU
381%endif ; MODULE_HOTKEYS
382
383
384;------------------------------------------------------------------------------------------
385;
386; Tables for StringsCompress.pl
387;
388; Items can be added and removed from this table as needed, with the following rules:
389;  * Formats follow the special characters.  But other than that, order makes no difference.
390;  * Some of the formats require "even" and "odd" numbering.  Even tells the code that
391;    it is a "number-" format, otherwise it doesn't interpret a number first.  The easiest
392;    way to maintain this is to move one of the "n/a" items to/from the front of the format
393;    list to maintain the even/odd.
394;  * Values do not need to remain consistent across versions.  This table is only used
395;    internally to this file.
396;  * There can only be 32 of these (0-31).
397;  * Keeping the list short is good - this translates to a table in the compressed version.
398;    An error will be reported if a character or format is no longer being used by any
399;    strings above.
400;  * Please keep items sequential for ease of further editing.
401;
402;$translate{ord(' ')} = 0;    [StringsCompress Processed]
403;$translate{172}      = 1;     # ONE_QUARTER    [StringsCompress Processed]
404;$translate{171}      = 2;     # ONE_HALF    [StringsCompress Processed]
405;$translate{179}      = 3;     # SINGLE_VERTICAL    [StringsCompress Processed]
406;$translate{175}      = 4;     # ANGLE_QUOTE_RIGHT    [StringsCompress Processed]
407;$translate{ord('!')} = 5;    [StringsCompress Processed]
408;$translate{ord('"')} = 6;    [StringsCompress Processed]
409;$translate{ord(',')} = 7;    [StringsCompress Processed]
410;$translate{ord('-')} = 8;    [StringsCompress Processed]
411;$translate{ord('.')} = 9;    [StringsCompress Processed]
412;$translate{ord('/')} = 10;    [StringsCompress Processed]
413;$translate{ord('1')} = 11;    [StringsCompress Processed]
414;$translate{ord('2')} = 12;    [StringsCompress Processed]
415;$translate{ord('3')} = 13;    [StringsCompress Processed]
416;$translate{ord('5')} = 14;    [StringsCompress Processed]
417;$translate{ord('6')} = 15;    [StringsCompress Processed]
418;$translate{ord('8')} = 16;    [StringsCompress Processed]
419;$translate{200}      = 17;    # DOUBLE_BOTTOM_LEFT_CORNER    [StringsCompress Processed]
420;$translate{181}      = 18;    # DOUBLE_LEFT_HORIZONTAL_TO_SINGLE_VERTICAL    [StringsCompress Processed]
421;$translate{ord('0')} = 19;    [StringsCompress Processed]
422;
423; Formats begin immediately after the last Translated character (they are in the same table)
424;
425;$format_begin = 20;    [StringsCompress Processed]
426;
427;$format{"2-I"} = 20;        # must be even    [StringsCompress Processed]
428;$format{"u"}   = 21;        # must be odd    [StringsCompress Processed]
429;$format{"5-u"} = 22;        # must be even    [StringsCompress Processed]
430;$format{"x"}   = 23;        # must be odd    [StringsCompress Processed]
431;$format{"5-x"} = 24;        # must be even    [StringsCompress Processed]
432;$format{"nl"}  = 25;        # n/a    [StringsCompress Processed]
433;$format{"2-u"} = 26;        # must be even    [StringsCompress Processed]
434;$format{"A"}   = 27;        # n/a    [StringsCompress Processed]
435;$format{"c"}   = 28;        # n/a    [StringsCompress Processed]
436;$format{"s"}   = 29;        # n/a, normal string from DS    [StringsCompress Processed]
437;$format{"z"}   = 30;        # n/a, boot string from BDA    [StringsCompress Processed]
438;
439; NOTE: The last $format cannot exceed 31 (stored in a 5-bit quantity).
440;
441; Starting point for the "normal" range, typically around 0x40 to cover upper and lower case
442; letters.  If lower case 'z' is not used, 0x3a can be a good choice as it adds ':' to the
443; front end.
444;
445;$normal_base = 0x3a;    [StringsCompress Processed]
446;
447; End of StringsCompress.pl information
448;
449;;; end of input stream
450
451%endif ; STRINGSCOMPRESSED_STRINGS
452
453%ifdef STRINGSCOMPRESSED_TABLES
454
455StringsCompressed_NormalBase     equ   58
456
457StringsCompressed_FormatsBegin   equ   20
458
459StringsCompressed_TranslatesAndFormats: 
460        db     32  ; 0
461        db     172  ; 1
462        db     171  ; 2
463        db     179  ; 3
464        db     175  ; 4
465        db     33  ; 5
466        db     34  ; 6
467        db     44  ; 7
468        db     45  ; 8
469        db     46  ; 9
470        db     47  ; 10
471        db     49  ; 11
472        db     50  ; 12
473        db     51  ; 13
474        db     53  ; 14
475        db     54  ; 15
476        db     56  ; 16
477        db     200  ; 17
478        db     181  ; 18
479        db     48  ; 19
480        db     (DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_2_I)    ; 20
481        db     (DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_u)    ; 21
482        db     (DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_5_u)    ; 22
483        db     (DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_x)    ; 23
484        db     (DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_5_x)    ; 24
485        db     (DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_nl)    ; 25
486        db     (DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_2_u)    ; 26
487        db     (DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_A)    ; 27
488        db     (DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_c)    ; 28
489        db     (DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_s)    ; 29
490        db     (DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_z)    ; 30
491
492%ifndef CHECK_FOR_UNUSED_ENTRYPOINTS
493%if DisplayFormatCompressed_BaseFormatOffset < DisplayFormatCompressed_Format_2_I || DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_2_I > 255
494%error "DisplayFormatCompressed_Format_2_I is out of range of DisplayFormatCompressed_BaseFormatOffset"
495%endif
496%if DisplayFormatCompressed_BaseFormatOffset < DisplayFormatCompressed_Format_u || DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_u > 255
497%error "DisplayFormatCompressed_Format_u is out of range of DisplayFormatCompressed_BaseFormatOffset"
498%endif
499%if DisplayFormatCompressed_BaseFormatOffset < DisplayFormatCompressed_Format_5_u || DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_5_u > 255
500%error "DisplayFormatCompressed_Format_5_u is out of range of DisplayFormatCompressed_BaseFormatOffset"
501%endif
502%if DisplayFormatCompressed_BaseFormatOffset < DisplayFormatCompressed_Format_x || DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_x > 255
503%error "DisplayFormatCompressed_Format_x is out of range of DisplayFormatCompressed_BaseFormatOffset"
504%endif
505%if DisplayFormatCompressed_BaseFormatOffset < DisplayFormatCompressed_Format_5_x || DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_5_x > 255
506%error "DisplayFormatCompressed_Format_5_x is out of range of DisplayFormatCompressed_BaseFormatOffset"
507%endif
508%if DisplayFormatCompressed_BaseFormatOffset < DisplayFormatCompressed_Format_nl || DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_nl > 255
509%error "DisplayFormatCompressed_Format_nl is out of range of DisplayFormatCompressed_BaseFormatOffset"
510%endif
511%if DisplayFormatCompressed_BaseFormatOffset < DisplayFormatCompressed_Format_2_u || DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_2_u > 255
512%error "DisplayFormatCompressed_Format_2_u is out of range of DisplayFormatCompressed_BaseFormatOffset"
513%endif
514%if DisplayFormatCompressed_BaseFormatOffset < DisplayFormatCompressed_Format_A || DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_A > 255
515%error "DisplayFormatCompressed_Format_A is out of range of DisplayFormatCompressed_BaseFormatOffset"
516%endif
517%if DisplayFormatCompressed_BaseFormatOffset < DisplayFormatCompressed_Format_c || DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_c > 255
518%error "DisplayFormatCompressed_Format_c is out of range of DisplayFormatCompressed_BaseFormatOffset"
519%endif
520%if DisplayFormatCompressed_BaseFormatOffset < DisplayFormatCompressed_Format_s || DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_s > 255
521%error "DisplayFormatCompressed_Format_s is out of range of DisplayFormatCompressed_BaseFormatOffset"
522%endif
523%if DisplayFormatCompressed_BaseFormatOffset < DisplayFormatCompressed_Format_z || DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_z > 255
524%error "DisplayFormatCompressed_Format_z is out of range of DisplayFormatCompressed_BaseFormatOffset"
525%endif
526%endif
527
528;; translated usage stats
529;; 33:1
530;; 32:29
531;; 181:1
532;; 53:2
533;; 48:2
534;; 200:1
535;; 46:3
536;; 179:8
537;; 44:1
538;; 50:2
539;; 51:3
540;; 47:2
541;; 172:2
542;; 34:3
543;; 49:1
544;; 56:7
545;; 45:1
546;; 175:1
547;; 171:2
548;; 54:1
549;; total translated: 20
550
551;; format usage stats
552;; A:4
553;; 2-u:1
554;; 5-u:2
555;; x:5
556;; s:16
557;; 5-x:1
558;; nl:12
559;; 2-I:1
560;; u:6
561;; c:10
562;; z:2
563;; total format: 11
564
565;; alphabet usage stats
566;; 58,::2
567;; 59,;:
568;; 60,<:
569;; 61,=:
570;; 62,>:
571;; 63,?:
572;; 64,@:1
573;; 65,A:5
574;; 66,B:8
575;; 67,C:2
576;; 68,D:10
577;; 69,E:3
578;; 70,F:3
579;; 71,G:3
580;; 72,H:2
581;; 73,I:1
582;; 74,J:
583;; 75,K:1
584;; 76,L:4
585;; 77,M:7
586;; 78,N:2
587;; 79,O:2
588;; 80,P:1
589;; 81,Q:1
590;; 82,R:7
591;; 83,S:3
592;; 84,T:1
593;; 85,U:2
594;; 86,V:
595;; 87,W:
596;; 88,X:1
597;; 89,Y:
598;; 90,Z:
599;; 91,[:2
600;; 92,\:
601;; 93,]:2
602;; 94,^:
603;; 95,_:
604;; 96,`:
605;; 97,a:7
606;; 98,b:
607;; 99,c:5
608;; 100,d:6
609;; 101,e:15
610;; 102,f:1
611;; 103,g:2
612;; 104,h:
613;; 105,i:9
614;; 106,j:
615;; 107,k:4
616;; 108,l:5
617;; 109,m:1
618;; 110,n:11
619;; 111,o:17
620;; 112,p:3
621;; 113,q:
622;; 114,r:11
623;; 115,s:7
624;; 116,t:12
625;; 117,u:4
626;; 118,v:3
627;; 119,w:1
628;; 120,x:
629;; 121,y:2
630;; alphabet used count: 45
631%endif ; STRINGSCOMPRESSED_TABLES
632
Note: See TracBrowser for help on using the repository browser.