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

Last change on this file since 590 was 589, checked in by Krister Nordvall, 9 years ago

Changes:

  • BIOS: Fixed a purely cosmetic bug from r542 where, in builds containing MODULE_EBIOS, the boot menu would display an incorrect drive size (0.4 kB with MODULE_STRINGS_COMPRESSED or 0.5 kB without) for old drives with no support for LBA.
  • Fixed a bug from r392 where Vision_DetectAndReturnIDinAXandPortInDXifControllerPresent would return the ID in AL instead of AH (if DANGEROUS_DETECTION had been defined).
  • Fixed a bug from r587 in AdvAtaInit.asm that would prevent detection of QDI Vision controllers.
  • Also changed how the QDI Vision IDs are defined (removed the need for shifting) to avoid confusion. This fixed a potential bug from r587 in AdvAtaInit.asm where some IDs were not being shifted.
  • Fixed a bug in PDC20x30.asm from r587 where GetPdcIDtoAX would not return with the IDE base port in DX so DisablePdcProgrammingMode would fail.
  • Made some changes to ModuleDependency.inc and other files so that MODULE_ADVANCED_ATA now requires USE_386. Consequently it is no longer included in the regular AT-builds, only in the 386_8k-build.
  • Moved the UNROLL_SECTORS_IN_CX_TO_xWORDS macros from IDE_8bit.inc to IdeIO.inc which means it's now possible to build a BIOS without MODULE_8BIT_IDE.
  • XTIDECFG: Added a minimum DOS version check (since it needs DOS version 2+) to allow the program to quit gracefully in the unlikely scenario where someone tries to run it under DOS version 1.
  • Made some changes to Drive.asm to improve drive enumeration. The old method using GET_DOS_DRIVE_PARAMETER_BLOCK_FOR_SPECIFIC_DRIVE worked well in Windows XP but not in Windows 98 SE (in Windows or in DOS mode). The two problems were; 1) The function call would access the drives which on single floppy drive systems would cause Windows to swap between A: and B: (throwing a blue screen asking the user to insert a disk etc). 2) Only floppy drives and FAT16 drives would be available in the list of drives, no FAT32/optical/network drives.
  • Improved code in IdeControllerMenu.asm so that the default port addresses for all IDE interfaces are now restored when (re-)selecting the (same) type of IDE device.
  • Also made it impossible to select a device type unless the required module is included in the loaded BIOS.
  • The version check done when loading a BIOS now uses the FLASH_SIGNATURE definition from Version.inc. Any changes affecting RomVars now only requires updating that definition. This means that changes to RomVars must be implemented in both the BIOS and XTIDECFG before being committed to the repository.
  • Added a compatibility fix for 3Com 3C503 cards to the ROM checksumming code in Buffers.asm (Buffers_GenerateChecksum).
  • SerDrive: Made some minor changes to file names and paths to improve compatibility with case sensitive environments.
  • BIOSDRVS: Made a minor size optimization which as a side effect also makes it compatible with all DOS versions including DOS version 1.
  • Library: Renamed the WAIT_RETRACE_IF_NECESSARY_THEN macro to CALL_WAIT_FOR_RETRACE_IF_NECESSARY_THEN and made a tail-call-optimized version of it (JMP_WAIT_FOR_RETRACE_IF_NECESSARY_THEN).
  • A speed optimization to the eRCL_IM macro for 386 and higher. This change breaks emulation in the sense that the macro will fail when given a memory operand as the first parameter.
  • Other minor optimizations and fixes.
File size: 31.0 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
277%ifdef MODULE_8BIT_IDE_ADVANCED OR MODULE_SERIAL
278g_szDeviceTypeValues_XTCFpio8: ; db "T8 ",NULL ; True 8-bit
279 ; db 54h, 38h, 20h, 00h ; uncompressed
280 db 5ah, 30h, 00h ; compressed
281
282g_szDeviceTypeValues_XTCFpio8BIU: ; db "T8B",NULL
283 ; db 54h, 38h, 42h, 00h ; uncompressed
284 db 5ah, 30h, 88h ; compressed
285
286g_szDeviceTypeValues_XTCFpio16BIU: ; db "16B",NULL
287 ; db 31h, 36h, 42h, 00h ; uncompressed
288 db 2bh, 2fh, 88h ; compressed
289
290g_szDeviceTypeValues_XTCFdma: ; db "8MA",NULL ; DMA 8-bit
291 ; db 38h, 4dh, 41h, 00h ; uncompressed
292 db 30h, 53h, 87h ; compressed
293
294g_szDeviceTypeValues_JrIde: ; db "M8 ",NULL ; Memory Mapped 8-bit
295 ; db 4dh, 38h, 20h, 00h ; uncompressed
296 db 53h, 30h, 00h ; compressed
297
298g_szDeviceTypeValues_ADP50L: ; db "M8 ",NULL ; Memory Mapped 8-bit
299 ; db 4dh, 38h, 20h, 00h ; uncompressed
300 db 53h, 30h, 00h ; compressed
301
302%ifdef MODULE_SERIAL
303g_szDeviceTypeValues_Serial: ; db "SER",NULL
304 ; db 53h, 45h, 52h, 00h ; uncompressed
305 db 59h, 4bh, 98h ; compressed
306
307%endif ; MODULE_SERIAL
308%endif ; MODULE_8BIT_IDE_ADVANCED OR MODULE_SERIAL
309%endif ; MODULE_8BIT_IDE OR MODULE_8BIT_IDE_ADVANCED OR MODULE_SERIAL
310%endif ; MODULE_ADVANCED_ATA OR MODULE_8BIT_IDE OR MODULE_8BIT_IDE_ADVANCED OR MODULE_SERIAL
311
312g_szDeviceTypeValues_Displacement equ 3 ; 3 compressed, 4 uncompressed
313;g_szDeviceTypeValues_Displacement equ (g_szDeviceTypeValues_32bit - g_szDeviceTypeValues)
314;
315; Ensure that device type strings are correctly spaced in memory
316;
317%ifndef CHECK_FOR_UNUSED_ENTRYPOINTS
318%if g_szDeviceTypeValues_16bit <> g_szDeviceTypeValues
319%error "g_szDeviceTypeValues Displacement Incorrect 1"
320%endif
321
322%ifdef MODULE_ADVANCED_ATA OR MODULE_8BIT_IDE OR MODULE_8BIT_IDE_ADVANCED OR MODULE_SERIAL
323
324%if g_szDeviceTypeValues_32bit <> g_szDeviceTypeValues_16bit + g_szDeviceTypeValues_Displacement
325%error "g_szDeviceTypeValues Displacement Incorrect 2"
326%endif
327
328%ifdef MODULE_8BIT_IDE OR MODULE_8BIT_IDE_ADVANCED OR MODULE_SERIAL
329
330%if g_szDeviceTypeValues_8bit <> g_szDeviceTypeValues_32bit + g_szDeviceTypeValues_Displacement
331%error "g_szDeviceTypeValues Displacement Incorrect 3"
332%endif
333%if g_szDeviceTypeValues_XTIDEr1 <> g_szDeviceTypeValues_8bit + g_szDeviceTypeValues_Displacement
334%error "g_szDeviceTypeValues Displacement Incorrect 4"
335%endif
336%if g_szDeviceTypeValues_XTIDEr2 <> g_szDeviceTypeValues_XTIDEr1 + g_szDeviceTypeValues_Displacement
337%error "g_szDeviceTypeValues Displacement Incorrect 5"
338%endif
339
340%ifdef MODULE_8BIT_IDE_ADVANCED OR MODULE_SERIAL
341
342%if g_szDeviceTypeValues_XTCFpio8 <> g_szDeviceTypeValues_XTIDEr2 + g_szDeviceTypeValues_Displacement
343%error "g_szDeviceTypeValues Displacement Incorrect 6"
344%endif
345%if g_szDeviceTypeValues_XTCFpio8BIU <> g_szDeviceTypeValues_XTCFpio8 + g_szDeviceTypeValues_Displacement
346%error "g_szDeviceTypeValues Displacement Incorrect 7"
347%endif
348%if g_szDeviceTypeValues_XTCFpio16BIU <> g_szDeviceTypeValues_XTCFpio8BIU + g_szDeviceTypeValues_Displacement
349%error "g_szDeviceTypeValues Displacement Incorrect 8"
350%endif
351%if g_szDeviceTypeValues_XTCFdma <> g_szDeviceTypeValues_XTCFpio16BIU + g_szDeviceTypeValues_Displacement
352%error "g_szDeviceTypeValues Displacement Incorrect 9"
353%endif
354%if g_szDeviceTypeValues_JrIde <> g_szDeviceTypeValues_XTCFdma + g_szDeviceTypeValues_Displacement
355%error "g_szDeviceTypeValues Displacement Incorrect 10"
356%endif
357%if g_szDeviceTypeValues_ADP50L <> g_szDeviceTypeValues_JrIde + g_szDeviceTypeValues_Displacement
358%error "g_szDeviceTypeValues Displacement Incorrect 11"
359%endif
360
361%ifdef MODULE_SERIAL
362
363%if g_szDeviceTypeValues_Serial <> g_szDeviceTypeValues_ADP50L + g_szDeviceTypeValues_Displacement
364%error "g_szDeviceTypeValues Displacement Incorrect 12"
365%endif
366
367%endif ; MODULE_SERIAL
368%endif ; MODULE_8BIT_IDE_ADVANCED OR MODULE_SERIAL
369%endif ; MODULE_8BIT_IDE OR MODULE_8BIT_IDE_ADVANCED OR MODULE_SERIAL
370%endif ; MODULE_ADVANCED_ATA OR MODULE_8BIT_IDE OR MODULE_8BIT_IDE_ADVANCED OR MODULE_SERIAL
371
372%endif
373
374
375g_szSelectionTimeout: ; db DOUBLE_BOTTOM_LEFT_CORNER,DOUBLE_LEFT_HORIZONTAL_TO_SINGLE_VERTICAL,"%ASelection in %2-u s",NULL
376 ; 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
377 db 31h, 32h, 3bh, 59h, 6bh, 72h, 6bh, 69h, 7ah, 6fh, 75h, 0f4h, 6fh, 0f4h, 3ah, 20h, 0b9h ; compressed
378
379
380
381; Boot Menu menuitem strings
382;
383; The following strings are used by BootMenuPrint_* routines.
384; To support optimizations in that code, these strings must start on the same 256 byte page,
385; which is checked at assembly time below.
386;
387g_szDriveNumSpace: ; db " " ; leading space, used if drive number is less than 0fh
388 ; db 20h ; uncompressed
389 db 20h ; compressed
390
391; must come immediately before g_szDriveNum!
392g_szBootMenuPrintStart:
393g_szDriveNum: ; db "%x %s",NULL
394 ; db 25h, 78h, 20h, 25h, 73h, 00h ; uncompressed
395 db 37h, 20h, 1dh ; compressed
396
397g_szDriveNumBNSpace: ; db " " ; leading space, used if drive number is less than 0fh
398 ; db 20h ; uncompressed
399 db 20h ; compressed
400
401; must come immediately before g_szDriveNumBOOTNFO!
402g_szDriveNumBOOTNFO: ; db "%x %z",NULL
403 ; db 25h, 78h, 20h, 25h, 7ah, 00h ; uncompressed
404 db 37h, 20h, 1eh ; compressed
405
406g_szFloppyDrv: ; db "Floppy Drive %c",NULL
407 ; db 46h, 6ch, 6fh, 70h, 70h, 79h, 20h, 44h, 72h, 69h, 76h, 65h, 20h, 25h, 63h, 00h ; uncompressed
408 db 4ch, 72h, 75h, 76h, 76h, 0ffh, 4ah, 78h, 6fh, 7ch, 0ebh, 1ch ; compressed
409
410g_szBootMenuPrintEnd:
411g_szForeignHD: ; db "Foreign Hard Disk",NULL
412 ; db 46h, 6fh, 72h, 65h, 69h, 67h, 6eh, 20h, 48h, 61h, 72h, 64h, 20h, 44h, 69h, 73h, 6bh, 00h ; uncompressed
413 db 4ch, 75h, 78h, 6bh, 6fh, 6dh, 0f4h, 4eh, 67h, 78h, 0eah, 4ah, 6fh, 79h, 0b1h ; compressed
414
415
416%ifndef CHECK_FOR_UNUSED_ENTRYPOINTS
417%if ((g_szBootMenuPrintStart-$$) & 0xff00) <> ((g_szBootMenuPrintEnd-$$) & 0xff00)
418%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"
419%endif
420%if g_szDriveNumSpace+1 != g_szDriveNum || g_szDriveNumBNSpace+1 != g_szDriveNumBOOTNFO
421%error "g_szDriveNumSpace or g_szDriveNumBNSpace are out of position"
422%endif
423%endif
424
425
426; Boot Menu information strings
427g_szCapacity: ; db "Capacity : %s",NULL
428 ; db 43h, 61h, 70h, 61h, 63h, 69h, 74h, 79h, 20h, 3ah, 20h, 25h, 73h, 00h ; uncompressed
429 db 49h, 67h, 76h, 67h, 69h, 6fh, 7ah, 0ffh, 0c0h, 1dh ; compressed
430
431g_szCapacityNum: ; db "%5-u.%u %ciB",NULL
432 ; db 25h, 35h, 2dh, 75h, 2eh, 25h, 75h, 20h, 25h, 63h, 69h, 42h, 00h ; uncompressed
433 db 36h, 29h, 35h, 20h, 3ch, 6fh, 88h ; compressed
434
435g_szInformation: ; db "%s",LF,CR
436 ; db 25h, 73h, 0ah, 0dh ; uncompressed
437 db 3dh, 39h ; compressed
438
439 ; db "Addr. ",SINGLE_VERTICAL,"Block",SINGLE_VERTICAL,"Bus",SINGLE_VERTICAL,"IRQ",SINGLE_VERTICAL,"Reset",LF,CR
440 ; 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
441 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
442
443 ; db "%s",SINGLE_VERTICAL,"%5-u",SINGLE_VERTICAL,"%s",SINGLE_VERTICAL," %2-I",SINGLE_VERTICAL,"%5-x",NULL
444 ; db 25h, 73h, 0b3h, 25h, 35h, 2dh, 75h, 0b3h, 25h, 73h, 0b3h, 20h, 25h, 32h, 2dh, 49h, 0b3h, 25h, 35h, 2dh, 78h, 00h ; uncompressed
445 db 3dh, 23h, 36h, 23h, 3dh, 23h, 20h, 34h, 23h, 18h ; compressed
446
447
448%endif ; MODULE_BOOT_MENU
449
450
451;------------------------------------------------------------------------------------------
452;
453; Tables for StringsCompress.pl
454;
455; Items can be added and removed from this table as needed, with the following rules:
456; * Formats follow the special characters. But other than that, order makes no difference.
457; * Some of the formats require "even" and "odd" numbering. Even tells the code that
458; it is a "number-" format, otherwise it doesn't interpret a number first. The easiest
459; way to maintain this is to move one of the "n/a" items to/from the front of the format
460; list to maintain the even/odd.
461; * Values do not need to remain consistent across versions. This table is only used
462; internally to this file.
463; * There can only be 32 of these (0-31).
464; * Keeping the list short is good - this translates to a table in the compressed version.
465; An error will be reported if a character or format is no longer being used by any
466; strings above.
467; * Please keep items sequential for ease of further editing.
468;
469;$translate{ord(' ')} = 0; [StringsCompress Processed]
470;$translate{172} = 1; # ONE_QUARTER [StringsCompress Processed]
471;$translate{171} = 2; # ONE_HALF [StringsCompress Processed]
472;$translate{179} = 3; # SINGLE_VERTICAL [StringsCompress Processed]
473;$translate{175} = 4; # ANGLE_QUOTE_RIGHT [StringsCompress Processed]
474;$translate{ord('!')} = 5; [StringsCompress Processed]
475;$translate{ord('"')} = 6; [StringsCompress Processed]
476;$translate{ord(',')} = 7; [StringsCompress Processed]
477;$translate{ord('-')} = 8; [StringsCompress Processed]
478;$translate{ord('.')} = 9; [StringsCompress Processed]
479;$translate{ord('/')} = 10; [StringsCompress Processed]
480;$translate{ord('1')} = 11; [StringsCompress Processed]
481;$translate{ord('2')} = 12; [StringsCompress Processed]
482;$translate{ord('3')} = 13; [StringsCompress Processed]
483;$translate{ord('5')} = 14; [StringsCompress Processed]
484;$translate{ord('6')} = 15; [StringsCompress Processed]
485;$translate{ord('8')} = 16; [StringsCompress Processed]
486;$translate{200} = 17; # DOUBLE_BOTTOM_LEFT_CORNER [StringsCompress Processed]
487;$translate{181} = 18; # DOUBLE_LEFT_HORIZONTAL_TO_SINGLE_VERTICAL [StringsCompress Processed]
488;$translate{ord('0')} = 19; [StringsCompress Processed]
489;
490; Formats begin immediately after the last Translated character (they are in the same table)
491;
492;$format_begin = 20; [StringsCompress Processed]
493;
494;$format{"2-I"} = 20; # must be even [StringsCompress Processed]
495;$format{"u"} = 21; # must be odd [StringsCompress Processed]
496;$format{"5-u"} = 22; # must be even [StringsCompress Processed]
497;$format{"x"} = 23; # must be odd [StringsCompress Processed]
498;$format{"5-x"} = 24; # must be even [StringsCompress Processed]
499;$format{"nl"} = 25; # n/a [StringsCompress Processed]
500;$format{"2-u"} = 26; # must be even [StringsCompress Processed]
501;$format{"A"} = 27; # n/a [StringsCompress Processed]
502;$format{"c"} = 28; # n/a [StringsCompress Processed]
503;$format{"s"} = 29; # n/a, normal string from DS [StringsCompress Processed]
504;$format{"z"} = 30; # n/a, boot string from BDA [StringsCompress Processed]
505;
506; NOTE: The last $format cannot exceed 31 (stored in a 5-bit quantity).
507;
508; Starting point for the "normal" range, typically around 0x40 to cover upper and lower case
509; letters. If lower case 'z' is not used, 0x3a can be a good choice as it adds ':' to the
510; front end.
511;
512;$normal_base = 0x3a; [StringsCompress Processed]
513;
514; End of StringsCompress.pl information
515;
516;;; end of input stream
517
518%endif ; STRINGSCOMPRESSED_STRINGS
519
520%ifdef STRINGSCOMPRESSED_TABLES
521
522StringsCompressed_NormalBase equ 58
523
524StringsCompressed_FormatsBegin equ 20
525
526StringsCompressed_TranslatesAndFormats:
527 db 32 ; 0
528 db 172 ; 1
529 db 171 ; 2
530 db 179 ; 3
531 db 175 ; 4
532 db 33 ; 5
533 db 34 ; 6
534 db 44 ; 7
535 db 45 ; 8
536 db 46 ; 9
537 db 47 ; 10
538 db 49 ; 11
539 db 50 ; 12
540 db 51 ; 13
541 db 53 ; 14
542 db 54 ; 15
543 db 56 ; 16
544 db 200 ; 17
545 db 181 ; 18
546 db 48 ; 19
547 db (DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_2_I) ; 20
548 db (DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_u) ; 21
549 db (DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_5_u) ; 22
550 db (DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_x) ; 23
551 db (DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_5_x) ; 24
552 db (DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_nl) ; 25
553 db (DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_2_u) ; 26
554 db (DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_A) ; 27
555 db (DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_c) ; 28
556 db (DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_s) ; 29
557 db (DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_z) ; 30
558
559%ifndef CHECK_FOR_UNUSED_ENTRYPOINTS
560%if DisplayFormatCompressed_BaseFormatOffset < DisplayFormatCompressed_Format_2_I || DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_2_I > 255
561%error "DisplayFormatCompressed_Format_2_I is out of range of DisplayFormatCompressed_BaseFormatOffset"
562%endif
563%if DisplayFormatCompressed_BaseFormatOffset < DisplayFormatCompressed_Format_u || DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_u > 255
564%error "DisplayFormatCompressed_Format_u is out of range of DisplayFormatCompressed_BaseFormatOffset"
565%endif
566%if DisplayFormatCompressed_BaseFormatOffset < DisplayFormatCompressed_Format_5_u || DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_5_u > 255
567%error "DisplayFormatCompressed_Format_5_u is out of range of DisplayFormatCompressed_BaseFormatOffset"
568%endif
569%if DisplayFormatCompressed_BaseFormatOffset < DisplayFormatCompressed_Format_x || DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_x > 255
570%error "DisplayFormatCompressed_Format_x is out of range of DisplayFormatCompressed_BaseFormatOffset"
571%endif
572%if DisplayFormatCompressed_BaseFormatOffset < DisplayFormatCompressed_Format_5_x || DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_5_x > 255
573%error "DisplayFormatCompressed_Format_5_x is out of range of DisplayFormatCompressed_BaseFormatOffset"
574%endif
575%if DisplayFormatCompressed_BaseFormatOffset < DisplayFormatCompressed_Format_nl || DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_nl > 255
576%error "DisplayFormatCompressed_Format_nl is out of range of DisplayFormatCompressed_BaseFormatOffset"
577%endif
578%if DisplayFormatCompressed_BaseFormatOffset < DisplayFormatCompressed_Format_2_u || DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_2_u > 255
579%error "DisplayFormatCompressed_Format_2_u is out of range of DisplayFormatCompressed_BaseFormatOffset"
580%endif
581%if DisplayFormatCompressed_BaseFormatOffset < DisplayFormatCompressed_Format_A || DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_A > 255
582%error "DisplayFormatCompressed_Format_A is out of range of DisplayFormatCompressed_BaseFormatOffset"
583%endif
584%if DisplayFormatCompressed_BaseFormatOffset < DisplayFormatCompressed_Format_c || DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_c > 255
585%error "DisplayFormatCompressed_Format_c is out of range of DisplayFormatCompressed_BaseFormatOffset"
586%endif
587%if DisplayFormatCompressed_BaseFormatOffset < DisplayFormatCompressed_Format_s || DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_s > 255
588%error "DisplayFormatCompressed_Format_s is out of range of DisplayFormatCompressed_BaseFormatOffset"
589%endif
590%if DisplayFormatCompressed_BaseFormatOffset < DisplayFormatCompressed_Format_z || DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_z > 255
591%error "DisplayFormatCompressed_Format_z is out of range of DisplayFormatCompressed_BaseFormatOffset"
592%endif
593%endif
594
595;; translated usage stats
596;; 34:3
597;; 179:8
598;; 46:3
599;; 44:1
600;; 200:1
601;; 48:2
602;; 175:1
603;; 171:2
604;; 51:3
605;; 50:2
606;; 33:1
607;; 53:2
608;; 45:2
609;; 47:2
610;; 172:2
611;; 56:8
612;; 32:34
613;; 181:1
614;; 54:2
615;; 49:2
616;; total translated: 20
617
618;; format usage stats
619;; 5-x:1
620;; 2-u:1
621;; s:14
622;; nl:12
623;; A:4
624;; 5-u:2
625;; x:5
626;; 2-I:1
627;; z:2
628;; u:6
629;; c:13
630;; total format: 11
631
632;; alphabet usage stats
633;; 58,::2
634;; 59,;:
635;; 60,<:
636;; 61,=:
637;; 62,>:
638;; 63,?:
639;; 64,@:1
640;; 65,A:5
641;; 66,B:11
642;; 67,C:3
643;; 68,D:11
644;; 69,E:3
645;; 70,F:3
646;; 71,G:3
647;; 72,H:2
648;; 73,I:1
649;; 74,J:
650;; 75,K:1
651;; 76,L:4
652;; 77,M:7
653;; 78,N:2
654;; 79,O:2
655;; 80,P:1
656;; 81,Q:1
657;; 82,R:7
658;; 83,S:3
659;; 84,T:2
660;; 85,U:2
661;; 86,V:
662;; 87,W:
663;; 88,X:1
664;; 89,Y:
665;; 90,Z:
666;; 91,[:2
667;; 92,\:
668;; 93,]:2
669;; 94,^:
670;; 95,_:
671;; 96,`:
672;; 97,a:7
673;; 98,b:
674;; 99,c:6
675;; 100,d:6
676;; 101,e:15
677;; 102,f:1
678;; 103,g:2
679;; 104,h:
680;; 105,i:9
681;; 106,j:
682;; 107,k:4
683;; 108,l:5
684;; 109,m:2
685;; 110,n:11
686;; 111,o:20
687;; 112,p:3
688;; 113,q:
689;; 114,r:11
690;; 115,s:7
691;; 116,t:15
692;; 117,u:4
693;; 118,v:3
694;; 119,w:1
695;; 120,x:
696;; 121,y:2
697;; alphabet used count: 45
698%endif ; STRINGSCOMPRESSED_TABLES
699
Note: See TracBrowser for help on using the repository browser.