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

wirehaze git hosting

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