summaryrefslogtreecommitdiff
path: root/v4.0/src/DEV/KEYBOARD/KDFSP.ASM
diff options
context:
space:
mode:
authorGravatar Mark Zbikowski2024-04-25 21:24:10 +0100
committerGravatar Microsoft Open Source2024-04-25 22:32:27 +0000
commit2d04cacc5322951f187bb17e017c12920ac8ebe2 (patch)
tree80ee017efa878dfd5344b44249e6a241f2a7f6e2 /v4.0/src/DEV/KEYBOARD/KDFSP.ASM
parentMerge pull request #430 from jpbaltazar/typoptbr (diff)
downloadms-dos-main.tar.gz
ms-dos-main.tar.xz
ms-dos-main.zip
MZ is back!HEADmain
Diffstat (limited to 'v4.0/src/DEV/KEYBOARD/KDFSP.ASM')
-rw-r--r--v4.0/src/DEV/KEYBOARD/KDFSP.ASM1373
1 files changed, 1373 insertions, 0 deletions
diff --git a/v4.0/src/DEV/KEYBOARD/KDFSP.ASM b/v4.0/src/DEV/KEYBOARD/KDFSP.ASM
new file mode 100644
index 0000000..30955e3
--- /dev/null
+++ b/v4.0/src/DEV/KEYBOARD/KDFSP.ASM
@@ -0,0 +1,1373 @@
1;; LATEST CHANGE ALT & CTL (November)
2;LATEST CHANGE XT "\" third shift (December)
3;;;;********************************************
4;;;;********************************************
5;;;;CONTAINS UPDATES FOR
6;;;; 1) ALT, CTRL CASES
7;;;; 2) DECIMAL SEPERATOR ON NUMERIC PAD
8;;;; 3) STANDALONE DIARESIS VALID ONLY FOR 850
9;;;;CHANGES ARE MARKED ***BD
10;;;;********************************************
11;;;;********************************************
12
13 PAGE ,132
14 TITLE DOS - Keyboard Definition File
15
16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
17;; DOS - - NLS Support - Keyboard Defintion File
18;; (c) Copyright 1988 Microsoft
19;;
20;; This file contains the keyboard tables for Spanish.
21;;
22;; Linkage Instructions:
23;; Refer to KDF.ASM.
24;;
25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
26 ;;
27 INCLUDE KEYBSHAR.INC ;;
28 INCLUDE POSTEQU.INC ;;
29 INCLUDE KEYBMAC.INC ;;
30 ;;
31 PUBLIC SP_LOGIC ;;
32 PUBLIC SP_437_XLAT ;;
33 PUBLIC SP_850_XLAT ;;
34 ;;
35CODE SEGMENT PUBLIC 'CODE' ;;
36 ASSUME CS:CODE,DS:CODE ;;
37 ;;
38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
39;; Standard translate table options are a liner search table
40;; (TYPE_2_TAB) and ASCII entries ONLY (ASCII_ONLY)
41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
42 ;;
43STANDARD_TABLE EQU TYPE_2_TAB+ASCII_ONLY
44 ;;
45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
46;;***************************************
47;; SP State Logic
48;;***************************************
49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
50 ;;
51 ;;
52SP_LOGIC:
53
54 DW LOGIC_END-$ ;; length
55 ;;
56 DW 0 ;; special features
57 ;;
58 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; COMMANDS START HERE
59 ;;
60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
61;; OPTIONS: If we find a scan match in
62;; an XLATT or SET_FLAG operation then
63;; exit from INT 9.
64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
65 ;;
66 OPTION EXIT_IF_FOUND ;;
67 ;;
68 ;;
69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
70;; Dead key definitions must come before
71;; dead key translations to handle
72;; dead key + dead key.
73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
74 ;;
75 IFF EITHER_ALT,NOT ;;
76 ANDF EITHER_CTL,NOT ;;
77 IFF EITHER_SHIFT ;;
78 SET_FLAG DEAD_UPPER ;;
79 ELSEF ;;
80 SET_FLAG DEAD_LOWER ;;
81 ENDIFF ;;
82 ENDIFF ;;
83 ;;
84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
85;; ACUTE ACCENT TRANSLATIONS
86;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
87 ;;
88ACUTE_PROC: ;;
89 ;;
90 IFF ACUTE,NOT ;;
91 GOTO DIARESIS_PROC ;;
92 ENDIFF ;;
93 ;;
94 RESET_NLS ;;
95 IFF R_ALT_SHIFT,NOT ;;
96 XLATT ACUTE_SPACE ;;
97 ENDIFF ;;
98 IFF EITHER_CTL,NOT ;;
99 ANDF EITHER_ALT,NOT ;;
100 IFF EITHER_SHIFT ;;
101 IFF CAPS_STATE ;;
102 XLATT ACUTE_LOWER ;;
103 ELSEF ;;
104 XLATT ACUTE_UPPER ;;
105 ENDIFF ;;
106 ELSEF ;;
107 IFF CAPS_STATE ;;
108 XLATT ACUTE_UPPER ;;
109 ELSEF ;;
110 XLATT ACUTE_LOWER ;;
111 ENDIFF ;;
112 ENDIFF ;;
113 ENDIFF ;;
114 ;;
115INVALID_ACUTE: ;;
116 PUT_ERROR_CHAR ACUTE_LOWER ;; If we get here then either the XLATT
117 BEEP ;; failed or we are ina bad shift state.
118 GOTO NON_DEAD ;; Either is invalid so BEEP and fall
119 ;; through to generate the second char.
120 ;; Note that the dead key flag will be
121 ;; reset before we get here.
122 ;;
123;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
124;; DIARESIS ACCENT TRANSLATIONS
125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
126 ;;
127DIARESIS_PROC: ;;
128 ;;
129 IFF DIARESIS,NOT ;;
130 GOTO GRAVE_PROC ;;
131 ENDIFF ;;
132 ;;
133 RESET_NLS ;;
134 IFF R_ALT_SHIFT,NOT ;;
135 XLATT DIARESIS_SPACE ;; exist for 437 so beep for
136 ENDIFF ;;
137 IFF EITHER_CTL,NOT ;;
138 ANDF EITHER_ALT,NOT ;;
139 IFF EITHER_SHIFT ;;
140 IFF CAPS_STATE ;;
141 XLATT DIARESIS_LOWER ;;
142 ELSEF ;;
143 XLATT DIARESIS_UPPER ;;
144 ENDIFF ;;
145 ELSEF ;;
146 IFF CAPS_STATE ;;
147 XLATT DIARESIS_UPPER ;;
148 ELSEF ;;
149 XLATT DIARESIS_LOWER ;;
150 ENDIFF ;;
151 ENDIFF ;;
152 ENDIFF ;;
153 ;;
154INVALID_DIARESIS: ;;
155 PUT_ERROR_CHAR DIARESIS_LOWER ;; standalone accent
156 BEEP ;; Invalid dead key combo.
157 GOTO NON_DEAD ;;
158 ;;
159;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
160;; GRAVE ACCENT TRANSLATIONS
161;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
162 ;;
163GRAVE_PROC: ;;
164 ;;
165 IFF GRAVE,NOT ;;
166 GOTO CIRCUMFLEX_PROC ;;
167 ENDIFF ;;
168 ;;
169 RESET_NLS ;;
170 IFF R_ALT_SHIFT,NOT ;;
171 XLATT GRAVE_SPACE ;;
172 ENDIFF ;;
173 IFF EITHER_CTL,NOT ;;
174 ANDF EITHER_ALT,NOT ;;
175 IFF EITHER_SHIFT ;;
176 IFF CAPS_STATE ;;
177 XLATT GRAVE_LOWER ;;
178 ELSEF ;;
179 XLATT GRAVE_UPPER ;;
180 ENDIFF ;;
181 ELSEF ;;
182 IFF CAPS_STATE,NOT ;;
183 XLATT GRAVE_LOWER ;;
184 ELSEF ;;
185 XLATT GRAVE_UPPER ;;
186 ENDIFF ;;
187 ENDIFF ;;
188 ENDIFF ;;
189 ;;
190INVALID_GRAVE: ;;
191 PUT_ERROR_CHAR GRAVE_LOWER ;; standalone accent
192 BEEP ;; Invalid dead key combo.
193 GOTO NON_DEAD ;;
194 ;;
195;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
196;; CIRCUMFLEX ACCENT TRANSLATIONS
197;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
198 ;;
199CIRCUMFLEX_PROC: ;;
200 ;;
201 IFF CIRCUMFLEX,NOT ;;
202 GOTO NON_DEAD ;;
203 ENDIFF ;;
204 ;;
205 RESET_NLS ;;
206 IFF R_ALT_SHIFT,NOT ;;
207 XLATT CIRCUMFLEX_SPACE ;;
208 ENDIFF ;;
209 IFF EITHER_CTL,NOT ;;
210 ANDF EITHER_ALT,NOT ;;
211 IFF EITHER_SHIFT ;;
212 IFF CAPS_STATE ;;
213 XLATT CIRCUMFLEX_LOWER ;;
214 ELSEF ;;
215 XLATT CIRCUMFLEX_UPPER ;;
216 ENDIFF ;;
217 ELSEF ;;
218 IFF CAPS_STATE,NOT ;;
219 XLATT CIRCUMFLEX_LOWER ;;
220 ELSEF ;;
221 XLATT CIRCUMFLEX_UPPER ;;
222 ENDIFF ;;
223 ENDIFF ;;
224 ENDIFF ;;
225 ;;
226INVALID_CIRCUMFLEX: ;;
227 PUT_ERROR_CHAR CIRCUMFLEX_LOWER ;; standalone accent
228 BEEP ;; Invalid dead key combo.
229 GOTO NON_DEAD ;;
230 ;;
231;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
232;; Upper, lower and third shifts
233;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
234 ;;
235NON_DEAD: ;;
236 ;;
237 IFKBD G_KB+P12_KB ;; Avoid accidentally translating
238 ANDF LC_E0 ;; the "/" on the numeric pad of the
239 EXIT_STATE_LOGIC ;; G keyboard
240 ENDIFF ;;
241;;***BD ADDED FOR ALT, CTRL CASES ;;
242 IFF EITHER_CTL,NOT ;;
243 IFF ALT_SHIFT ;; ALT - case
244 ANDF R_ALT_SHIFT,NOT ;;
245 XLATT ALT_CASE ;;
246 ENDIFF ;;
247 ELSEF ;;
248 IFF EITHER_ALT,NOT ;; CTRL - case
249 XLATT CTRL_CASE ;;
250 ENDIFF ;;
251 ENDIFF ;;
252;;***BD END OF ADDITION
253 ;;
254 IFF EITHER_ALT,NOT ;; Lower and upper case. Alphabetic
255 ANDF EITHER_CTL,NOT ;; keys are affected by CAPS LOCK.
256 IFF EITHER_SHIFT ;; Numeric keys are not.
257;;***BD ADDED FOR NUMERIC PAD
258 IFF NUM_STATE,NOT ;;
259 XLATT NUMERIC_PAD ;;
260 ENDIFF ;;
261;;***BD END OF ADDITION
262 XLATT NON_ALPHA_UPPER ;;
263 IFF CAPS_STATE ;;
264 XLATT ALPHA_LOWER ;;
265 ELSEF ;;
266 XLATT ALPHA_UPPER ;;
267 ENDIFF ;;
268 ELSEF ;;
269;;***BD ADDED FOR NUMERIC PAD
270 IFF NUM_STATE ;;
271 XLATT NUMERIC_PAD ;;
272 ENDIFF ;;
273;;***BD END OF ADDITION
274 XLATT NON_ALPHA_LOWER ;;
275 IFF CAPS_STATE ;;
276 XLATT ALPHA_UPPER ;;
277 ELSEF ;;
278 XLATT ALPHA_LOWER ;;
279 ENDIFF ;;
280 ENDIFF ;;
281 ELSEF ;;
282 IFF EITHER_SHIFT,NOT ;;
283 IFKBD XT_KB+AT_KB ;;
284 IFF EITHER_CTL ;;
285 ANDF ALT_SHIFT ;;
286 XLATT THIRD_SHIFT ;;
287 ENDIFF ;;
288 ELSEF ;;
289 IFF EITHER_CTL,NOT ;;
290 ANDF R_ALT_SHIFT ;;
291 XLATT THIRD_SHIFT ;;
292 ENDIFF ;;
293 ENDIFF ;;
294 ENDIFF ;;
295 ENDIFF ;;
296 ;;
297 EXIT_STATE_LOGIC ;;
298 ;;
299LOGIC_END: ;;
300 ;;
301 ;;
302;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
303;;***************************************
304;; SP Common Translate Section
305;; This section contains translations for the lower 128 characters
306;; only since these will never change from code page to code page.
307;; In addition the dead key "Set Flag" tables are here since the
308;; dead keys are on the same keytops for all code pages.
309;;***************************************
310;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
311 ;;
312 PUBLIC SP_COMMON_XLAT ;;
313SP_COMMON_XLAT: ;;
314 ;;
315 DW COMMON_XLAT_END-$ ;; length of section
316 DW -1 ;; code page
317 ;;
318 ;;
319;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
320;; CODE PAGE: Common
321;; STATE: Lower Shift Dead Key
322;; KEYBOARD TYPES: G + P12
323;; TABLE TYPE: Flag Table
324;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
325 ;;
326 DW COM_DK_LO_K1_END-$ ;; length of state section
327 DB DEAD_LOWER ;; State ID
328 DW G_KB+P12_KB ;; Keyboard Type
329 DB -1,-1 ;; Buffer entry for error character
330 ;; Set Flag Table
331 DW 2 ;; number of entries
332 DB 26 ;; scan code
333 FLAG GRAVE ;; flag bit to set
334 DB 40 ;;
335 FLAG ACUTE ;;
336 ;;
337 ;;
338COM_DK_LO_K1_END: ;;
339 ;;
340 ;;
341;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
342;; CODE PAGE: Common
343;; STATE: Lower Shift Dead Key
344;; KEYBOARD TYPES: AT + XT +
345;; TABLE TYPE: Flag Table
346;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
347 ;;
348 DW COM_DK_LO_K2_END-$ ;; length of state section
349 DB DEAD_LOWER ;; State ID
350 DW AT_KB+XT_KB ;; Keyboard Type
351 DB -1,-1 ;; Buffer entry for error character
352 ;; Set Flag Table
353 DW 2 ;; number of entries
354 DB 26 ;; scan code
355 FLAG ACUTE ;; flag bit to set
356 DB 27 ;;
357 FLAG GRAVE ;;
358 ;;
359 ;;
360COM_DK_LO_K2_END: ;;
361 ;;
362;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
363;; CODE PAGE: Common
364;; STATE: Upper Shift Dead Key
365;; KEYBOARD TYPES: G + P12
366;; TABLE TYPE: Flag Table
367;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
368 ;;
369 DW COM_DK_UP_K1_END-$ ;; length of state section
370 DB DEAD_UPPER ;; State ID
371 DW G_KB+P12_KB ;; Keyboard Type
372 DB -1,-1 ;; Buffer entry for error character
373 ;; Set Flag Table
374 DW 2 ;; number of entries
375 DB 26 ;; scan code
376 FLAG CIRCUMFLEX ;; flag bit to set
377 DB 40 ;;
378 FLAG DIARESIS ;;
379 ;;
380COM_DK_UP_K1_END: ;;
381 ;;
382;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
383;; CODE PAGE: Common
384;; STATE: Upper Shift Dead Key
385;; KEYBOARD TYPES: AT + XT +
386;; TABLE TYPE: Flag Table
387;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
388 ;;
389 DW COM_DK_UP_END-$ ;; length of state section
390 DB DEAD_UPPER ;; State ID
391 DW AT_KB+XT_KB ;; Keyboard Type
392 DB -1,-1 ;; Buffer entry for error character
393 ;; Set Flag Table
394 DW 2 ;; number of entries
395 DB 26 ;; scan code
396 FLAG DIARESIS ;; flag bit to set
397 DB 27 ;;
398 FLAG CIRCUMFLEX ;;
399 ;;
400COM_DK_UP_END: ;;
401 ;;
402;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
403;; CODE PAGE: Common
404;; STATE: Alpha Lower Case
405;; KEYBOARD TYPES: G + AT + P12
406;; TABLE TYPE: Translate
407;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
408 ;;
409 DW COM_AL_LO_K1_END-$ ;; length of state section
410 DB ALPHA_LOWER ;; State ID
411 DW G_KB+AT_KB+P12_KB ;; Keyboard Type
412 DB -1,-1 ;; Buffer entry for error character
413 ;;
414 DW COM_AL_LO_K1_T1_END-$ ;; Size of xlat table
415 DB STANDARD_TABLE ;; xlat options:
416 DB 2 ;; number of entries
417 DB 39,164 ;; n-tilde
418 DB 43,135 ;; c-cedilla
419COM_AL_LO_K1_T1_END: ;;
420 ;;
421 DW 0 ;; Size of xlat table - null table
422 ;;
423COM_AL_LO_K1_END: ;;
424
425;;******************************
426;;***BD - ADDED FOR NUMERIC PAD (DECIMAL SEPERATOR)
427;;******************************
428;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
429;; CODE PAGE: Common
430;; STATE: Numeric Key Pad
431;; KEYBOARD TYPES: p12 + G
432;; TABLE TYPE: Translate
433;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
434 ;;
435 DW COM_PAD_K1_END-$ ;; length of state section
436 DB NUMERIC_PAD ;; State ID
437 DW G_KB+P12_KB ;; Keyboard Type
438 DB -1,-1 ;; Buffer entry for error character
439 ;;
440 DW COM_PAD_K1_T1_END-$ ;; Size of xlat table
441 DB STANDARD_TABLE ;; xlat options:
442 DB 0 ;; number of entries
443; THIS IS A TEST ENTRY TO SHOW AN EXAMPLE
444; DB 83,44 ;; decimal seperator = ,
445COM_PAD_K1_T1_END: ;;
446 ;;
447 DW 0 ;; Size of xlat table - null table
448 ;;
449COM_PAD_K1_END: ;;
450 ;;
451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
452;; CODE PAGE: Common
453;; STATE: Numeric Key Pad
454;; KEYBOARD TYPES: AT+ XT
455;; TABLE TYPE: Translate
456;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
457;; ;;
458;; DW COM_PAD_K2_END-$ ;; length of state section
459;; DB NUMERIC_PAD ;; State ID
460;; DW AT_KB+XT_KB ;; Keyboard Type
461;; DB -1,-1 ;; Buffer entry for error character
462;; ;;
463;; DW COM_PAD_K2_T2_END-$ ;; Size of xlat table
464;; DB STANDARD_TABLE ;; xlat options:
465;; DB 1 ;; number of entries
466;; DB 74,05eh ;; circumflex carat under the Prtscr key
467;;COM_PAD_K2_T2_END: ;;
468;; ;;
469;; DW 0 ;; Size of xlat table - null table
470;; ;;
471;;COM_PAD_K2_END: ;;
472;; ;;
473;;;;******************************
474;;***BD - ADDED FOR ALT CASE
475;;******************************
476;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
477;; CODE PAGE: Common
478;; STATE: Alt Case
479;; KEYBOARD TYPES: All
480;; TABLE TYPE: Translate
481;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
482 ;;
483 DW COM_ALT_K1_END-$ ;; length of state section
484 DB ALT_CASE ;; State ID
485 DW ANY_KB ;; Keyboard Type
486 DB -1,-1 ;; Buffer entry for error character
487 ;;
488 DW COM_ALT_K1_T1_END-$ ;; Size of xlat table
489 DB TYPE_2_TAB ;; xlat options:
490 DB 0 ;; number of entries
491;;***BD THIS ENTRY IS A TEST ENTRY
492;; DB 53,225,0 ;; TEST ENTRY
493COM_ALT_K1_T1_END: ;;
494 ;;
495 DW 0 ;; Size of xlat table - null table
496 ;;
497COM_ALT_K1_END: ;;
498 ;;
499;;******************************
500;;***BD - ADDED FOR CTRL CASE
501;;******************************
502;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
503;; CODE PAGE: Common
504;; STATE: Ctrl Case
505;; KEYBOARD TYPES: G_KB+P12_KB+AT
506;; TABLE TYPE: Translate
507;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
508 ;;
509 DW COM_CTRL_K1_END-$ ;; length of state section
510 DB CTRL_CASE ;; State ID
511 DW G_KB+P12_KB+AT_KB ;; Keyboard Type
512 DB -1,-1 ;; Buffer entry for error character
513 ;;
514 DW COM_CTRL_K1_T1_END-$ ;; Size of xlat table
515 DB TYPE_2_TAB ;; xlat options:
516 DB 2 ;; number of entries
517;;***BD THIS ENTRY IS A TEST ENTRY
518;; DB 53,226,0 ;; TEST ENTRY
519 DB 43,-1,-1 ;; invalid slash
520 DB 41,28,41 ;; valid slash
521COM_CTRL_K1_T1_END: ;;
522 ;;
523 DW 0 ;; Size of xlat table - null table
524 ;;
525COM_CTRL_K1_END: ;;
526 ;;
527;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
528;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
529;; CODE PAGE: Common
530;; STATE: Ctrl Case
531;; KEYBOARD TYPES: XT_KB
532;; TABLE TYPE: Translate
533;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
534 ;;
535 DW COM_CTRL_K2_END-$ ;; length of state section
536 DB CTRL_CASE ;; State ID
537 DW XT_KB ;; Keyboard Type
538 DB -1,-1 ;; Buffer entry for error character
539 ;;
540 DW COM_CTRL_K2_T2_END-$ ;; Size of xlat table
541 DB TYPE_2_TAB ;; xlat options:
542 DB 1 ;; number of entries
543;;***BD THIS ENTRY IS A TEST ENTRY
544;; DB 53,226,0 ;; TEST ENTRY
545 DB 43,-1,-1 ;; invalid slash
546COM_CTRL_K2_T2_END: ;;
547 ;;
548 DW 0 ;; Size of xlat table - null table
549 ;;
550COM_CTRL_K2_END: ;;
551 ;;
552;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
553;; CODE PAGE: Common
554;; STATE: Alpha Lower Case
555;; KEYBOARD TYPES: XT +
556;; TABLE TYPE: Translate
557;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
558 ;;
559 DW COM_AL_LO_K2_END-$ ;; length of state section
560 DB ALPHA_LOWER ;; State ID
561 DW XT_KB ;; Keyboard Type
562 DB -1,-1 ;; Buffer entry for error character
563 ;;
564 DW COM_AL_LO_K2_T1_END-$ ;; Size of xlat table
565 DB STANDARD_TABLE ;; xlat options:
566 DB 2 ;; number of entries
567 DB 39,164 ;; n-tilde
568 DB 41,135 ;; c-cedilla
569COM_AL_LO_K2_T1_END: ;;
570 ;;
571 DW 0 ;; Size of xlat table - null table
572 ;;
573COM_AL_LO_K2_END: ;;
574 ;;
575;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
576;; CODE PAGE: Common
577;; STATE: Alpha Upper Case
578;; KEYBOARD TYPES: G + AT + P12
579;; TABLE TYPE: Translate
580;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
581 ;;
582 DW COM_AL_UP_K1_END-$ ;; length of state section
583 DB ALPHA_UPPER ;; State ID
584 DW G_KB+AT_KB+P12_KB ;; Keyboard Type
585 DB -1,-1 ;; Buffer entry for error character
586 ;;
587 DW COM_AL_UP_K1_T1_END-$ ;; Size of xlat table
588 DB STANDARD_TABLE ;; xlat options:
589 DB 2 ;; number of entries
590 DB 39,165 ;; N-tilde
591 DB 43,128 ;; C-cedilla
592COM_AL_UP_K1_T1_END: ;;
593 ;;
594 DW 0 ;; Size of xlat table - null table
595 ;;
596COM_AL_UP_K1_END: ;;
597 ;;
598;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
599;; CODE PAGE: Common
600;; STATE: Alpha Upper Case
601;; KEYBOARD TYPES: XT +
602;; TABLE TYPE: Translate
603;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
604 ;;
605 DW COM_AL_UP_K2_END-$ ;; length of state section
606 DB ALPHA_UPPER ;; State ID
607 DW XT_KB ;; Keyboard Type
608 DB -1,-1 ;; Buffer entry for error character
609 ;;
610 DW COM_AL_UP_K2_T1_END-$ ;; Size of xlat table
611 DB STANDARD_TABLE ;; xlat options:
612 DB 2 ;; number of entries
613 DB 39,165 ;; N-tilde
614 DB 41,128 ;; C-cedilla
615COM_AL_UP_K2_T1_END: ;;
616 ;;
617 DW 0 ;; Size of xlat table - null table
618 ;;
619COM_AL_UP_K2_END: ;;
620 ;;
621 ;;
622;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
623;; CODE PAGE: Common
624;; STATE: Non-Alpha Lower Case
625;; KEYBOARD TYPES: G + P12
626;; TABLE TYPE: Translate
627;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
628 ;;
629 DW COM_NA_LO_K1_END-$ ;; length of state section
630 DB NON_ALPHA_LOWER ;; State ID
631 DW G_KB+P12_KB ;; Keyboard Type
632 DB -1,-1 ;; Buffer entry for error character
633 ;;
634 DW COM_NA_LO_K1_T1_END-$ ;; Size of xlat table
635 DB STANDARD_TABLE ;; xlat options:
636 DB 6 ;; number of entries
637 DB 12,"'" ;; '
638 DB 27,'+' ;; +
639 DB 86,'<' ;; <
640 DB 53,'-' ;; -
641 DB 41,167 ;; o-underline
642 DB 13,173 ;; upside-dowm !
643COM_NA_LO_K1_T1_END: ;;
644 ;;
645 DW 0 ;; Size of xlat table - null table
646 ;;
647COM_NA_LO_K1_END: ;;
648 ;;
649 ;;
650;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
651;; CODE PAGE: Common
652;; STATE: Non-Alpha Lower Case
653;; KEYBOARD TYPES: AT
654;; TABLE TYPE: Translate
655;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
656 ;;
657 DW COM_NA_LO_K2_END-$ ;; length of state section
658 DB NON_ALPHA_LOWER ;; State ID
659 DW AT_KB ;; Keyboard Type
660 DB -1,-1 ;; Buffer entry for error character
661 ;;
662 DW COM_NA_LO_K2_T1_END-$ ;; Size of xlat table
663 DB STANDARD_TABLE ;; xlat options:
664 DB 4 ;; number of entries
665 DB 40,';' ;; ;
666 DB 41,'<' ;; <
667 DB 53,"'" ;; quote
668 DB 55,05eh ;; circumflex carat under the Prtscr key
669COM_NA_LO_K2_T1_END: ;;
670 ;;
671 DW 0 ;; Size of xlat table - null table
672 ;;
673COM_NA_LO_K2_END: ;;
674 ;;
675 ;;
676;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
677;; CODE PAGE: Common
678;; STATE: Non-Alpha Lower Case
679;; KEYBOARD TYPES: XT +
680;; TABLE TYPE: Translate
681;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
682 ;;
683 DW COM_NA_LO_K3_END-$ ;; length of state section
684 DB NON_ALPHA_LOWER ;; State ID
685 DW XT_KB ;; Keyboard Type
686 DB -1,-1 ;; Buffer entry for error character
687 ;;
688 DW COM_NA_LO_K3_T1_END-$ ;; Size of xlat table
689 DB STANDARD_TABLE ;; xlat options:
690 DB 4 ;; number of entries
691 DB 40,';' ;; ;
692 DB 43,'<' ;; <
693 DB 53,"'" ;; quote
694 DB 55,05eh ;; circumflex carat under the Prtscr key
695COM_NA_LO_K3_T1_END: ;;
696 ;;
697 DW 0 ;; Size of xlat table - null table
698 ;;
699COM_NA_LO_K3_END: ;;
700 ;;
701;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
702;; CODE PAGE: Common
703;; STATE: Non-Alpha Upper Case
704;; KEYBOARD TYPES: G + P12
705;; TABLE TYPE: Translate
706;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
707 ;;
708 DW COM_NA_UP_K1_END-$ ;; length of state section
709 DB NON_ALPHA_UPPER ;; State ID
710 DW G_KB+P12_KB ;; Keyboard Type
711 DB -1,-1 ;; Buffer entry for error character
712 ;;
713 DW COM_NA_UP_K1_T1_END-$ ;; Size of xlat table
714 DB STANDARD_TABLE ;; xlat options:
715 DB 16 ;; number of entries
716 DB 3,'"' ;;
717 DB 4,250 ;; diacritic
718 DB 7,'&' ;;
719 DB 8,'/' ;;
720 DB 9,'(' ;;
721 DB 10,')' ;;
722 DB 11,'=' ;;
723 DB 12,'?' ;;
724 DB 13,168 ;; upside-dowm ?
725 DB 27,'*' ;;
726 DB 41,166 ;; a-underline
727 DB 86,'>' ;;
728 DB 51,';' ;;
729 DB 52,':' ;;
730 DB 53,'_' ;;
731COM_NA_UP_K1_T1_END: ;;
732 ;;
733 DW 0 ;; Size of xlat table - null table
734 ;;
735COM_NA_UP_K1_END: ;;
736 ;;
737 ;;
738;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
739;; CODE PAGE: Common
740;; STATE: Non-Alpha Upper Case
741;; KEYBOARD TYPES: AT
742;; TABLE TYPE: Translate
743;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
744 ;;
745 DW COM_NA_UP_K2_END-$ ;; length of state section
746 DB NON_ALPHA_UPPER ;; State ID
747 DW AT_KB ;; Keyboard Type
748 DB -1,-1 ;; Buffer entry for error character
749 ;;
750 DW COM_NA_UP_K2_T1_END-$ ;; Size of xlat table
751 DB STANDARD_TABLE ;; xlat options:
752 DB 8 ;; number of entries
753 DB 41,'>' ;;
754 DB 2,0ADH ;; UPSIDE DOWN
755 DB 3,168 ;; UPSIDE DOWN ?
756 DB 7,'/' ;;
757 DB 40,':' ;;
758 DB 51,'?' ;;
759 DB 52,'!' ;;
760 DB 53,'"' ;;
761COM_NA_UP_K2_T1_END: ;;
762 ;;
763 DW 0 ;; Size of xlat table - null table
764 ;;
765COM_NA_UP_K2_END: ;;
766 ;;
767 ;;
768;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
769;; CODE PAGE: Common
770;; STATE: Non-Alpha Upper Case
771;; KEYBOARD TYPES: XT +
772;; TABLE TYPE: Translate
773;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
774 ;;
775 DW COM_NA_UP_K3_END-$ ;; length of state section
776 DB NON_ALPHA_UPPER ;; State ID
777 DW XT_KB ;; Keyboard Type
778 DB -1,-1 ;; Buffer entry for error character
779 ;;
780 DW COM_NA_UP_K3_T1_END-$ ;; Size of xlat table
781 DB STANDARD_TABLE ;; xlat options:
782 DB 8 ;; number of entries
783 DB 43,'>' ;;
784 DB 2,0ADH ;; UPSIDE DOWN
785 DB 3,168 ;; UPSIDE DOWN ?
786 DB 7,'/' ;;
787 DB 40,':' ;;
788 DB 51,'?' ;;
789 DB 52,'!' ;;
790 DB 53,'"' ;;
791COM_NA_UP_K3_T1_END: ;;
792 ;;
793 DW 0 ;; Size of xlat table - null table
794 ;;
795COM_NA_UP_K3_END: ;;
796 ;;
797 ;;
798;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
799;; CODE PAGE: Common
800;; STATE: Third Shift
801;; KEYBOARD TYPES: G + P12
802;; TABLE TYPE: Translate
803;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
804 ;;
805 DW COM_THIRD_K1_END-$ ;; length of state section
806 DB THIRD_SHIFT ;; State ID
807 DW G_KB+P12_KB ;; Keyboard Type
808 DB -1,-1 ;; Buffer entry for error character
809 ;;
810 DW COM_THIRD_K1_T1_END-$ ;; Size of xlat table
811 DB STANDARD_TABLE ;; xlat options:
812 DB 9 ;; number of entries
813 DB 41,'\' ;;
814 DB 2,'|' ;;
815 DB 3,'@' ;;
816 DB 4,'#' ;;
817 DB 7,170 ;;
818 DB 26,'[' ;;
819 DB 27,']' ;;
820 DB 40,'{' ;;
821 DB 43,'}' ;;
822COM_THIRD_K1_T1_END: ;;
823 ;;
824 DW 0 ;; Last xlat table
825COM_THIRD_K1_END: ;;
826 ;;
827;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
828;; CODE PAGE: Common
829;; STATE: Third Shift
830;; KEYBOARD TYPES: AT
831;; TABLE TYPE: Translate
832;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
833 ;;
834 DW COM_THIRD_K2_END-$ ;; length of state section
835 DB THIRD_SHIFT ;; State ID
836 DW AT_KB ;; Keyboard Type
837 DB -1,-1 ;; Buffer entry for error character
838 ;;
839 DW COM_THIRD_K2_T1_END-$ ;; Size of xlat table
840 DB STANDARD_TABLE ;; xlat options:
841 DB 4 ;; number of entries
842 DB 41,'\' ;;
843 DB 3,'@' ;;
844 DB 26,'[' ;;
845 DB 27,']' ;;
846COM_THIRD_K2_T1_END: ;;
847 ;;
848 DW 0 ;; Last xlat table
849COM_THIRD_K2_END: ;;
850 ;;
851;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
852;; CODE PAGE: Common
853;; STATE: Third Shift
854;; KEYBOARD TYPES: XT
855;; TABLE TYPE: Translate
856;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
857 ;;
858 DW COM_THIRD_K3_END-$ ;; length of state section
859 DB THIRD_SHIFT ;; State ID
860 DW XT_KB ;; Keyboard Type
861 DB -1,-1 ;; Buffer entry for error character
862 ;;
863 DW COM_THIRD_K3_T1_END-$ ;; Size of xlat table
864 DB STANDARD_TABLE ;; xlat options:
865 DB 4 ;; number of entries
866 DB 3,'@' ;;
867 DB 26,'[' ;;
868 DB 27,']' ;;
869 DB 43,'\' ;;
870COM_THIRD_K3_T1_END: ;;
871 ;;
872 DW 0 ;; Last xlat table
873COM_THIRD_K3_END: ;;
874 ;;
875;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
876;; CODE PAGE: Common
877;; STATE: Acute Lower Case
878;; KEYBOARD TYPES: All
879;; TABLE TYPE: Translate
880;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
881; ;;
882; DW COM_AC_LO_END-$ ;; length of state section
883; DB ACUTE_LOWER ;; State ID
884; DW ANY_KB ;; Keyboard Type
885; DB 39,0 ;; error character = standalone accent
886; ;;
887; DW COM_AC_LO_T1_END-$ ;; Size of xlat table
888; DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
889; DB 5 ;; number of scans
890; DB 18,'' ;; scan code,ASCII - e
891; DB 30,'' ;; scan code,ASCII - a
892; DB 24,'' ;; scan code,ASCII - o
893; DB 22,'' ;; scan code,ASCII - u
894; DB 23,'' ;; scan code,ASCII - i
895;COM_AC_LO_T1_END: ;;
896; ;;
897; DW 0 ;; Size of xlat table - null table
898; ;;
899;COM_AC_LO_END: ;;
900; ;;
901;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
902;;; CODE PAGE: Common
903;;; STATE: Acute Upper Case
904;;; KEYBOARD TYPES: All
905;;; TABLE TYPE: Translate
906;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
907; ;;
908; DW COM_AC_UP_END-$ ;; length of state section
909; DB ACUTE_UPPER ;; State ID
910; DW ANY_KB ;; Keyboard Type
911; DB 39,0 ;; error character = standalone accent
912; ;;
913; DW COM_AC_UP_T1_END-$ ;; Size of xlat table
914; DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
915; DB 2 ;; number of scans
916; DB 18,'' ;; scan code,ASCII - e
917;COM_AC_UP_T1_END: ;;
918; ;;
919; DW 0 ;; Size of xlat table - null table
920; ;;
921;COM_AC_UP_END: ;;
922; ;;
923;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
924;;; CODE PAGE: Common
925;;; STATE: Acute Space Bar
926;;; KEYBOARD TYPES: All
927;;; TABLE TYPE: Translate
928;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
929; ;;
930; DW COM_AC_SP_END-$ ;; length of state section
931; DB ACUTE_SPACE ;; State ID
932; DW ANY_KB ;; Keyboard Type
933; DB 39,0 ;; error character = standalone accent
934; ;;
935; DW COM_AC_SP_T1_END-$ ;; Size of xlat table
936; DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
937; DB 1 ;; number of scans
938; DB 57,39 ;; scan code,ASCII - SPACE
939;COM_AC_SP_T1_END: ;;
940; ;;
941; DW 0 ;; Size of xlat table - null table
942; ;;
943;COM_AC_SP_END: ;;
944; ;;
945;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
946;; CODE PAGE: Common
947;; STATE: Diaresis Lower Case
948;; KEYBOARD TYPES: All
949;; TABLE TYPE: Translate
950;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
951 ;;
952 DW COM_DI_LO_END-$ ;; length of state section
953 DB DIARESIS_LOWER ;; State ID
954 DW ANY_KB ;; Keyboard Type
955 DB 249,0 ;; error character = standalone accent
956 ;;
957 DW COM_DI_LO_T1_END-$ ;; Size of xlat table
958 DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
959 DB 6 ;; number of scans
960 DB 18,'' ;; scan code,ASCII - e
961 DB 30,'' ;; scan code,ASCII - a
962 DB 24,'' ;; scan code,ASCII - o
963 DB 22,'' ;; scan code,ASCII - u
964 DB 23,'' ;; scan code,ASCII - i
965 DB 21,'' ;; scan code,ASCII - y
966COM_DI_LO_T1_END: ;;
967 ;;
968 DW 0 ;; Size of xlat table - null table
969 ;;
970COM_DI_LO_END: ;; length of state section
971 ;;
972;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
973;; CODE PAGE: Common
974;; STATE: Diaresis Upper Case
975;; KEYBOARD TYPES: All
976;; TABLE TYPE: Translate
977;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
978 ;;
979 DW COM_DI_UP_END-$ ;; length of state section
980 DB DIARESIS_UPPER ;; State ID
981 DW ANY_KB ;; Keyboard Type
982 DB 249,0 ;; error character = standalone accent
983 ;;
984 DW COM_DI_UP_T1_END-$ ;; Size of xlat table
985 DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
986 DB 3 ;; number of scans
987 DB 30,'' ;; scan code,ASCII - a
988 DB 24,'' ;; scan code,ASCII - o
989 DB 22,'' ;; scan code,ASCII - u
990COM_DI_UP_T1_END: ;;
991 ;;
992 DW 0 ;; Size of xlat table - null table
993 ;;
994COM_DI_UP_END: ;; length of state section
995 ;;
996 ;;
997;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
998;; CODE PAGE: Common
999;; STATE: Grave Lower
1000;; KEYBOARD TYPES: All
1001;; TABLE TYPE: Translate
1002;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1003 ;;
1004 DW COM_GR_LO_END-$ ;; length of state section
1005 DB GRAVE_LOWER ;; State ID
1006 DW ANY_KB ;; Keyboard Type
1007 DB 96,0 ;; error character = standalone accent
1008 ;;
1009 DW COM_GR_LO_T1_END-$ ;; Size of xlat table
1010 DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
1011 DB 5 ;; number of scans
1012 DB 18,'' ;; scan code,ASCII - e
1013 DB 30,'' ;; scan code,ASCII - a
1014 DB 24,'' ;; scan code,ASCII - o
1015 DB 22,'' ;; scan code,ASCII - u
1016 DB 23,'' ;; scan code,ASCII - i
1017COM_GR_LO_T1_END: ;;
1018 ;;
1019 DW 0 ;; Size of xlat table - null table
1020 ;;
1021COM_GR_LO_END: ;; length of state section
1022 ;;
1023;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1024;; CODE PAGE: Common
1025;; STATE: Grave Space Bar
1026;; KEYBOARD TYPES: All
1027;; TABLE TYPE: Translate
1028;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1029 ;;
1030 DW COM_GR_SP_END-$ ;; length of state section
1031 DB GRAVE_SPACE ;; State ID
1032 DW ANY_KB ;; Keyboard Type
1033 DB 96,0 ;; error character = standalone accent
1034 ;;
1035 DW COM_GR_SP_T1_END-$ ;; Size of xlat table
1036 DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
1037 DB 1 ;; number of scans
1038 DB 57,96 ;; STANDALONE GRAVE
1039COM_GR_SP_T1_END: ;;
1040 ;;
1041 DW 0 ;; Size of xlat table - null table
1042 ;;
1043COM_GR_SP_END: ;; length of state section
1044 ;;
1045;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1046;; CODE PAGE: Common
1047;; STATE: Circumflex Lower
1048;; KEYBOARD TYPES: All
1049;; TABLE TYPE: Translate
1050;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1051 ;;
1052 DW COM_CI_LO_END-$ ;; length of state section
1053 DB CIRCUMFLEX_LOWER ;; State ID
1054 DW ANY_KB ;; Keyboard Type
1055 DB 94,0 ;; error character = standalone accent
1056 ;;
1057 DW COM_CI_LO_T1_END-$ ;; Size of xlat table
1058 DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
1059 DB 5 ;; number of scans
1060 DB 18,'' ;; scan code,ASCII - e
1061 DB 30,'' ;; scan code,ASCII - a
1062 DB 24,'' ;; scan code,ASCII - o
1063 DB 22,'' ;; scan code,ASCII - u
1064 DB 23,'' ;; scan code,ASCII - i
1065COM_CI_LO_T1_END: ;;
1066 ;;
1067 DW 0 ;;
1068 ;;
1069COM_CI_LO_END: ;;
1070 ;;
1071;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1072;; CODE PAGE: Common
1073;; STATE: Circumflex Space Bar
1074;; KEYBOARD TYPES: All
1075;; TABLE TYPE: Translate
1076;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1077 ;;
1078 DW COM_CI_SP_END-$ ;; length of state section
1079 DB CIRCUMFLEX_SPACE ;; State ID
1080 DW ANY_KB ;; Keyboard Type
1081 DB 94,0 ;; error character = standalone accent
1082 ;;
1083 DW COM_CI_SP_T1_END-$ ;; Size of xlat table
1084 DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
1085 DB 1 ;; number of scans
1086 DB 57,94 ;; STANDALONE CIRCUMFLEX
1087COM_CI_SP_T1_END: ;;
1088 ;;
1089 DW 0 ;; Size of xlat table - null table
1090 ;;
1091COM_CI_SP_END: ;; length of state section
1092 ;;
1093;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1094 DW 0 ;; Last State
1095COMMON_XLAT_END: ;;
1096 ;;
1097 ;;
1098 ;;
1099;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1100;;***************************************
1101;; SP Specific Translate Section for 437
1102;; 437 IS COMPLETELY COVERED BY THE COMMON TABLE.
1103;;***************************************
1104;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1105 ;;
1106 PUBLIC SP_437_XLAT ;;
1107SP_437_XLAT: ;;
1108 ;;
1109 DW CP437_XLAT_END-$ ;; length of section
1110 DW 437 ;;
1111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1112; CODE PAGE: Specific 437
1113; STATE: Acute Lower Case
1114; KEYBOARD TYPES: All
1115; TABLE TYPE: Translate
1116;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1117 DW CP437_AC_LO_END-$ ; length of state section
1118 DB ACUTE_LOWER ; State ID
1119 DW ANY_KB ; Keyboard Type
1120 DB 39,0 ; error character = standalone accent
1121 ;
1122 DW CP437_AC_LO_T1_END-$ ; Size of xlat table
1123 DB STANDARD_TABLE+ZERO_SCAN ; xlat options:
1124 DB 5 ; number of scans
1125 DB 18,'' ; scan code,ASCII - e
1126 DB 30,'' ; scan code,ASCII - a
1127 DB 24,'' ; scan code,ASCII - o
1128 DB 22,'' ; scan code,ASCII - u
1129 DB 23,'' ; scan code,ASCII - i
1130CP437_AC_LO_T1_END: ;
1131 ;
1132 DW 0 ; Size of xlat table - null table
1133 ;
1134CP437_AC_LO_END: ;
1135;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1136; CODE PAGE: 437
1137; STATE: Acute Upper Case
1138; KEYBOARD TYPES: All
1139; TABLE TYPE: Translate
1140;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1141 DW CP437_AC_UP_END-$ ; length of state section
1142 DB ACUTE_UPPER ; State ID
1143 DW ANY_KB ; Keyboard Type
1144 DB 39,0 ; error character = standalone accent
1145 ;
1146 DW CP437_AC_UP_T1_END-$ ; Size of xlat table
1147 DB STANDARD_TABLE+ZERO_SCAN ; xlat options:
1148 DB 1 ; number of scans
1149 DB 18,'' ; scan code,ASCII - e
1150CP437_AC_UP_T1_END: ;
1151 ;
1152 DW 0 ; Size of xlat table - null table
1153 ;
1154CP437_AC_UP_END: ;
1155;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1156; CODE PAGE: 437
1157; STATE: Acute Space Bar
1158; KEYBOARD TYPES: All
1159; TABLE TYPE: Translate
1160;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1161 DW CP437_AC_SP_END-$ ; length of state section
1162 DB ACUTE_SPACE ; State ID
1163 DW ANY_KB ; Keyboard Type
1164 DB 39,0 ; error character = standalone accent
1165 ;
1166 DW CP437_AC_SP_T1_END-$ ; Size of xlat table
1167 DB STANDARD_TABLE+ZERO_SCAN ; xlat options:
1168 DB 1 ; number of scans
1169 DB 57,39 ; scan code,ASCII - SPACE
1170CP437_AC_SP_T1_END: ;
1171 ;
1172 DW 0 ; Size of xlat table - null table
1173 ;
1174CP437_AC_SP_END: ;
1175;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1176 DW 0 ;; LAST STATE
1177 ;;
1178CP437_XLAT_END: ;;
1179 ;;
1180;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1181;;***************************************
1182;; SP Specific Translate Section for 850
1183;;***************************************
1184;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1185 ;;
1186 PUBLIC SP_850_XLAT ;;
1187SP_850_XLAT: ;;
1188 ;;
1189 DW CP850_XLAT_END-$ ;; length of section
1190 DW 850 ;;
1191 ;;
1192 ;;
1193;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1194;; CODE PAGE: 850
1195;; STATE: Acute Lower Case
1196;; KEYBOARD TYPES: All
1197;; TABLE TYPE: Translate
1198;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1199 ;;
1200 DW CP850_AC_LO_END-$ ;; length of state section
1201 DB ACUTE_LOWER ;; State ID
1202 DW ANY_KB ;; Keyboard Type
1203 DB 0EFH,0 ;; error character = standalone accent
1204 ;;
1205 DW CP850_AC_LO_T1_END-$ ;; Size of xlat table
1206 DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
1207 DB 5 ; number of scans
1208 DB 18,'' ; scan code,ASCII - e
1209 DB 30,'' ; scan code,ASCII - a
1210 DB 24,'' ; scan code,ASCII - o
1211 DB 22,'' ; scan code,ASCII - u
1212 DB 23,'' ; scan code,ASCII - i
1213; DB 21,0ECH Delete until 4.00 ;; y acute
1214CP850_AC_LO_T1_END: ;;
1215 ;;
1216 DW 0 ;; Size of xlat table - null table
1217 ;;
1218CP850_AC_LO_END: ;;
1219 ;;
1220;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1221;; CODE PAGE: 850
1222;; STATE: Acute Upper Case
1223;; KEYBOARD TYPES: All
1224;; TABLE TYPE: Translate
1225;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1226 ;;
1227 DW CP850_AC_UP_END-$ ;; length of state section
1228 DB ACUTE_UPPER ;; State ID
1229 DW ANY_KB ;; Keyboard Type
1230 DB 0EFH,0 ;; error character = standalone accent
1231 ;;
1232 DW CP850_AC_UP_T1_END-$ ;; Size of xlat table
1233 DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
1234 DB 5 ;; number of scans
1235 DB 18,'' ; scan code,ASCII - e
1236 DB 30,0B5H ;; A acute
1237 DB 23,0D6H ;; I acute
1238 DB 24,0E0H ;; O acute
1239 DB 22,0E9H ;; U acute
1240; DB 21,0EDH Delete until 4.00 ;; Y acute
1241CP850_AC_UP_T1_END: ;;
1242 ;;
1243 DW 0 ;; Size of xlat table - null table
1244 ;;
1245CP850_AC_UP_END: ;;
1246 ;;
1247;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1248;; CODE PAGE: Common
1249;; STATE: Acute Space Bar
1250;; KEYBOARD TYPES: All
1251;; TABLE TYPE: Translate
1252;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1253 ;;
1254 DW CP850_AC_SP_END-$ ;; length of state section
1255 DB ACUTE_SPACE ;; State ID
1256 DW ANY_KB ;; Keyboard Type
1257 DB 0EFH,0 ;; error character = standalone accent
1258 ;;
1259 DW CP850_AC_SP_T1_END-$ ;; Size of xlat table
1260 DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
1261 DB 1 ;; number of scans
1262 DB 57,0EFH ;; scan code,ASCII - SPACE
1263CP850_AC_SP_T1_END: ;;
1264 ;;
1265 DW 0 ;; Size of xlat table - null table
1266 ;;
1267CP850_AC_SP_END: ;;
1268 ;;
1269;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1270;; CODE PAGE: 850
1271;; STATE: Diaresis Upper
1272;; KEYBOARD TYPES: All
1273;; TABLE TYPE: Translate
1274;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1275 ;;
1276 DW CP850_DI_UP_END-$ ;; length of state section
1277 DB DIARESIS_UPPER ;; State ID
1278 DW ANY_KB ;; Keyboard Type
1279 DB 249,0 ;; error character = standalone accent
1280 ;;
1281 DW CP850_DI_UP_T1_END-$ ;; Size of xlat table
1282 DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
1283 DB 2 ;; number of scans
1284 DB 18,0D3H ;; E diaeresis
1285 DB 23,0D8H ;; I diaeresis
1286CP850_DI_UP_T1_END: ;;
1287 ;;
1288 DW 0 ;; Size of xlat table - null table
1289 ;;
1290CP850_DI_UP_END: ;; length of state section
1291 ;;
1292;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1293;; CODE PAGE: 850
1294;; STATE: Diaresis Space Bar
1295;; KEYBOARD TYPES: All
1296;; TABLE TYPE: Translate
1297;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1298 ;;
1299 DW CP850_DI_SP_END-$ ;; length of state section
1300 DB DIARESIS_SPACE ;; State ID
1301 DW ANY_KB ;; Keyboard Type
1302 DB 249,0 ;; error character = standalone accent
1303 ;;
1304 DW CP850_DI_SP_T1_END-$ ;; Size of xlat table
1305 DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
1306 DB 1 ;; number of scans
1307 DB 57,249 ;; error character = standalone accent
1308CP850_DI_SP_T1_END: ;;
1309 ;;
1310 DW 0 ;; Size of xlat table - null table
1311CP850_DI_SP_END: ;; length of state section
1312 ;;
1313;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1314;; CODE PAGE: 850
1315;; STATE: Grave Upper
1316;; KEYBOARD TYPES: All
1317;; TABLE TYPE: Translate
1318;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1319 ;;
1320 DW CP850_GR_UP_END-$ ;; length of state section
1321 DB GRAVE_UPPER ;; State ID
1322 DW ANY_KB ;; Keyboard Type
1323 DB 96,0 ;; error character = standalone accent
1324 ;;
1325 DW CP850_GR_UP_T1_END-$ ;; Size of xlat table
1326 DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
1327 DB 5 ;; number of scans
1328 DB 30,0B7H ;; A grave
1329 DB 18,0D4H ;; E grave
1330 DB 23,0DEH ;; I grave
1331 DB 24,0E3H ;; O grave
1332 DB 22,0EBH ;; U grave
1333CP850_GR_UP_T1_END: ;;
1334 ;;
1335 DW 0 ;; Size of xlat table - null table
1336 ;;
1337CP850_GR_UP_END: ;; length of state section
1338 ;;
1339;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1340;; CODE PAGE: 850
1341;; STATE: Circumflex Upper
1342;; KEYBOARD TYPES: All
1343;; TABLE TYPE: Translate
1344;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1345 ;;
1346 DW CP850_CI_UP_END-$ ;; length of state section
1347 DB CIRCUMFLEX_UPPER ;; State ID
1348 DW ANY_KB ;; Keyboard Type
1349 DB 94,0 ;; error character = standalone accent
1350 ;;
1351 DW CP850_CI_UP_T1_END-$ ;; Size of xlat table
1352 DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
1353 DB 5 ;; number of scans
1354 DB 30,0B6H ;; A circumflex
1355 DB 18,0D2H ;; E circumflex
1356 DB 23,0D7H ;; I circumflex
1357 DB 24,0E2H ;; O circumflex
1358 DB 22,0EAH ;; U circumflex
1359CP850_CI_UP_T1_END: ;;
1360 ;;
1361 DW 0 ;; Size of xlat table - null table
1362 ;;
1363CP850_CI_UP_END: ;; length of state section
1364 ;;
1365;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1366 ;;
1367 DW 0 ;; LAST STATE
1368 ;;
1369CP850_XLAT_END: ;;
1370;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1371 ;;
1372CODE ENDS ;;
1373 END ;;