summaryrefslogtreecommitdiff
path: root/v4.0/src/DEV/KEYBOARD/KDFFR189.ASM
diff options
context:
space:
mode:
Diffstat (limited to 'v4.0/src/DEV/KEYBOARD/KDFFR189.ASM')
-rw-r--r--v4.0/src/DEV/KEYBOARD/KDFFR189.ASM1529
1 files changed, 1529 insertions, 0 deletions
diff --git a/v4.0/src/DEV/KEYBOARD/KDFFR189.ASM b/v4.0/src/DEV/KEYBOARD/KDFFR189.ASM
new file mode 100644
index 0000000..7648c5e
--- /dev/null
+++ b/v4.0/src/DEV/KEYBOARD/KDFFR189.ASM
@@ -0,0 +1,1529 @@
1;; LATEST CHANGE ALT & CTL disenabled US invalids
2;; Section symbol scan code incorrect
3;; zero scan code tag deleted from end of tag field
4;; Changed key #5 for the XT "/" instead of "'"..Pubs error
5;; ****************** CNS 12/18/86*************************
6
7 PAGE ,132
8 TITLE DOS - Keyboard Definition File
9
10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
11;; DOS - - NLS Support - Keyboard Defintion File
12;; (c) Copyright 1988 Microsoft
13;;
14;; This file contains the keyboard tables for Spanish.
15;;
16;; Linkage Instructions:
17;; Refer to KDF.ASM.
18;;
19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
20 ;;
21 INCLUDE KEYBSHAR.INC ;;
22 INCLUDE POSTEQU.INC ;;
23 INCLUDE KEYBMAC.INC ;;
24 ;;
25 PUBLIC FR2_LOGIC ;;
26 PUBLIC FR2_437_XLAT ;;
27 PUBLIC FR2_850_XLAT ;;
28 ;;
29CODE SEGMENT PUBLIC 'CODE' ;;
30 ASSUME CS:CODE,DS:CODE ;;
31 ;;
32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
33;; Standard translate table options are a liner search table
34;; (TYPE_2_TAB) and ASCII entries ONLY (ASCII_ONLY)
35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
36 ;;
37STANDARD_TABLE EQU TYPE_2_TAB+ASCII_ONLY
38 ;;
39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
40;;***************************************
41;; FR State Logic
42;;***************************************
43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
44 ;;
45 ;;
46FR2_LOGIC:
47
48 DW LOGIC_END-$ ;; length
49 ;;
50 DW TYPEWRITER_CAPS_LK ;; special features (shift lock state)
51 ;;
52 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; COMMANDS START HERE
53 ;;
54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
55;; OPTIONS: If we find a scan match in
56;; an XLATT or SET_FLAG operation then
57;; exit from INT 9.
58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
59 ;;
60 OPTION EXIT_IF_FOUND ;;
61 ;;
62 ;;
63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
64;; Dead key definitions must come before
65;; dead key translations to handle
66;; dead key + dead key.
67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
68 ;;
69 IFF EITHER_ALT,NOT ;;
70 ANDF EITHER_CTL,NOT ;;
71 IFF CAPS_STATE
72 SET_FLAG DEAD_UPPER
73 ELSEF
74 IFF EITHER_SHIFT ;;
75 SET_FLAG DEAD_UPPER ;;
76 ELSEF ;;
77 SET_FLAG DEAD_LOWER ;;
78 ENDIFF ;;
79 ENDIFF ;;
80 ENDIFF ;;
81 ;;
82;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
83;; ACUTE ACCENT TRANSLATIONS
84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
85 ;;
86ACUTE_PROC: ;;
87 ;;
88 IFF ACUTE,NOT ;;
89 GOTO DIARESIS_PROC ;;
90 ENDIFF ;;
91 ;;
92 RESET_NLS ;;
93 IFF R_ALT_SHIFT,NOT ;;
94 XLATT ACUTE_SPACE ;;
95 ENDIFF ;;
96 IFF EITHER_CTL,NOT ;;
97 ANDF EITHER_ALT,NOT ;;
98 IFF EITHER_SHIFT ;;
99 IFF CAPS_STATE ;;
100 XLATT ACUTE_LOWER ;;
101 ELSEF ;;
102 XLATT ACUTE_UPPER ;;
103 ENDIFF ;;
104 ELSEF ;;
105 IFF CAPS_STATE ;;
106 XLATT ACUTE_UPPER ;;
107 ELSEF ;;
108 XLATT ACUTE_LOWER ;;
109 ENDIFF ;;
110 ENDIFF ;;
111 ENDIFF ;;
112 ;;
113INVALID_ACUTE: ;;
114 PUT_ERROR_CHAR ACUTE_LOWER ;; If we get here then either the XLATT
115 BEEP ;; failed or we are ina bad shift state.
116 GOTO NON_DEAD ;; Either is invalid so BEEP and fall
117 ;; through to generate the second char.
118 ;; Note that the dead key flag will be
119 ;; reset before we get here.
120 ;;
121;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
122;; DIARESIS ACCENT TRANSLATIONS
123;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
124 ;;
125DIARESIS_PROC: ;;
126 ;;
127 IFF DIARESIS,NOT ;;
128 GOTO GRAVE_PROC ;;
129 ENDIFF ;;
130 ;;
131 RESET_NLS ;;
132 IFF R_ALT_SHIFT,NOT ;;
133 XLATT DIARESIS_SPACE ;; exist for 437 so beep for
134 ENDIFF ;;
135 IFF EITHER_CTL,NOT ;;
136 ANDF EITHER_ALT,NOT ;;
137 IFF EITHER_SHIFT ;;
138 IFF CAPS_STATE ;;
139 XLATT DIARESIS_LOWER ;;
140 ELSEF ;;
141 XLATT DIARESIS_UPPER ;;
142 ENDIFF ;;
143 ELSEF ;;
144 IFF CAPS_STATE ;;
145 XLATT DIARESIS_UPPER ;;
146 ELSEF ;;
147 XLATT DIARESIS_LOWER ;;
148 ENDIFF ;;
149 ENDIFF ;;
150 ENDIFF ;;
151 ;;
152INVALID_DIARESIS: ;;
153 PUT_ERROR_CHAR DIARESIS_SPACE ;; standalone accent
154 BEEP ;; Invalid dead key combo.
155 GOTO NON_DEAD ;;
156 ;;
157;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
158;; GRAVE ACCENT TRANSLATIONS
159;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
160 ;;
161GRAVE_PROC: ;;
162 ;;
163 IFF GRAVE,NOT ;;
164 GOTO CIRCUMFLEX_PROC ;;
165 ENDIFF ;;
166 ;;
167 RESET_NLS ;;
168 IFF R_ALT_SHIFT,NOT ;;
169 XLATT GRAVE_SPACE ;;
170 ENDIFF ;;
171 IFF EITHER_CTL,NOT ;;
172 ANDF EITHER_ALT,NOT ;;
173 IFF EITHER_SHIFT ;;
174 IFF CAPS_STATE ;;
175 XLATT GRAVE_LOWER ;;
176 ELSEF ;;
177 XLATT GRAVE_UPPER ;;
178 ENDIFF ;;
179 ELSEF ;;
180 IFF CAPS_STATE,NOT ;;
181 XLATT GRAVE_LOWER ;;
182 ELSEF ;;
183 XLATT GRAVE_UPPER ;;
184 ENDIFF ;;
185 ENDIFF ;;
186 ENDIFF ;;
187 ;;
188INVALID_GRAVE: ;;
189 PUT_ERROR_CHAR GRAVE_LOWER ;; standalone accent
190 BEEP ;; Invalid dead key combo.
191 GOTO NON_DEAD ;;
192 ;;
193;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
194;; CIRCUMFLEX ACCENT TRANSLATIONS
195;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
196 ;;
197CIRCUMFLEX_PROC: ;;
198 ;;
199 IFF CIRCUMFLEX,NOT ;;
200 GOTO NON_DEAD ;;
201 ENDIFF ;;
202 ;;
203 RESET_NLS ;;
204 IFF R_ALT_SHIFT,NOT ;;
205 XLATT CIRCUMFLEX_SPACE ;;
206 ENDIFF ;;
207 IFF EITHER_CTL,NOT ;;
208 ANDF EITHER_ALT,NOT ;;
209 IFF EITHER_SHIFT ;;
210 IFF CAPS_STATE ;;
211 XLATT CIRCUMFLEX_LOWER ;;
212 ELSEF ;;
213 XLATT CIRCUMFLEX_UPPER ;;
214 ENDIFF ;;
215 ELSEF ;;
216 IFF CAPS_STATE,NOT ;;
217 XLATT CIRCUMFLEX_LOWER ;;
218 ELSEF ;;
219 XLATT CIRCUMFLEX_UPPER ;;
220 ENDIFF ;;
221 ENDIFF ;;
222 ENDIFF ;;
223 ;;
224INVALID_CIRCUMFLEX: ;;
225 PUT_ERROR_CHAR CIRCUMFLEX_LOWER ;; standalone accent
226 BEEP ;; Invalid dead key combo.
227 GOTO NON_DEAD ;;
228 ;;
229 ;;
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 XLATT NON_ALPHA_LOWER ;;
266 ELSEF ;;
267 XLATT ALPHA_UPPER ;;
268 XLATT NON_ALPHA_UPPER ;;
269 ENDIFF ;;
270 ELSEF ;;
271;;***BD ADDED FOR NUMERIC PAD
272 IFF NUM_STATE ;;
273 XLATT NUMERIC_PAD ;;
274 ENDIFF ;;
275;;***BD END OF ADDITION
276; XLATT NON_ALPHA_LOWER ;;
277 IFF CAPS_STATE ;;
278 XLATT ALPHA_UPPER ;;
279 XLATT NON_ALPHA_UPPER ;;
280 ELSEF ;;
281 XLATT ALPHA_LOWER ;;
282 XLATT NON_ALPHA_LOWER ;;
283 ENDIFF ;;
284 ENDIFF ;;
285 ELSEF ;;
286 IFF EITHER_SHIFT,NOT ;;
287 IFKBD XT_KB+AT_KB ;;
288 IFF EITHER_CTL ;;
289 ANDF ALT_SHIFT ;;
290 XLATT THIRD_SHIFT ;;
291 ENDIFF ;;
292 ELSEF ;;
293 IFF EITHER_CTL,NOT ;;
294 ANDF R_ALT_SHIFT ;;
295 XLATT THIRD_SHIFT ;;
296 ENDIFF ;;
297 ENDIFF ;;
298 ENDIFF ;;
299 ENDIFF ;;
300 ;;
301 EXIT_STATE_LOGIC ;;
302 ;;
303LOGIC_END: ;;
304 ;;
305 ;;
306;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
307;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
308; ;;
309;NON_DEAD: ;;
310; ;;
311; IFF EITHER_ALT,NOT ;; Lower and upper case. Alphabetic
312; ANDF EITHER_CTL,NOT ;; keys are affected by CAPS LOCK.
313; IFF EITHER_SHIFT ;; Numeric keys are not.
314; XLATT NON_ALPHA_UPPER ;;
315; IFF CAPS_STATE ;;
316; XLATT ALPHA_LOWER ;;
317; ELSEF ;;
318; XLATT ALPHA_UPPER ;;
319; ENDIFF ;;
320; ELSEF ;;
321; XLATT NON_ALPHA_LOWER ;;
322; IFF CAPS_STATE ;;
323; XLATT ALPHA_UPPER ;;
324; ELSEF ;;
325; XLATT ALPHA_LOWER ;;
326; ENDIFF ;;
327; ENDIFF ;;
328; ELSEF ;;
329; IFF EITHER_SHIFT,NOT ;;
330; IFKBD XT_KB+AT_KB ;;
331; IFF EITHER_CTL ;;
332; ANDF ALT_SHIFT ;;
333; XLATT THIRD_SHIFT ;;
334; ENDIFF ;;
335; ELSEF ;;
336; IFF EITHER_CTL,NOT ;;
337; ANDF R_ALT_SHIFT ;;
338; XLATT THIRD_SHIFT ;;
339; ENDIFF ;;
340; ENDIFF ;;
341; ENDIFF ;;
342; ENDIFF ;;
343; ;;
344; EXIT_STATE_LOGIC ;;
345; ;;
346;LOGIC_END: ;;
347; ;;
348; ;;
349;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
350;;***************************************
351;; FR Common Translate Section
352;; This section contains translations for the lower 128 characters
353;; only since these will never change from code page to code page.
354;; In addition the dead key "Set Flag" tables are here since the
355;; dead keys are on the same keytops for all code pages.
356;;***************************************
357;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
358 ;;
359 PUBLIC FR2_COMMON_XLAT ;;
360FR2_COMMON_XLAT: ;;
361 ;;
362 DW COMMON_XLAT_END-$ ;; length of section
363 DW -1 ;; code page
364 ;;
365 ;;
366;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
367;; CODE PAGE: Common
368;; STATE: Lower Shift Dead Key
369;; KEYBOARD TYPES: All
370;; TABLE TYPE: Flag Table
371;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
372 ;;
373 DW COM_DK_LO_END-$ ;; length of state section
374 DB DEAD_LOWER ;; State ID
375 DW G_KB+P12_KB+AT_KB+XT_KB ;; Keyboard Type
376 DB -1,-1 ;; Buffer entry for error character
377 ;; Set Flag Table
378 DW 1 ;; number of entries
379 DB 26 ;; scan code
380 FLAG CIRCUMFLEX ;; flag bit to set
381; DB 40 eliminate ;;
382; FLAG ACUTE ;;
383 ;;
384 ;;
385COM_DK_LO_END: ;;
386 ;;
387;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
388;; CODE PAGE: Common
389;; STATE: Upper Shift Dead Key
390;; KEYBOARD TYPES: All
391;; TABLE TYPE: Flag Table
392;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
393 ;;
394 DW COM_DK_UP_END-$ ;; length of state section
395 DB DEAD_UPPER ;; State ID
396 DW G_KB+P12_KB+AT_KB+XT_KB ;; Keyboard Type
397 DB -1,-1 ;; Buffer entry for error character
398 ;; Set Flag Table
399 DW 1 ;; number of entries
400 DB 26 ;; scan code
401 FLAG DIARESIS ;; flag bit to set
402; DB 40 eliminate ;;
403; FLAG DIARESIS ;;
404 ;;
405COM_DK_UP_END: ;;
406 ;;
407;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
408;**********************
409;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
410;; CODE PAGE: Common
411;; STATE: Third Shift Dead Key
412;; KEYBOARD TYPES: All
413;; TABLE TYPE: Flag Table
414;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
415;; ;;
416;; DW COM_DK_TH_END-$ ;; length of state section
417;; DB DEAD_THIRD ;; State ID
418;; DW G_KB+P12_KB+AT_KB+XT_KB ;; Keyboard Type
419;; DB -1,-1 ;; Buffer entry for error character
420;; ;; Set Flag Table
421;; DW 1 ;; number of entries
422;; DB 8 ;; scan code
423;; FLAG GRAVE ;; flag bit to set
424;; ;;
425;;COM_DK_TH_END: ;;
426;; ;;
427;; ;;
428;; ;;
429;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
430;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
431;; CODE PAGE: Common
432;; STATE: Alt Case
433;; KEYBOARD TYPES: G_KB + P12_KB
434;; TABLE TYPE: Translate
435;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
436 ;;
437 DW COM_ALT_K1_END-$ ;; length of state section
438 DB ALT_CASE ;; State ID
439 DW G_KB+P12_KB ;; Keyboard Type
440 DB -1,-1 ;; Buffer entry for error character
441 ;; Set Flag Table
442 DW COM_ALT_K1_T1_END-$ ;; Size of xlat table
443 DB TYPE_2_TAB ;;
444 DB 6 ;; 10 Number of entries
445; DB 12,-1,-1 ;; invalid key U.S. alt -
446; DB 13,-1,-1 ;; invalid key U.S. alt =
447; DB 07,0,82H ;; alt - (minus sign)
448; DB 13,0,83H ;; alt = (equal sign)
449 DB 16,0,1EH ;; A
450 DB 17,0,2CH ;; Z
451 DB 30,0,10H ;; Q
452 DB 39,0,32H ;; M
453 DB 44,0,11H ;; W
454 DB 50,-1,-1 ;; U.S. 'M'
455COM_ALT_K1_T1_END: ;;
456 ;;
457 DW 0 ;;
458 ;;
459COM_ALT_K1_END: ;;
460 ;;
461;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
462;; CODE PAGE: Common
463;; STATE: Ctrl Case
464;; KEYBOARD TYPES: G_KB+P12_KB
465;; TABLE TYPE: Translate
466;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
467 ;;
468 DW COM_CTRL_K1_END-$ ;; length of state section
469 DB CTRL_CASE ;; State ID
470 DW G_KB+P12_KB ;; Keyboard Type
471 DB -1,-1 ;; Buffer entry for error character
472 ;; Set Flag Table
473 DW COM_CTRL_K1_T1_END-$ ;; Size of xlat table
474 DB TYPE_2_TAB ;;
475 DB 12 ;; Number of entries
476 DB 12,-1,-1 ;;
477 DB 07,30,07 ;; ctl + number six key
478 DB 12,29,12 ;; ctl + ]
479 DB 13,31,13 ;;
480 DB 16,01,16 ;; A
481 DB 17,26,17 ;; Z
482 DB 30,17,30 ;; Q
483 DB 39,13,39 ;; M
484 DB 43,-1,-1 ;; \
485 DB 44,23,44 ;; W
486 DB 50,-1,-1 ;; U.S. 'M'
487 DB 9,28,9 ;; \ position (this is also the underscore position)
488COM_CTRL_K1_T1_END: ;;
489 ;;
490 DW 0 ;;
491 ;;
492COM_CTRL_K1_END: ;;
493 ;;
494 ;;
495;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
496;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
497;; CODE PAGE: Common
498;; STATE: Alt Case
499;; KEYBOARD TYPES: AT + XT
500;; TABLE TYPE: Translate
501;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
502 ;;
503 DW COM_ALT_K2_END-$ ;; length of state section
504 DB ALT_CASE ;; State ID
505 DW AT_KB+XT_KB ;; Keyboard Type
506 DB -1,-1 ;; Buffer entry for error character
507 ;; Set Flag Table
508 DW COM_ALT_K2_T2_END-$ ;; Size of xlat table
509 DB TYPE_2_TAB ;;
510 DB 6 ;; 9 Number of entries
511; DB 12,-1,-1 ;; invalid key U.S. alt -
512; DB 13,0,82H ;; alt - (minus sign)
513; DB 53,0,83H ;; alt = (equal sign)
514 DB 16,0,1EH ;; A
515 DB 17,0,2CH ;; Z
516 DB 30,0,10H ;; Q
517 DB 39,0,32H ;; M
518 DB 44,0,11H ;; W
519 DB 50,-1,-1 ;; U.S. 'M'
520COM_ALT_K2_T2_END: ;;
521 ;;
522 DW 0 ;;
523 ;;
524COM_ALT_K2_END: ;;
525 ;;
526;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
527;; CODE PAGE: Common
528;; STATE: Ctrl Case
529;; KEYBOARD TYPES: AT
530;; TABLE TYPE: Translate
531;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
532 ;;
533 DW COM_CTRL_K2_END-$ ;; length of state section
534 DB CTRL_CASE ;; State ID
535 DW AT_KB ;; Keyboard Type
536 DB -1,-1 ;; Buffer entry for error character
537 ;; Set Flag Table
538 DW COM_CTRL_K2_T2_END-$ ;; Size of xlat table
539 DB TYPE_2_TAB ;;
540 DB 11 ;; Number of entries
541 DB 12,-1,-1 ;; invalid U.S. -
542 DB 43,-1,-1 ;; invalid U.S. \
543 DB 41,28,41 ;; valid ctl + \
544 DB 07,30,07 ;; ctl + number six key
545 DB 13,31,13 ;; ctl - or _
546 DB 16,01,16 ;; A
547 DB 17,26,17 ;; Z
548 DB 30,17,30 ;; Q
549 DB 39,13,39 ;; M
550 DB 44,23,44 ;; W
551 DB 50,-1,-1 ;; U.S. 'M'
552COM_CTRL_K2_T2_END: ;;
553 ;;
554 DW 0 ;;
555 ;;
556COM_CTRL_K2_END: ;;
557 ;;
558 ;;
559;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
560;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
561;; CODE PAGE: Common
562;; STATE: Ctrl Case
563;; KEYBOARD TYPES: XT
564;; TABLE TYPE: Translate
565;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
566 ;;
567 DW COM_CTRL_K3_END-$ ;; length of state section
568 DB CTRL_CASE ;; State ID
569 DW AT_KB+XT_KB ;; Keyboard Type
570 DB -1,-1 ;; Buffer entry for error character
571 ;; Set Flag Table
572 DW COM_CTRL_K3_T3_END-$ ;; Size of xlat table
573 DB TYPE_2_TAB ;;
574 DB 11 ;; Number of entries
575 DB 12,-1,-1 ;;
576 DB 43,-1,-1 ;;
577 DB 43,28,43 ;; valid ctl + \
578 DB 07,30,07 ;; ctl + number six key
579 DB 13,31,13 ;; ctl - or _
580 DB 16,01,16 ;; A
581 DB 17,26,17 ;; Z
582 DB 30,17,30 ;; Q
583 DB 39,13,39 ;; M
584 DB 44,23,44 ;; W
585 DB 50,-1,-1 ;; U.S. 'M'
586COM_CTRL_K3_T3_END: ;;
587 ;;
588 DW 0 ;;
589 ;;
590COM_CTRL_K3_END: ;;
591 ;;
592 ;;
593;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
594;******************************************************************************
595;; CODE PAGE: Common
596;; STATE: Alpha Lower Case
597;; KEYBOARD TYPES: All
598;; TABLE TYPE: Translate
599;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
600 ;;
601 DW COM_AL_LO_END-$ ;; length of state section
602 DB ALPHA_LOWER ;; State ID
603 DW G_KB+P12_KB+AT_KB+XT_KB ;; Keyboard Type
604 DB -1,-1 ;; Buffer entry for error character
605 ;;
606 DW COM_AL_LO_T1_END-$ ;; Size of xlat table
607 DB STANDARD_TABLE ;; xlat options:
608 DB 5 ;; number of entries
609 DB 16,'a' ;; small a
610 DB 17,'z' ;; small z
611 DB 30,'q' ;; small q
612 DB 39,'m' ;; small m
613 DB 44,'w' ;; small w
614COM_AL_LO_T1_END: ;;
615 ;;
616 DW 0 ;; Size of xlat table - null table
617 ;;
618COM_AL_LO_END: ;;
619 ;;
620;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
621;; CODE PAGE: Common
622;; STATE: Alpha Upper Case
623;; KEYBOARD TYPES: All
624;; TABLE TYPE: Translate
625;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
626 ;;
627 DW COM_AL_UP_END-$ ;; length of state section
628 DB ALPHA_UPPER ;; State ID
629 DW G_KB+P12_KB+AT_KB+XT_KB ;; Keyboard Type
630 DB -1,-1 ;; Buffer entry for error character
631 ;;
632 DW COM_AL_UP_T1_END-$ ;; Size of xlat table
633 DB STANDARD_TABLE ;; xlat options:
634 DB 5 ;; number of entries
635 DB 16,'A' ;; caps A
636 DB 17,'Z' ;; caps Z
637 DB 30,'Q' ;; caps Q
638 DB 39,'M' ;; caps M
639 DB 44,'W' ;; caps W
640COM_AL_UP_T1_END: ;;
641 ;;
642 DW 0 ;; Size of xlat table - null table
643 ;;
644COM_AL_UP_END: ;;
645 ;;
646 ;;
647;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
648;; CODE PAGE: Common
649;; STATE: Non-Alpha Lower Case
650;; KEYBOARD TYPES: G_KB+P12
651;; TABLE TYPE: Translate
652;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
653 ;;
654 DW COM_NA_LO_K1_END-$ ;; length of state section
655 DB NON_ALPHA_LOWER ;; State ID
656 DW G_KB+P12_KB ;; Keyboard Type
657 DB -1,-1 ;; Buffer entry for error character
658 ;;
659 DW COM_NA_LO_T1_K1_END-$ ;; Size of xlat table
660 DB STANDARD_TABLE ;; xlat options:
661 DB 21 ;; number of entries
662 DB 41,"ý" ;; superscript 2
663 DB 2,"&" ;;
664 DB 3,"‚" ;; acute - e
665 DB 4,'"' ;;
666 DB 5,"'" ;;
667 DB 6,"(" ;;
668 DB 7,"-" ;;
669 DB 8,"Š" ;; grave - e
670 DB 9,"_" ;;
671 DB 10,"‡" ;; c - cedilla small
672 DB 11,"…" ;;
673 DB 12,")" ;;
674 DB 13,"=" ;;
675 DB 27,"$" ;;
676 DB 40,"—" ;; grave - u
677 DB 43,"*" ;;
678 DB 86,'<' ;; +
679 DB 50,',' ;; <
680 DB 51,';' ;; -
681 DB 52,':' ;;
682 DB 53,'!' ;;
683
684COM_NA_LO_T1_K1_END: ;;
685 ;;
686 DW 0 ;; Size of xlat table - null table
687 ;;
688COM_NA_LO_K1_END: ;;
689 ;;
690;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
691;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
692;; CODE PAGE: Common
693;; STATE: Non-Alpha Lower Case
694;; KEYBOARD TYPES: AT_KB
695;; TABLE TYPE: Translate
696;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
697 ;;
698 DW COM_NA_LO_K2_END-$ ;; length of state section
699 DB NON_ALPHA_LOWER ;; State ID
700 DW AT_KB ;; Keyboard Type
701 DB -1,-1 ;; Buffer entry for error character
702 ;;
703 DW COM_NA_LO_T1_K2_END-$ ;; Size of xlat table
704 DB STANDARD_TABLE ;; xlat options:
705 DB 20 ;; number of entries
706 DB 2,"&" ;;
707 DB 3,"‚" ;; acute - e
708 DB 4,'"' ;;
709 DB 5,"'" ;;
710 DB 6,"(" ;;
711 DB 7,"-" ;;
712 DB 8,"Š" ;; grave - e
713 DB 9,"!" ;;
714 DB 10,"‡" ;; c - cedilla small
715 DB 11,"…" ;; grave - a small
716 DB 12,")" ;;
717 DB 13,"-" ;;
718 DB 27,"$" ;;
719 DB 40,"—" ;; grave — small
720 DB 43,0E6H ;; mu symbol - æ
721 DB 41,'<' ;; +
722 DB 50,',' ;; <
723 DB 51,';' ;; -
724 DB 52,':' ;;
725 DB 53,'=' ;;
726
727COM_NA_LO_T1_K2_END: ;;
728 ;;
729 DW 0 ;; Size of xlat table - null table
730 ;;
731COM_NA_LO_K2_END: ;;
732 ;;
733;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
734;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
735;; CODE PAGE: Common
736;; STATE: Non-Alpha Lower Case
737;; KEYBOARD TYPES: XT_KB+
738;; TABLE TYPE: Translate
739;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
740 ;;
741 DW COM_NA_LO_K3_END-$ ;; length of state section
742 DB NON_ALPHA_LOWER ;; State ID
743 DW XT_KB ;; Keyboard Type
744 DB -1,-1 ;; Buffer entry for error character
745 ;;
746 DW COM_NA_LO_T1_K3_END-$ ;; Size of xlat table
747 DB STANDARD_TABLE ;; xlat options:
748 DB 20 ;; number of entries
749 DB 2,"&" ;;
750 DB 3,"‚" ;; acute - e
751 DB 4,'"' ;; ' on the AT_KB
752 DB 5,"'" ;; *** CNS **** 12/18/86 pubs wrong
753 DB 6,"(" ;;
754 DB 7,"-" ;;
755 DB 8,"Š" ;; grave - e
756 DB 9,"!" ;;
757 DB 10,"‡" ;; c - cedilla small
758 DB 11,"…" ;;
759 DB 12,")" ;;
760 DB 13,"-" ;;
761 DB 27,"$" ;;
762 DB 40,"—" ;; grave — small
763 DB 41,0E6H ;; mu symbol - æ
764 DB 43,'<' ;; +
765 DB 50,',' ;; <
766 DB 51,';' ;; -
767 DB 52,':' ;;
768 DB 53,'=' ;;
769COM_NA_LO_T1_K3_END: ;;
770 ;;
771 DW 0 ;; Size of xlat table - null table
772 ;;
773COM_NA_LO_K3_END: ;;
774 ;;
775;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
776;; CODE PAGE: Common
777;; STATE: Non-Alpha Upper Case
778;; KEYBOARD TYPES: G_KB+P12
779;; TABLE TYPE: Translate
780;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
781 ;;
782 DW COM_NA_UP_K1_END-$ ;; length of state section
783 DB NON_ALPHA_UPPER ;; State ID
784 DW G_KB+P12_KB ;; Keyboard Type
785 DB -1,-1 ;; Buffer entry for error character
786 ;;
787 DW COM_NA_UP_T1_K1_END-$ ;; Size of xlat table
788 DB STANDARD_TABLE ;; xlat options:
789 DB 21 ;; number of entries
790 DB 2,'1' ;;
791 DB 3,'2' ;;
792 DB 4,'3' ;;
793 DB 5,'4' ;;
794 DB 6,'5' ;;
795 DB 7,'6' ;;
796 DB 8,'7' ;;
797 DB 9,'8' ;;
798 DB 10,'9' ;;
799 DB 11,'0' ;;
800 DB 12,0F8H ;; degree symbol
801 DB 13,"+" ;; plus sign
802 DB 27,09CH ;; œ symbol
803 DB 40,'%' ;;
804 DB 41,"ü" ;; superscript 3
805 DB 43,0E6H ;; æ - mu symbol
806 DB 86,'>' ;;
807 DB 50,'?' ;;
808 DB 51,'.' ;;
809 DB 52,'/' ;;
810 DB 53,'+' ;;
811COM_NA_UP_T1_K1_END: ;;
812 ;;
813 DW 0 ;; Size of xlat table - null table
814 ;;
815COM_NA_UP_K1_END: ;;
816 ;;
817 ;;
818;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
819;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
820;; CODE PAGE: Common
821;; STATE: Non-Alpha Upper Case
822;; KEYBOARD TYPES: AT
823;; TABLE TYPE: Translate
824;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
825 ;;
826 DW COM_NA_UP_K2_END-$ ;; length of state section
827 DB NON_ALPHA_UPPER ;; State ID
828 DW AT_KB ;; Keyboard Type
829 DB -1,-1 ;; Buffer entry for error character
830 ;;
831 DW COM_NA_UP_T1_K2_END-$ ;; Size of xlat table
832 DB STANDARD_TABLE ;; xlat options:
833 DB 20 ;; number of entries
834 DB 2,'1' ;;
835 DB 3,'2' ;;
836 DB 4,'3' ;;
837 DB 5,'4' ;;
838 DB 6,'5' ;;
839 DB 7,'6' ;;
840 DB 8,'7' ;;
841 DB 9,'8' ;;
842 DB 10,'9' ;;
843 DB 11,'0' ;;
844 DB 12,0F8H ;; degree symbol
845 DB 13,"_" ;; underscore
846 DB 43,09CH ;; œ symbol
847 DB 40,'%' ;;
848 DB 27,"*" ;; asterisk
849 DB 41,'>' ;;
850 DB 50,'?' ;;
851 DB 51,'.' ;;
852 DB 52,'/' ;;
853 DB 53,'+' ;;
854COM_NA_UP_T1_K2_END: ;;
855 ;;
856 DW 0 ;; Size of xlat table - null table
857 ;;
858COM_NA_UP_K2_END: ;;
859 ;;
860 ;;
861;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
862;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
863;; CODE PAGE: Common
864;; STATE: Non-Alpha Upper Case
865;; KEYBOARD TYPES: XT_KB+
866;; TABLE TYPE: Translate
867;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
868 ;;
869 DW COM_NA_UP_K3_END-$ ;; length of state section
870 DB NON_ALPHA_UPPER ;; State ID
871 DW XT_KB+P12_KB ;; Keyboard Type
872 DB -1,-1 ;; Buffer entry for error character
873 ;;
874 DW COM_NA_UP_T1_K3_END-$ ;; Size of xlat table
875 DB STANDARD_TABLE ;; xlat options:
876 DB 20 ;; number of entries
877 DB 2,'1' ;;
878 DB 3,'2' ;;
879 DB 4,'3' ;;
880 DB 5,'4' ;;
881 DB 6,'5' ;;
882 DB 7,'6' ;;
883 DB 8,'7' ;;
884 DB 9,'8' ;;
885 DB 10,'9' ;;
886 DB 11,'0' ;;
887 DB 12,0F8H ;; degree symbol
888 DB 13,"_" ;; underscore
889 DB 41,09CH ;; œ symbol
890 DB 40,'%' ;;
891 DB 27,"*" ;; asterisk
892 DB 43,'>' ;;
893 DB 50,'?' ;;
894 DB 51,'.' ;;
895 DB 52,'/' ;;
896 DB 53,'+' ;;
897COM_NA_UP_T1_K3_END: ;;
898 ;;
899 DW 0 ;; Size of xlat table - null table
900 ;;
901COM_NA_UP_K3_END: ;;
902 ;;
903 ;;
904;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
905;; CODE PAGE: Common
906;; STATE: Third Shift
907;; KEYBOARD TYPES: G_KB +P12
908;; TABLE TYPE: Translate
909;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
910 ;;
911 DW COM_THIRD_K1_END-$ ;; length of state section
912 DB THIRD_SHIFT ;; State ID
913 DW G_KB+P12_KB ;; Keyboard Type
914 DB -1,-1 ;; Buffer entry for error character
915 ;;
916 DW COM_THIRD_T1_K1_END-$ ;; Size of xlat table
917 DB STANDARD_TABLE ;; xlat options:
918 DB 11 ;; number of entries
919 DB 3,'~' ;;
920 DB 4,'#' ;;
921 DB 5,'{' ;;
922 DB 6,'[' ;;
923 DB 7,'|' ;;
924 DB 8,'`' ;; grave symbol not a dead key rep
925 DB 9,'\' ;;
926 DB 10,'^' ;; circumflex (caret)
927 DB 11,'@' ;;
928 DB 12,']' ;;
929 DB 13,'}' ;;
930COM_THIRD_T1_K1_END: ;;
931 ;;
932 DW 0 ;; Last xlat table
933COM_THIRD_K1_END: ;;
934 ;;
935;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
936;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
937;; CODE PAGE: Common
938;; STATE: Third Shift
939;; KEYBOARD TYPES: AT_KB
940;; TABLE TYPE: Translate
941;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
942 ;;
943 DW COM_THIRD_K2_END-$ ;; length of state section
944 DB THIRD_SHIFT ;; State ID
945 DW AT_KB ;; Keyboard Type
946 DB -1,-1 ;; Buffer entry for error character
947 ;;
948 DW COM_THIRD_T1_K2_END-$ ;; Size of xlat table
949 DB STANDARD_TABLE ;; xlat options:
950 DB 6 ;; number of entries
951 DB 4,'#' ;;
952 DB 26,'[' ;;
953 DB 27,']' ;;
954 DB 41,'\' ;;
955 DB 3,'@' ;;
956 DB 7,'^' ;; circumflex (caret)
957COM_THIRD_T1_K2_END: ;;
958 ;;
959 DW 0 ;; Last xlat table
960COM_THIRD_K2_END: ;;
961 ;;
962;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
963;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
964;; CODE PAGE: Common
965;; STATE: Third Shift
966;; KEYBOARD TYPES: XT_KB+
967;; TABLE TYPE: Translate
968;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
969 ;;
970 DW COM_THIRD_K3_END-$ ;; length of state section
971 DB THIRD_SHIFT ;; State ID
972 DW XT_KB ;; Keyboard Type
973 DB -1,-1 ;; Buffer entry for error character
974 ;;
975 DW COM_THIRD_T1_K3_END-$ ;; Size of xlat table
976 DB STANDARD_TABLE ;; xlat options:
977 DB 6 ;; number of entries
978 DB 4,'#' ;;
979 DB 26,'[' ;;
980 DB 27,']' ;;
981 DB 43,'\' ;;
982 DB 3,'@' ;;
983 DB 7,'^' ;; circumflex (caret)
984COM_THIRD_T1_K3_END: ;;
985 ;;
986 DW 0 ;; Last xlat table
987COM_THIRD_K3_END: ;;
988 ;;
989;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
990;; CODE PAGE: Common
991;; STATE: Acute Lower Case
992;; KEYBOARD TYPES: All
993;; TABLE TYPE: Translate
994;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
995 ;;
996 DW COM_AC_LO_END-$ ;; length of state section
997 DB ACUTE_LOWER ;; State ID
998 DW G_KB+P12_KB+AT_KB+XT_KB ;; Keyboard Type
999 DB 39,0 ;; error character = standalone accent
1000 ;;
1001 DW COM_AC_LO_T1_END-$ ;; Size of xlat table
1002 DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
1003 DB 1 ;; number of scans
1004 DB 18,'‚' ;; scan code,ASCII - e
1005COM_AC_LO_T1_END: ;;
1006 ;;
1007 DW 0 ;; Size of xlat table - null table
1008 ;;
1009COM_AC_LO_END: ;;
1010 ;;
1011;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1012;; CODE PAGE: Common
1013;; STATE: Acute Upper Case
1014;; KEYBOARD TYPES: All
1015;; TABLE TYPE: Translate
1016;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1017;; ;;
1018;; DW COM_AC_UP_END-$ ;; length of state section
1019;; DB ACUTE_UPPER ;; State ID
1020;; DW G_KB+P12_KB+AT_KB+XT_KB ;; Keyboard Type
1021;; DB 39,0 ;; error character = standalone accent
1022;; ;;
1023;; DW COM_AC_UP_T1_END-$ ;; Size of xlat table
1024;; DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
1025;; DB 2 ;; number of scans
1026;; DB 18,'' ;; scan code,ASCII - e
1027;;COM_AC_UP_T1_END: ;;
1028;; ;;
1029;; DW 0 ;; Size of xlat table - null table
1030;; ;;
1031;;COM_AC_UP_END: ;;
1032;; ;;
1033;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1034;; CODE PAGE: Common
1035;; STATE: Acute Space Bar
1036;; KEYBOARD TYPES: All
1037;; TABLE TYPE: Translate
1038;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1039;; ;;
1040;; DW COM_AC_SP_END-$ ;; length of state section
1041;; DB ACUTE_SPACE ;; State ID
1042;; DW G_KB+P12_KB+AT_KB+XT_KB ;; Keyboard Type
1043;; DB 39,0 ;; error character = standalone accent
1044;; ;;
1045;; DW COM_AC_SP_T1_END-$ ;; Size of xlat table
1046;; DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
1047;; DB 1 ;; number of scans
1048;; DB 57,39 ;; scan code,ASCII - SPACE
1049;;COM_AC_SP_T1_END: ;;
1050;; ;;
1051;; DW 0 ;; Size of xlat table - null table
1052;; ;;
1053;;COM_AC_SP_END: ;;
1054;; ;;
1055;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1056;; CODE PAGE: Common
1057;; STATE: Diaresis Lower Case
1058;; KEYBOARD TYPES: All
1059;; TABLE TYPE: Translate
1060;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1061 ;;
1062 DW COM_DI_LO_END-$ ;; length of state section
1063 DB DIARESIS_LOWER ;; State ID
1064 DW G_KB+P12_KB+AT_KB+XT_KB ;; Keyboard Type
1065 DB 249,0 ;; error character = standalone accent
1066 ;;
1067 DW COM_DI_LO_T1_END-$ ;; Size of xlat table
1068 DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
1069 DB 6 ;; number of scans
1070 DB 18,'‰' ;; scan code,ASCII - e
1071 DB 16,'„' ;; scan code,ASCII - a
1072 DB 24,'”' ;; scan code,ASCII - o
1073 DB 22,'' ;; scan code,ASCII - u
1074 DB 23,'‹' ;; scan code,ASCII - i
1075 DB 21,'˜' ;; scan code,ASCII - y
1076COM_DI_LO_T1_END: ;;
1077 ;;
1078 DW 0 ;; Size of xlat table - null table
1079 ;;
1080COM_DI_LO_END: ;; length of state section
1081 ;;
1082;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1083;; CODE PAGE: Common
1084;; STATE: Diaresis Upper Case
1085;; KEYBOARD TYPES: All
1086;; TABLE TYPE: Translate
1087;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1088 ;;
1089 DW COM_DI_UP_END-$ ;; length of state section
1090 DB DIARESIS_UPPER ;; State ID
1091 DW G_KB+P12_KB+AT_KB+XT_KB ;; Keyboard Type
1092 DB 249,0 ;; error character = standalone accent
1093 ;;
1094 DW COM_DI_UP_T1_END-$ ;; Size of xlat table
1095 DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
1096 DB 3 ;; number of scans
1097 DB 16,'Ž' ;; scan code,ASCII - a
1098 DB 24,'™' ;; scan code,ASCII - o
1099 DB 22,'š' ;; scan code,ASCII - u
1100COM_DI_UP_T1_END: ;;
1101 ;;
1102 DW 0 ;; Size of xlat table - null table
1103 ;;
1104COM_DI_UP_END: ;; length of state section
1105 ;;
1106 ;;
1107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1108;; CODE PAGE: Common
1109;; STATE: Diaresis Space Bar
1110;; KEYBOARD TYPES: All
1111;; TABLE TYPE: Translate
1112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1113 ;;
1114 DW COM_DI_SP_END-$ ;; length of state section
1115 DB DIARESIS_SPACE ;; State ID
1116 DW G_KB+P12_KB+AT_KB+XT_KB ;; Keyboard Type
1117 DB 249,0 ;; error character = standalone accent
1118 ;;
1119 DW COM_DI_SP_T1_END-$ ;; Size of xlat table
1120 DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
1121 DB 1 ;; number of scans
1122 DB 57,249 ;; error character = standalone accent
1123COM_DI_SP_T1_END: ;;
1124 ;;
1125 DW 0 ;; Size of xlat table - null table
1126COM_DI_SP_END: ;; length of state section
1127 ;;
1128;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1129;; CODE PAGE: Common
1130;; STATE: Grave Lower
1131;; KEYBOARD TYPES: All
1132;; TABLE TYPE: Translate
1133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1134;; ;;
1135;; DW COM_GR_LO_END-$ ;; length of state section
1136;; DB GRAVE_LOWER ;; State ID
1137;; DW G_KB+P12_KB+AT_KB+XT_KB ;; Keyboard Type
1138;; DB 96,0 ;; error character = standalone accent
1139;; ;;
1140;; DW COM_GR_LO_T1_END-$ ;; Size of xlat table
1141;; DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
1142;; DB 5 ;; number of scans
1143;; DB 18,'Š' ;; scan code,ASCII - e
1144;; DB 30,'…' ;; scan code,ASCII - a
1145;; DB 24,'•' ;; scan code,ASCII - o
1146;; DB 22,'—' ;; scan code,ASCII - u
1147;; DB 23,'' ;; scan code,ASCII - i
1148;;COM_GR_LO_T1_END: ;;
1149;; ;;
1150;; DW 0 ;; Size of xlat table - null table
1151;; ;;
1152;;COM_GR_LO_END: ;; length of state section
1153;; ;;
1154;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1155;; CODE PAGE: Common
1156;; STATE: Grave Space Bar
1157;; KEYBOARD TYPES: All
1158;; TABLE TYPE: Translate
1159;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1160;; ;;
1161;; DW COM_GR_SP_END-$ ;; length of state section
1162;; DB GRAVE_SPACE ;; State ID
1163;; DW G_KB+P12_KB+AT_KB+XT_KB ;; Keyboard Type
1164;; DB 96,0 ;; error character = standalone accent
1165;; ;;
1166;; DW COM_GR_SP_T1_END-$ ;; Size of xlat table
1167;; DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
1168;; DB 1 ;; number of scans
1169;; DB 57,96 ;; STANDALONE GRAVE
1170;;COM_GR_SP_T1_END: ;;
1171;; ;;
1172;; DW 0 ;; Size of xlat table - null table
1173;; ;;
1174;;COM_GR_SP_END: ;; length of state section
1175;; ;;
1176;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1177;; CODE PAGE: Common
1178;; STATE: Circumflex Lower
1179;; KEYBOARD TYPES: All
1180;; TABLE TYPE: Translate
1181;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1182 ;;
1183 DW COM_CI_LO_END-$ ;; length of state section
1184 DB CIRCUMFLEX_LOWER ;; State ID
1185 DW G_KB+P12_KB+AT_KB+XT_KB ;; Keyboard Type
1186 DB 94,0 ;; error character = standalone accent
1187 ;;
1188 DW COM_CI_LO_T1_END-$ ;; Size of xlat table
1189 DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
1190 DB 5 ;; number of scans
1191 DB 16,'ƒ' ;; scan code,ASCII - a
1192 DB 18,'ˆ' ;; scan code,ASCII - e
1193 DB 24,'“' ;; scan code,ASCII - o
1194 DB 22,'–' ;; scan code,ASCII - u
1195 DB 23,'Œ' ;; scan code,ASCII - i
1196COM_CI_LO_T1_END: ;;
1197 ;;
1198 DW 0 ;;
1199 ;;
1200COM_CI_LO_END: ;;
1201 ;;
1202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1203;; CODE PAGE: Common
1204;; STATE: Circumflex Space Bar
1205;; KEYBOARD TYPES: All
1206;; TABLE TYPE: Translate
1207;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1208 ;;
1209 DW COM_CI_SP_END-$ ;; length of state section
1210 DB CIRCUMFLEX_SPACE ;; State ID
1211 DW G_KB+P12_KB+AT_KB+XT_KB ;; Keyboard Type
1212 DB 94,0 ;; error character = standalone accent
1213 ;;
1214 DW COM_CI_SP_T1_END-$ ;; Size of xlat table
1215 DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
1216 DB 1 ;; number of scans
1217 DB 57,94 ;; STANDALONE CIRCUMFLEX
1218COM_CI_SP_T1_END: ;;
1219 ;;
1220 DW 0 ;; Size of xlat table - null table
1221 ;;
1222COM_CI_SP_END: ;; length of state section
1223 ;;
1224;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1225 DW 0 ;; Last State
1226COMMON_XLAT_END: ;;
1227 ;;
1228 ;;
1229 ;;
1230;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1231;;***************************************
1232;; FR Specific Translate Section for 437
1233;; 437 IS COMPLETELY COVERED BY THE COMMON TABLE.
1234;;***************************************
1235;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1236 ;;
1237 PUBLIC FR2_437_XLAT ;;
1238FR2_437_XLAT: ;;
1239 ;;
1240 DW CP437_XLAT_END-$ ;; length of section
1241 DW 437 ;;
1242;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1243;; CODE PAGE: 437
1244;; STATE: Non-Alpha Upper Case
1245;; KEYBOARD TYPES: G_KB+ p12
1246;; TABLE TYPE: Translate
1247;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1248 ;;
1249 DW CP437_NA_UP_K1_END-$ ;; length of state section
1250 DB NON_ALPHA_UPPER ;; State ID
1251 DW G_KB+P12_KB ;; Keyboard Type
1252 DB -1,-1 ;; default ignore error state
1253 ;;
1254 DW CP437_NA_UP_T1_K1_END-$ ;; Size of xlat table
1255 DB STANDARD_TABLE ;; xlat options: **** CNS 12/18
1256 DB 1 ;; number of scans
1257 DB 53,015H ;; Section symbol - 
1258CP437_NA_UP_T1_K1_END: ;;
1259 ;;
1260 DW 0 ;; Size of xlat table - null table
1261 ;;
1262CP437_NA_UP_K1_END: ;;
1263 ;;
1264;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1265;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1266;; CODE PAGE: 437
1267;; STATE: Non-Alpha Lower Case
1268;; KEYBOARD TYPES: AT + XT +
1269;; TABLE TYPE: Translate
1270;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1271 ;;
1272 DW CP437_NA_LO_K1_END-$ ;; length of state section
1273 DB NON_ALPHA_LOWER ;; State ID
1274 DW AT_KB+XT_KB ;; Keyboard Type
1275 DB -1,-1 ;; default ignore error state
1276 ;;
1277 DW CP437_NA_LO_T1_K1_END-$ ;; Size of xlat table
1278 DB STANDARD_TABLE ;; xlat options: **** CNS 12/18
1279 DB 1 ;; number of scans
1280 DB 7,015H ;; Section symbol - 
1281CP437_NA_LO_T1_K1_END: ;;
1282 ;;
1283 DW 0 ;; Size of xlat table - null table
1284 ;;
1285CP437_NA_LO_K1_END: ;;
1286 ;;
1287;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1288;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1289;; CODE PAGE: 437 ???????????????????May need change....
1290;; STATE: Third Shift
1291;; KEYBOARD TYPES: G_KB+P12
1292;; TABLE TYPE: Translate
1293;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1294 ;;
1295 DW CP437_THIRD_END-$ ;; length of state section
1296 DB THIRD_SHIFT ;; State ID
1297 DW G_KB+P12_KB ;; Keyboard Type
1298 DB -1,-1 ;; default ignore error state
1299 ;;
1300 DW CP437_THIRD_T1_END-$ ;; Size of xlat table
1301 DB STANDARD_TABLE ;; xlat options: *** CNS 12/18
1302 DB 1 ;; number of scans
1303 DB 27,'$' ;; dollar currency symbol
1304CP437_THIRD_T1_END: ;;
1305 ;;
1306 DW 0 ;; Size of xlat table - null table
1307 ;;
1308CP437_THIRD_END: ;;
1309 ;;
1310;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1311;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1312 DW 0 ;; LAST STATE
1313 ;;
1314CP437_XLAT_END: ;;
1315 ;;
1316;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1317;;***************************************
1318;; FR Specific Translate Section for 850
1319;;***************************************
1320;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1321 ;;
1322 PUBLIC FR2_850_XLAT ;;
1323FR2_850_XLAT: ;;
1324 ;;
1325 DW CP850_XLAT_END-$ ;; length of section
1326 DW 850 ;;
1327 ;;
1328 ;;
1329;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1330;; CODE PAGE: 850
1331;; STATE: Non-Alpha Upper Case
1332;; KEYBOARD TYPES: G_KB + P12
1333;; TABLE TYPE: Translate
1334;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1335 ;;
1336 DW CP850_NA_UP_K1_END-$ ;; length of state section
1337 DB NON_ALPHA_UPPER ;; State ID
1338 DW G_KB+P12_KB ;; Keyboard Type
1339 DB -1,-1 ;; default ignore error state
1340 ;;
1341 DW CP850_NA_UP_T1_K1_END-$ ;; Size of xlat table
1342 DB STANDARD_TABLE ;; xlat options: ***** CNS 12/18
1343 DB 1 ;; number of scans
1344 DB 53,0F5H ;; Section symbol - 
1345CP850_NA_UP_T1_K1_END: ;;
1346 ;;
1347 DW 0 ;; Size of xlat table - null table
1348 ;;
1349CP850_NA_UP_K1_END: ;;
1350 ;;
1351;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1352;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1353;; CODE PAGE: 850
1354;; STATE: Non-Alpha Lower Case
1355;; KEYBOARD TYPES: AT_KB+XT+
1356;; TABLE TYPE: Translate
1357;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1358 ;;
1359 DW CP850_NA_LO_K1_END-$ ;; length of state section
1360 DB NON_ALPHA_LOWER ;; State ID
1361 DW AT_KB+XT_KB ;; Keyboard Type
1362 DB -1,-1 ;; default ignore error state
1363 ;;
1364 DW CP850_NA_LO_T1_K1_END-$ ;; Size of xlat table
1365 DB STANDARD_TABLE ;; xlat options: ***** CNS **** 12/18
1366 DB 1 ;; number of scans
1367 DB 7,0F5H ;; Section symbol - 
1368CP850_NA_LO_T1_K1_END: ;;
1369 ;;
1370 DW 0 ;; Size of xlat table - null table
1371 ;;
1372CP850_NA_LO_K1_END: ;;
1373 ;;
1374;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1375;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1376;; CODE PAGE: 850
1377;; STATE: Third Shift
1378;; KEYBOARD TYPES: G_KB+P12
1379;; TABLE TYPE: Translate
1380;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1381 ;;
1382 DW CP850_THIRD_END-$ ;; length of state section
1383 DB THIRD_SHIFT ;; State ID
1384 DW G_KB+P12_KB ;; Keyboard Type
1385 DB -1,-1 ;; default ignore error state
1386 ;;
1387 DW CP850_THIRD_T1_END-$ ;; Size of xlat table
1388 DB STANDARD_TABLE ;; xlat options: *** CNS 12/18
1389 DB 1 ;; number of scans
1390 DB 27,0CFH ;; international currency symbol
1391CP850_THIRD_T1_END: ;;
1392 ;;
1393 DW 0 ;; Size of xlat table - null table
1394 ;;
1395CP850_THIRD_END: ;;
1396 ;;
1397;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1398;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1399;; CODE PAGE: 850
1400;; STATE: Acute Lower Case
1401;; KEYBOARD TYPES: All
1402;; TABLE TYPE: Translate
1403;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1404;; ;;
1405;; DW CP850_AC_LO_END-$ ;; length of state section
1406;; DB ACUTE_LOWER ;; State ID
1407;; DW G_KB+P12_KB+AT_KB+XT_KB ;; Keyboard Type
1408;; DB 39,0 ;; error character = standalone accent
1409;; ;;
1410;; DW CP850_AC_LO_T1_END-$ ;; Size of xlat table
1411;; DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
1412;; DB 1 ;; number of scans
1413;; DB 21,0ECH ;; y acute
1414;;CP850_AC_LO_T1_END: ;;
1415;; ;;
1416;; DW 0 ;; Size of xlat table - null table
1417;; ;;
1418;;CP850_AC_LO_END: ;;
1419;; ;;
1420;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1421;;;; CODE PAGE: 850
1422;;;; STATE: Acute Upper Case
1423;;;; KEYBOARD TYPES: All
1424;;;; TABLE TYPE: Translate
1425;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1426;; ;;
1427;; DW CP850_AC_UP_END-$ ;; length of state section
1428;; DB ACUTE_UPPER ;; State ID
1429;; DW G_KB+P12_KB+AT_KB+XT_KB ;; Keyboard Type
1430;; DB 39,0 ;; error character = standalone accent
1431;; ;;
1432;; DW CP850_AC_UP_T1_END-$ ;; Size of xlat table
1433;; DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
1434;; DB 5 ;; number of scans
1435;; DB 30,0B5H ;; A acute
1436;; DB 23,0D6H ;; I acute
1437;; DB 24,0E0H ;; O acute
1438;; DB 22,0E9H ;; U acute
1439;; DB 21,0EDH ;; Y acute
1440;;CP850_AC_UP_T1_END: ;;
1441;; ;;
1442;; DW 0 ;; Size of xlat table - null table
1443;; ;;
1444;;CP850_AC_UP_END: ;;
1445;; ;;
1446;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1447;;;; CODE PAGE: 850
1448;;;; STATE: Diaresis Upper
1449;;;; KEYBOARD TYPES: All
1450;;; TABLE TYPE: Translate
1451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1452 ;;
1453 DW CP850_DI_UP_END-$ ;; length of state section
1454 DB DIARESIS_UPPER ;; State ID
1455 DW G_KB+P12_KB+AT_KB+XT_KB ;; Keyboard Type
1456 DB 249,0 ;; error character = standalone accent
1457 ;;
1458 DW CP850_DI_UP_T1_END-$ ;; Size of xlat table
1459 DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
1460 DB 2 ;; number of scans
1461 DB 18,0D3H ;; E diaeresis
1462 DB 23,0D8H ;; I diaeresis
1463 CP850_DI_UP_T1_END: ;;
1464 ;;
1465 DW 0 ;; Size of xlat table - null table
1466 ;;
1467 CP850_DI_UP_END: ;; length of state section
1468 ;;
1469;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1470;;; CODE PAGE: 850
1471;; STATE: Grave Upper
1472;; KEYBOARD TYPES: All
1473;; TABLE TYPE: Translate
1474;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1475;; ;;
1476;; DW CP850_GR_UP_END-$ ;; length of state section
1477;; DB GRAVE_UPPER ;; State ID
1478;; DW G_KB+P12_KB+AT_KB+XT_KB ;; Keyboard Type
1479;; DB 96,0 ;; error character = standalone accent
1480;; ;;
1481;; DW CP850_GR_UP_T1_END-$ ;; Size of xlat table
1482;; DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
1483;; DB 5 ;; number of scans
1484;; DB 30,0B7H ;; A grave
1485;; DB 18,0D4H ;; E grave
1486;; DB 23,0DEH ;; I grave
1487;; DB 24,0E3H ;; O grave
1488;; DB 22,0EBH ;; U grave
1489;;CP850_GR_UP_T1_END: ;;
1490;; ;;
1491;; DW 0 ;; Size of xlat table - null table
1492;; ;;
1493;;CP850_GR_UP_END: ;; length of state section
1494;; ;;
1495;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1496;;;; CODE PAGE: 850
1497;;;; STATE: Circumflex Upper
1498;;;; KEYBOARD TYPES: All
1499;;;;; TABLE TYPE: Translate
1500;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1501 ;;
1502 DW CP850_CI_UP_END-$ ;; length of state section
1503 DB CIRCUMFLEX_UPPER ;; State ID
1504 DW G_KB+P12_KB+AT_KB+XT_KB ;; Keyboard Type
1505 DB 94,0 ;; error character = standalone accent
1506 ;;
1507 DW CP850_CI_UP_T1_END-$ ;; Size of xlat table
1508 DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
1509 DB 5 ;; number of scans
1510 DB 16,0B6H ;; A circumflex
1511 DB 18,0D2H ;; E circumflex
1512 DB 23,0D7H ;; I circumflex
1513 DB 24,0E2H ;; O circumflex
1514 DB 22,0EAH ;; U circumflex
1515 CP850_CI_UP_T1_END: ;;
1516 ;;
1517 DW 0 ;; Size of xlat table - null table
1518 ;;
1519 CP850_CI_UP_END: ;; length of state section
1520 ;;
1521;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1522 ;;
1523 DW 0 ;; LAST STATE
1524 ;;
1525CP850_XLAT_END: ;;
1526;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1527 ;;
1528CODE ENDS ;;
1529 END ;;