source: xtideuniversalbios/trunk/XTIDE_Universal_BIOS/Src/Strings.asm@ 237

Last change on this file since 237 was 233, checked in by gregli@…, 13 years ago

Serial Port: split single byte port and baud into two bytes, taking advantage of the two bytes in DPT_SERIAL, which supports more serial baud rates and in particular fixed a bug where a 4x client machine couldn't talk to a 115.2K server machine. This is a wide change, touching lots of files, but most are shallow changes. DetectPrint.asm took the most significant changes, now it calculates the baud rate to display instead of using characters provided by the Configurator. The Configurator now has a new menu flag, FLG_MENUITEM_CHOICESTRINGS, for specifying that values are not linear and they should be lookedup rather than indexed. Finally, another important bug fixed here is that in some error cases, the serial port code could get into an infinite loop waiting ont the hardware; now it has a timeout.

File size: 6.8 KB
RevLine 
[88]1; Project name : XTIDE Universal BIOS
[3]2; Description : Strings and equates for BIOS messages.
3
[186]4%ifdef MODULE_STRINGS_COMPRESSED_PRECOMPRESS
5%include "Display.inc"
6%endif
7
[3]8; Section containing code
9SECTION .text
10
11; POST drive detection strings
[127]12g_szRomAt: db "%s @ %x",LF,CR,NULL
[3]13
[233]14; The following strings are used by DetectPrint_StartDetectWithMasterOrSlaveStringInAXandIdeVarsInCSBP
15; To support an optimization in that code, these strings must start on the same 256 byte page,
16; which is checked at assembly time below.
17;
18g_szDetectStart:
19g_szDetectMaster: db "Master",NULL
20g_szDetectSlave: db "Slave ",NULL
21g_szDetectOuter: db "IDE %s at %s: ",NULL
22g_szDetectPort: db "%x",NULL ; IDE Master at 1F0h:
23g_szDetectCOM: db "COM%c%s",NULL
24g_szDetectCOMAuto: db " Auto",NULL
25g_szDetectCOMSmall: db "/%u%u00",NULL ; IDE Master at COM1/9600:
26g_szDetectEnd:
27g_szDetectCOMLarge: db "/%u.%uK",NULL ; IDE Master at COM1/19.2K:
28
29%ifndef CHECK_FOR_UNUSED_ENTRYPOINTS
30%if ((g_szDetectEnd-$$) & 0xff00) <> ((g_szDetectStart-$$) & 0xff00)
31%error "g_szDetect* strings must be on the same 256 byte page, required by DetectPrint_StartDetectWithMasterOrSlaveStringInAXandIdeVarsInCSBP. Please move this block up or down within strings.asm"
32%endif
33%endif
[196]34
[3]35; Boot loader strings
[143]36g_szTryToBoot: db "Booting from %s %x",ANGLE_QUOTE_RIGHT,"%x",LF,CR,NULL
37g_szBootSectorNotFound: db "Boot sector "
38g_szNotFound: db "not found",LF,CR,NULL
39g_szReadError: db "Error %x!",LF,CR,NULL
[3]40
41; Boot menu bottom of screen strings
[186]42g_szFDD: db "FDD ",NULL
43g_szHDD: db "HDD ",NULL
[92]44g_szRomBoot: db "ROM Boot",NULL
[186]45g_szHotkey: db "%A%c%c%A%s%A ",NULL
[3]46
[92]47
[3]48; Boot Menu menuitem strings
[135]49g_szDriveNum: db "%x ",NULL
[88]50g_szFDLetter: db "%s %c",NULL
[95]51g_szFloppyDrv: db "Floppy Drive",NULL
[88]52g_szforeignHD: db "Foreign Hard Disk",NULL
[3]53
54; Boot Menu information strings
[88]55g_szCapacity: db "Capacity : ",NULL
56g_szSizeSingle: db "%s%u.%u %ciB",NULL
[186]57g_szSizeDual: db "%s%5-u.%u %ciB /%5-u.%u %ciB",LF,CR,NULL
[127]58g_szCfgHeader: db "Addr.",SINGLE_VERTICAL,"Block",SINGLE_VERTICAL,"Bus", SINGLE_VERTICAL,"IRQ", SINGLE_VERTICAL,"Reset",LF,CR,NULL
[184]59g_szCfgFormat: db "%s" ,SINGLE_VERTICAL,"%5-u", SINGLE_VERTICAL,"%s",SINGLE_VERTICAL," %2-I",SINGLE_VERTICAL,"%5-x", NULL
[182]60
61g_szAddressingModes:
[88]62g_szLCHS: db "L-CHS",NULL
63g_szPCHS: db "P-CHS",NULL
64g_szLBA28: db "LBA28",NULL
65g_szLBA48: db "LBA48",NULL
[185]66g_szAddressingModes_Displacement equ (g_szPCHS - g_szAddressingModes)
67;
68; Ensure that addressing modes are correctly spaced in memory
69;
[194]70%ifndef CHECK_FOR_UNUSED_ENTRYPOINTS
[185]71%if g_szLCHS <> g_szAddressingModes
72%error "g_szAddressingModes Displacement Incorrect 1"
73%endif
74%if g_szPCHS <> g_szLCHS + g_szAddressingModes_Displacement
75%error "g_szAddressingModes Displacement Incorrect 2"
76%endif
77%if g_szLBA28 <> g_szPCHS + g_szAddressingModes_Displacement
78%error "g_szAddressingModes Displacement Incorrect 3"
79%endif
80%if g_szLBA48 <> g_szLBA28 + g_szAddressingModes_Displacement
81%error "g_szAddressingModes Displacement Incorrect 4"
[194]82%endif
83%endif
[182]84
[88]85g_szFddUnknown: db "%sUnknown",NULL
[92]86g_szFddSizeOr: db "%s5",ONE_QUARTER,QUOTATION_MARK," or 3",ONE_HALF,QUOTATION_MARK," DD",NULL
[182]87g_szFddSize: db "%s%s",QUOTATION_MARK,", %u kiB",NULL ; 3½", 1440 kiB
88
89g_szFddThreeHalf: db "3",ONE_HALF,NULL
90g_szFddFiveQuarter: db "5",ONE_QUARTER,NULL
[185]91g_szFddThreeFive_Displacement equ (g_szFddFiveQuarter - g_szFddThreeHalf)
[182]92
93g_szBusTypeValues:
94g_szBusTypeValues_8Dual: db "D8 ",NULL
95g_szBusTypeValues_8Reversed: db "X8 ",NULL
96g_szBusTypeValues_8Single: db "S8 ",NULL
97g_szBusTypeValues_16: db " 16",NULL
98g_szBusTypeValues_32: db " 32",NULL
99g_szBusTypeValues_Serial: db "SER",NULL
[185]100g_szBusTypeValues_Displacement equ (g_szBusTypeValues_8Reversed - g_szBusTypeValues)
101;
102; Ensure that bus type strings are correctly spaced in memory
103;
[194]104%ifndef CHECK_FOR_UNUSED_ENTRYPOINTS
[185]105%if g_szBusTypeValues_8Dual <> g_szBusTypeValues
106%error "g_szBusTypeValues Displacement Incorrect 1"
107%endif
108%if g_szBusTypeValues_8Reversed <> g_szBusTypeValues + g_szBusTypeValues_Displacement
109%error "g_szBusTypeValues Displacement Incorrect 2"
110%endif
111%if g_szBusTypeValues_8Single <> g_szBusTypeValues_8Reversed + g_szBusTypeValues_Displacement
112%error "g_szBusTypeValues Displacement Incorrect 3"
113%endif
114%if g_szBusTypeValues_16 <> g_szBusTypeValues_8Single + g_szBusTypeValues_Displacement
115%error "g_szBusTypeValues Displacement Incorrect 4"
116%endif
117%if g_szBusTypeValues_32 <> g_szBusTypeValues_16 + g_szBusTypeValues_Displacement
118%error "g_szBusTypeValues Displacement Incorrect 5"
119%endif
120%if g_szBusTypeValues_Serial <> g_szBusTypeValues_32 + g_szBusTypeValues_Displacement
121%error "g_szBusTypeValues Displacement Incorrect 6"
[194]122%endif
123%endif
[182]124
[186]125g_szSelectionTimeout: db DOUBLE_BOTTOM_LEFT_CORNER,DOUBLE_LEFT_HORIZONTAL_TO_SINGLE_VERTICAL,"%ASelection in %2-u s",NULL
[182]126
[184]127g_szDashForZero: db "- ",NULL
[197]128
129
130;------------------------------------------------------------------------------------------
131;
132; Tables for StringsCompress.pl
133;
134;$translate{ord(' ')} = 0;
135;$translate{172} = 1; # ONE_QUARTER
136;$translate{171} = 2; # ONE_HALF
137;$translate{179} = 3; # SINGLE_VERTICAL
138;$translate{175} = 4; # ANGLE_QUOTE_RIGHT
139;$translate{ord('!')} = 5;
140;$translate{ord('"')} = 6;
141;$translate{ord(',')} = 7;
142;$translate{ord('-')} = 8;
143;$translate{ord('.')} = 9;
144;$translate{ord('/')} = 10;
145;$translate{ord('1')} = 11;
146;$translate{ord('2')} = 12;
147;$translate{ord('3')} = 13;
148;$translate{ord('4')} = 14;
149;$translate{ord('5')} = 15;
150;$translate{ord('6')} = 16;
151;$translate{ord('8')} = 17;
152;$translate{200} = 18; # DOUBLE_BOTTOM_LEFT_CORNER
153;$translate{181} = 19; # DOUBLE_LEFT_HORIZONTAL_TO_SINGLE_VERTICAL
[233]154;$translate{ord('0')} = 20; # DOUBLE_LEFT_HORIZONTAL_TO_SINGLE_VERTICAL
[197]155;
156; Formats begin immediately after the last Translated character (they are in the same table)
157;
[233]158;$format_begin = 21;
[197]159;
160;$format{"c"} = 21; # n/a
161;$format{"2-I"} = 22; # must be even
162;$format{"u"} = 23; # must be odd
163;$format{"5-u"} = 24; # must be even
164;$format{"x"} = 25; # must be odd
165;$format{"5-x"} = 26; # must be even
166;$format{"nl"} = 27; # n/a
167;$format{"2-u"} = 28; # must be even
168;$format{"A"} = 29; # n/a
[233]169;$format{"s"} = 30; # n/a
[197]170;
171; NOTE: The last $format cannot exceed 31 (stored in a 5-bit quantity).
172;
173; Starting point for the "normal" range, typically around 0x40 to cover upper and lower case
174; letters. If lower case 'z' is not used, 0x3a can be a good choice as it adds ':' to the
175; front end.
176;
177;$normal_base = 0x3a;
178;
179; End of StringsCompress.pl information
180;
181;------------------------------------------------------------------------------------------
182
183
184
185
Note: See TracBrowser for help on using the repository browser.