summaryrefslogtreecommitdiff
path: root/v4.0/src/DEV/KEYBOARD/KDFSV.ASM
diff options
context:
space:
mode:
authorGravatar Mark Zbikowski2024-04-25 21:24:10 +0100
committerGravatar Microsoft Open Source2024-04-25 22:32:27 +0000
commit2d04cacc5322951f187bb17e017c12920ac8ebe2 (patch)
tree80ee017efa878dfd5344b44249e6a241f2a7f6e2 /v4.0/src/DEV/KEYBOARD/KDFSV.ASM
parentMerge pull request #430 from jpbaltazar/typoptbr (diff)
downloadms-dos-main.tar.gz
ms-dos-main.tar.xz
ms-dos-main.zip
MZ is back!HEADmain
Diffstat (limited to 'v4.0/src/DEV/KEYBOARD/KDFSV.ASM')
-rw-r--r--v4.0/src/DEV/KEYBOARD/KDFSV.ASM1687
1 files changed, 1687 insertions, 0 deletions
diff --git a/v4.0/src/DEV/KEYBOARD/KDFSV.ASM b/v4.0/src/DEV/KEYBOARD/KDFSV.ASM
new file mode 100644
index 0000000..b3d37f9
--- /dev/null
+++ b/v4.0/src/DEV/KEYBOARD/KDFSV.ASM
@@ -0,0 +1,1687 @@
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 ;;
26CODE 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 ;;
34STANDARD_TABLE EQU TYPE_2_TAB+ASCII_ONLY
35 ;;
36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
37;;***************************************
38;; SV State Logic
39;;***************************************
40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
41 ;;
42 ;;
43SV_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 ;;
87ACUTE_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 ;;
114INVALID_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 ;;
126DIARESIS_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 ;;
153INVALID_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 ;;
162GRAVE_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 ;;
189INVALID_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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
197TILDE_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 ;;
224INVALID_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 ;;
233CIRCUMFLEX_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 ;;
260INVALID_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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
269NON_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 ;;
368LOGIC_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 ;;
381SV_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 ;;
406COM_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 ;;
426COM_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 ;;
444COM_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 = ,
468COM_PAD_K1_T1_END: ;;
469 ;;
470 DW 0 ;; Size of xlat table - null table
471 ;;
472COM_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 ;;
495COM_ALT_K1_T1_END: ;;
496 ;;
497 DW 0 ;; Size of xlat table - null table
498 ;;
499COM_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 ;;
522COM_CTRL_K1_T1_END: ;;
523 ;;
524 DW 0 ;; Size of xlat table - null table
525 ;;
526COM_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 ;;
551COM_CTRL_K2_T1_END: ;;
552 ;;
553 DW 0 ;; Size of xlat table - null table
554 ;;
555COM_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
575COM_AL_LO_T1_END: ;;
576 ;;
577 DW 0 ;; Size of xlat table - null table
578 ;;
579COM_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
599COM_AL_UP_T1_END: ;;
600 ;;
601 DW 0 ;; Size of xlat table - null table
602 ;;
603COM_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,"-" ;; -
625COM_NA_LO_K1_T1_END: ;;
626 ;;
627 DW 0 ;; Size of xlat table - null table
628 ;;
629COM_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,"-" ;; -
650COM_NA_LO_K2_T1_END: ;;
651 ;;
652 DW 0 ;; Size of xlat table - null table
653 ;;
654COM_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,"-" ;; -
675COM_NA_LO_K3_T1_END: ;;
676 ;;
677 DW 0 ;; Size of xlat table - null table
678 ;;
679COM_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,'>' ;;
709COM_NA_UP_K1_T1_END: ;;
710 ;;
711 DW 0 ;; Size of xlat table - null table
712 ;;
713COM_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,'_' ;;
744COM_NA_UP_K2_T1_END: ;;
745 ;;
746 DW 0 ;; Size of xlat table - null table
747 ;;
748COM_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,'_' ;;
779COM_NA_UP_K3_T1_END: ;;
780 ;;
781 DW 0 ;; Size of xlat table - null table
782 ;;
783COM_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 ;;
803 DB 5,'$' ;;
804 DB 8,'{' ;;
805 DB 9,'[' ;;
806 DB 10,']' ;;
807 DB 11,'}' ;;
808 DB 12,'\' ;; Broken Vertical Line
809 DB 86,'|' ;;
810COM_THIRD_T1_END: ;;
811 ;;
812 DW 0 ;; Last xlat table
813COM_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,'/','/' ;;
839COM_THIRD_K1_T1_END: ;;
840 ;;
841 DW 0 ;; Last xlat table
842COM_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,'/','/' ;;
868COM_THIRD_K2_T1_END: ;;
869 ;;
870 DW 0 ;; Last xlat table
871COM_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,'?','?' ;;
906COM_FOURTH_T1_END: ;;
907 ;;
908 DW 0 ;; Last xlat table
909COM_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,'?','?' ;;
944COM_FOURTH_K1_T1_END: ;;
945 ;;
946 DW 0 ;; Last xlat table
947COM_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,'' ;; scan code,ASCII - e
965 DB 22,'' ;; scan code,ASCII - u
966 DB 23,'' ;; scan code,ASCII - i
967 DB 24,'' ;; scan code,ASCII - o
968 DB 30,'' ;; scan code,ASCII - a
969COM_GR_LO_T1_END: ;;
970 ;;
971 DW 0 ;; Size of xlat table - null table
972 ;;
973COM_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
991COM_GR_SP_T1_END: ;;
992 ;;
993 DW 0 ;; Size of xlat table - null table
994 ;;
995COM_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,'' ;; scan code,ASCII - e
1013 DB 22,'' ;; scan code,ASCII - u
1014 DB 23,'' ;; scan code,ASCII - i
1015 DB 24,'' ;; scan code,ASCII - o
1016 DB 30,'' ;; scan code,ASCII - a
1017COM_CI_LO_T1_END: ;;
1018 ;;
1019 DW 0 ;;
1020 ;;
1021COM_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
1039COM_CI_SP_T1_END: ;;
1040 ;;
1041 DW 0 ;; Size of xlat table - null table
1042 ;;
1043COM_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
1106COM_TI_SP_T1_END: ;;
1107 ;;
1108 DW 0 ;; Size of xlat table - null table
1109 ;;
1110COM_TI_SP_END: ;; length of state section
1111 ;;
1112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1113 DW 0 ;; Last State
1114COMMON_XLAT_END: ;;
1115 ;;
1116 ;;
1117 ;;
1118;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1119;;***************************************
1120;; SV Specific Translate Section for 437
1121;;***************************************
1122;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1123 ;;
1124 PUBLIC SV_437_XLAT ;;
1125SV_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
1146CP437_NA_UP_T1_END: ;;
1147 ;;
1148 DW 0 ;; Size of xlat table - null table
1149 ;;
1150CP437_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
1168CP437_NA_LO_K1_T1_END: ;;
1169 ;;
1170 DW 0 ;; Size of xlat table - null table
1171 ;;
1172CP437_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,'' ;; 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
1194CP437_AC_LO_T1_END: ;;
1195 ;;
1196 DW 0 ;; Size of xlat table - null table
1197 ;;
1198CP437_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,'' ;; scan code,ASCII -
1216CP437_AC_UP_T1_END: ;;
1217 ;;
1218 DW 0 ;; Size of xlat table - null table
1219 ;;
1220CP437_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
1238CP437_AC_SP_T1_END: ;;
1239 ;;
1240 DW 0 ;; Size of xlat table - null table
1241 ;;
1242CP437_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,'' ;; scan code,ASCII - e
1260 DB 21,'' ;; scan code,ASCII - y
1261 DB 22,'' ;; scan code,ASCII - u
1262 DB 23,'' ;; scan code,ASCII - i
1263 DB 24,'' ;; scan code,ASCII - o
1264 DB 30,'' ;; scan code,ASCII - a
1265CP437_DI_LO_T1_END: ;;
1266 ;;
1267 DW 0 ;; Size of xlat table - null table
1268 ;;
1269CP437_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,'' ;; scan code,ASCII - U
1287 DB 24,'' ;; scan code,ASCII - O
1288 DB 30,'' ;; scan code,ASCII - A
1289CP437_DI_UP_T1_END: ;;
1290 ;;
1291 DW 0 ;; Size of xlat table - null table
1292 ;;
1293CP437_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 ;;
1321CP437_XLAT_END: ;;
1322 ;;
1323;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1324;;***************************************
1325;; SV Specific Translate Section for 850
1326;;***************************************
1327;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1328 ;;
1329 PUBLIC SV_850_XLAT ;;
1330SV_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
1399CP850_NA_UP_T1_END: ;;
1400 ;;
1401 DW 0 ;; Size of xlat table - null table
1402 ;;
1403CP850_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
1423CP850_NA_LO_K1_T1_END: ;;
1424 ;;
1425 DW 0 ;; Size of xlat table - null table
1426 ;;
1427CP850_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,'' ;; 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
1450CP850_AC_LO_T1_END: ;;
1451 ;;
1452 DW 0 ;; Size of xlat table - null table
1453 ;;
1454CP850_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
1477CP850_AC_UP_T1_END: ;;
1478 ;;
1479 DW 0 ;; Size of xlat table - null table
1480 ;;
1481CP850_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
1499CP850_AC_SP_T1_END: ;;
1500 ;;
1501 DW 0 ;; Size of xlat table - null table
1502 ;;
1503CP850_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,'' ;; scan code,ASCII - e
1521 DB 21,'' ;; scan code,ASCII - y
1522 DB 22,'' ;; scan code,ASCII - u
1523 DB 23,'' ;; scan code,ASCII - i
1524 DB 24,'' ;; scan code,ASCII - o
1525 DB 30,'' ;; scan code,ASCII - a
1526CP850_DI_LO_T1_END: ;;
1527 ;;
1528 DW 0 ;; Size of xlat table - null table
1529 ;;
1530CP850_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,'' ;; U Diaeresis
1549 DB 23,0D8H ;; I Diaeresis
1550 DB 24,'' ;; O Diaeresis
1551 DB 30,'' ;; A Diaeresis
1552CP850_DI_UP_T1_END: ;;
1553 ;;
1554 DW 0 ;; Size of xlat table - null table
1555 ;;
1556CP850_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
1575CP850_DI_SP_T1_END: ;;
1576 ;;
1577 DW 0 ;; Size of xlat table - null table
1578CP850_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
1600CP850_GR_UP_T1_END: ;;
1601 ;;
1602 DW 0 ;; Size of xlat table - null table
1603 ;;
1604CP850_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
1673CP850_CI_UP_T1_END: ;;
1674 ;;
1675 DW 0 ;; Size of xlat table - null table
1676 ;;
1677CP850_CI_UP_END: ;; length of state section
1678 ;;
1679;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1680 ;;
1681 DW 0 ;; LAST STATE
1682 ;;
1683CP850_XLAT_END: ;;
1684;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1685 ;;
1686CODE ENDS ;;
1687 END ;;