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

wirehaze git hosting

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