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