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

wirehaze git hosting

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