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

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

Changes:

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