]> wirehaze git hosting - MS-DOS.git/blob - v4.0/src/DEV/KEYBOARD/KDFIT.ASM

wirehaze git hosting

MZ is back!
[MS-DOS.git] / v4.0 / src / DEV / KEYBOARD / KDFIT.ASM
1 ;; LATEST CHANGE ALT & CTL
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 IT_LOGIC ;;
24 PUBLIC IT_437_XLAT ;;
25 PUBLIC IT_850_XLAT ;;
26 ;;
27 CODE 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 ;;
35 STANDARD_TABLE EQU TYPE_2_TAB+ASCII_ONLY
36 ;;
37 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
38 ;;***************************************
39 ;; IT State Logic
40 ;;***************************************
41 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
42 ;;
43 ;;
44 IT_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 ;;
80 ACUTE_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 ;;
107 INVALID_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 ;;
119 DIARESIS_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 ;;
146 INVALID_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 ;;
155 GRAVE_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 ;;
182 INVALID_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 ;;
191 CIRCUMFLEX_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 ;;
218 INVALID_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 ;;
228 NON_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 ;;
292 LOGIC_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 IT_COMMON_XLAT ;;
307 IT_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 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 =
337 COM_ALT_K1_T1_END: ;;
338 ;;
339 DW 0 ;; Size of xlat table - null table
340 ;;
341 COM_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
365 COM_CTRL_K1_T1_END: ;;
366 ;;
367 DW 0 ;; Size of xlat table - null table
368 ;;
369 COM_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 - \95
393 DB 40,133 ;; grave a - \85;
394 DB 43,151 ;; grave u - \97;
395 DB 26,138 ;; grave e - \8a;
396 COM_NA_LO_K1_T1_END: ;;
397 ;;
398 DW 0 ;; Size of xlat table - null table
399 ;;
400 COM_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 - \95
424 DB 40,133 ;; grave a - \85;
425 DB 43,151 ;; grave u - \97;
426 DB 26,138 ;; grave e - \8a;
427 COM_NA_LO_K2_T1_END: ;;
428 ;;
429 DW 0 ;; Size of xlat table - null table
430 ;;
431 COM_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 - \95
455 DB 40,133 ;; grave a - \85;
456 DB 41,151 ;; grave u - \97;
457 DB 26,138 ;; grave e - \8a;
458 COM_NA_LO_K3_T1_END: ;;
459 ;;
460 DW 0 ;; Size of xlat table - null table
461 ;;
462 COM_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,'\9c' ;;
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 - \82;
490 DB 39,135 ;; c - cedilla - \87
491 DB 27,'*' ;;
492 DB 40,0F8H ;; ø - degree symbol
493 DB 86,'>' ;;
494 DB 51,';' ;;
495 DB 52,':' ;;
496 DB 53,'_' ;;
497 ;;
498 COM_NA_UP_K1_T1_END: ;;
499 ;;
500 DW 0 ;; Size of xlat table - null table
501 ;;
502 COM_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,'\9c' ;;
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 - \82;
532 DB 39,'@' ;; @ AT sign replaces c - cedilla - \87
533 DB 27,'*' ;;
534 DB 40,'#' ;; # sign replaces ø - degree symbol
535 DB 86,'>' ;;
536 DB 51,';' ;;
537 DB 52,':' ;;
538 DB 53,'_' ;;
539 ;;
540 COM_NA_UP_K2_T1_END: ;;
541 ;;
542 DW 0 ;; Size of xlat table - null table
543 ;;
544 COM_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,'\9c' ;;
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 - \82;
573 DB 39,'@' ;; @ AT sign replaces c - cedilla - \87
574 DB 27,'*' ;;
575 DB 40,'#' ;; # sign replaces ø - degree symbol
576 DB 43,'>' ;;
577 DB 51,';' ;;
578 DB 52,':' ;;
579 DB 53,'_' ;;
580 ;;
581 COM_NA_UP_K3_T1_END: ;;
582 ;;
583 DW 0 ;; Size of xlat table - null table
584 ;;
585 COM_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,'#' ;;
607 COM_THIRD_K1_T1_END: ;;
608 ;;
609 DW 0 ;; Last xlat table
610 COM_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,']' ;;
631 COM_THIRD_K2_T1_END: ;;
632 ;;
633 DW 0 ;; Last xlat table
634 COM_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,']' ;;
655 COM_THIRD_K3_T1_END: ;;
656 ;;
657 DW 0 ;; Last xlat table
658 COM_THIRD_K3_END: ;;
659 ;;
660 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
661 DW 0 ;; Last State
662 COMMON_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 IT_437_XLAT ;;
674 IT_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 - \15
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 - \15
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 ;;
726 CP437_XLAT_END: ;;
727 ;;
728 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
729 ;;***************************************
730 ;; IT Specific Translate Section for 850
731 ;;***************************************
732 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
733 ;;
734 PUBLIC IT_850_XLAT ;;
735 IT_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 - \15
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 - \15
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 ;;
790 CP850_XLAT_END: ;;
791 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
792 ;;
793 CODE ENDS ;;
794 END ;;