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

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

Changes:

  • Added support for the Silicon Valley Computer ADP50L controller (and possibly other IDE controllers from SVC using memory mapped I/O). Please note that this has not been tested in any way since I don't have any of these cards myself (make backups before trying this on drives with important data). Also, *if* it works, make sure it works reliably (stress test the disk system). Some things you should know: 1) Autodetection for this controller has not been added to XTIDECFG, you need to manually select the "SVC ADP50L" controller (and possibly change the BIOS segment address if not using the default of C800h). 2) The memory mapped I/O window is inside the ROM address space of the controller. The XTIDE Universal BIOS currently do not support this so that means you need to use another ROM (for example, an XTIDE or XTCF card or the BOOT ROM of a NIC). This presents another problem, the original ADP50L BIOS needs to be disabled somehow to avoid conflicts. Either pull the ROM chip or disable the BIOS by removing jumper J3. Note, I have no idea if any of this will actually work. It's basically a shot in the dark.
File size: 29.8 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
[526]16; Copyright (C) 2009-2010 by Tomi Tilli, 2011-2013 by XTIDE Universal BIOS Team.
[376]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
[536]291g_szDeviceTypeValues_ADP50L:    ; db    "M8 ",NULL
292                                ; db     4dh,  38h,  20h,  00h    ; uncompressed
293                                  db     53h,  30h,  00h          ; compressed
294
[491]295g_szDeviceTypeValues_Serial:    ; db    "SER",NULL
296                                ; db     53h,  45h,  52h,  00h    ; uncompressed
297                                  db     59h,  4bh,  98h          ; compressed
[473]298
299
300g_szDeviceTypeValues_Displacement equ (g_szDeviceTypeValues_32bit - g_szDeviceTypeValues)
[186]301;
[473]302; Ensure that device type strings are correctly spaced in memory
[186]303;
[252]304%ifndef CHECK_FOR_UNUSED_ENTRYPOINTS
[473]305%if g_szDeviceTypeValues_16bit <> g_szDeviceTypeValues
306%error "g_szDeviceTypeValues Displacement Incorrect 1"
[186]307%endif
[486]308%if g_szDeviceTypeValues_32bit <> g_szDeviceTypeValues_16bit + g_szDeviceTypeValues_Displacement
[473]309%error "g_szDeviceTypeValues Displacement Incorrect 2"
[186]310%endif
[486]311%if g_szDeviceTypeValues_8bit <> g_szDeviceTypeValues_32bit + g_szDeviceTypeValues_Displacement
312%error "g_szDeviceTypeValues Displacement Incorrect 2"
313%endif
314%if g_szDeviceTypeValues_XTIDEr1 <> g_szDeviceTypeValues_8bit + g_szDeviceTypeValues_Displacement
[473]315%error "g_szDeviceTypeValues Displacement Incorrect 3"
[186]316%endif
[473]317%if g_szDeviceTypeValues_XTIDEr2 <> g_szDeviceTypeValues_XTIDEr1 + g_szDeviceTypeValues_Displacement
318%error "g_szDeviceTypeValues Displacement Incorrect 4"
[186]319%endif
[473]320%if g_szDeviceTypeValues_XTCFpio8 <> g_szDeviceTypeValues_XTIDEr2 + g_szDeviceTypeValues_Displacement
321%error "g_szDeviceTypeValues Displacement Incorrect 5"
[186]322%endif
[473]323%if g_szDeviceTypeValues_XTCFdma <> g_szDeviceTypeValues_XTCFpio8 + g_szDeviceTypeValues_Displacement
324%error "g_szDeviceTypeValues Displacement Incorrect 6"
[194]325%endif
[473]326%if g_szDeviceTypeValues_XTCFmem <> g_szDeviceTypeValues_XTCFdma + g_szDeviceTypeValues_Displacement
327%error "g_szDeviceTypeValues Displacement Incorrect 7"
[194]328%endif
[473]329%if g_szDeviceTypeValues_JrIde <> g_szDeviceTypeValues_XTCFmem + g_szDeviceTypeValues_Displacement
330%error "g_szDeviceTypeValues Displacement Incorrect 8"
[285]331%endif
[536]332%if g_szDeviceTypeValues_ADP50L <> g_szDeviceTypeValues_JrIde + g_szDeviceTypeValues_Displacement
[473]333%error "g_szDeviceTypeValues Displacement Incorrect 9"
334%endif
[536]335%if g_szDeviceTypeValues_Serial <> g_szDeviceTypeValues_ADP50L + g_szDeviceTypeValues_Displacement
336%error "g_szDeviceTypeValues Displacement Incorrect 10"
[473]337%endif
[536]338%endif
[186]339
[332]340
[491]341g_szSelectionTimeout:   ; db    DOUBLE_BOTTOM_LEFT_CORNER,DOUBLE_LEFT_HORIZONTAL_TO_SINGLE_VERTICAL,"%ASelection in %2-u s",NULL
342                        ; 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
343                          db     31h,  32h,  3bh,  59h,  6bh,  72h,  6bh,  69h,  7ah,  6fh,  75h, 0f4h,  6fh, 0f4h,  3ah,  20h, 0b9h                                              ; compressed
[332]344
345
346
[334]347; Boot Menu menuitem strings
348;
349; The following strings are used by BootMenuPrint_* routines.
350; To support optimizations in that code, these strings must start on the same 256 byte page,
[332]351; which is checked at assembly time below.
352;
[492]353g_szDriveNumSpace:      ; db    " "                         ; leading space, used if drive number is less than 0fh
354                        ; db     20h    ; uncompressed
355                          db     20h    ; compressed
356
357; must come immediately before g_szDriveNum!
[334]358g_szBootMenuPrintStart:
359g_szDriveNum:           ; db    "%x %s",NULL
360                        ; db     25h,  78h,  20h,  25h,  73h,  00h    ; uncompressed
[488]361                          db     37h,  20h,  1dh                      ; compressed
[332]362
[492]363g_szDriveNumBNSpace:    ; db    " "                         ; leading space, used if drive number is less than 0fh
364                        ; db     20h    ; uncompressed
365                          db     20h    ; compressed
366
367; must come immediately before g_szDriveNumBOOTNFO!
[334]368g_szDriveNumBOOTNFO:    ; db    "%x %z",NULL
369                        ; db     25h,  78h,  20h,  25h,  7ah,  00h    ; uncompressed
[488]370                          db     37h,  20h,  1eh                      ; compressed
[332]371
[334]372g_szFloppyDrv:          ; db    "Floppy Drive %c",NULL
373                        ; db     46h,  6ch,  6fh,  70h,  70h,  79h,  20h,  44h,  72h,  69h,  76h,  65h,  20h,  25h,  63h,  00h    ; uncompressed
[488]374                          db     4ch,  72h,  75h,  76h,  76h, 0ffh,  4ah,  78h,  6fh,  7ch, 0ebh,  1ch                            ; compressed
[332]375
[334]376g_szBootMenuPrintEnd:
377g_szForeignHD:          ; db    "Foreign Hard Disk",NULL
378                        ; db     46h,  6fh,  72h,  65h,  69h,  67h,  6eh,  20h,  48h,  61h,  72h,  64h,  20h,  44h,  69h,  73h,  6bh,  00h    ; uncompressed
379                          db     4ch,  75h,  78h,  6bh,  6fh,  6dh, 0f4h,  4eh,  67h,  78h, 0eah,  4ah,  6fh,  79h, 0b1h                      ; compressed
[332]380
381
382%ifndef CHECK_FOR_UNUSED_ENTRYPOINTS
[334]383%if ((g_szBootMenuPrintStart-$$) & 0xff00) <> ((g_szBootMenuPrintEnd-$$) & 0xff00)
[491]384%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]385%endif
[492]386%if g_szDriveNumSpace+1 != g_szDriveNum || g_szDriveNumBNSpace+1 != g_szDriveNumBOOTNFO
387%error "g_szDriveNumSpace or g_szDriveNumBNSpace are out of position"
[332]388%endif
[492]389%endif
[332]390
[536]391
392; Boot Menu information strings
393g_szCapacity:           ; db    "Capacity : %s",NULL
394                        ; db     43h,  61h,  70h,  61h,  63h,  69h,  74h,  79h,  20h,  3ah,  20h,  25h,  73h,  00h    ; uncompressed
395                          db     49h,  67h,  76h,  67h,  69h,  6fh,  7ah, 0ffh, 0c0h,  1dh                            ; compressed
396
397g_szCapacityNum:        ; db    "%5-u.%u %ciB",NULL
398                        ; db     25h,  35h,  2dh,  75h,  2eh,  25h,  75h,  20h,  25h,  63h,  69h,  42h,  00h    ; uncompressed
399                          db     36h,  29h,  35h,  20h,  3ch,  6fh,  88h                                        ; compressed
400
401g_szInformation:        ; db    "%s",LF,CR
402                        ; db     25h,  73h,  0ah,  0dh    ; uncompressed
403                          db     3dh,  39h                ; compressed
404
405    ; db    "Addr. ",SINGLE_VERTICAL,"Block",SINGLE_VERTICAL,"Bus",SINGLE_VERTICAL,"IRQ",SINGLE_VERTICAL,"Reset",LF,CR
406    ; 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
407      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
408
409    ; db    "%s",SINGLE_VERTICAL,"%5-u",SINGLE_VERTICAL,"%s",SINGLE_VERTICAL," %2-I",SINGLE_VERTICAL,"%5-x",NULL
410    ; db     25h,  73h, 0b3h,  25h,  35h,  2dh,  75h, 0b3h,  25h,  73h, 0b3h,  20h,  25h,  32h,  2dh,  49h, 0b3h,  25h,  35h,  2dh,  78h,  00h    ; uncompressed
411      db     3dh,  23h,  36h,  23h,  3dh,  23h,  20h,  34h,  23h,  18h                                                                            ; compressed
412
413
[415]414%endif ; MODULE_BOOT_MENU
415
416
[197]417;------------------------------------------------------------------------------------------
[252]418;
[197]419; Tables for StringsCompress.pl
420;
[488]421; Items can be added and removed from this table as needed, with the following rules:
422;  * Formats follow the special characters.  But other than that, order makes no difference.
423;  * Some of the formats require "even" and "odd" numbering.  Even tells the code that
424;    it is a "number-" format, otherwise it doesn't interpret a number first.  The easiest
425;    way to maintain this is to move one of the "n/a" items to/from the front of the format
426;    list to maintain the even/odd.
427;  * Values do not need to remain consistent across versions.  This table is only used
428;    internally to this file.
429;  * There can only be 32 of these (0-31).
430;  * Keeping the list short is good - this translates to a table in the compressed version.
[491]431;    An error will be reported if a character or format is no longer being used by any
[488]432;    strings above.
433;  * Please keep items sequential for ease of further editing.
434;
[197]435;$translate{ord(' ')} = 0;    [StringsCompress Processed]
436;$translate{172}      = 1;     # ONE_QUARTER    [StringsCompress Processed]
437;$translate{171}      = 2;     # ONE_HALF    [StringsCompress Processed]
438;$translate{179}      = 3;     # SINGLE_VERTICAL    [StringsCompress Processed]
439;$translate{175}      = 4;     # ANGLE_QUOTE_RIGHT    [StringsCompress Processed]
440;$translate{ord('!')} = 5;    [StringsCompress Processed]
441;$translate{ord('"')} = 6;    [StringsCompress Processed]
442;$translate{ord(',')} = 7;    [StringsCompress Processed]
443;$translate{ord('-')} = 8;    [StringsCompress Processed]
444;$translate{ord('.')} = 9;    [StringsCompress Processed]
445;$translate{ord('/')} = 10;    [StringsCompress Processed]
[252]446;$translate{ord('1')} = 11;    [StringsCompress Processed]
[197]447;$translate{ord('2')} = 12;    [StringsCompress Processed]
448;$translate{ord('3')} = 13;    [StringsCompress Processed]
[488]449;$translate{ord('5')} = 14;    [StringsCompress Processed]
450;$translate{ord('6')} = 15;    [StringsCompress Processed]
451;$translate{ord('8')} = 16;    [StringsCompress Processed]
452;$translate{200}      = 17;    # DOUBLE_BOTTOM_LEFT_CORNER    [StringsCompress Processed]
453;$translate{181}      = 18;    # DOUBLE_LEFT_HORIZONTAL_TO_SINGLE_VERTICAL    [StringsCompress Processed]
454;$translate{ord('0')} = 19;    [StringsCompress Processed]
[197]455;
456; Formats begin immediately after the last Translated character (they are in the same table)
457;
[488]458;$format_begin = 20;    [StringsCompress Processed]
[197]459;
[488]460;$format{"2-I"} = 20;        # must be even    [StringsCompress Processed]
461;$format{"u"}   = 21;        # must be odd    [StringsCompress Processed]
462;$format{"5-u"} = 22;        # must be even    [StringsCompress Processed]
463;$format{"x"}   = 23;        # must be odd    [StringsCompress Processed]
464;$format{"5-x"} = 24;        # must be even    [StringsCompress Processed]
465;$format{"nl"}  = 25;        # n/a    [StringsCompress Processed]
466;$format{"2-u"} = 26;        # must be even    [StringsCompress Processed]
467;$format{"A"}   = 27;        # n/a    [StringsCompress Processed]
468;$format{"c"}   = 28;        # n/a    [StringsCompress Processed]
469;$format{"s"}   = 29;        # n/a, normal string from DS    [StringsCompress Processed]
470;$format{"z"}   = 30;        # n/a, boot string from BDA    [StringsCompress Processed]
[197]471;
472; NOTE: The last $format cannot exceed 31 (stored in a 5-bit quantity).
473;
474; Starting point for the "normal" range, typically around 0x40 to cover upper and lower case
[252]475; letters.  If lower case 'z' is not used, 0x3a can be a good choice as it adds ':' to the
[197]476; front end.
477;
478;$normal_base = 0x3a;    [StringsCompress Processed]
479;
480; End of StringsCompress.pl information
481;
482;;; end of input stream
483
[334]484%endif ; STRINGSCOMPRESSED_STRINGS
485
486%ifdef STRINGSCOMPRESSED_TABLES
487
[189]488StringsCompressed_NormalBase     equ   58
489
[488]490StringsCompressed_FormatsBegin   equ   20
[189]491
[526]492StringsCompressed_TranslatesAndFormats:
[186]493        db     32  ; 0
494        db     172  ; 1
495        db     171  ; 2
496        db     179  ; 3
497        db     175  ; 4
498        db     33  ; 5
499        db     34  ; 6
500        db     44  ; 7
501        db     45  ; 8
502        db     46  ; 9
503        db     47  ; 10
504        db     49  ; 11
505        db     50  ; 12
506        db     51  ; 13
[488]507        db     53  ; 14
508        db     54  ; 15
509        db     56  ; 16
510        db     200  ; 17
511        db     181  ; 18
512        db     48  ; 19
513        db     (DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_2_I)    ; 20
514        db     (DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_u)    ; 21
515        db     (DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_5_u)    ; 22
516        db     (DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_x)    ; 23
517        db     (DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_5_x)    ; 24
518        db     (DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_nl)    ; 25
519        db     (DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_2_u)    ; 26
520        db     (DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_A)    ; 27
521        db     (DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_c)    ; 28
522        db     (DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_s)    ; 29
523        db     (DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_z)    ; 30
[186]524
[194]525%ifndef CHECK_FOR_UNUSED_ENTRYPOINTS
[189]526%if DisplayFormatCompressed_BaseFormatOffset < DisplayFormatCompressed_Format_2_I || DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_2_I > 255
527%error "DisplayFormatCompressed_Format_2_I is out of range of DisplayFormatCompressed_BaseFormatOffset"
528%endif
529%if DisplayFormatCompressed_BaseFormatOffset < DisplayFormatCompressed_Format_u || DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_u > 255
530%error "DisplayFormatCompressed_Format_u is out of range of DisplayFormatCompressed_BaseFormatOffset"
531%endif
532%if DisplayFormatCompressed_BaseFormatOffset < DisplayFormatCompressed_Format_5_u || DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_5_u > 255
533%error "DisplayFormatCompressed_Format_5_u is out of range of DisplayFormatCompressed_BaseFormatOffset"
534%endif
535%if DisplayFormatCompressed_BaseFormatOffset < DisplayFormatCompressed_Format_x || DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_x > 255
536%error "DisplayFormatCompressed_Format_x is out of range of DisplayFormatCompressed_BaseFormatOffset"
537%endif
538%if DisplayFormatCompressed_BaseFormatOffset < DisplayFormatCompressed_Format_5_x || DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_5_x > 255
539%error "DisplayFormatCompressed_Format_5_x is out of range of DisplayFormatCompressed_BaseFormatOffset"
540%endif
541%if DisplayFormatCompressed_BaseFormatOffset < DisplayFormatCompressed_Format_nl || DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_nl > 255
542%error "DisplayFormatCompressed_Format_nl is out of range of DisplayFormatCompressed_BaseFormatOffset"
543%endif
544%if DisplayFormatCompressed_BaseFormatOffset < DisplayFormatCompressed_Format_2_u || DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_2_u > 255
545%error "DisplayFormatCompressed_Format_2_u is out of range of DisplayFormatCompressed_BaseFormatOffset"
546%endif
547%if DisplayFormatCompressed_BaseFormatOffset < DisplayFormatCompressed_Format_A || DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_A > 255
548%error "DisplayFormatCompressed_Format_A is out of range of DisplayFormatCompressed_BaseFormatOffset"
549%endif
[488]550%if DisplayFormatCompressed_BaseFormatOffset < DisplayFormatCompressed_Format_c || DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_c > 255
551%error "DisplayFormatCompressed_Format_c is out of range of DisplayFormatCompressed_BaseFormatOffset"
552%endif
[233]553%if DisplayFormatCompressed_BaseFormatOffset < DisplayFormatCompressed_Format_s || DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_s > 255
554%error "DisplayFormatCompressed_Format_s is out of range of DisplayFormatCompressed_BaseFormatOffset"
[194]555%endif
[241]556%if DisplayFormatCompressed_BaseFormatOffset < DisplayFormatCompressed_Format_z || DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_z > 255
557%error "DisplayFormatCompressed_Format_z is out of range of DisplayFormatCompressed_BaseFormatOffset"
[233]558%endif
[241]559%endif
[189]560
561;; translated usage stats
[241]562;; 33:1
[536]563;; 32:35
[241]564;; 181:1
565;; 53:2
566;; 48:2
567;; 200:1
568;; 46:3
569;; 179:8
570;; 44:1
[421]571;; 50:2
[241]572;; 51:3
[252]573;; 47:2
[241]574;; 172:2
575;; 34:3
576;; 49:1
[536]577;; 56:8
[492]578;; 45:2
[241]579;; 175:1
580;; 171:2
581;; 54:1
[488]582;; total translated: 20
[189]583
[186]584;; format usage stats
585;; A:4
586;; 2-u:1
[241]587;; 5-u:2
[392]588;; x:5
[492]589;; s:14
[186]590;; 5-x:1
[489]591;; nl:12
[197]592;; 2-I:1
[488]593;; u:6
[492]594;; c:13
[489]595;; z:2
[241]596;; total format: 11
[186]597
598;; alphabet usage stats
[334]599;; 58,::2
[186]600;; 59,;:
601;; 60,<:
602;; 61,=:
603;; 62,>:
604;; 63,?:
605;; 64,@:1
[473]606;; 65,A:5
[492]607;; 66,B:9
608;; 67,C:3
609;; 68,D:11
[421]610;; 69,E:3
[473]611;; 70,F:3
[421]612;; 71,G:3
613;; 72,H:2
[334]614;; 73,I:1
[186]615;; 74,J:
[233]616;; 75,K:1
[334]617;; 76,L:4
[536]618;; 77,M:8
[421]619;; 78,N:2
620;; 79,O:2
621;; 80,P:1
[186]622;; 81,Q:1
[421]623;; 82,R:7
624;; 83,S:3
[473]625;; 84,T:1
[334]626;; 85,U:2
[186]627;; 86,V:
628;; 87,W:
629;; 88,X:1
630;; 89,Y:
631;; 90,Z:
[392]632;; 91,[:2
[186]633;; 92,\:
[392]634;; 93,]:2
[186]635;; 94,^:
636;; 95,_:
637;; 96,`:
[262]638;; 97,a:7
[186]639;; 98,b:
[492]640;; 99,c:6
[334]641;; 100,d:6
642;; 101,e:15
[392]643;; 102,f:1
[186]644;; 103,g:2
645;; 104,h:
[334]646;; 105,i:9
[186]647;; 106,j:
648;; 107,k:4
[262]649;; 108,l:5
[492]650;; 109,m:2
[392]651;; 110,n:11
[492]652;; 111,o:20
[186]653;; 112,p:3
654;; 113,q:
[392]655;; 114,r:11
[334]656;; 115,s:7
[492]657;; 116,t:15
[392]658;; 117,u:4
[334]659;; 118,v:3
[186]660;; 119,w:1
661;; 120,x:
662;; 121,y:2
[473]663;; alphabet used count: 45
[334]664%endif ; STRINGSCOMPRESSED_TABLES
665
Note: See TracBrowser for help on using the repository browser.