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