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

wirehaze git hosting

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