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

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

Changes:

  • Reverted the changes to MenuEvents.inc done in r492 since they broke the F1 key function in XTIDECFG.
  • Added a tail-call optimized variant of the CALL_DISPLAY_LIBRARY macro (JMP_DISPLAY_LIBRARY).
  • Put a block size limit in AH1Eh_ChangeXTCFmodeBasedOnControlRegisterInAL. I think it's needed but if not, it's easy to remove.
  • Other optimizations and fixes.
File size: 29.4 KB
RevLine 
[186]1;;;======================================================================
2;;;
3;;; This file is generated by StringsCompress.pl from source in Strings.asm
[252]4;;; DO NOT EDIT DIRECTLY - See the makefile for how to rebuild this file.
[186]5;;; This file only needs to be rebuilt if Strings.asm is changed.
6;;;
7;;;======================================================================
8
[334]9%ifdef STRINGSCOMPRESSED_STRINGS
10
[186]11; Project name : XTIDE Universal BIOS
12; Description : Strings and equates for BIOS messages.
13
[376]14;
[491]15; XTIDE Universal BIOS and Associated Tools
[376]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.
[491]22;
[376]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.
[491]27; Visit http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
28;
[376]29
[186]30%ifdef MODULE_STRINGS_COMPRESSED_PRECOMPRESS
31%include "Display.inc"
32%endif
33
34; Section containing code
35SECTION .text
36
[334]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
[488]52 db 3dh, 20h, 67h, 0fah, 3dh, 40h, 00h ; compressed
[334]53
[415]54%ifdef MODULE_SERIAL
[491]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
[334]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
[488]65 db 2ah, 35h, 35h, 33h, 13h ; compressed
[334]66
67g_szDetectCOMLarge: ; db "/%u.%uK",NULL ; IDE Master at COM1/19.2K:
68 ; db 2fh, 25h, 75h, 2eh, 25h, 75h, 4bh, 00h ; uncompressed
[488]69 db 2ah, 35h, 29h, 35h, 91h ; compressed
[334]70
[415]71%endif
[334]72g_szDetectEnd:
[491]73g_szDetectPort: ; db "%x",NULL ; IDE Master at 1F0h:
[334]74 ; db 25h, 78h, 00h ; uncompressed
[488]75 db 17h ; compressed
[334]76
77
78%ifndef CHECK_FOR_UNUSED_ENTRYPOINTS
79%if ((g_szDetectEnd-$$) & 0xff00) <> ((g_szDetectStart-$$) & 0xff00)
[491]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"
[334]81%endif
82%endif
83
[415]84
[491]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
[415]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
[488]129 db 48h, 75h, 75h, 7ah, 6fh, 74h, 0edh, 3ch, 24h, 3ch, 19h ; compressed
[415]130
[492]131g_szBootSectorNotFound: ; db "Boot sector " ; String fall through...
[415]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
[488]137 db 74h, 75h, 0fah, 6ch, 75h, 7bh, 74h, 6ah, 19h ; compressed
[415]138
139g_szReadError: ; db "Error %x!",LF,CR,NULL
140 ; db 45h, 72h, 72h, 6fh, 72h, 20h, 25h, 78h, 21h, 0ah, 0dh, 00h ; uncompressed
[488]141 db 4bh, 78h, 78h, 75h, 0f8h, 37h, 25h, 19h ; compressed
[415]142
143
144
145%ifdef MODULE_HOTKEYS
146; Hotkey Bar strings
[492]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
[415]150
[492]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
[415]154
[492]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
[415]159
[492]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
[415]164
[492]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
[415]169
[492]170%endif ; MODULE_SERIAL
171%endif ; MODULE_HOTKEYS
[415]172
[492]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
[415]177
[492]178%endif
[505]179%ifdef MODULE_HOTKEYS OR MODULE_BOOT_MENU
180g_szRomBoot: ; db "Rom%cBoot",NULL ; "RomBoot" or "Rom Boot"
[492]181 ; db 52h, 6fh, 6dh, 25h, 63h, 42h, 6fh, 6fh, 74h, 00h ; uncompressed
182 db 58h, 75h, 73h, 3ch, 48h, 75h, 75h, 0bah ; compressed
[415]183
[492]184%endif
185
186
[415]187%ifdef MODULE_BOOT_MENU
[334]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:
[491]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
[334]198
[491]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
[334]202
[491]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
[334]206
[491]207g_szFddThreeHalf: ; db "3",ONE_HALF,NULL
208 ; db 33h, 0abh, 00h ; uncompressed
209 db 2dh, 02h ; compressed
[334]210
211g_szFddEnd:
[491]212g_szFddFiveQuarter: ; db "5",ONE_QUARTER,NULL
213 ; db 35h, 0ach, 00h ; uncompressed
214 db 2eh, 01h ; compressed
[334]215
216
217%ifndef CHECK_FOR_UNUSED_ENTRYPOINTS
218%if ((g_szFddStart-$$) & 0xff00) <> ((g_szFddEnd-$$) & 0xff00)
[491]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"
[334]220%endif
221%endif
222
[322]223
224g_szAddressingModes:
[421]225g_szNORMAL: ; db "NORMAL",NULL
226 ; db 4eh, 4fh, 52h, 4dh, 41h, 4ch, 00h ; uncompressed
227 db 54h, 55h, 58h, 53h, 47h, 92h ; compressed
[322]228
[421]229g_szLARGE: ; db "LARGE ",NULL
230 ; db 4ch, 41h, 52h, 47h, 45h, 20h, 00h ; uncompressed
231 db 52h, 47h, 58h, 4dh, 4bh, 00h ; compressed
[322]232
[421]233g_szLBA: ; db "LBA ",NULL
234 ; db 4ch, 42h, 41h, 20h, 20h, 20h, 00h ; uncompressed
235 db 52h, 48h, 0c7h, 20h, 00h ; compressed
[322]236
[421]237g_szAddressingModes_Displacement equ (g_szLARGE - g_szAddressingModes)
[322]238;
239; Ensure that addressing modes are correctly spaced in memory
240;
241%ifndef CHECK_FOR_UNUSED_ENTRYPOINTS
[421]242%if g_szNORMAL <> g_szAddressingModes
[322]243%error "g_szAddressingModes Displacement Incorrect 1"
244%endif
[421]245%if g_szLARGE <> g_szNORMAL + g_szAddressingModes_Displacement
[322]246%error "g_szAddressingModes Displacement Incorrect 2"
247%endif
[421]248%if g_szLBA <> g_szLARGE + g_szAddressingModes_Displacement
[322]249%error "g_szAddressingModes Displacement Incorrect 3"
250%endif
251%endif
252
[491]253
[473]254g_szDeviceTypeValues:
[491]255g_szDeviceTypeValues_16bit: ; db " 16",NULL
256 ; db 20h, 31h, 36h, 00h ; uncompressed
257 db 20h, 2bh, 0fh ; compressed
[186]258
[491]259g_szDeviceTypeValues_32bit: ; db " 32",NULL
260 ; db 20h, 33h, 32h, 00h ; uncompressed
261 db 20h, 2dh, 0ch ; compressed
[417]262
[491]263g_szDeviceTypeValues_8bit: ; db " 8",NULL
264 ; db 20h, 20h, 38h, 00h ; uncompressed
265 db 20h, 20h, 10h ; compressed
[486]266
[491]267g_szDeviceTypeValues_XTIDEr1: ; db "D8 ",NULL ; Dual 8-bit
268 ; db 44h, 38h, 20h, 00h ; uncompressed
269 db 4ah, 30h, 00h ; compressed
[186]270
[491]271g_szDeviceTypeValues_XTIDEr2: ; db "X8 ",NULL ; A0<->A3 swapped 8-bit
272 ; db 58h, 38h, 20h, 00h ; uncompressed
273 db 5eh, 30h, 00h ; compressed
[186]274
[491]275g_szDeviceTypeValues_XTCFpio8: ; db "T8 ",NULL ; True 8-bit
276 ; db 54h, 38h, 20h, 00h ; uncompressed
277 db 5ah, 30h, 00h ; compressed
[186]278
[491]279g_szDeviceTypeValues_XTCFdma: ; db "8MA",NULL ; DMA 8-bit
280 ; db 38h, 4dh, 41h, 00h ; uncompressed
281 db 30h, 53h, 87h ; compressed
[186]282
[491]283g_szDeviceTypeValues_XTCFmem: ; db "M8 ",NULL ; Memory Mapped 8-bit
284 ; db 4dh, 38h, 20h, 00h ; uncompressed
285 db 53h, 30h, 00h ; compressed
[186]286
[491]287g_szDeviceTypeValues_JrIde: ; db "M8 ",NULL
288 ; db 4dh, 38h, 20h, 00h ; uncompressed
289 db 53h, 30h, 00h ; compressed
[285]290
[491]291g_szDeviceTypeValues_Serial: ; db "SER",NULL
292 ; db 53h, 45h, 52h, 00h ; uncompressed
293 db 59h, 4bh, 98h ; compressed
[473]294
295
296g_szDeviceTypeValues_Displacement equ (g_szDeviceTypeValues_32bit - g_szDeviceTypeValues)
[186]297;
[473]298; Ensure that device type strings are correctly spaced in memory
[186]299;
[252]300%ifndef CHECK_FOR_UNUSED_ENTRYPOINTS
[473]301%if g_szDeviceTypeValues_16bit <> g_szDeviceTypeValues
302%error "g_szDeviceTypeValues Displacement Incorrect 1"
[186]303%endif
[486]304%if g_szDeviceTypeValues_32bit <> g_szDeviceTypeValues_16bit + g_szDeviceTypeValues_Displacement
[473]305%error "g_szDeviceTypeValues Displacement Incorrect 2"
[186]306%endif
[486]307%if g_szDeviceTypeValues_8bit <> g_szDeviceTypeValues_32bit + g_szDeviceTypeValues_Displacement
308%error "g_szDeviceTypeValues Displacement Incorrect 2"
309%endif
310%if g_szDeviceTypeValues_XTIDEr1 <> g_szDeviceTypeValues_8bit + g_szDeviceTypeValues_Displacement
[473]311%error "g_szDeviceTypeValues Displacement Incorrect 3"
[186]312%endif
[473]313%if g_szDeviceTypeValues_XTIDEr2 <> g_szDeviceTypeValues_XTIDEr1 + g_szDeviceTypeValues_Displacement
314%error "g_szDeviceTypeValues Displacement Incorrect 4"
[186]315%endif
[473]316%if g_szDeviceTypeValues_XTCFpio8 <> g_szDeviceTypeValues_XTIDEr2 + g_szDeviceTypeValues_Displacement
317%error "g_szDeviceTypeValues Displacement Incorrect 5"
[186]318%endif
[473]319%if g_szDeviceTypeValues_XTCFdma <> g_szDeviceTypeValues_XTCFpio8 + g_szDeviceTypeValues_Displacement
320%error "g_szDeviceTypeValues Displacement Incorrect 6"
[194]321%endif
[473]322%if g_szDeviceTypeValues_XTCFmem <> g_szDeviceTypeValues_XTCFdma + g_szDeviceTypeValues_Displacement
323%error "g_szDeviceTypeValues Displacement Incorrect 7"
[194]324%endif
[473]325%if g_szDeviceTypeValues_JrIde <> g_szDeviceTypeValues_XTCFmem + g_szDeviceTypeValues_Displacement
326%error "g_szDeviceTypeValues Displacement Incorrect 8"
[285]327%endif
[473]328%if g_szDeviceTypeValues_Serial <> g_szDeviceTypeValues_JrIde + g_szDeviceTypeValues_Displacement
329%error "g_szDeviceTypeValues Displacement Incorrect 9"
330%endif
331%endif
[186]332
[332]333
[491]334g_szSelectionTimeout: ; db DOUBLE_BOTTOM_LEFT_CORNER,DOUBLE_LEFT_HORIZONTAL_TO_SINGLE_VERTICAL,"%ASelection in %2-u s",NULL
335 ; 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
336 db 31h, 32h, 3bh, 59h, 6bh, 72h, 6bh, 69h, 7ah, 6fh, 75h, 0f4h, 6fh, 0f4h, 3ah, 20h, 0b9h ; compressed
[332]337
338
339
[277]340; Boot Menu information strings
341g_szCapacity: ; db "Capacity : %s",NULL
342 ; db 43h, 61h, 70h, 61h, 63h, 69h, 74h, 79h, 20h, 3ah, 20h, 25h, 73h, 00h ; uncompressed
[488]343 db 49h, 67h, 76h, 67h, 69h, 6fh, 7ah, 0ffh, 0c0h, 1dh ; compressed
[277]344
345g_szCapacityNum: ; db "%5-u.%u %ciB",NULL
346 ; db 25h, 35h, 2dh, 75h, 2eh, 25h, 75h, 20h, 25h, 63h, 69h, 42h, 00h ; uncompressed
[488]347 db 36h, 29h, 35h, 20h, 3ch, 6fh, 88h ; compressed
[277]348
349g_szInformation: ; db "%s",LF,CR
350 ; db 25h, 73h, 0ah, 0dh ; uncompressed
[488]351 db 3dh, 39h ; compressed
[277]352
[491]353 ; db "Addr. ",SINGLE_VERTICAL,"Block",SINGLE_VERTICAL,"Bus",SINGLE_VERTICAL,"IRQ",SINGLE_VERTICAL,"Reset",LF,CR
[421]354 ; 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
[488]355 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
[277]356
[491]357 ; db "%s",SINGLE_VERTICAL,"%5-u",SINGLE_VERTICAL,"%s",SINGLE_VERTICAL," %2-I",SINGLE_VERTICAL,"%5-x",NULL
358 ; db 25h, 73h, 0b3h, 25h, 35h, 2dh, 75h, 0b3h, 25h, 73h, 0b3h, 20h, 25h, 32h, 2dh, 49h, 0b3h, 25h, 35h, 2dh, 78h, 00h ; uncompressed
359 db 3dh, 23h, 36h, 23h, 3dh, 23h, 20h, 34h, 23h, 18h ; compressed
[277]360
361
[415]362
[334]363; Boot Menu menuitem strings
364;
365; The following strings are used by BootMenuPrint_* routines.
366; To support optimizations in that code, these strings must start on the same 256 byte page,
[332]367; which is checked at assembly time below.
368;
[492]369g_szDriveNumSpace: ; db " " ; leading space, used if drive number is less than 0fh
370 ; db 20h ; uncompressed
371 db 20h ; compressed
372
373; must come immediately before g_szDriveNum!
[334]374g_szBootMenuPrintStart:
375g_szDriveNum: ; db "%x %s",NULL
376 ; db 25h, 78h, 20h, 25h, 73h, 00h ; uncompressed
[488]377 db 37h, 20h, 1dh ; compressed
[332]378
[492]379g_szDriveNumBNSpace: ; db " " ; leading space, used if drive number is less than 0fh
380 ; db 20h ; uncompressed
381 db 20h ; compressed
382
383; must come immediately before g_szDriveNumBOOTNFO!
[334]384g_szDriveNumBOOTNFO: ; db "%x %z",NULL
385 ; db 25h, 78h, 20h, 25h, 7ah, 00h ; uncompressed
[488]386 db 37h, 20h, 1eh ; compressed
[332]387
[334]388g_szFloppyDrv: ; db "Floppy Drive %c",NULL
389 ; db 46h, 6ch, 6fh, 70h, 70h, 79h, 20h, 44h, 72h, 69h, 76h, 65h, 20h, 25h, 63h, 00h ; uncompressed
[488]390 db 4ch, 72h, 75h, 76h, 76h, 0ffh, 4ah, 78h, 6fh, 7ch, 0ebh, 1ch ; compressed
[332]391
[334]392g_szBootMenuPrintEnd:
393g_szForeignHD: ; db "Foreign Hard Disk",NULL
394 ; db 46h, 6fh, 72h, 65h, 69h, 67h, 6eh, 20h, 48h, 61h, 72h, 64h, 20h, 44h, 69h, 73h, 6bh, 00h ; uncompressed
395 db 4ch, 75h, 78h, 6bh, 6fh, 6dh, 0f4h, 4eh, 67h, 78h, 0eah, 4ah, 6fh, 79h, 0b1h ; compressed
[332]396
397
398%ifndef CHECK_FOR_UNUSED_ENTRYPOINTS
[334]399%if ((g_szBootMenuPrintStart-$$) & 0xff00) <> ((g_szBootMenuPrintEnd-$$) & 0xff00)
[491]400%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"
[332]401%endif
[492]402%if g_szDriveNumSpace+1 != g_szDriveNum || g_szDriveNumBNSpace+1 != g_szDriveNumBOOTNFO
403%error "g_szDriveNumSpace or g_szDriveNumBNSpace are out of position"
[332]404%endif
[492]405%endif
[332]406
[415]407%endif ; MODULE_BOOT_MENU
408
409
[197]410;------------------------------------------------------------------------------------------
[252]411;
[197]412; Tables for StringsCompress.pl
413;
[488]414; Items can be added and removed from this table as needed, with the following rules:
415; * Formats follow the special characters. But other than that, order makes no difference.
416; * Some of the formats require "even" and "odd" numbering. Even tells the code that
417; it is a "number-" format, otherwise it doesn't interpret a number first. The easiest
418; way to maintain this is to move one of the "n/a" items to/from the front of the format
419; list to maintain the even/odd.
420; * Values do not need to remain consistent across versions. This table is only used
421; internally to this file.
422; * There can only be 32 of these (0-31).
423; * Keeping the list short is good - this translates to a table in the compressed version.
[491]424; An error will be reported if a character or format is no longer being used by any
[488]425; strings above.
426; * Please keep items sequential for ease of further editing.
427;
[197]428;$translate{ord(' ')} = 0; [StringsCompress Processed]
429;$translate{172} = 1; # ONE_QUARTER [StringsCompress Processed]
430;$translate{171} = 2; # ONE_HALF [StringsCompress Processed]
431;$translate{179} = 3; # SINGLE_VERTICAL [StringsCompress Processed]
432;$translate{175} = 4; # ANGLE_QUOTE_RIGHT [StringsCompress Processed]
433;$translate{ord('!')} = 5; [StringsCompress Processed]
434;$translate{ord('"')} = 6; [StringsCompress Processed]
435;$translate{ord(',')} = 7; [StringsCompress Processed]
436;$translate{ord('-')} = 8; [StringsCompress Processed]
437;$translate{ord('.')} = 9; [StringsCompress Processed]
438;$translate{ord('/')} = 10; [StringsCompress Processed]
[252]439;$translate{ord('1')} = 11; [StringsCompress Processed]
[197]440;$translate{ord('2')} = 12; [StringsCompress Processed]
441;$translate{ord('3')} = 13; [StringsCompress Processed]
[488]442;$translate{ord('5')} = 14; [StringsCompress Processed]
443;$translate{ord('6')} = 15; [StringsCompress Processed]
444;$translate{ord('8')} = 16; [StringsCompress Processed]
445;$translate{200} = 17; # DOUBLE_BOTTOM_LEFT_CORNER [StringsCompress Processed]
446;$translate{181} = 18; # DOUBLE_LEFT_HORIZONTAL_TO_SINGLE_VERTICAL [StringsCompress Processed]
447;$translate{ord('0')} = 19; [StringsCompress Processed]
[197]448;
449; Formats begin immediately after the last Translated character (they are in the same table)
450;
[488]451;$format_begin = 20; [StringsCompress Processed]
[197]452;
[488]453;$format{"2-I"} = 20; # must be even [StringsCompress Processed]
454;$format{"u"} = 21; # must be odd [StringsCompress Processed]
455;$format{"5-u"} = 22; # must be even [StringsCompress Processed]
456;$format{"x"} = 23; # must be odd [StringsCompress Processed]
457;$format{"5-x"} = 24; # must be even [StringsCompress Processed]
458;$format{"nl"} = 25; # n/a [StringsCompress Processed]
459;$format{"2-u"} = 26; # must be even [StringsCompress Processed]
460;$format{"A"} = 27; # n/a [StringsCompress Processed]
461;$format{"c"} = 28; # n/a [StringsCompress Processed]
462;$format{"s"} = 29; # n/a, normal string from DS [StringsCompress Processed]
463;$format{"z"} = 30; # n/a, boot string from BDA [StringsCompress Processed]
[197]464;
465; NOTE: The last $format cannot exceed 31 (stored in a 5-bit quantity).
466;
467; Starting point for the "normal" range, typically around 0x40 to cover upper and lower case
[252]468; letters. If lower case 'z' is not used, 0x3a can be a good choice as it adds ':' to the
[197]469; front end.
470;
471;$normal_base = 0x3a; [StringsCompress Processed]
472;
473; End of StringsCompress.pl information
474;
475;;; end of input stream
476
[334]477%endif ; STRINGSCOMPRESSED_STRINGS
478
479%ifdef STRINGSCOMPRESSED_TABLES
480
[189]481StringsCompressed_NormalBase equ 58
482
[488]483StringsCompressed_FormatsBegin equ 20
[189]484
[186]485StringsCompressed_TranslatesAndFormats:
486 db 32 ; 0
487 db 172 ; 1
488 db 171 ; 2
489 db 179 ; 3
490 db 175 ; 4
491 db 33 ; 5
492 db 34 ; 6
493 db 44 ; 7
494 db 45 ; 8
495 db 46 ; 9
496 db 47 ; 10
497 db 49 ; 11
498 db 50 ; 12
499 db 51 ; 13
[488]500 db 53 ; 14
501 db 54 ; 15
502 db 56 ; 16
503 db 200 ; 17
504 db 181 ; 18
505 db 48 ; 19
506 db (DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_2_I) ; 20
507 db (DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_u) ; 21
508 db (DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_5_u) ; 22
509 db (DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_x) ; 23
510 db (DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_5_x) ; 24
511 db (DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_nl) ; 25
512 db (DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_2_u) ; 26
513 db (DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_A) ; 27
514 db (DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_c) ; 28
515 db (DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_s) ; 29
516 db (DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_z) ; 30
[186]517
[194]518%ifndef CHECK_FOR_UNUSED_ENTRYPOINTS
[189]519%if DisplayFormatCompressed_BaseFormatOffset < DisplayFormatCompressed_Format_2_I || DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_2_I > 255
520%error "DisplayFormatCompressed_Format_2_I is out of range of DisplayFormatCompressed_BaseFormatOffset"
521%endif
522%if DisplayFormatCompressed_BaseFormatOffset < DisplayFormatCompressed_Format_u || DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_u > 255
523%error "DisplayFormatCompressed_Format_u is out of range of DisplayFormatCompressed_BaseFormatOffset"
524%endif
525%if DisplayFormatCompressed_BaseFormatOffset < DisplayFormatCompressed_Format_5_u || DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_5_u > 255
526%error "DisplayFormatCompressed_Format_5_u is out of range of DisplayFormatCompressed_BaseFormatOffset"
527%endif
528%if DisplayFormatCompressed_BaseFormatOffset < DisplayFormatCompressed_Format_x || DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_x > 255
529%error "DisplayFormatCompressed_Format_x is out of range of DisplayFormatCompressed_BaseFormatOffset"
530%endif
531%if DisplayFormatCompressed_BaseFormatOffset < DisplayFormatCompressed_Format_5_x || DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_5_x > 255
532%error "DisplayFormatCompressed_Format_5_x is out of range of DisplayFormatCompressed_BaseFormatOffset"
533%endif
534%if DisplayFormatCompressed_BaseFormatOffset < DisplayFormatCompressed_Format_nl || DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_nl > 255
535%error "DisplayFormatCompressed_Format_nl is out of range of DisplayFormatCompressed_BaseFormatOffset"
536%endif
537%if DisplayFormatCompressed_BaseFormatOffset < DisplayFormatCompressed_Format_2_u || DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_2_u > 255
538%error "DisplayFormatCompressed_Format_2_u is out of range of DisplayFormatCompressed_BaseFormatOffset"
539%endif
540%if DisplayFormatCompressed_BaseFormatOffset < DisplayFormatCompressed_Format_A || DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_A > 255
541%error "DisplayFormatCompressed_Format_A is out of range of DisplayFormatCompressed_BaseFormatOffset"
542%endif
[488]543%if DisplayFormatCompressed_BaseFormatOffset < DisplayFormatCompressed_Format_c || DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_c > 255
544%error "DisplayFormatCompressed_Format_c is out of range of DisplayFormatCompressed_BaseFormatOffset"
545%endif
[233]546%if DisplayFormatCompressed_BaseFormatOffset < DisplayFormatCompressed_Format_s || DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_s > 255
547%error "DisplayFormatCompressed_Format_s is out of range of DisplayFormatCompressed_BaseFormatOffset"
[194]548%endif
[241]549%if DisplayFormatCompressed_BaseFormatOffset < DisplayFormatCompressed_Format_z || DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_z > 255
550%error "DisplayFormatCompressed_Format_z is out of range of DisplayFormatCompressed_BaseFormatOffset"
[233]551%endif
[241]552%endif
[189]553
554;; translated usage stats
[241]555;; 33:1
[492]556;; 32:34
[241]557;; 181:1
558;; 53:2
559;; 48:2
560;; 200:1
561;; 46:3
562;; 179:8
563;; 44:1
[421]564;; 50:2
[241]565;; 51:3
[252]566;; 47:2
[241]567;; 172:2
568;; 34:3
569;; 49:1
[486]570;; 56:7
[492]571;; 45:2
[241]572;; 175:1
573;; 171:2
574;; 54:1
[488]575;; total translated: 20
[189]576
[186]577;; format usage stats
578;; A:4
579;; 2-u:1
[241]580;; 5-u:2
[392]581;; x:5
[492]582;; s:14
[186]583;; 5-x:1
[489]584;; nl:12
[197]585;; 2-I:1
[488]586;; u:6
[492]587;; c:13
[489]588;; z:2
[241]589;; total format: 11
[186]590
591;; alphabet usage stats
[334]592;; 58,::2
[186]593;; 59,;:
594;; 60,<:
595;; 61,=:
596;; 62,>:
597;; 63,?:
598;; 64,@:1
[473]599;; 65,A:5
[492]600;; 66,B:9
601;; 67,C:3
602;; 68,D:11
[421]603;; 69,E:3
[473]604;; 70,F:3
[421]605;; 71,G:3
606;; 72,H:2
[334]607;; 73,I:1
[186]608;; 74,J:
[233]609;; 75,K:1
[334]610;; 76,L:4
[473]611;; 77,M:7
[421]612;; 78,N:2
613;; 79,O:2
614;; 80,P:1
[186]615;; 81,Q:1
[421]616;; 82,R:7
617;; 83,S:3
[473]618;; 84,T:1
[334]619;; 85,U:2
[186]620;; 86,V:
621;; 87,W:
622;; 88,X:1
623;; 89,Y:
624;; 90,Z:
[392]625;; 91,[:2
[186]626;; 92,\:
[392]627;; 93,]:2
[186]628;; 94,^:
629;; 95,_:
630;; 96,`:
[262]631;; 97,a:7
[186]632;; 98,b:
[492]633;; 99,c:6
[334]634;; 100,d:6
635;; 101,e:15
[392]636;; 102,f:1
[186]637;; 103,g:2
638;; 104,h:
[334]639;; 105,i:9
[186]640;; 106,j:
641;; 107,k:4
[262]642;; 108,l:5
[492]643;; 109,m:2
[392]644;; 110,n:11
[492]645;; 111,o:20
[186]646;; 112,p:3
647;; 113,q:
[392]648;; 114,r:11
[334]649;; 115,s:7
[492]650;; 116,t:15
[392]651;; 117,u:4
[334]652;; 118,v:3
[186]653;; 119,w:1
654;; 120,x:
655;; 121,y:2
[473]656;; alphabet used count: 45
[334]657%endif ; STRINGSCOMPRESSED_TABLES
658
Note: See TracBrowser for help on using the repository browser.