summaryrefslogtreecommitdiff
path: root/v4.0/src/DEV/KEYBOARD/KDFIT141.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/KDFIT141.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/KDFIT141.ASM')
-rw-r--r--v4.0/src/DEV/KEYBOARD/KDFIT141.ASM794
1 files changed, 794 insertions, 0 deletions
diff --git a/v4.0/src/DEV/KEYBOARD/KDFIT141.ASM b/v4.0/src/DEV/KEYBOARD/KDFIT141.ASM
new file mode 100644
index 0000000..a01b8c9
--- /dev/null
+++ b/v4.0/src/DEV/KEYBOARD/KDFIT141.ASM
@@ -0,0 +1,794 @@
1
2
3
4
5 PAGE ,132
6 TITLE DOS - Keyboard Definition File
7
8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
9;; DOS - - NLS Support - Keyboard Defintion File
10;; (c) Copyright 1988 Microsoft
11;;
12;; This file contains the keyboard tables for Spanish.
13;;
14;; Linkage Instructions:
15;; Refer to KDF.ASM.
16;;
17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
18 ;;
19 INCLUDE KEYBSHAR.INC ;;
20 INCLUDE POSTEQU.INC ;;
21 INCLUDE KEYBMAC.INC ;;
22 ;;
23 PUBLIC IT2_LOGIC ;;
24 PUBLIC IT2_437_XLAT ;;
25 PUBLIC IT2_850_XLAT ;;
26 ;;
27CODE SEGMENT PUBLIC 'CODE' ;;
28 ASSUME CS:CODE,DS:CODE ;;
29 ;;
30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
31;; Standard translate table options are a liner search table
32;; (TYPE_2_TAB) and ASCII entries ONLY (ASCII_ONLY)
33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
34 ;;
35STANDARD_TABLE EQU TYPE_2_TAB+ASCII_ONLY
36 ;;
37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
38;;***************************************
39;; IT State Logic
40;;***************************************
41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
42 ;;
43 ;;
44IT2_LOGIC:
45
46 DW LOGIC_END-$ ;; length
47 ;;
48 DW 0 ;; special features
49 ;;
50 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; COMMANDS START HERE
51 ;;
52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
53;; OPTIONS: If we find a scan match in
54;; an XLATT or SET_FLAG operation then
55;; exit from INT 9.
56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
57 ;;
58 OPTION EXIT_IF_FOUND ;;
59 ;;
60 ;;
61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
62;; Dead key definitions must come before
63;; dead key translations to handle
64;; dead key + dead key.
65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
66 ;;
67 IFF EITHER_ALT,NOT ;;
68 ANDF EITHER_CTL,NOT ;;
69 IFF EITHER_SHIFT ;;
70 SET_FLAG DEAD_UPPER ;;
71 ELSEF ;;
72 SET_FLAG DEAD_LOWER ;;
73 ENDIFF ;;
74 ENDIFF ;;
75 ;;
76;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
77;; ACUTE ACCENT TRANSLATIONS
78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
79 ;;
80ACUTE_PROC: ;;
81 ;;
82 IFF ACUTE,NOT ;;
83 GOTO DIARESIS_PROC ;;
84 ENDIFF ;;
85 ;;
86 RESET_NLS ;;
87 IFF R_ALT_SHIFT,NOT ;;
88 XLATT ACUTE_SPACE ;;
89 ENDIFF ;;
90 IFF EITHER_CTL,NOT ;;
91 ANDF EITHER_ALT,NOT ;;
92 IFF EITHER_SHIFT ;;
93 IFF CAPS_STATE ;;
94 XLATT ACUTE_LOWER ;;
95 ELSEF ;;
96 XLATT ACUTE_UPPER ;;
97 ENDIFF ;;
98 ELSEF ;;
99 IFF CAPS_STATE ;;
100 XLATT ACUTE_UPPER ;;
101 ELSEF ;;
102 XLATT ACUTE_LOWER ;;
103 ENDIFF ;;
104 ENDIFF ;;
105 ENDIFF ;;
106 ;;
107INVALID_ACUTE: ;;
108 PUT_ERROR_CHAR ACUTE_LOWER ;; If we get here then either the XLATT
109 BEEP ;; failed or we are ina bad shift state.
110 GOTO NON_DEAD ;; Either is invalid so BEEP and fall
111 ;; through to generate the second char.
112 ;; Note that the dead key flag will be
113 ;; reset before we get here.
114 ;;
115;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
116;; DIARESIS ACCENT TRANSLATIONS
117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
118 ;;
119DIARESIS_PROC: ;;
120 ;;
121 IFF DIARESIS,NOT ;;
122 GOTO GRAVE_PROC ;;
123 ENDIFF ;;
124 ;;
125 RESET_NLS ;;
126 IFF R_ALT_SHIFT,NOT ;;
127 XLATT DIARESIS_SPACE ;; exist for 437 so beep for
128 ENDIFF ;;
129 IFF EITHER_CTL,NOT ;;
130 ANDF EITHER_ALT,NOT ;;
131 IFF EITHER_SHIFT ;;
132 IFF CAPS_STATE ;;
133 XLATT DIARESIS_LOWER ;;
134 ELSEF ;;
135 XLATT DIARESIS_UPPER ;;
136 ENDIFF ;;
137 ELSEF ;;
138 IFF CAPS_STATE ;;
139 XLATT DIARESIS_UPPER ;;
140 ELSEF ;;
141 XLATT DIARESIS_LOWER ;;
142 ENDIFF ;;
143 ENDIFF ;;
144 ENDIFF ;;
145 ;;
146INVALID_DIARESIS: ;;
147 PUT_ERROR_CHAR DIARESIS_SPACE ;; standalone accent
148 BEEP ;; Invalid dead key combo.
149 GOTO NON_DEAD ;;
150 ;;
151;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
152;; GRAVE ACCENT TRANSLATIONS
153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
154 ;;
155GRAVE_PROC: ;;
156 ;;
157 IFF GRAVE,NOT ;;
158 GOTO CIRCUMFLEX_PROC ;;
159 ENDIFF ;;
160 ;;
161 RESET_NLS ;;
162 IFF R_ALT_SHIFT,NOT ;;
163 XLATT GRAVE_SPACE ;;
164 ENDIFF ;;
165 IFF EITHER_CTL,NOT ;;
166 ANDF EITHER_ALT,NOT ;;
167 IFF EITHER_SHIFT ;;
168 IFF CAPS_STATE ;;
169 XLATT GRAVE_LOWER ;;
170 ELSEF ;;
171 XLATT GRAVE_UPPER ;;
172 ENDIFF ;;
173 ELSEF ;;
174 IFF CAPS_STATE,NOT ;;
175 XLATT GRAVE_LOWER ;;
176 ELSEF ;;
177 XLATT GRAVE_UPPER ;;
178 ENDIFF ;;
179 ENDIFF ;;
180 ENDIFF ;;
181 ;;
182INVALID_GRAVE: ;;
183 PUT_ERROR_CHAR GRAVE_LOWER ;; standalone accent
184 BEEP ;; Invalid dead key combo.
185 GOTO NON_DEAD ;;
186 ;;
187;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
188;; CIRCUMFLEX ACCENT TRANSLATIONS
189;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
190 ;;
191CIRCUMFLEX_PROC: ;;
192 ;;
193 IFF CIRCUMFLEX,NOT ;;
194 GOTO NON_DEAD ;;
195 ENDIFF ;;
196 ;;
197 RESET_NLS ;;
198 IFF R_ALT_SHIFT,NOT ;;
199 XLATT CIRCUMFLEX_SPACE ;;
200 ENDIFF ;;
201 IFF EITHER_CTL,NOT ;;
202 ANDF EITHER_ALT,NOT ;;
203 IFF EITHER_SHIFT ;;
204 IFF CAPS_STATE ;;
205 XLATT CIRCUMFLEX_LOWER ;;
206 ELSEF ;;
207 XLATT CIRCUMFLEX_UPPER ;;
208 ENDIFF ;;
209 ELSEF ;;
210 IFF CAPS_STATE,NOT ;;
211 XLATT CIRCUMFLEX_LOWER ;;
212 ELSEF ;;
213 XLATT CIRCUMFLEX_UPPER ;;
214 ENDIFF ;;
215 ENDIFF ;;
216 ENDIFF ;;
217 ;;
218INVALID_CIRCUMFLEX: ;;
219 PUT_ERROR_CHAR CIRCUMFLEX_LOWER ;; standalone accent
220 BEEP ;; Invalid dead key combo.
221 GOTO NON_DEAD ;;
222 ;;
223 ;;
224;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
225;; Upper, lower and third shifts
226;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
227 ;;
228NON_DEAD: ;;
229 ;;
230 IFKBD G_KB+P12_KB ;; Avoid accidentally translating
231 ANDF LC_E0 ;; the "/" on the numeric pad of the
232 EXIT_STATE_LOGIC ;; G keyboard
233 ENDIFF ;;
234;;***BD ADDED FOR ALT, CTRL CASES ;;
235 IFF EITHER_CTL,NOT ;;
236 IFF ALT_SHIFT ;; ALT - case
237 ANDF R_ALT_SHIFT,NOT ;;
238 XLATT ALT_CASE ;;
239 ENDIFF ;;
240 ELSEF ;;
241 IFF EITHER_ALT,NOT ;; CTRL - case
242 XLATT CTRL_CASE ;;
243 ENDIFF ;;
244 ENDIFF ;;
245;;***BD END OF ADDITION
246 ;;
247 IFF EITHER_ALT,NOT ;; Lower and upper case. Alphabetic
248 ANDF EITHER_CTL,NOT ;; keys are affected by CAPS LOCK.
249 IFF EITHER_SHIFT ;; Numeric keys are not.
250;;***BD ADDED FOR NUMERIC PAD
251 IFF NUM_STATE,NOT ;;
252 XLATT NUMERIC_PAD ;;
253 ENDIFF ;;
254;;***BD END OF ADDITION
255 XLATT NON_ALPHA_UPPER ;;
256 IFF CAPS_STATE ;;
257 XLATT ALPHA_LOWER ;;
258 ELSEF ;;
259 XLATT ALPHA_UPPER ;;
260 ENDIFF ;;
261 ELSEF ;;
262;;***BD ADDED FOR NUMERIC PAD
263 IFF NUM_STATE ;;
264 XLATT NUMERIC_PAD ;;
265 ENDIFF ;;
266;;***BD END OF ADDITION
267 XLATT NON_ALPHA_LOWER ;;
268 IFF CAPS_STATE ;;
269 XLATT ALPHA_UPPER ;;
270 ELSEF ;;
271 XLATT ALPHA_LOWER ;;
272 ENDIFF ;;
273 ENDIFF ;;
274 ELSEF ;;
275 IFF EITHER_SHIFT,NOT ;;
276 IFKBD XT_KB+AT_KB ;;
277 IFF EITHER_CTL ;;
278 ANDF ALT_SHIFT ;;
279 XLATT THIRD_SHIFT ;;
280 ENDIFF ;;
281 ELSEF ;;
282 IFF EITHER_CTL,NOT ;;
283 ANDF R_ALT_SHIFT ;;
284 XLATT THIRD_SHIFT ;;
285 ENDIFF ;;
286 ENDIFF ;;
287 ENDIFF ;;
288 ENDIFF ;;
289 ;;
290 EXIT_STATE_LOGIC ;;
291 ;;
292LOGIC_END: ;;
293 ;;
294 ;;
295;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
296;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
297;;;***************************************
298;; IT Common Translate Section
299;; This section contains translations for the lower 128 characters
300;; only since these will never change from code page to code page.
301;; In addition the dead key "Set Flag" tables are here since the
302;; dead keys are on the same keytops for all code pages.
303;;***************************************
304;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
305 ;;
306 PUBLIC IT2_COMMON_XLAT ;;
307IT2_COMMON_XLAT: ;;
308 ;;
309 DW COMMON_XLAT_END-$ ;; length of section
310 DW -1 ;; code page
311 ;;
312 ;;
313;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
314;;***************************************
315;;***BD - ADDED FOR ALT CASE
316;;******************************
317;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
318;; CODE PAGE: Common
319;; STATE: Alt Case
320;; KEYBOARD TYPES: All
321;; TABLE TYPE: Translate
322;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
323 ;;
324 DW COM_ALT_K1_END-$ ;; length of state section
325 DB ALT_CASE ;; State ID
326 DW ANY_KB ;; Keyboard Type
327 DB -1,-1 ;; Buffer entry for error character
328 ;;
329 DW COM_ALT_K1_T1_END-$ ;; Size of xlat table
330 DB TYPE_2_TAB ;; xlat options:
331 DB 0 ;; 3 number of entries
332;;***BD THIS ENTRY IS A TEST ENTRY
333;; DB 53,225,0 ;; TEST ENTRY
334;; DB 53,0,82H ;; valid alt -
335;; DB 12,-1,-1 ;; invalid alt -
336;; DB 13,-1,-1 ;; invalid alt =
337COM_ALT_K1_T1_END: ;;
338 ;;
339 DW 0 ;; Size of xlat table - null table
340 ;;
341COM_ALT_K1_END: ;;
342 ;;
343;;******************************
344;;***BD - ADDED FOR CTRL CASE
345;;******************************
346;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
347;; CODE PAGE: Common
348;; STATE: Ctrl Case
349;; KEYBOARD TYPES: G_KB+P12_KB+AT
350;; TABLE TYPE: Translate
351;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
352 ;;
353 DW COM_CTRL_K1_END-$ ;; length of state section
354 DB CTRL_CASE ;; State ID
355 DW G_KB+P12_KB+AT_KB ;; Keyboard Type
356 DB -1,-1 ;; Buffer entry for error character
357 ;;
358 DW COM_CTRL_K1_T1_END-$ ;; Size of xlat table
359 DB TYPE_2_TAB ;; xlat options:
360 DB 2 ;; number of entries
361;;***BD THIS ENTRY IS A TEST ENTRY
362;; DB 53,226,0 ;; TEST ENTRY
363 DB 43,-1,-1 ;; invalid slash
364 DB 41,28,41 ;; valid slash
365COM_CTRL_K1_T1_END: ;;
366 ;;
367 DW 0 ;; Size of xlat table - null table
368 ;;
369COM_CTRL_K1_END: ;;
370 ;;
371;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
372;; CODE PAGE: Common
373;; STATE: Non-Alpha Lower Case
374;; KEYBOARD TYPES: G_KB+P12_KB
375;; TABLE TYPE: Translate
376;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
377 ;;
378 DW COM_NA_LO_K1_END-$ ;; length of state section
379 DB NON_ALPHA_LOWER ;; State ID
380 DW G_KB+P12_KB ;; Keyboard Type
381 DB -1,-1 ;; Buffer entry for error character
382 ;;
383 DW COM_NA_LO_K1_T1_END-$ ;; Size of xlat table
384 DB STANDARD_TABLE ;; xlat options:
385 DB 10 ;; number of entries
386 DB 41,"\" ;; \
387 DB 12,"'" ;; '
388 DB 13,141 ;; grave i - ¡;
389 DB 27,'+' ;; +
390 DB 86,'<' ;; <
391 DB 53,'-' ;; -
392 DB 39,149 ;; grave o - •
393 DB 40,133 ;; grave a - …;
394 DB 43,151 ;; grave u - —;
395 DB 26,138 ;; grave e - Š;
396COM_NA_LO_K1_T1_END: ;;
397 ;;
398 DW 0 ;; Size of xlat table - null table
399 ;;
400COM_NA_LO_K1_END: ;;
401 ;;
402;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
403;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
404;; CODE PAGE: Common
405;; STATE: Non-Alpha Lower Case
406;; KEYBOARD TYPES: AT
407;; TABLE TYPE: Translate
408;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
409 ;;
410 DW COM_NA_LO_K2_END-$ ;; length of state section
411 DB NON_ALPHA_LOWER ;; State ID
412 DW AT_KB ;; Keyboard Type
413 DB -1,-1 ;; Buffer entry for error character
414 ;;
415 DW COM_NA_LO_K2_T1_END-$ ;; Size of xlat table
416 DB STANDARD_TABLE ;; xlat options:
417 DB 9 ;; number of entries
418 DB 41,"<" ;; <
419 DB 12,"'" ;; '
420 DB 13,141 ;; grave i - ¡;
421 DB 27,'+' ;; +
422 DB 53,'-' ;; -
423 DB 39,149 ;; grave o - •
424 DB 40,133 ;; grave a - …;
425 DB 43,151 ;; grave u - —;
426 DB 26,138 ;; grave e - Š;
427COM_NA_LO_K2_T1_END: ;;
428 ;;
429 DW 0 ;; Size of xlat table - null table
430 ;;
431COM_NA_LO_K2_END: ;;
432 ;;
433;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
434;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
435;; CODE PAGE: Common
436;; STATE: Non-Alpha Lower Case
437;; KEYBOARD TYPES: XT +
438;; TABLE TYPE: Translate
439;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
440 ;;
441 DW COM_NA_LO_K3_END-$ ;; length of state section
442 DB NON_ALPHA_LOWER ;; State ID
443 DW XT_KB ;; Keyboard Type
444 DB -1,-1 ;; Buffer entry for error character
445 ;;
446 DW COM_NA_LO_K3_T1_END-$ ;; Size of xlat table
447 DB STANDARD_TABLE ;; xlat options:
448 DB 9 ;; number of entries
449 DB 12,"'" ;; '
450 DB 13,141 ;; grave i - ¡;
451 DB 27,'+' ;; +
452 DB 43,'<' ;; <
453 DB 53,'-' ;; -
454 DB 39,149 ;; grave o - •
455 DB 40,133 ;; grave a - …;
456 DB 41,151 ;; grave u - —;
457 DB 26,138 ;; grave e - Š;
458COM_NA_LO_K3_T1_END: ;;
459 ;;
460 DW 0 ;; Size of xlat table - null table
461 ;;
462COM_NA_LO_K3_END: ;;
463 ;;
464;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
465;; CODE PAGE: Common
466;; STATE: Non-Alpha Upper Case
467;; KEYBOARD TYPES: G_KB+P12
468;; TABLE TYPE: Translate
469;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
470 ;;
471 DW COM_NA_UP_K1_END-$ ;; length of state section
472 DB NON_ALPHA_UPPER ;; State ID
473 DW G_KB+P12_KB ;; Keyboard Type
474 DB -1,-1 ;; Buffer entry for error character
475 ;;
476 DW COM_NA_UP_K1_T1_END-$ ;; Size of xlat table
477 DB STANDARD_TABLE ;; xlat options:
478 DB 18 ;; number of entries
479 DB 41,07CH ;; Solid vertical bar - |
480 DB 3,'"' ;;
481 DB 4,'œ' ;;
482 DB 7,'&' ;;
483 DB 8,'/' ;;
484 DB 9,'(' ;;
485 DB 10,')' ;;
486 DB 11,'=' ;;
487 DB 12,'?' ;;
488 DB 13,'^' ;;
489 DB 26,130 ;; acute e - ‚;
490 DB 39,135 ;; c - cedilla - ‡
491 DB 27,'*' ;;
492 DB 40,0F8H ;; ø - degree symbol
493 DB 86,'>' ;;
494 DB 51,';' ;;
495 DB 52,':' ;;
496 DB 53,'_' ;;
497 ;;
498COM_NA_UP_K1_T1_END: ;;
499 ;;
500 DW 0 ;; Size of xlat table - null table
501 ;;
502COM_NA_UP_K1_END: ;;
503 ;;
504 ;;
505;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
506;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
507;; CODE PAGE: Common
508;; STATE: Non-Alpha Upper Case
509;; KEYBOARD TYPES: AT
510;; TABLE TYPE: Translate
511;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
512 ;;
513 DW COM_NA_UP_K2_END-$ ;; length of state section
514 DB NON_ALPHA_UPPER ;; State ID
515 DW AT_KB ;; Keyboard Type
516 DB -1,-1 ;; Buffer entry for error character
517 ;;
518 DW COM_NA_UP_K2_T1_END-$ ;; Size of xlat table
519 DB STANDARD_TABLE ;; xlat options:
520 DB 18 ;; number of entries
521 DB 41,'>' ;; >
522 DB 3,'"' ;;
523 DB 4,'œ' ;;
524 DB 7,'&' ;;
525 DB 8,'/' ;;
526 DB 9,'(' ;;
527 DB 10,')' ;;
528 DB 11,'=' ;;
529 DB 12,'?' ;;
530 DB 13,'^' ;;
531 DB 26,130 ;; acute e - ‚;
532 DB 39,'@' ;; @ AT sign replaces c - cedilla - ‡
533 DB 27,'*' ;;
534 DB 40,'#' ;; # sign replaces ø - degree symbol
535 DB 86,'>' ;;
536 DB 51,';' ;;
537 DB 52,':' ;;
538 DB 53,'_' ;;
539 ;;
540COM_NA_UP_K2_T1_END: ;;
541 ;;
542 DW 0 ;; Size of xlat table - null table
543 ;;
544COM_NA_UP_K2_END: ;;
545 ;;
546 ;;
547;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
548;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
549;; CODE PAGE: Common
550;; STATE: Non-Alpha Upper Case
551;; KEYBOARD TYPES: XT +
552;; TABLE TYPE: Translate
553;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
554 ;;
555 DW COM_NA_UP_K3_END-$ ;; length of state section
556 DB NON_ALPHA_UPPER ;; State ID
557 DW XT_KB ;; Keyboard Type
558 DB -1,-1 ;; Buffer entry for error character
559 ;;
560 DW COM_NA_UP_K3_T1_END-$ ;; Size of xlat table
561 DB STANDARD_TABLE ;; xlat options:
562 DB 17 ;; number of entries
563 DB 3,'"' ;;
564 DB 4,'œ' ;;
565 DB 7,'&' ;;
566 DB 8,'/' ;;
567 DB 9,'(' ;;
568 DB 10,')' ;;
569 DB 11,'=' ;;
570 DB 12,'?' ;;
571 DB 13,'^' ;;
572 DB 26,130 ;; acute e - ‚;
573 DB 39,'@' ;; @ AT sign replaces c - cedilla - ‡
574 DB 27,'*' ;;
575 DB 40,'#' ;; # sign replaces ø - degree symbol
576 DB 43,'>' ;;
577 DB 51,';' ;;
578 DB 52,':' ;;
579 DB 53,'_' ;;
580 ;;
581COM_NA_UP_K3_T1_END: ;;
582 ;;
583 DW 0 ;; Size of xlat table - null table
584 ;;
585COM_NA_UP_K3_END: ;;
586 ;;
587 ;;
588;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
589;; CODE PAGE: Common
590;; STATE: Third Shift
591;; KEYBOARD TYPES: G_KB+P12_KB
592;; TABLE TYPE: Translate
593;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
594 ;;
595 DW COM_THIRD_K1_END-$ ;; length of state section
596 DB THIRD_SHIFT ;; State ID
597 DW G_KB+P12_KB ;; Keyboard Type
598 DB -1,-1 ;; Buffer entry for error character
599 ;;
600 DW COM_THIRD_K1_T1_END-$ ;; Size of xlat table
601 DB STANDARD_TABLE ;; xlat options:
602 DB 4 ;; number of entries
603 DB 26,'[' ;;
604 DB 27,']' ;;
605 DB 39,'@' ;;
606 DB 40,'#' ;;
607COM_THIRD_K1_T1_END: ;;
608 ;;
609 DW 0 ;; Last xlat table
610COM_THIRD_K1_END: ;;
611 ;;
612;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
613;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
614;; CODE PAGE: Common
615;; STATE: Third Shift
616;; KEYBOARD TYPES: AT
617;; TABLE TYPE: Translate
618;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
619 ;;
620 DW COM_THIRD_K2_END-$ ;; length of state section
621 DB THIRD_SHIFT ;; State ID
622 DW AT_KB ;; Keyboard Type
623 DB -1,-1 ;; Buffer entry for error character
624 ;;
625 DW COM_THIRD_K2_T1_END-$ ;; Size of xlat table
626 DB STANDARD_TABLE ;; xlat options:
627 DB 3 ;; number of entries
628 DB 41,'\' ;;
629 DB 26,'[' ;;
630 DB 27,']' ;;
631COM_THIRD_K2_T1_END: ;;
632 ;;
633 DW 0 ;; Last xlat table
634COM_THIRD_K2_END: ;;
635 ;;
636;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
637;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
638;; CODE PAGE: Common
639;; STATE: Third Shift
640;; KEYBOARD TYPES: XT +
641;; TABLE TYPE: Translate
642;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
643 ;;
644 DW COM_THIRD_K3_END-$ ;; length of state section
645 DB THIRD_SHIFT ;; State ID
646 DW XT_KB ;; Keyboard Type
647 DB -1,-1 ;; Buffer entry for error character
648 ;;
649 DW COM_THIRD_K3_T1_END-$ ;; Size of xlat table
650 DB STANDARD_TABLE ;; xlat options:
651 DB 3 ;; number of entries
652 DB 43,'\' ;;
653 DB 26,'[' ;;
654 DB 27,']' ;;
655COM_THIRD_K3_T1_END: ;;
656 ;;
657 DW 0 ;; Last xlat table
658COM_THIRD_K3_END: ;;
659 ;;
660;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
661 DW 0 ;; Last State
662COMMON_XLAT_END: ;;
663 ;;
664 ;;
665 ;;
666;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
667;;***************************************
668;; IT Specific Translate Section for 437
669;; 437 IS COMPLETELY COVERED BY THE COMMON TABLE.
670;;***************************************
671;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
672 ;;
673 PUBLIC IT2_437_XLAT ;;
674IT2_437_XLAT: ;;
675 ;;
676 DW CP437_XLAT_END-$ ;; length of section
677 DW 437 ;;
678;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
679;; CODE PAGE: 437
680;; STATE: Non-Alpha Upper case
681;; KEYBOARD TYPES: G_KB+P12+AT
682;; TABLE TYPE: Translate
683;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
684 ;;
685 DW CP437_NA_UP_K1_END-$ ;; length of state section
686 DB NON_ALPHA_UPPER ;; State ID
687 DW G_KB+P12_KB+AT_KB ;; Keyboard Type
688 DB -1,-1 ;; error character = standalone accent
689 ;;
690 DW CP437_NA_UP_T1_K1_END-$ ;; Size of xlat table
691 DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
692 DB 1 ;; number of scans
693 DB 43,015H ;; Section symbol - 
694 CP437_NA_UP_T1_K1_END: ;;
695 ;;
696 DW 0 ;; Size of xlat table - null table
697 ;;
698 CP437_NA_UP_K1_END: ;;
699 ;;
700;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
701;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
702;; CODE PAGE: 437
703;; STATE: Non-Alpha Upper case
704;; KEYBOARD TYPES: XT +
705;; TABLE TYPE: Translate
706;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
707 ;;
708 DW CP437_NA_UP_K2_END-$ ;; length of state section
709 DB NON_ALPHA_UPPER ;; State ID
710 DW XT_KB ;; Keyboard Type
711 DB -1,-1 ;; error character = standalone accent
712 ;;
713 DW CP437_NA_UP_T1_K2_END-$ ;; Size of xlat table
714 DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
715 DB 1 ;; number of scans
716 DB 41,015H ;; Section symbol - 
717 CP437_NA_UP_T1_K2_END: ;;
718 ;;
719 DW 0 ;; Size of xlat table - null table
720 ;;
721 CP437_NA_UP_K2_END: ;;
722 ;;
723;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
724 DW 0 ;; LAST STATE
725 ;;
726CP437_XLAT_END: ;;
727 ;;
728;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
729;;***************************************
730;; IT Specific Translate Section for 850
731;;***************************************
732;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
733 ;;
734 PUBLIC IT2_850_XLAT ;;
735IT2_850_XLAT: ;;
736 ;;
737 DW CP850_XLAT_END-$ ;; length of section
738 DW 850 ;;
739 ;;
740 ;;
741;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
742;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
743;; CODE PAGE: 850
744;; STATE: Non-Alpha Upper case
745;; KEYBOARD TYPES: G_KB+P12+AT
746;; TABLE TYPE: Translate
747;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
748 ;;
749 DW CP850_NA_UP_K1_END-$ ;; length of state section
750 DB NON_ALPHA_UPPER ;; State ID
751 DW G_KB+P12_KB+AT_KB ;; Keyboard Type
752 DB -1,-1 ;; error character = standalone accent
753 ;;
754 DW CP850_NA_UP_T1_K1_END-$ ;; Size of xlat table
755 DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
756 DB 1 ;; number of scans
757 DB 43,0F5H ;; Section symbol - 
758 CP850_NA_UP_T1_K1_END: ;;
759 ;;
760 DW 0 ;; Size of xlat table - null table
761 ;;
762 CP850_NA_UP_K1_END: ;;
763 ;;
764;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
765;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
766;; CODE PAGE: 850
767;; STATE: Non-Alpha Upper case
768;; KEYBOARD TYPES: XT
769;; TABLE TYPE: Translate
770;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
771 ;;
772 DW CP850_NA_UP_K2_END-$ ;; length of state section
773 DB NON_ALPHA_UPPER ;; State ID
774 DW XT_KB ;; Keyboard Type
775 DB -1,-1 ;; error character = standalone accent
776 ;;
777 DW CP850_NA_UP_T1_K2_END-$ ;; Size of xlat table
778 DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
779 DB 1 ;; number of scans
780 DB 41,0F5H ;; Section symbol - 
781 CP850_NA_UP_T1_K2_END: ;;
782 ;;
783 DW 0 ;; Size of xlat table - null table
784 ;;
785 CP850_NA_UP_K2_END: ;;
786 ;;
787;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
788 DW 0 ;; LAST STATE
789 ;;
790CP850_XLAT_END: ;;
791;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
792 ;;
793CODE ENDS ;;
794 END ;;