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

wirehaze git hosting

MZ is back!
[MS-DOS.git] / v4.0 / src / DEV / KEYBOARD / KDFUK.ASM
1 ;CODE to be deleted has a double ;; followed by actual asm code....****
2 ;; LATEST CHANGE ALT & CTL
3
4
5
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 UK_LOGIC ;;
25 PUBLIC UK_437_XLAT ;;
26 PUBLIC UK_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 ;; UK State Logic
41 ;;***************************************
42 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
43 ;;
44 ;;
45 UK_LOGIC:
46
47 DW LOGIC_END-$ ;; length
48 ;;
49 DW 0 ;; special features
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 IFF EITHER_SHIFT ;;
71 SET_FLAG DEAD_UPPER ;;
72 ELSEF ;;
73 SET_FLAG DEAD_LOWER ;;
74 ENDIFF ;;
75 ENDIFF ;;
76 ;;
77 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
78 ;; ACUTE ACCENT TRANSLATIONS
79 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
80 ;;
81 ACUTE_PROC: ;;
82 ;;
83 IFF ACUTE,NOT ;;
84 GOTO DIARESIS_PROC ;;
85 ENDIFF ;;
86 ;;
87 RESET_NLS ;;
88 IFF R_ALT_SHIFT,NOT ;;
89 XLATT ACUTE_SPACE ;;
90 ENDIFF ;;
91 IFF EITHER_CTL,NOT ;;
92 ANDF EITHER_ALT,NOT ;;
93 IFF EITHER_SHIFT ;;
94 IFF CAPS_STATE ;;
95 XLATT ACUTE_LOWER ;;
96 ELSEF ;;
97 XLATT ACUTE_UPPER ;;
98 ENDIFF ;;
99 ELSEF ;;
100 IFF CAPS_STATE ;;
101 XLATT ACUTE_UPPER ;;
102 ELSEF ;;
103 XLATT ACUTE_LOWER ;;
104 ENDIFF ;;
105 ENDIFF ;;
106 ENDIFF ;;
107 ;;
108 INVALID_ACUTE: ;;
109 PUT_ERROR_CHAR ACUTE_LOWER ;; If we get here then either the XLATT
110 BEEP ;; failed or we are ina bad shift state.
111 GOTO NON_DEAD ;; Either is invalid so BEEP and fall
112 ;; through to generate the second char.
113 ;; Note that the dead key flag will be
114 ;; reset before we get here.
115 ;;
116 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
117 ;; DIARESIS ACCENT TRANSLATIONS
118 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
119 ;;
120 DIARESIS_PROC: ;;
121 ;;
122 IFF DIARESIS,NOT ;;
123 GOTO GRAVE_PROC ;;
124 ENDIFF ;;
125 ;;
126 RESET_NLS ;;
127 IFF R_ALT_SHIFT,NOT ;;
128 XLATT DIARESIS_SPACE ;; exist for 437 so beep for
129 ENDIFF ;;
130 IFF EITHER_CTL,NOT ;;
131 ANDF EITHER_ALT,NOT ;;
132 IFF EITHER_SHIFT ;;
133 IFF CAPS_STATE ;;
134 XLATT DIARESIS_LOWER ;;
135 ELSEF ;;
136 XLATT DIARESIS_UPPER ;;
137 ENDIFF ;;
138 ELSEF ;;
139 IFF CAPS_STATE ;;
140 XLATT DIARESIS_UPPER ;;
141 ELSEF ;;
142 XLATT DIARESIS_LOWER ;;
143 ENDIFF ;;
144 ENDIFF ;;
145 ENDIFF ;;
146 ;;
147 INVALID_DIARESIS: ;;
148 PUT_ERROR_CHAR DIARESIS_SPACE ;; standalone accent
149 BEEP ;; Invalid dead key combo.
150 GOTO NON_DEAD ;;
151 ;;
152 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
153 ;; GRAVE ACCENT TRANSLATIONS
154 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
155 ;;
156 GRAVE_PROC: ;;
157 ;;
158 IFF GRAVE,NOT ;;
159 GOTO CIRCUMFLEX_PROC ;;
160 ENDIFF ;;
161 ;;
162 RESET_NLS ;;
163 IFF R_ALT_SHIFT,NOT ;;
164 XLATT GRAVE_SPACE ;;
165 ENDIFF ;;
166 IFF EITHER_CTL,NOT ;;
167 ANDF EITHER_ALT,NOT ;;
168 IFF EITHER_SHIFT ;;
169 IFF CAPS_STATE ;;
170 XLATT GRAVE_LOWER ;;
171 ELSEF ;;
172 XLATT GRAVE_UPPER ;;
173 ENDIFF ;;
174 ELSEF ;;
175 IFF CAPS_STATE,NOT ;;
176 XLATT GRAVE_LOWER ;;
177 ELSEF ;;
178 XLATT GRAVE_UPPER ;;
179 ENDIFF ;;
180 ENDIFF ;;
181 ENDIFF ;;
182 ;;
183 INVALID_GRAVE: ;;
184 PUT_ERROR_CHAR GRAVE_LOWER ;; standalone accent
185 BEEP ;; Invalid dead key combo.
186 GOTO NON_DEAD ;;
187 ;;
188 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
189 ;; CIRCUMFLEX ACCENT TRANSLATIONS
190 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
191 ;;
192 CIRCUMFLEX_PROC: ;;
193 ;;
194 IFF CIRCUMFLEX,NOT ;;
195 GOTO NON_DEAD ;;
196 ENDIFF ;;
197 ;;
198 RESET_NLS ;;
199 IFF R_ALT_SHIFT,NOT ;;
200 XLATT CIRCUMFLEX_SPACE ;;
201 ENDIFF ;;
202 IFF EITHER_CTL,NOT ;;
203 ANDF EITHER_ALT,NOT ;;
204 IFF EITHER_SHIFT ;;
205 IFF CAPS_STATE ;;
206 XLATT CIRCUMFLEX_LOWER ;;
207 ELSEF ;;
208 XLATT CIRCUMFLEX_UPPER ;;
209 ENDIFF ;;
210 ELSEF ;;
211 IFF CAPS_STATE,NOT ;;
212 XLATT CIRCUMFLEX_LOWER ;;
213 ELSEF ;;
214 XLATT CIRCUMFLEX_UPPER ;;
215 ENDIFF ;;
216 ENDIFF ;;
217 ENDIFF ;;
218 ;;
219 INVALID_CIRCUMFLEX: ;;
220 PUT_ERROR_CHAR CIRCUMFLEX_LOWER ;; standalone accent
221 BEEP ;; Invalid dead key combo.
222 GOTO NON_DEAD ;;
223 ;;
224 ;;
225 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
226 ;; Upper, lower and third shifts
227 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
228 ;;
229 NON_DEAD: ;;
230 ;;
231 IFKBD G_KB+P12_KB ;; Avoid accidentally translating
232 ANDF LC_E0 ;; the "/" on the numeric pad of the
233 EXIT_STATE_LOGIC ;; G keyboard
234 ENDIFF ;;
235 ;;***BD ADDED FOR ALT, CTRL CASES ;;
236 IFF EITHER_CTL,NOT ;;
237 IFF ALT_SHIFT ;; ALT - case
238 ANDF R_ALT_SHIFT,NOT ;;
239 XLATT ALT_CASE ;;
240 ENDIFF ;;
241 ELSEF ;;
242 IFF EITHER_ALT,NOT ;; CTRL - case
243 XLATT CTRL_CASE ;;
244 ENDIFF ;;
245 ENDIFF ;;
246 ;;***BD END OF ADDITION
247 ;;
248 IFF EITHER_ALT,NOT ;; Lower and upper case. Alphabetic
249 ANDF EITHER_CTL,NOT ;; keys are affected by CAPS LOCK.
250 IFF EITHER_SHIFT ;; Numeric keys are not.
251 ;;***BD ADDED FOR NUMERIC PAD
252 IFF NUM_STATE,NOT ;;
253 XLATT NUMERIC_PAD ;;
254 ENDIFF ;;
255 ;;***BD END OF ADDITION
256 XLATT NON_ALPHA_UPPER ;;
257 IFF CAPS_STATE ;;
258 XLATT ALPHA_LOWER ;;
259 ELSEF ;;
260 XLATT ALPHA_UPPER ;;
261 ENDIFF ;;
262 ELSEF ;;
263 ;;***BD ADDED FOR NUMERIC PAD
264 IFF NUM_STATE ;;
265 XLATT NUMERIC_PAD ;;
266 ENDIFF ;;
267 ;;***BD END OF ADDITION
268 XLATT NON_ALPHA_LOWER ;;
269 IFF CAPS_STATE ;;
270 XLATT ALPHA_UPPER ;;
271 ELSEF ;;
272 XLATT ALPHA_LOWER ;;
273 ENDIFF ;;
274 ENDIFF ;;
275 ELSEF ;;
276 IFF EITHER_SHIFT,NOT ;;
277 IFKBD XT_KB+AT_KB ;;
278 IFF EITHER_CTL ;;
279 ANDF ALT_SHIFT ;;
280 XLATT THIRD_SHIFT ;;
281 ENDIFF ;;
282 ELSEF ;;
283 IFF EITHER_CTL,NOT ;;
284 ANDF R_ALT_SHIFT ;;
285 XLATT THIRD_SHIFT ;;
286 ENDIFF ;;
287 ENDIFF ;;
288 ENDIFF ;;
289 ENDIFF ;;
290 ;;
291 EXIT_STATE_LOGIC ;;
292 ;;
293 LOGIC_END: ;;
294 ;;
295 ;;
296 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
297 ;;***************************************
298 ;; UK Common Translate Section
299 ;; This section contains translations for the lower 128 characters
300 ;; only since these will never change from code page to code page.
301 ;; In addition the dead key "Set Flag" tables are here since the
302 ;; dead keys are on the same keytops for all code pages.
303 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
304 ;;
305 PUBLIC UK_COMMON_XLAT ;;
306 UK_COMMON_XLAT: ;;
307 ;;
308 DW COMMON_XLAT_END-$ ;; length of section
309 DW -1 ;; code page
310 ;;
311 ;;
312 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
313 ;;***************************************
314 ;;***BD - ADDED FOR ALT CASE
315 ;;******************************
316 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
317 ;; CODE PAGE: Common
318 ;; STATE: Alt Case
319 ;; KEYBOARD TYPES: All
320 ;; TABLE TYPE: Translate
321 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
322 ;;
323 DW COM_ALT_K2_END-$ ;; length of state section
324 DB ALT_CASE ;; State ID
325 DW ANY_KB ;; Keyboard Type
326 DB -1,-1 ;; Buffer entry for error character
327 ;;
328 DW COM_ALT_K2_T1_END-$ ;; Size of xlat table
329 DB TYPE_2_TAB ;; xlat options:
330 DB 0 ;; number of entries
331 ;;***BD THIS ENTRY IS A TEST ENTRY
332 ;; DB 53,225,0 ;; TEST ENTRY
333 COM_ALT_K2_T1_END: ;;
334 ;;
335 DW 0 ;; Size of xlat table - null table
336 ;;
337 COM_ALT_K2_END: ;;
338 ;;
339 ;;******************************
340 ;;***BD - ADDED FOR CTRL CASE
341 ;;******************************
342 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
343 ;; CODE PAGE: Common
344 ;; STATE: Ctrl Case
345 ;; KEYBOARD TYPES: G_KB+P12_KB+AT
346 ;; TABLE TYPE: Translate
347 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
348 ;;
349 DW COM_CTRL_K2_END-$ ;; length of state section
350 DB CTRL_CASE ;; State ID
351 DW G_KB+P12_KB+AT_KB ;; Keyboard Type
352 DB -1,-1 ;; Buffer entry for error character
353 ;;
354 DW COM_CTRL_K2_T1_END-$ ;; Size of xlat table
355 DB TYPE_2_TAB ;; xlat options:
356 DB 2 ;; number of entries
357 ;;***BD THIS ENTRY IS A TEST ENTRY
358 ;; DB 53,226,0 ;; TEST ENTRY
359 DB 43,-1,-1 ;; invalid slash
360 DB 41,28,41 ;; valid slash
361 COM_CTRL_K2_T1_END: ;;
362 ;;
363 DW 0 ;; Size of xlat table - null table
364 ;;
365 COM_CTRL_K2_END: ;;
366 ;;
367 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
368 ;; CODE PAGE: Common
369 ;; STATE: Non-Alpha Lower Case
370 ;; KEYBOARD TYPES: G_KB+P12_KB
371 ;; TABLE TYPE: Translate
372 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
373 ;;
374 DW COM_NA_LO_K1_END-$ ;; length of state section
375 DB NON_ALPHA_LOWER ;; State ID
376 DW G_KB+P12_KB ;; Keyboard Type
377 DB -1,-1 ;; Buffer entry for error character
378 ;;
379 DW COM_NA_LO_K1_T1_END-$ ;; Size of xlat table
380 DB STANDARD_TABLE ;; xlat options:
381 DB 2 ;; number of entries
382 DB 40,"'" ;; '
383 DB 43,'#' ;; #
384 COM_NA_LO_K1_T1_END: ;;
385 ;;
386 DW 0 ;; Size of xlat table - null table
387 ;;
388 COM_NA_LO_K1_END: ;;
389 ;;
390 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
391 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
392 ;; CODE PAGE: Common
393 ;; STATE: Non-Alpha Lower Case
394 ;; KEYBOARD TYPES: AT
395 ;; TABLE TYPE: Translate
396 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
397 ;;
398 DW COM_NA_LO_K2_END-$ ;; length of state section
399 DB NON_ALPHA_LOWER ;; State ID
400 DW AT_KB ;; Keyboard Type
401 DB -1,-1 ;; Buffer entry for error character
402 ;;
403 DW COM_NA_LO_K2_T1_END-$ ;; Size of xlat table
404 DB STANDARD_TABLE ;; xlat options:
405 DB 3 ;; number of entries
406 DB 41,"\" ;; \
407 DB 40,"'" ;; '
408 DB 43,'#' ;; #
409 COM_NA_LO_K2_T1_END: ;;
410 ;;
411 DW 0 ;; Size of xlat table - null table
412 ;;
413 COM_NA_LO_K2_END: ;;
414 ;;
415 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
416 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
417 ;; CODE PAGE: Common
418 ;; STATE: Non-Alpha Lower Case
419 ;; KEYBOARD TYPES: XT_KB
420 ;; TABLE TYPE: Translate
421 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
422 ;;
423 DW COM_NA_LO_K3_END-$ ;; length of state section
424 DB NON_ALPHA_LOWER ;; State ID
425 DW XT_KB ;; Keyboard Type
426 DB -1,-1 ;; Buffer entry for error character
427 ;;
428 DW COM_NA_LO_K3_T1_END-$ ;; Size of xlat table
429 DB STANDARD_TABLE ;; xlat options:
430 DB 2 ;; number of entries
431 DB 40,"'" ;; '
432 DB 41,'#' ;; #
433 DB 43,'\' ;; #
434 COM_NA_LO_K3_T1_END: ;;
435 ;;
436 DW 0 ;; Size of xlat table - null table
437 ;;
438 COM_NA_LO_K3_END: ;;
439 ;;
440 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
441 ;; CODE PAGE: Common
442 ;; STATE: Non-Alpha Upper Case
443 ;; KEYBOARD TYPES: G_KB+P12_KB+
444 ;; TABLE TYPE: Translate
445 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
446 ;;
447 DW COM_NA_UP_K1_END-$ ;; length of state section
448 DB NON_ALPHA_UPPER ;; State ID
449 DW G_KB+P12_KB ;; Keyboard Type
450 DB -1,-1 ;; Buffer entry for error character
451 ;;
452 DW COM_NA_UP_T1_K1_END-$ ;; Size of xlat table
453 DB STANDARD_TABLE ;; xlat options:
454 DB 5 ;; number of entries
455 DB 41,0AAh ;; ª
456 DB 3,'"' ;; "
457 DB 4,09CH ;; \9c
458 DB 40,'@' ;; at sign
459 DB 43,07EH ;; ~
460 COM_NA_UP_T1_K1_END: ;;
461 ;;
462 DW 0 ;; Size of xlat table - null table
463 ;;
464 COM_NA_UP_K1_END: ;;
465 ;;
466 ;;
467 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
468 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
469 ;; CODE PAGE: Common
470 ;; STATE: Non-Alpha Upper Case
471 ;; KEYBOARD TYPES: XT_KB
472 ;; TABLE TYPE: Translate
473 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
474 ;;
475 DW COM_NA_UP_K2_END-$ ;; length of state section
476 DB NON_ALPHA_UPPER ;; State ID
477 DW XT_KB ;; Keyboard Type
478 DB -1,-1 ;; Buffer entry for error character
479 ;;
480 DW COM_NA_UP_T1_K2_END-$ ;; Size of xlat table
481 DB STANDARD_TABLE ;; xlat options:
482 DB 5 ;; number of entries
483 DB 3,'"' ;; "
484 DB 4,09CH ;; \9c
485 DB 41,07EH ;; ~
486 DB 40,'@' ;; at sign
487 DB 43,07CH ;; Broken vertical bar
488 COM_NA_UP_T1_K2_END: ;;
489 ;;
490 DW 0 ;; Size of xlat table - null table
491 ;;
492 COM_NA_UP_K2_END: ;;
493 ;;
494 ;;
495 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
496 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
497 ;; CODE PAGE: Common
498 ;; STATE: Non-Alpha Upper Case
499 ;; KEYBOARD TYPES: AT_KB
500 ;; TABLE TYPE: Translate
501 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
502 ;;
503 DW COM_NA_UP_K3_END-$ ;; length of state section
504 DB NON_ALPHA_UPPER ;; State ID
505 DW AT_KB ;; Keyboard Type
506 DB -1,-1 ;; Buffer entry for error character
507 ;;
508 DW COM_NA_UP_T1_K3_END-$ ;; Size of xlat table
509 DB STANDARD_TABLE ;; xlat options:
510 DB 5 ;; number of entries
511 DB 41,07Ch ;; ª
512 DB 3,'"' ;; "
513 DB 4,09CH ;; \9c
514 DB 40,'@' ;; at sign
515 DB 43,07EH ;; ~
516 COM_NA_UP_T1_K3_END: ;;
517 ;;
518 DW 0 ;; Size of xlat table - null table
519 ;;
520 COM_NA_UP_K3_END: ;;
521 ;;
522 ;;
523 DW 0 ;; Last State
524 COMMON_XLAT_END: ;;
525 ;;
526 ;;
527 ;;
528 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
529 ;;***************************************
530 ;; UK Specific Translate Section for 437
531 ;; 437 IS COMPLETELY COVERED BY THE COMMON TABLE.
532 ;;***************************************
533 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
534 ;;
535 PUBLIC UK_437_XLAT ;;
536 UK_437_XLAT: ;;
537 ;;
538 DW CP437_XLAT_END-$ ;; length of section
539 DW 437 ;;
540 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
541 ;; CODE PAGE: CP437
542 ;; STATE: Third Shift
543 ;; KEYBOARD TYPES: G_KB+P12_KB
544 ;; TABLE TYPE: Translate
545 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
546 ;;
547 DW CP437_THIRD_K1_END-$ ;; length of state section
548 DB THIRD_SHIFT ;; State ID
549 DW G_KB+P12_KB ;; Keyboard Type
550 DB -1,-1 ;; Buffer entry for error character
551 ;;
552 DW CP437_THIRD_K1_T1_END-$ ;; Size of xlat table
553 DB STANDARD_TABLE ;; xlat options:
554 DB 1 ;; number of entries
555 DB 41,0DDH ;; Solid vertical bar - graphics block
556 CP437_THIRD_K1_T1_END: ;;
557 ;;
558 DW 0 ;; Last xlat table
559 CP437_THIRD_K1_END: ;;
560 ;;
561 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
562 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
563 ;; CODE PAGE: CP437
564 ;; STATE: Non-Alpha Upper Case
565 ;; KEYBOARD TYPES: G_KB+P12_KB+
566 ;; TABLE TYPE: Translate
567 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
568 ;;
569 DW CP437_NA_UP_K1_END-$ ;; length of state section
570 DB NON_ALPHA_UPPER ;; State ID
571 DW G_KB+P12_KB ;; Keyboard Type
572 DB -1,-1 ;; Buffer entry for error character
573 ;;
574 DW CP437_NA_UP_T1_K1_END-$ ;; Size of xlat table
575 DB STANDARD_TABLE ;; xlat options:
576 DB 1 ;; number of entries
577 DB 86,07ch ;; vertical bar
578 CP437_NA_UP_T1_K1_END: ;;
579 ;;
580 DW 0 ;; Size of xlat table - null table
581 ;;
582 CP437_NA_UP_K1_END: ;;
583 ;;
584 ;;
585 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
586 DW 0 ;; LAST STATE
587 ;;
588 CP437_XLAT_END: ;;
589 ;;
590 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
591 ;;***************************************
592 ;; UK Specific Translate Section for 850
593 ;;***************************************
594 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
595 ;;
596 PUBLIC UK_850_XLAT ;;
597 UK_850_XLAT: ;;
598 ;;
599 DW CP850_XLAT_END-$ ;; length of section
600 DW 850 ;;
601 ;;
602 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
603 ;; CODE PAGE: CP850
604 ;; STATE: Third Shift
605 ;; KEYBOARD TYPES: G_KB+P12_KB
606 ;; TABLE TYPE: Translate
607 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
608 ;;
609 DW CP850_THIRD_K1_END-$ ;; length of state section
610 DB THIRD_SHIFT ;; State ID
611 DW G_KB+P12_KB ;; Keyboard Type
612 DB -1,-1 ;; Buffer entry for error character
613 ;;
614 DW CP850_THIRD_K1_T1_END-$ ;; Size of xlat table
615 DB STANDARD_TABLE ;; xlat options:
616 DB 1 ;; number of entries
617 DB 41,07CH ;; Solid vertical bar - |
618 CP850_THIRD_K1_T1_END: ;;
619 ;;
620 DW 0 ;; Last xlat table
621 CP850_THIRD_K1_END: ;;
622 ;;
623 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
624 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
625 ;; CODE PAGE: Common
626 ;; STATE: Non-Alpha Upper Case
627 ;; KEYBOARD TYPES: G_KB+P12_KB+
628 ;; TABLE TYPE: Translate
629 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
630 ;;
631 DW CP850_NA_UP_K1_END-$ ;; length of state section
632 DB NON_ALPHA_UPPER ;; State ID
633 DW G_KB+P12_KB ;; Keyboard Type
634 DB -1,-1 ;; Buffer entry for error character
635 ;;
636 DW CP850_NA_UP_T1_K1_END-$ ;; Size of xlat table
637 DB STANDARD_TABLE ;; xlat options:
638 DB 1 ;; number of entries
639 DB 86,0DDh ;; broken vertical
640 CP850_NA_UP_T1_K1_END: ;;
641 ;;
642 DW 0 ;; Size of xlat table - null table
643 ;;
644 CP850_NA_UP_K1_END: ;;
645 ;;
646 ;;
647 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
648 ;;
649 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
650 DW 0 ;; LAST STATE
651 ;;
652 CP850_XLAT_END: ;;
653 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
654 CODE ENDS ;;
655 END ;;