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

wirehaze git hosting

MZ is back!
[MS-DOS.git] / v4.0 / src / DEV / KEYBOARD / KDFSP.ASM
1 ;; LATEST CHANGE ALT & CTL (November)
2 ;LATEST CHANGE XT "\" third shift (December)
3 ;;;;********************************************
4 ;;;;********************************************
5 ;;;;CONTAINS UPDATES FOR
6 ;;;; 1) ALT, CTRL CASES
7 ;;;; 2) DECIMAL SEPERATOR ON NUMERIC PAD
8 ;;;; 3) STANDALONE DIARESIS VALID ONLY FOR 850
9 ;;;;CHANGES ARE MARKED ***BD
10 ;;;;********************************************
11 ;;;;********************************************
12
13 PAGE ,132
14 TITLE DOS - Keyboard Definition File
15
16 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
17 ;; DOS - - NLS Support - Keyboard Defintion File
18 ;; (c) Copyright 1988 Microsoft
19 ;;
20 ;; This file contains the keyboard tables for Spanish.
21 ;;
22 ;; Linkage Instructions:
23 ;; Refer to KDF.ASM.
24 ;;
25 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
26 ;;
27 INCLUDE KEYBSHAR.INC ;;
28 INCLUDE POSTEQU.INC ;;
29 INCLUDE KEYBMAC.INC ;;
30 ;;
31 PUBLIC SP_LOGIC ;;
32 PUBLIC SP_437_XLAT ;;
33 PUBLIC SP_850_XLAT ;;
34 ;;
35 CODE SEGMENT PUBLIC 'CODE' ;;
36 ASSUME CS:CODE,DS:CODE ;;
37 ;;
38 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
39 ;; Standard translate table options are a liner search table
40 ;; (TYPE_2_TAB) and ASCII entries ONLY (ASCII_ONLY)
41 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
42 ;;
43 STANDARD_TABLE EQU TYPE_2_TAB+ASCII_ONLY
44 ;;
45 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
46 ;;***************************************
47 ;; SP State Logic
48 ;;***************************************
49 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
50 ;;
51 ;;
52 SP_LOGIC:
53
54 DW LOGIC_END-$ ;; length
55 ;;
56 DW 0 ;; special features
57 ;;
58 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; COMMANDS START HERE
59 ;;
60 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
61 ;; OPTIONS: If we find a scan match in
62 ;; an XLATT or SET_FLAG operation then
63 ;; exit from INT 9.
64 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
65 ;;
66 OPTION EXIT_IF_FOUND ;;
67 ;;
68 ;;
69 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
70 ;; Dead key definitions must come before
71 ;; dead key translations to handle
72 ;; dead key + dead key.
73 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
74 ;;
75 IFF EITHER_ALT,NOT ;;
76 ANDF EITHER_CTL,NOT ;;
77 IFF EITHER_SHIFT ;;
78 SET_FLAG DEAD_UPPER ;;
79 ELSEF ;;
80 SET_FLAG DEAD_LOWER ;;
81 ENDIFF ;;
82 ENDIFF ;;
83 ;;
84 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
85 ;; ACUTE ACCENT TRANSLATIONS
86 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
87 ;;
88 ACUTE_PROC: ;;
89 ;;
90 IFF ACUTE,NOT ;;
91 GOTO DIARESIS_PROC ;;
92 ENDIFF ;;
93 ;;
94 RESET_NLS ;;
95 IFF R_ALT_SHIFT,NOT ;;
96 XLATT ACUTE_SPACE ;;
97 ENDIFF ;;
98 IFF EITHER_CTL,NOT ;;
99 ANDF EITHER_ALT,NOT ;;
100 IFF EITHER_SHIFT ;;
101 IFF CAPS_STATE ;;
102 XLATT ACUTE_LOWER ;;
103 ELSEF ;;
104 XLATT ACUTE_UPPER ;;
105 ENDIFF ;;
106 ELSEF ;;
107 IFF CAPS_STATE ;;
108 XLATT ACUTE_UPPER ;;
109 ELSEF ;;
110 XLATT ACUTE_LOWER ;;
111 ENDIFF ;;
112 ENDIFF ;;
113 ENDIFF ;;
114 ;;
115 INVALID_ACUTE: ;;
116 PUT_ERROR_CHAR ACUTE_LOWER ;; If we get here then either the XLATT
117 BEEP ;; failed or we are ina bad shift state.
118 GOTO NON_DEAD ;; Either is invalid so BEEP and fall
119 ;; through to generate the second char.
120 ;; Note that the dead key flag will be
121 ;; reset before we get here.
122 ;;
123 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
124 ;; DIARESIS ACCENT TRANSLATIONS
125 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
126 ;;
127 DIARESIS_PROC: ;;
128 ;;
129 IFF DIARESIS,NOT ;;
130 GOTO GRAVE_PROC ;;
131 ENDIFF ;;
132 ;;
133 RESET_NLS ;;
134 IFF R_ALT_SHIFT,NOT ;;
135 XLATT DIARESIS_SPACE ;; exist for 437 so beep for
136 ENDIFF ;;
137 IFF EITHER_CTL,NOT ;;
138 ANDF EITHER_ALT,NOT ;;
139 IFF EITHER_SHIFT ;;
140 IFF CAPS_STATE ;;
141 XLATT DIARESIS_LOWER ;;
142 ELSEF ;;
143 XLATT DIARESIS_UPPER ;;
144 ENDIFF ;;
145 ELSEF ;;
146 IFF CAPS_STATE ;;
147 XLATT DIARESIS_UPPER ;;
148 ELSEF ;;
149 XLATT DIARESIS_LOWER ;;
150 ENDIFF ;;
151 ENDIFF ;;
152 ENDIFF ;;
153 ;;
154 INVALID_DIARESIS: ;;
155 PUT_ERROR_CHAR DIARESIS_LOWER ;; standalone accent
156 BEEP ;; Invalid dead key combo.
157 GOTO NON_DEAD ;;
158 ;;
159 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
160 ;; GRAVE ACCENT TRANSLATIONS
161 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
162 ;;
163 GRAVE_PROC: ;;
164 ;;
165 IFF GRAVE,NOT ;;
166 GOTO CIRCUMFLEX_PROC ;;
167 ENDIFF ;;
168 ;;
169 RESET_NLS ;;
170 IFF R_ALT_SHIFT,NOT ;;
171 XLATT GRAVE_SPACE ;;
172 ENDIFF ;;
173 IFF EITHER_CTL,NOT ;;
174 ANDF EITHER_ALT,NOT ;;
175 IFF EITHER_SHIFT ;;
176 IFF CAPS_STATE ;;
177 XLATT GRAVE_LOWER ;;
178 ELSEF ;;
179 XLATT GRAVE_UPPER ;;
180 ENDIFF ;;
181 ELSEF ;;
182 IFF CAPS_STATE,NOT ;;
183 XLATT GRAVE_LOWER ;;
184 ELSEF ;;
185 XLATT GRAVE_UPPER ;;
186 ENDIFF ;;
187 ENDIFF ;;
188 ENDIFF ;;
189 ;;
190 INVALID_GRAVE: ;;
191 PUT_ERROR_CHAR GRAVE_LOWER ;; standalone accent
192 BEEP ;; Invalid dead key combo.
193 GOTO NON_DEAD ;;
194 ;;
195 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
196 ;; CIRCUMFLEX ACCENT TRANSLATIONS
197 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
198 ;;
199 CIRCUMFLEX_PROC: ;;
200 ;;
201 IFF CIRCUMFLEX,NOT ;;
202 GOTO NON_DEAD ;;
203 ENDIFF ;;
204 ;;
205 RESET_NLS ;;
206 IFF R_ALT_SHIFT,NOT ;;
207 XLATT CIRCUMFLEX_SPACE ;;
208 ENDIFF ;;
209 IFF EITHER_CTL,NOT ;;
210 ANDF EITHER_ALT,NOT ;;
211 IFF EITHER_SHIFT ;;
212 IFF CAPS_STATE ;;
213 XLATT CIRCUMFLEX_LOWER ;;
214 ELSEF ;;
215 XLATT CIRCUMFLEX_UPPER ;;
216 ENDIFF ;;
217 ELSEF ;;
218 IFF CAPS_STATE,NOT ;;
219 XLATT CIRCUMFLEX_LOWER ;;
220 ELSEF ;;
221 XLATT CIRCUMFLEX_UPPER ;;
222 ENDIFF ;;
223 ENDIFF ;;
224 ENDIFF ;;
225 ;;
226 INVALID_CIRCUMFLEX: ;;
227 PUT_ERROR_CHAR CIRCUMFLEX_LOWER ;; standalone accent
228 BEEP ;; Invalid dead key combo.
229 GOTO NON_DEAD ;;
230 ;;
231 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
232 ;; Upper, lower and third shifts
233 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
234 ;;
235 NON_DEAD: ;;
236 ;;
237 IFKBD G_KB+P12_KB ;; Avoid accidentally translating
238 ANDF LC_E0 ;; the "/" on the numeric pad of the
239 EXIT_STATE_LOGIC ;; G keyboard
240 ENDIFF ;;
241 ;;***BD ADDED FOR ALT, CTRL CASES ;;
242 IFF EITHER_CTL,NOT ;;
243 IFF ALT_SHIFT ;; ALT - case
244 ANDF R_ALT_SHIFT,NOT ;;
245 XLATT ALT_CASE ;;
246 ENDIFF ;;
247 ELSEF ;;
248 IFF EITHER_ALT,NOT ;; CTRL - case
249 XLATT CTRL_CASE ;;
250 ENDIFF ;;
251 ENDIFF ;;
252 ;;***BD END OF ADDITION
253 ;;
254 IFF EITHER_ALT,NOT ;; Lower and upper case. Alphabetic
255 ANDF EITHER_CTL,NOT ;; keys are affected by CAPS LOCK.
256 IFF EITHER_SHIFT ;; Numeric keys are not.
257 ;;***BD ADDED FOR NUMERIC PAD
258 IFF NUM_STATE,NOT ;;
259 XLATT NUMERIC_PAD ;;
260 ENDIFF ;;
261 ;;***BD END OF ADDITION
262 XLATT NON_ALPHA_UPPER ;;
263 IFF CAPS_STATE ;;
264 XLATT ALPHA_LOWER ;;
265 ELSEF ;;
266 XLATT ALPHA_UPPER ;;
267 ENDIFF ;;
268 ELSEF ;;
269 ;;***BD ADDED FOR NUMERIC PAD
270 IFF NUM_STATE ;;
271 XLATT NUMERIC_PAD ;;
272 ENDIFF ;;
273 ;;***BD END OF ADDITION
274 XLATT NON_ALPHA_LOWER ;;
275 IFF CAPS_STATE ;;
276 XLATT ALPHA_UPPER ;;
277 ELSEF ;;
278 XLATT ALPHA_LOWER ;;
279 ENDIFF ;;
280 ENDIFF ;;
281 ELSEF ;;
282 IFF EITHER_SHIFT,NOT ;;
283 IFKBD XT_KB+AT_KB ;;
284 IFF EITHER_CTL ;;
285 ANDF ALT_SHIFT ;;
286 XLATT THIRD_SHIFT ;;
287 ENDIFF ;;
288 ELSEF ;;
289 IFF EITHER_CTL,NOT ;;
290 ANDF R_ALT_SHIFT ;;
291 XLATT THIRD_SHIFT ;;
292 ENDIFF ;;
293 ENDIFF ;;
294 ENDIFF ;;
295 ENDIFF ;;
296 ;;
297 EXIT_STATE_LOGIC ;;
298 ;;
299 LOGIC_END: ;;
300 ;;
301 ;;
302 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
303 ;;***************************************
304 ;; SP Common Translate Section
305 ;; This section contains translations for the lower 128 characters
306 ;; only since these will never change from code page to code page.
307 ;; In addition the dead key "Set Flag" tables are here since the
308 ;; dead keys are on the same keytops for all code pages.
309 ;;***************************************
310 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
311 ;;
312 PUBLIC SP_COMMON_XLAT ;;
313 SP_COMMON_XLAT: ;;
314 ;;
315 DW COMMON_XLAT_END-$ ;; length of section
316 DW -1 ;; code page
317 ;;
318 ;;
319 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
320 ;; CODE PAGE: Common
321 ;; STATE: Lower Shift Dead Key
322 ;; KEYBOARD TYPES: G + P12
323 ;; TABLE TYPE: Flag Table
324 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
325 ;;
326 DW COM_DK_LO_K1_END-$ ;; length of state section
327 DB DEAD_LOWER ;; State ID
328 DW G_KB+P12_KB ;; Keyboard Type
329 DB -1,-1 ;; Buffer entry for error character
330 ;; Set Flag Table
331 DW 2 ;; number of entries
332 DB 26 ;; scan code
333 FLAG GRAVE ;; flag bit to set
334 DB 40 ;;
335 FLAG ACUTE ;;
336 ;;
337 ;;
338 COM_DK_LO_K1_END: ;;
339 ;;
340 ;;
341 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
342 ;; CODE PAGE: Common
343 ;; STATE: Lower Shift Dead Key
344 ;; KEYBOARD TYPES: AT + XT +
345 ;; TABLE TYPE: Flag Table
346 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
347 ;;
348 DW COM_DK_LO_K2_END-$ ;; length of state section
349 DB DEAD_LOWER ;; State ID
350 DW AT_KB+XT_KB ;; Keyboard Type
351 DB -1,-1 ;; Buffer entry for error character
352 ;; Set Flag Table
353 DW 2 ;; number of entries
354 DB 26 ;; scan code
355 FLAG ACUTE ;; flag bit to set
356 DB 27 ;;
357 FLAG GRAVE ;;
358 ;;
359 ;;
360 COM_DK_LO_K2_END: ;;
361 ;;
362 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
363 ;; CODE PAGE: Common
364 ;; STATE: Upper Shift Dead Key
365 ;; KEYBOARD TYPES: G + P12
366 ;; TABLE TYPE: Flag Table
367 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
368 ;;
369 DW COM_DK_UP_K1_END-$ ;; length of state section
370 DB DEAD_UPPER ;; State ID
371 DW G_KB+P12_KB ;; Keyboard Type
372 DB -1,-1 ;; Buffer entry for error character
373 ;; Set Flag Table
374 DW 2 ;; number of entries
375 DB 26 ;; scan code
376 FLAG CIRCUMFLEX ;; flag bit to set
377 DB 40 ;;
378 FLAG DIARESIS ;;
379 ;;
380 COM_DK_UP_K1_END: ;;
381 ;;
382 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
383 ;; CODE PAGE: Common
384 ;; STATE: Upper Shift Dead Key
385 ;; KEYBOARD TYPES: AT + XT +
386 ;; TABLE TYPE: Flag Table
387 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
388 ;;
389 DW COM_DK_UP_END-$ ;; length of state section
390 DB DEAD_UPPER ;; State ID
391 DW AT_KB+XT_KB ;; Keyboard Type
392 DB -1,-1 ;; Buffer entry for error character
393 ;; Set Flag Table
394 DW 2 ;; number of entries
395 DB 26 ;; scan code
396 FLAG DIARESIS ;; flag bit to set
397 DB 27 ;;
398 FLAG CIRCUMFLEX ;;
399 ;;
400 COM_DK_UP_END: ;;
401 ;;
402 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
403 ;; CODE PAGE: Common
404 ;; STATE: Alpha Lower Case
405 ;; KEYBOARD TYPES: G + AT + P12
406 ;; TABLE TYPE: Translate
407 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
408 ;;
409 DW COM_AL_LO_K1_END-$ ;; length of state section
410 DB ALPHA_LOWER ;; State ID
411 DW G_KB+AT_KB+P12_KB ;; Keyboard Type
412 DB -1,-1 ;; Buffer entry for error character
413 ;;
414 DW COM_AL_LO_K1_T1_END-$ ;; Size of xlat table
415 DB STANDARD_TABLE ;; xlat options:
416 DB 2 ;; number of entries
417 DB 39,164 ;; n-tilde
418 DB 43,135 ;; c-cedilla
419 COM_AL_LO_K1_T1_END: ;;
420 ;;
421 DW 0 ;; Size of xlat table - null table
422 ;;
423 COM_AL_LO_K1_END: ;;
424
425 ;;******************************
426 ;;***BD - ADDED FOR NUMERIC PAD (DECIMAL SEPERATOR)
427 ;;******************************
428 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
429 ;; CODE PAGE: Common
430 ;; STATE: Numeric Key Pad
431 ;; KEYBOARD TYPES: p12 + G
432 ;; TABLE TYPE: Translate
433 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
434 ;;
435 DW COM_PAD_K1_END-$ ;; length of state section
436 DB NUMERIC_PAD ;; State ID
437 DW G_KB+P12_KB ;; Keyboard Type
438 DB -1,-1 ;; Buffer entry for error character
439 ;;
440 DW COM_PAD_K1_T1_END-$ ;; Size of xlat table
441 DB STANDARD_TABLE ;; xlat options:
442 DB 0 ;; number of entries
443 ; THIS IS A TEST ENTRY TO SHOW AN EXAMPLE
444 ; DB 83,44 ;; decimal seperator = ,
445 COM_PAD_K1_T1_END: ;;
446 ;;
447 DW 0 ;; Size of xlat table - null table
448 ;;
449 COM_PAD_K1_END: ;;
450 ;;
451 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
452 ;; CODE PAGE: Common
453 ;; STATE: Numeric Key Pad
454 ;; KEYBOARD TYPES: AT+ XT
455 ;; TABLE TYPE: Translate
456 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
457 ;; ;;
458 ;; DW COM_PAD_K2_END-$ ;; length of state section
459 ;; DB NUMERIC_PAD ;; State ID
460 ;; DW AT_KB+XT_KB ;; Keyboard Type
461 ;; DB -1,-1 ;; Buffer entry for error character
462 ;; ;;
463 ;; DW COM_PAD_K2_T2_END-$ ;; Size of xlat table
464 ;; DB STANDARD_TABLE ;; xlat options:
465 ;; DB 1 ;; number of entries
466 ;; DB 74,05eh ;; circumflex carat under the Prtscr key
467 ;;COM_PAD_K2_T2_END: ;;
468 ;; ;;
469 ;; DW 0 ;; Size of xlat table - null table
470 ;; ;;
471 ;;COM_PAD_K2_END: ;;
472 ;; ;;
473 ;;;;******************************
474 ;;***BD - ADDED FOR ALT CASE
475 ;;******************************
476 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
477 ;; CODE PAGE: Common
478 ;; STATE: Alt Case
479 ;; KEYBOARD TYPES: All
480 ;; TABLE TYPE: Translate
481 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
482 ;;
483 DW COM_ALT_K1_END-$ ;; length of state section
484 DB ALT_CASE ;; State ID
485 DW ANY_KB ;; Keyboard Type
486 DB -1,-1 ;; Buffer entry for error character
487 ;;
488 DW COM_ALT_K1_T1_END-$ ;; Size of xlat table
489 DB TYPE_2_TAB ;; xlat options:
490 DB 0 ;; number of entries
491 ;;***BD THIS ENTRY IS A TEST ENTRY
492 ;; DB 53,225,0 ;; TEST ENTRY
493 COM_ALT_K1_T1_END: ;;
494 ;;
495 DW 0 ;; Size of xlat table - null table
496 ;;
497 COM_ALT_K1_END: ;;
498 ;;
499 ;;******************************
500 ;;***BD - ADDED FOR CTRL CASE
501 ;;******************************
502 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
503 ;; CODE PAGE: Common
504 ;; STATE: Ctrl Case
505 ;; KEYBOARD TYPES: G_KB+P12_KB+AT
506 ;; TABLE TYPE: Translate
507 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
508 ;;
509 DW COM_CTRL_K1_END-$ ;; length of state section
510 DB CTRL_CASE ;; State ID
511 DW G_KB+P12_KB+AT_KB ;; Keyboard Type
512 DB -1,-1 ;; Buffer entry for error character
513 ;;
514 DW COM_CTRL_K1_T1_END-$ ;; Size of xlat table
515 DB TYPE_2_TAB ;; xlat options:
516 DB 2 ;; number of entries
517 ;;***BD THIS ENTRY IS A TEST ENTRY
518 ;; DB 53,226,0 ;; TEST ENTRY
519 DB 43,-1,-1 ;; invalid slash
520 DB 41,28,41 ;; valid slash
521 COM_CTRL_K1_T1_END: ;;
522 ;;
523 DW 0 ;; Size of xlat table - null table
524 ;;
525 COM_CTRL_K1_END: ;;
526 ;;
527 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
528 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
529 ;; CODE PAGE: Common
530 ;; STATE: Ctrl Case
531 ;; KEYBOARD TYPES: XT_KB
532 ;; TABLE TYPE: Translate
533 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
534 ;;
535 DW COM_CTRL_K2_END-$ ;; length of state section
536 DB CTRL_CASE ;; State ID
537 DW XT_KB ;; Keyboard Type
538 DB -1,-1 ;; Buffer entry for error character
539 ;;
540 DW COM_CTRL_K2_T2_END-$ ;; Size of xlat table
541 DB TYPE_2_TAB ;; xlat options:
542 DB 1 ;; number of entries
543 ;;***BD THIS ENTRY IS A TEST ENTRY
544 ;; DB 53,226,0 ;; TEST ENTRY
545 DB 43,-1,-1 ;; invalid slash
546 COM_CTRL_K2_T2_END: ;;
547 ;;
548 DW 0 ;; Size of xlat table - null table
549 ;;
550 COM_CTRL_K2_END: ;;
551 ;;
552 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
553 ;; CODE PAGE: Common
554 ;; STATE: Alpha Lower Case
555 ;; KEYBOARD TYPES: XT +
556 ;; TABLE TYPE: Translate
557 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
558 ;;
559 DW COM_AL_LO_K2_END-$ ;; length of state section
560 DB ALPHA_LOWER ;; State ID
561 DW XT_KB ;; Keyboard Type
562 DB -1,-1 ;; Buffer entry for error character
563 ;;
564 DW COM_AL_LO_K2_T1_END-$ ;; Size of xlat table
565 DB STANDARD_TABLE ;; xlat options:
566 DB 2 ;; number of entries
567 DB 39,164 ;; n-tilde
568 DB 41,135 ;; c-cedilla
569 COM_AL_LO_K2_T1_END: ;;
570 ;;
571 DW 0 ;; Size of xlat table - null table
572 ;;
573 COM_AL_LO_K2_END: ;;
574 ;;
575 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
576 ;; CODE PAGE: Common
577 ;; STATE: Alpha Upper Case
578 ;; KEYBOARD TYPES: G + AT + P12
579 ;; TABLE TYPE: Translate
580 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
581 ;;
582 DW COM_AL_UP_K1_END-$ ;; length of state section
583 DB ALPHA_UPPER ;; State ID
584 DW G_KB+AT_KB+P12_KB ;; Keyboard Type
585 DB -1,-1 ;; Buffer entry for error character
586 ;;
587 DW COM_AL_UP_K1_T1_END-$ ;; Size of xlat table
588 DB STANDARD_TABLE ;; xlat options:
589 DB 2 ;; number of entries
590 DB 39,165 ;; N-tilde
591 DB 43,128 ;; C-cedilla
592 COM_AL_UP_K1_T1_END: ;;
593 ;;
594 DW 0 ;; Size of xlat table - null table
595 ;;
596 COM_AL_UP_K1_END: ;;
597 ;;
598 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
599 ;; CODE PAGE: Common
600 ;; STATE: Alpha Upper Case
601 ;; KEYBOARD TYPES: XT +
602 ;; TABLE TYPE: Translate
603 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
604 ;;
605 DW COM_AL_UP_K2_END-$ ;; length of state section
606 DB ALPHA_UPPER ;; State ID
607 DW XT_KB ;; Keyboard Type
608 DB -1,-1 ;; Buffer entry for error character
609 ;;
610 DW COM_AL_UP_K2_T1_END-$ ;; Size of xlat table
611 DB STANDARD_TABLE ;; xlat options:
612 DB 2 ;; number of entries
613 DB 39,165 ;; N-tilde
614 DB 41,128 ;; C-cedilla
615 COM_AL_UP_K2_T1_END: ;;
616 ;;
617 DW 0 ;; Size of xlat table - null table
618 ;;
619 COM_AL_UP_K2_END: ;;
620 ;;
621 ;;
622 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
623 ;; CODE PAGE: Common
624 ;; STATE: Non-Alpha Lower Case
625 ;; KEYBOARD TYPES: G + P12
626 ;; TABLE TYPE: Translate
627 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
628 ;;
629 DW COM_NA_LO_K1_END-$ ;; length of state section
630 DB NON_ALPHA_LOWER ;; State ID
631 DW G_KB+P12_KB ;; Keyboard Type
632 DB -1,-1 ;; Buffer entry for error character
633 ;;
634 DW COM_NA_LO_K1_T1_END-$ ;; Size of xlat table
635 DB STANDARD_TABLE ;; xlat options:
636 DB 6 ;; number of entries
637 DB 12,"'" ;; '
638 DB 27,'+' ;; +
639 DB 86,'<' ;; <
640 DB 53,'-' ;; -
641 DB 41,167 ;; o-underline
642 DB 13,173 ;; upside-dowm !
643 COM_NA_LO_K1_T1_END: ;;
644 ;;
645 DW 0 ;; Size of xlat table - null table
646 ;;
647 COM_NA_LO_K1_END: ;;
648 ;;
649 ;;
650 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
651 ;; CODE PAGE: Common
652 ;; STATE: Non-Alpha Lower Case
653 ;; KEYBOARD TYPES: AT
654 ;; TABLE TYPE: Translate
655 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
656 ;;
657 DW COM_NA_LO_K2_END-$ ;; length of state section
658 DB NON_ALPHA_LOWER ;; State ID
659 DW AT_KB ;; Keyboard Type
660 DB -1,-1 ;; Buffer entry for error character
661 ;;
662 DW COM_NA_LO_K2_T1_END-$ ;; Size of xlat table
663 DB STANDARD_TABLE ;; xlat options:
664 DB 4 ;; number of entries
665 DB 40,';' ;; ;
666 DB 41,'<' ;; <
667 DB 53,"'" ;; quote
668 DB 55,05eh ;; circumflex carat under the Prtscr key
669 COM_NA_LO_K2_T1_END: ;;
670 ;;
671 DW 0 ;; Size of xlat table - null table
672 ;;
673 COM_NA_LO_K2_END: ;;
674 ;;
675 ;;
676 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
677 ;; CODE PAGE: Common
678 ;; STATE: Non-Alpha Lower Case
679 ;; KEYBOARD TYPES: XT +
680 ;; TABLE TYPE: Translate
681 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
682 ;;
683 DW COM_NA_LO_K3_END-$ ;; length of state section
684 DB NON_ALPHA_LOWER ;; State ID
685 DW XT_KB ;; Keyboard Type
686 DB -1,-1 ;; Buffer entry for error character
687 ;;
688 DW COM_NA_LO_K3_T1_END-$ ;; Size of xlat table
689 DB STANDARD_TABLE ;; xlat options:
690 DB 4 ;; number of entries
691 DB 40,';' ;; ;
692 DB 43,'<' ;; <
693 DB 53,"'" ;; quote
694 DB 55,05eh ;; circumflex carat under the Prtscr key
695 COM_NA_LO_K3_T1_END: ;;
696 ;;
697 DW 0 ;; Size of xlat table - null table
698 ;;
699 COM_NA_LO_K3_END: ;;
700 ;;
701 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
702 ;; CODE PAGE: Common
703 ;; STATE: Non-Alpha Upper Case
704 ;; KEYBOARD TYPES: G + P12
705 ;; TABLE TYPE: Translate
706 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
707 ;;
708 DW COM_NA_UP_K1_END-$ ;; length of state section
709 DB NON_ALPHA_UPPER ;; State ID
710 DW G_KB+P12_KB ;; Keyboard Type
711 DB -1,-1 ;; Buffer entry for error character
712 ;;
713 DW COM_NA_UP_K1_T1_END-$ ;; Size of xlat table
714 DB STANDARD_TABLE ;; xlat options:
715 DB 16 ;; number of entries
716 DB 3,'"' ;;
717 DB 4,250 ;; diacritic
718 DB 7,'&' ;;
719 DB 8,'/' ;;
720 DB 9,'(' ;;
721 DB 10,')' ;;
722 DB 11,'=' ;;
723 DB 12,'?' ;;
724 DB 13,168 ;; upside-dowm ?
725 DB 27,'*' ;;
726 DB 41,166 ;; a-underline
727 DB 86,'>' ;;
728 DB 51,';' ;;
729 DB 52,':' ;;
730 DB 53,'_' ;;
731 COM_NA_UP_K1_T1_END: ;;
732 ;;
733 DW 0 ;; Size of xlat table - null table
734 ;;
735 COM_NA_UP_K1_END: ;;
736 ;;
737 ;;
738 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
739 ;; CODE PAGE: Common
740 ;; STATE: Non-Alpha Upper Case
741 ;; KEYBOARD TYPES: AT
742 ;; TABLE TYPE: Translate
743 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
744 ;;
745 DW COM_NA_UP_K2_END-$ ;; length of state section
746 DB NON_ALPHA_UPPER ;; State ID
747 DW AT_KB ;; Keyboard Type
748 DB -1,-1 ;; Buffer entry for error character
749 ;;
750 DW COM_NA_UP_K2_T1_END-$ ;; Size of xlat table
751 DB STANDARD_TABLE ;; xlat options:
752 DB 8 ;; number of entries
753 DB 41,'>' ;;
754 DB 2,0ADH ;; UPSIDE DOWN ­
755 DB 3,168 ;; UPSIDE DOWN ?
756 DB 7,'/' ;;
757 DB 40,':' ;;
758 DB 51,'?' ;;
759 DB 52,'!' ;;
760 DB 53,'"' ;;
761 COM_NA_UP_K2_T1_END: ;;
762 ;;
763 DW 0 ;; Size of xlat table - null table
764 ;;
765 COM_NA_UP_K2_END: ;;
766 ;;
767 ;;
768 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
769 ;; CODE PAGE: Common
770 ;; STATE: Non-Alpha Upper Case
771 ;; KEYBOARD TYPES: XT +
772 ;; TABLE TYPE: Translate
773 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
774 ;;
775 DW COM_NA_UP_K3_END-$ ;; length of state section
776 DB NON_ALPHA_UPPER ;; State ID
777 DW XT_KB ;; Keyboard Type
778 DB -1,-1 ;; Buffer entry for error character
779 ;;
780 DW COM_NA_UP_K3_T1_END-$ ;; Size of xlat table
781 DB STANDARD_TABLE ;; xlat options:
782 DB 8 ;; number of entries
783 DB 43,'>' ;;
784 DB 2,0ADH ;; UPSIDE DOWN ­
785 DB 3,168 ;; UPSIDE DOWN ?
786 DB 7,'/' ;;
787 DB 40,':' ;;
788 DB 51,'?' ;;
789 DB 52,'!' ;;
790 DB 53,'"' ;;
791 COM_NA_UP_K3_T1_END: ;;
792 ;;
793 DW 0 ;; Size of xlat table - null table
794 ;;
795 COM_NA_UP_K3_END: ;;
796 ;;
797 ;;
798 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
799 ;; CODE PAGE: Common
800 ;; STATE: Third Shift
801 ;; KEYBOARD TYPES: G + P12
802 ;; TABLE TYPE: Translate
803 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
804 ;;
805 DW COM_THIRD_K1_END-$ ;; length of state section
806 DB THIRD_SHIFT ;; State ID
807 DW G_KB+P12_KB ;; Keyboard Type
808 DB -1,-1 ;; Buffer entry for error character
809 ;;
810 DW COM_THIRD_K1_T1_END-$ ;; Size of xlat table
811 DB STANDARD_TABLE ;; xlat options:
812 DB 9 ;; number of entries
813 DB 41,'\' ;;
814 DB 2,'|' ;;
815 DB 3,'@' ;;
816 DB 4,'#' ;;
817 DB 7,170 ;;
818 DB 26,'[' ;;
819 DB 27,']' ;;
820 DB 40,'{' ;;
821 DB 43,'}' ;;
822 COM_THIRD_K1_T1_END: ;;
823 ;;
824 DW 0 ;; Last xlat table
825 COM_THIRD_K1_END: ;;
826 ;;
827 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
828 ;; CODE PAGE: Common
829 ;; STATE: Third Shift
830 ;; KEYBOARD TYPES: AT
831 ;; TABLE TYPE: Translate
832 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
833 ;;
834 DW COM_THIRD_K2_END-$ ;; length of state section
835 DB THIRD_SHIFT ;; State ID
836 DW AT_KB ;; Keyboard Type
837 DB -1,-1 ;; Buffer entry for error character
838 ;;
839 DW COM_THIRD_K2_T1_END-$ ;; Size of xlat table
840 DB STANDARD_TABLE ;; xlat options:
841 DB 4 ;; number of entries
842 DB 41,'\' ;;
843 DB 3,'@' ;;
844 DB 26,'[' ;;
845 DB 27,']' ;;
846 COM_THIRD_K2_T1_END: ;;
847 ;;
848 DW 0 ;; Last xlat table
849 COM_THIRD_K2_END: ;;
850 ;;
851 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
852 ;; CODE PAGE: Common
853 ;; STATE: Third Shift
854 ;; KEYBOARD TYPES: XT
855 ;; TABLE TYPE: Translate
856 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
857 ;;
858 DW COM_THIRD_K3_END-$ ;; length of state section
859 DB THIRD_SHIFT ;; State ID
860 DW XT_KB ;; Keyboard Type
861 DB -1,-1 ;; Buffer entry for error character
862 ;;
863 DW COM_THIRD_K3_T1_END-$ ;; Size of xlat table
864 DB STANDARD_TABLE ;; xlat options:
865 DB 4 ;; number of entries
866 DB 3,'@' ;;
867 DB 26,'[' ;;
868 DB 27,']' ;;
869 DB 43,'\' ;;
870 COM_THIRD_K3_T1_END: ;;
871 ;;
872 DW 0 ;; Last xlat table
873 COM_THIRD_K3_END: ;;
874 ;;
875 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
876 ;; CODE PAGE: Common
877 ;; STATE: Acute Lower Case
878 ;; KEYBOARD TYPES: All
879 ;; TABLE TYPE: Translate
880 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
881 ; ;;
882 ; DW COM_AC_LO_END-$ ;; length of state section
883 ; DB ACUTE_LOWER ;; State ID
884 ; DW ANY_KB ;; Keyboard Type
885 ; DB 39,0 ;; error character = standalone accent
886 ; ;;
887 ; DW COM_AC_LO_T1_END-$ ;; Size of xlat table
888 ; DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
889 ; DB 5 ;; number of scans
890 ; DB 18,'\82' ;; scan code,ASCII - e
891 ; DB 30,' ' ;; scan code,ASCII - a
892 ; DB 24,'¢' ;; scan code,ASCII - o
893 ; DB 22,'£' ;; scan code,ASCII - u
894 ; DB 23,'¡' ;; scan code,ASCII - i
895 ;COM_AC_LO_T1_END: ;;
896 ; ;;
897 ; DW 0 ;; Size of xlat table - null table
898 ; ;;
899 ;COM_AC_LO_END: ;;
900 ; ;;
901 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
902 ;;; CODE PAGE: Common
903 ;;; STATE: Acute Upper Case
904 ;;; KEYBOARD TYPES: All
905 ;;; TABLE TYPE: Translate
906 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
907 ; ;;
908 ; DW COM_AC_UP_END-$ ;; length of state section
909 ; DB ACUTE_UPPER ;; State ID
910 ; DW ANY_KB ;; Keyboard Type
911 ; DB 39,0 ;; error character = standalone accent
912 ; ;;
913 ; DW COM_AC_UP_T1_END-$ ;; Size of xlat table
914 ; DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
915 ; DB 2 ;; number of scans
916 ; DB 18,'\90' ;; scan code,ASCII - e
917 ;COM_AC_UP_T1_END: ;;
918 ; ;;
919 ; DW 0 ;; Size of xlat table - null table
920 ; ;;
921 ;COM_AC_UP_END: ;;
922 ; ;;
923 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
924 ;;; CODE PAGE: Common
925 ;;; STATE: Acute Space Bar
926 ;;; KEYBOARD TYPES: All
927 ;;; TABLE TYPE: Translate
928 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
929 ; ;;
930 ; DW COM_AC_SP_END-$ ;; length of state section
931 ; DB ACUTE_SPACE ;; State ID
932 ; DW ANY_KB ;; Keyboard Type
933 ; DB 39,0 ;; error character = standalone accent
934 ; ;;
935 ; DW COM_AC_SP_T1_END-$ ;; Size of xlat table
936 ; DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
937 ; DB 1 ;; number of scans
938 ; DB 57,39 ;; scan code,ASCII - SPACE
939 ;COM_AC_SP_T1_END: ;;
940 ; ;;
941 ; DW 0 ;; Size of xlat table - null table
942 ; ;;
943 ;COM_AC_SP_END: ;;
944 ; ;;
945 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
946 ;; CODE PAGE: Common
947 ;; STATE: Diaresis Lower Case
948 ;; KEYBOARD TYPES: All
949 ;; TABLE TYPE: Translate
950 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
951 ;;
952 DW COM_DI_LO_END-$ ;; length of state section
953 DB DIARESIS_LOWER ;; State ID
954 DW ANY_KB ;; Keyboard Type
955 DB 249,0 ;; error character = standalone accent
956 ;;
957 DW COM_DI_LO_T1_END-$ ;; Size of xlat table
958 DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
959 DB 6 ;; number of scans
960 DB 18,'\89' ;; scan code,ASCII - e
961 DB 30,'\84' ;; scan code,ASCII - a
962 DB 24,'\94' ;; scan code,ASCII - o
963 DB 22,'\81' ;; scan code,ASCII - u
964 DB 23,'\8b' ;; scan code,ASCII - i
965 DB 21,'\98' ;; scan code,ASCII - y
966 COM_DI_LO_T1_END: ;;
967 ;;
968 DW 0 ;; Size of xlat table - null table
969 ;;
970 COM_DI_LO_END: ;; length of state section
971 ;;
972 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
973 ;; CODE PAGE: Common
974 ;; STATE: Diaresis Upper Case
975 ;; KEYBOARD TYPES: All
976 ;; TABLE TYPE: Translate
977 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
978 ;;
979 DW COM_DI_UP_END-$ ;; length of state section
980 DB DIARESIS_UPPER ;; State ID
981 DW ANY_KB ;; Keyboard Type
982 DB 249,0 ;; error character = standalone accent
983 ;;
984 DW COM_DI_UP_T1_END-$ ;; Size of xlat table
985 DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
986 DB 3 ;; number of scans
987 DB 30,'\8e' ;; scan code,ASCII - a
988 DB 24,'\99' ;; scan code,ASCII - o
989 DB 22,'\9a' ;; scan code,ASCII - u
990 COM_DI_UP_T1_END: ;;
991 ;;
992 DW 0 ;; Size of xlat table - null table
993 ;;
994 COM_DI_UP_END: ;; length of state section
995 ;;
996 ;;
997 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
998 ;; CODE PAGE: Common
999 ;; STATE: Grave Lower
1000 ;; KEYBOARD TYPES: All
1001 ;; TABLE TYPE: Translate
1002 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1003 ;;
1004 DW COM_GR_LO_END-$ ;; length of state section
1005 DB GRAVE_LOWER ;; State ID
1006 DW ANY_KB ;; Keyboard Type
1007 DB 96,0 ;; error character = standalone accent
1008 ;;
1009 DW COM_GR_LO_T1_END-$ ;; Size of xlat table
1010 DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
1011 DB 5 ;; number of scans
1012 DB 18,'\8a' ;; scan code,ASCII - e
1013 DB 30,'\85' ;; scan code,ASCII - a
1014 DB 24,'\95' ;; scan code,ASCII - o
1015 DB 22,'\97' ;; scan code,ASCII - u
1016 DB 23,'\8d' ;; scan code,ASCII - i
1017 COM_GR_LO_T1_END: ;;
1018 ;;
1019 DW 0 ;; Size of xlat table - null table
1020 ;;
1021 COM_GR_LO_END: ;; length of state section
1022 ;;
1023 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1024 ;; CODE PAGE: Common
1025 ;; STATE: Grave Space Bar
1026 ;; KEYBOARD TYPES: All
1027 ;; TABLE TYPE: Translate
1028 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1029 ;;
1030 DW COM_GR_SP_END-$ ;; length of state section
1031 DB GRAVE_SPACE ;; State ID
1032 DW ANY_KB ;; Keyboard Type
1033 DB 96,0 ;; error character = standalone accent
1034 ;;
1035 DW COM_GR_SP_T1_END-$ ;; Size of xlat table
1036 DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
1037 DB 1 ;; number of scans
1038 DB 57,96 ;; STANDALONE GRAVE
1039 COM_GR_SP_T1_END: ;;
1040 ;;
1041 DW 0 ;; Size of xlat table - null table
1042 ;;
1043 COM_GR_SP_END: ;; length of state section
1044 ;;
1045 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1046 ;; CODE PAGE: Common
1047 ;; STATE: Circumflex Lower
1048 ;; KEYBOARD TYPES: All
1049 ;; TABLE TYPE: Translate
1050 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1051 ;;
1052 DW COM_CI_LO_END-$ ;; length of state section
1053 DB CIRCUMFLEX_LOWER ;; State ID
1054 DW ANY_KB ;; Keyboard Type
1055 DB 94,0 ;; error character = standalone accent
1056 ;;
1057 DW COM_CI_LO_T1_END-$ ;; Size of xlat table
1058 DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
1059 DB 5 ;; number of scans
1060 DB 18,'\88' ;; scan code,ASCII - e
1061 DB 30,'\83' ;; scan code,ASCII - a
1062 DB 24,'\93' ;; scan code,ASCII - o
1063 DB 22,'\96' ;; scan code,ASCII - u
1064 DB 23,'\8c' ;; scan code,ASCII - i
1065 COM_CI_LO_T1_END: ;;
1066 ;;
1067 DW 0 ;;
1068 ;;
1069 COM_CI_LO_END: ;;
1070 ;;
1071 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1072 ;; CODE PAGE: Common
1073 ;; STATE: Circumflex Space Bar
1074 ;; KEYBOARD TYPES: All
1075 ;; TABLE TYPE: Translate
1076 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1077 ;;
1078 DW COM_CI_SP_END-$ ;; length of state section
1079 DB CIRCUMFLEX_SPACE ;; State ID
1080 DW ANY_KB ;; Keyboard Type
1081 DB 94,0 ;; error character = standalone accent
1082 ;;
1083 DW COM_CI_SP_T1_END-$ ;; Size of xlat table
1084 DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
1085 DB 1 ;; number of scans
1086 DB 57,94 ;; STANDALONE CIRCUMFLEX
1087 COM_CI_SP_T1_END: ;;
1088 ;;
1089 DW 0 ;; Size of xlat table - null table
1090 ;;
1091 COM_CI_SP_END: ;; length of state section
1092 ;;
1093 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1094 DW 0 ;; Last State
1095 COMMON_XLAT_END: ;;
1096 ;;
1097 ;;
1098 ;;
1099 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1100 ;;***************************************
1101 ;; SP Specific Translate Section for 437
1102 ;; 437 IS COMPLETELY COVERED BY THE COMMON TABLE.
1103 ;;***************************************
1104 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1105 ;;
1106 PUBLIC SP_437_XLAT ;;
1107 SP_437_XLAT: ;;
1108 ;;
1109 DW CP437_XLAT_END-$ ;; length of section
1110 DW 437 ;;
1111 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1112 ; CODE PAGE: Specific 437
1113 ; STATE: Acute Lower Case
1114 ; KEYBOARD TYPES: All
1115 ; TABLE TYPE: Translate
1116 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1117 DW CP437_AC_LO_END-$ ; length of state section
1118 DB ACUTE_LOWER ; State ID
1119 DW ANY_KB ; Keyboard Type
1120 DB 39,0 ; error character = standalone accent
1121 ;
1122 DW CP437_AC_LO_T1_END-$ ; Size of xlat table
1123 DB STANDARD_TABLE+ZERO_SCAN ; xlat options:
1124 DB 5 ; number of scans
1125 DB 18,'\82' ; scan code,ASCII - e
1126 DB 30,' ' ; scan code,ASCII - a
1127 DB 24,'¢' ; scan code,ASCII - o
1128 DB 22,'£' ; scan code,ASCII - u
1129 DB 23,'¡' ; scan code,ASCII - i
1130 CP437_AC_LO_T1_END: ;
1131 ;
1132 DW 0 ; Size of xlat table - null table
1133 ;
1134 CP437_AC_LO_END: ;
1135 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1136 ; CODE PAGE: 437
1137 ; STATE: Acute Upper Case
1138 ; KEYBOARD TYPES: All
1139 ; TABLE TYPE: Translate
1140 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1141 DW CP437_AC_UP_END-$ ; length of state section
1142 DB ACUTE_UPPER ; State ID
1143 DW ANY_KB ; Keyboard Type
1144 DB 39,0 ; error character = standalone accent
1145 ;
1146 DW CP437_AC_UP_T1_END-$ ; Size of xlat table
1147 DB STANDARD_TABLE+ZERO_SCAN ; xlat options:
1148 DB 1 ; number of scans
1149 DB 18,'\90' ; scan code,ASCII - e
1150 CP437_AC_UP_T1_END: ;
1151 ;
1152 DW 0 ; Size of xlat table - null table
1153 ;
1154 CP437_AC_UP_END: ;
1155 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1156 ; CODE PAGE: 437
1157 ; STATE: Acute Space Bar
1158 ; KEYBOARD TYPES: All
1159 ; TABLE TYPE: Translate
1160 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1161 DW CP437_AC_SP_END-$ ; length of state section
1162 DB ACUTE_SPACE ; State ID
1163 DW ANY_KB ; Keyboard Type
1164 DB 39,0 ; error character = standalone accent
1165 ;
1166 DW CP437_AC_SP_T1_END-$ ; Size of xlat table
1167 DB STANDARD_TABLE+ZERO_SCAN ; xlat options:
1168 DB 1 ; number of scans
1169 DB 57,39 ; scan code,ASCII - SPACE
1170 CP437_AC_SP_T1_END: ;
1171 ;
1172 DW 0 ; Size of xlat table - null table
1173 ;
1174 CP437_AC_SP_END: ;
1175 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1176 DW 0 ;; LAST STATE
1177 ;;
1178 CP437_XLAT_END: ;;
1179 ;;
1180 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1181 ;;***************************************
1182 ;; SP Specific Translate Section for 850
1183 ;;***************************************
1184 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1185 ;;
1186 PUBLIC SP_850_XLAT ;;
1187 SP_850_XLAT: ;;
1188 ;;
1189 DW CP850_XLAT_END-$ ;; length of section
1190 DW 850 ;;
1191 ;;
1192 ;;
1193 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1194 ;; CODE PAGE: 850
1195 ;; STATE: Acute Lower Case
1196 ;; KEYBOARD TYPES: All
1197 ;; TABLE TYPE: Translate
1198 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1199 ;;
1200 DW CP850_AC_LO_END-$ ;; length of state section
1201 DB ACUTE_LOWER ;; State ID
1202 DW ANY_KB ;; Keyboard Type
1203 DB 0EFH,0 ;; error character = standalone accent
1204 ;;
1205 DW CP850_AC_LO_T1_END-$ ;; Size of xlat table
1206 DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
1207 DB 5 ; number of scans
1208 DB 18,'\82' ; scan code,ASCII - e
1209 DB 30,' ' ; scan code,ASCII - a
1210 DB 24,'¢' ; scan code,ASCII - o
1211 DB 22,'£' ; scan code,ASCII - u
1212 DB 23,'¡' ; scan code,ASCII - i
1213 ; DB 21,0ECH Delete until 4.00 ;; y acute
1214 CP850_AC_LO_T1_END: ;;
1215 ;;
1216 DW 0 ;; Size of xlat table - null table
1217 ;;
1218 CP850_AC_LO_END: ;;
1219 ;;
1220 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1221 ;; CODE PAGE: 850
1222 ;; STATE: Acute Upper Case
1223 ;; KEYBOARD TYPES: All
1224 ;; TABLE TYPE: Translate
1225 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1226 ;;
1227 DW CP850_AC_UP_END-$ ;; length of state section
1228 DB ACUTE_UPPER ;; State ID
1229 DW ANY_KB ;; Keyboard Type
1230 DB 0EFH,0 ;; error character = standalone accent
1231 ;;
1232 DW CP850_AC_UP_T1_END-$ ;; Size of xlat table
1233 DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
1234 DB 5 ;; number of scans
1235 DB 18,'\90' ; scan code,ASCII - e
1236 DB 30,0B5H ;; A acute
1237 DB 23,0D6H ;; I acute
1238 DB 24,0E0H ;; O acute
1239 DB 22,0E9H ;; U acute
1240 ; DB 21,0EDH Delete until 4.00 ;; Y acute
1241 CP850_AC_UP_T1_END: ;;
1242 ;;
1243 DW 0 ;; Size of xlat table - null table
1244 ;;
1245 CP850_AC_UP_END: ;;
1246 ;;
1247 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1248 ;; CODE PAGE: Common
1249 ;; STATE: Acute Space Bar
1250 ;; KEYBOARD TYPES: All
1251 ;; TABLE TYPE: Translate
1252 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1253 ;;
1254 DW CP850_AC_SP_END-$ ;; length of state section
1255 DB ACUTE_SPACE ;; State ID
1256 DW ANY_KB ;; Keyboard Type
1257 DB 0EFH,0 ;; error character = standalone accent
1258 ;;
1259 DW CP850_AC_SP_T1_END-$ ;; Size of xlat table
1260 DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
1261 DB 1 ;; number of scans
1262 DB 57,0EFH ;; scan code,ASCII - SPACE
1263 CP850_AC_SP_T1_END: ;;
1264 ;;
1265 DW 0 ;; Size of xlat table - null table
1266 ;;
1267 CP850_AC_SP_END: ;;
1268 ;;
1269 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1270 ;; CODE PAGE: 850
1271 ;; STATE: Diaresis Upper
1272 ;; KEYBOARD TYPES: All
1273 ;; TABLE TYPE: Translate
1274 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1275 ;;
1276 DW CP850_DI_UP_END-$ ;; length of state section
1277 DB DIARESIS_UPPER ;; State ID
1278 DW ANY_KB ;; Keyboard Type
1279 DB 249,0 ;; error character = standalone accent
1280 ;;
1281 DW CP850_DI_UP_T1_END-$ ;; Size of xlat table
1282 DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
1283 DB 2 ;; number of scans
1284 DB 18,0D3H ;; E diaeresis
1285 DB 23,0D8H ;; I diaeresis
1286 CP850_DI_UP_T1_END: ;;
1287 ;;
1288 DW 0 ;; Size of xlat table - null table
1289 ;;
1290 CP850_DI_UP_END: ;; length of state section
1291 ;;
1292 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1293 ;; CODE PAGE: 850
1294 ;; STATE: Diaresis Space Bar
1295 ;; KEYBOARD TYPES: All
1296 ;; TABLE TYPE: Translate
1297 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1298 ;;
1299 DW CP850_DI_SP_END-$ ;; length of state section
1300 DB DIARESIS_SPACE ;; State ID
1301 DW ANY_KB ;; Keyboard Type
1302 DB 249,0 ;; error character = standalone accent
1303 ;;
1304 DW CP850_DI_SP_T1_END-$ ;; Size of xlat table
1305 DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
1306 DB 1 ;; number of scans
1307 DB 57,249 ;; error character = standalone accent
1308 CP850_DI_SP_T1_END: ;;
1309 ;;
1310 DW 0 ;; Size of xlat table - null table
1311 CP850_DI_SP_END: ;; length of state section
1312 ;;
1313 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1314 ;; CODE PAGE: 850
1315 ;; STATE: Grave Upper
1316 ;; KEYBOARD TYPES: All
1317 ;; TABLE TYPE: Translate
1318 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1319 ;;
1320 DW CP850_GR_UP_END-$ ;; length of state section
1321 DB GRAVE_UPPER ;; State ID
1322 DW ANY_KB ;; Keyboard Type
1323 DB 96,0 ;; error character = standalone accent
1324 ;;
1325 DW CP850_GR_UP_T1_END-$ ;; Size of xlat table
1326 DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
1327 DB 5 ;; number of scans
1328 DB 30,0B7H ;; A grave
1329 DB 18,0D4H ;; E grave
1330 DB 23,0DEH ;; I grave
1331 DB 24,0E3H ;; O grave
1332 DB 22,0EBH ;; U grave
1333 CP850_GR_UP_T1_END: ;;
1334 ;;
1335 DW 0 ;; Size of xlat table - null table
1336 ;;
1337 CP850_GR_UP_END: ;; length of state section
1338 ;;
1339 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1340 ;; CODE PAGE: 850
1341 ;; STATE: Circumflex Upper
1342 ;; KEYBOARD TYPES: All
1343 ;; TABLE TYPE: Translate
1344 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1345 ;;
1346 DW CP850_CI_UP_END-$ ;; length of state section
1347 DB CIRCUMFLEX_UPPER ;; State ID
1348 DW ANY_KB ;; Keyboard Type
1349 DB 94,0 ;; error character = standalone accent
1350 ;;
1351 DW CP850_CI_UP_T1_END-$ ;; Size of xlat table
1352 DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
1353 DB 5 ;; number of scans
1354 DB 30,0B6H ;; A circumflex
1355 DB 18,0D2H ;; E circumflex
1356 DB 23,0D7H ;; I circumflex
1357 DB 24,0E2H ;; O circumflex
1358 DB 22,0EAH ;; U circumflex
1359 CP850_CI_UP_T1_END: ;;
1360 ;;
1361 DW 0 ;; Size of xlat table - null table
1362 ;;
1363 CP850_CI_UP_END: ;; length of state section
1364 ;;
1365 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1366 ;;
1367 DW 0 ;; LAST STATE
1368 ;;
1369 CP850_XLAT_END: ;;
1370 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1371 ;;
1372 CODE ENDS ;;
1373 END ;;