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