summaryrefslogtreecommitdiff
path: root/v4.0/src/DEV/KEYBOARD/KDFUK.ASM
diff options
context:
space:
mode:
authorGravatar Mark Zbikowski2024-04-25 21:24:10 +0100
committerGravatar Microsoft Open Source2024-04-25 22:32:27 +0000
commit2d04cacc5322951f187bb17e017c12920ac8ebe2 (patch)
tree80ee017efa878dfd5344b44249e6a241f2a7f6e2 /v4.0/src/DEV/KEYBOARD/KDFUK.ASM
parentMerge pull request #430 from jpbaltazar/typoptbr (diff)
downloadms-dos-main.tar.gz
ms-dos-main.tar.xz
ms-dos-main.zip
MZ is back!HEADmain
Diffstat (limited to 'v4.0/src/DEV/KEYBOARD/KDFUK.ASM')
-rw-r--r--v4.0/src/DEV/KEYBOARD/KDFUK.ASM655
1 files changed, 655 insertions, 0 deletions
diff --git a/v4.0/src/DEV/KEYBOARD/KDFUK.ASM b/v4.0/src/DEV/KEYBOARD/KDFUK.ASM
new file mode 100644
index 0000000..1b3d7cf
--- /dev/null
+++ b/v4.0/src/DEV/KEYBOARD/KDFUK.ASM
@@ -0,0 +1,655 @@
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 ;;
28CODE 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 ;;
36STANDARD_TABLE EQU TYPE_2_TAB+ASCII_ONLY
37 ;;
38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
39;;***************************************
40;; UK State Logic
41;;***************************************
42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
43 ;;
44 ;;
45UK_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 ;;
81ACUTE_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 ;;
108INVALID_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 ;;
120DIARESIS_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 ;;
147INVALID_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 ;;
156GRAVE_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 ;;
183INVALID_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 ;;
192CIRCUMFLEX_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 ;;
219INVALID_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 ;;
229NON_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 ;;
293LOGIC_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 ;;
306UK_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
333COM_ALT_K2_T1_END: ;;
334 ;;
335 DW 0 ;; Size of xlat table - null table
336 ;;
337COM_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
361COM_CTRL_K2_T1_END: ;;
362 ;;
363 DW 0 ;; Size of xlat table - null table
364 ;;
365COM_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,'#' ;; #
384COM_NA_LO_K1_T1_END: ;;
385 ;;
386 DW 0 ;; Size of xlat table - null table
387 ;;
388COM_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,'#' ;; #
409COM_NA_LO_K2_T1_END: ;;
410 ;;
411 DW 0 ;; Size of xlat table - null table
412 ;;
413COM_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,'\' ;; #
434COM_NA_LO_K3_T1_END: ;;
435 ;;
436 DW 0 ;; Size of xlat table - null table
437 ;;
438COM_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 ;; œ
458 DB 40,'@' ;; at sign
459 DB 43,07EH ;; ~
460COM_NA_UP_T1_K1_END: ;;
461 ;;
462 DW 0 ;; Size of xlat table - null table
463 ;;
464COM_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 ;; œ
485 DB 41,07EH ;; ~
486 DB 40,'@' ;; at sign
487 DB 43,07CH ;; Broken vertical bar
488COM_NA_UP_T1_K2_END: ;;
489 ;;
490 DW 0 ;; Size of xlat table - null table
491 ;;
492COM_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 ;; œ
514 DB 40,'@' ;; at sign
515 DB 43,07EH ;; ~
516COM_NA_UP_T1_K3_END: ;;
517 ;;
518 DW 0 ;; Size of xlat table - null table
519 ;;
520COM_NA_UP_K3_END: ;;
521 ;;
522 ;;
523 DW 0 ;; Last State
524COMMON_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 ;;
536UK_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
556CP437_THIRD_K1_T1_END: ;;
557 ;;
558 DW 0 ;; Last xlat table
559CP437_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
578CP437_NA_UP_T1_K1_END: ;;
579 ;;
580 DW 0 ;; Size of xlat table - null table
581 ;;
582CP437_NA_UP_K1_END: ;;
583 ;;
584 ;;
585;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
586 DW 0 ;; LAST STATE
587 ;;
588CP437_XLAT_END: ;;
589 ;;
590;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
591;;***************************************
592;; UK Specific Translate Section for 850
593;;***************************************
594;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
595 ;;
596 PUBLIC UK_850_XLAT ;;
597UK_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 - |
618CP850_THIRD_K1_T1_END: ;;
619 ;;
620 DW 0 ;; Last xlat table
621CP850_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
640CP850_NA_UP_T1_K1_END: ;;
641 ;;
642 DW 0 ;; Size of xlat table - null table
643 ;;
644CP850_NA_UP_K1_END: ;;
645 ;;
646 ;;
647;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
648 ;;
649;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
650 DW 0 ;; LAST STATE
651 ;;
652CP850_XLAT_END: ;;
653;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
654CODE ENDS ;;
655 END ;;