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

Last change on this file since 601 was 601, checked in by krille_n_, 5 years ago

Changes:

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