diff options
Diffstat (limited to '')
-rw-r--r-- | private/mvdm/dos/v86/dev/keyboard/kdfuk168.asm | 855 |
1 files changed, 855 insertions, 0 deletions
diff --git a/private/mvdm/dos/v86/dev/keyboard/kdfuk168.asm b/private/mvdm/dos/v86/dev/keyboard/kdfuk168.asm new file mode 100644 index 000000000..550d279ef --- /dev/null +++ b/private/mvdm/dos/v86/dev/keyboard/kdfuk168.asm @@ -0,0 +1,855 @@ +;CODE to be deleted has a double ;; followed by actual asm code....**** + +; * IBM CONFIDENTIAL * Jan 9 1990 * + +;; LATEST CHANGE ALT & CTL + + + + PAGE ,132 + TITLE PC DOS 3.4 Keyboard Definition File + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; PC DOS 3.3 - NLS Support - Keyboard Defintion File +;; (c) Copyright IBM Corp 198?,... +;; +;; This file contains the keyboard tables for Spanish. +;; +;; Linkage Instructions: +;; Refer to KDF.ASM. +;; +;; +;; Author: BILL DEVLIN - IBM Canada Laboratory - May 1986 +;; Author: NICK SAVAGE - IBM Corp. - May 1987 +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + ;; + INCLUDE KEYBSHAR.INC ;; ;AN000; + INCLUDE POSTEQU.INC ;; ;AN000; + INCLUDE KEYBMAC.INC ;; ;AN000; + ;; ;AN000; + PUBLIC UK1_LOGIC ;; ;AN000; + PUBLIC UK1_437_XLAT ;; ;AN000; + PUBLIC UK1_850_XLAT ;; ;AN000; + ;; ;AN000; +CODE SEGMENT PUBLIC 'CODE' ;; ;AN000; + ASSUME CS:CODE,DS:CODE ;; ;AN000; + ;; ;AN000; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;AN000; +;; Standard translate table options are a liner search table ;AN000; +;; (TYPE_2_TAB) and ASCII entries ONLY (ASCII_ONLY) ;AN000; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;AN000; + ;; ;AN000; +STANDARD_TABLE EQU TYPE_2_TAB+ASCII_ONLY ;AN000; + ;; ;AN000; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;AN000; +;;*************************************** ;AN000; +;; UK State Logic ;AN000; +;;*************************************** ;AN000; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;AN000; + ;; ;AN000; + ;; ;AN000; +UK1_LOGIC: ;AN000; + ;AN000; + DW LOGIC_END-$ ;; length ;AN000; + ;; ;AN000; + DW 0 ;; special features ;AN000; + ;; ;AN000; + ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; COMMANDS START HERE ;AN000; + ;; ;AN000; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;AN000; +;; OPTIONS: If we find a scan match in ;AN000; +;; an XLATT or SET_FLAG operation then ;AN000; +;; exit from INT 9. ;AN000; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;AN000; + ;; ;AN000; + OPTION EXIT_IF_FOUND ;; ;AN000; + ;; ;AN000; + ;; ;AN000; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;AN000; +;; Dead key definitions must come before ;AN000; +;; dead key translations to handle ;AN000; +;; dead key + dead key. ;AN000; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;AN000; + ;; ;AN000; + IFF EITHER_ALT,NOT ;; ;AN000; + ANDF EITHER_CTL,NOT ;; ;AN000; + IFF EITHER_SHIFT ;; ;AN000; + SET_FLAG DEAD_UPPER ;; ;AN000; + ELSEF ;; ;AN000; + SET_FLAG DEAD_LOWER ;; ;AN000; + ENDIFF ;; ;AN000; + ENDIFF ;; ;AN000; + ;; ;AN000; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;AN000; +;; ACUTE ACCENT TRANSLATIONS ;AN000; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;AN000; + ;; ;AN000; +ACUTE_PROC: ;; ;AN000; + ;; ;AN000; + IFF ACUTE,NOT ;; ;AN000; + GOTO DIARESIS_PROC ;; ;AN000; + ENDIFF ;; ;AN000; + ;; ;AN000; + RESET_NLS ;; ;AN000; + IFF R_ALT_SHIFT,NOT ;; ;AN000; + XLATT ACUTE_SPACE ;; ;AN000; + ENDIFF ;; ;AN000; + IFF EITHER_CTL,NOT ;; ;AN000; + ANDF EITHER_ALT,NOT ;; ;AN000; + IFF EITHER_SHIFT ;; ;AN000; + IFF CAPS_STATE ;; ;AN000; + XLATT ACUTE_LOWER ;; ;AN000; + ELSEF ;; ;AN000; + XLATT ACUTE_UPPER ;; ;AN000; + ENDIFF ;; ;AN000; + ELSEF ;; ;AN000; + IFF CAPS_STATE ;; ;AN000; + XLATT ACUTE_UPPER ;; ;AN000; + ELSEF ;; ;AN000; + XLATT ACUTE_LOWER ;; ;AN000; + ENDIFF ;; ;AN000; + ENDIFF ;; ;AN000; + ENDIFF ;; ;AN000; + ;; ;AN000; +INVALID_ACUTE: ;; ;AN000; + PUT_ERROR_CHAR ACUTE_LOWER ;; If we get here then either the XLATT ;AN000; + BEEP ;; failed or we are ina bad shift state. ;AN000; + GOTO NON_DEAD ;; Either is invalid so BEEP and fall ;AN000; + ;; through to generate the second char. ;AN000; + ;; Note that the dead key flag will be ;AN000; + ;; reset before we get here. ;AN000; + ;; ;AN000; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;AN000; +;; DIARESIS ACCENT TRANSLATIONS ;AN000; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;AN000; + ;; ;AN000; +DIARESIS_PROC: ;; ;AN000; + ;; ;AN000; + IFF DIARESIS,NOT ;; ;AN000; + GOTO GRAVE_PROC ;; ;AN000; + ENDIFF ;; ;AN000; + ;; ;AN000; + RESET_NLS ;; ;AN000; + IFF R_ALT_SHIFT,NOT ;; ;AN000; + XLATT DIARESIS_SPACE ;; exist for 437 so beep for ;AN000; + ENDIFF ;; ;AN000; + IFF EITHER_CTL,NOT ;; ;AN000; + ANDF EITHER_ALT,NOT ;; ;AN000; + IFF EITHER_SHIFT ;; ;AN000; + IFF CAPS_STATE ;; ;AN000; + XLATT DIARESIS_LOWER ;; ;AN000; + ELSEF ;; ;AN000; + XLATT DIARESIS_UPPER ;; ;AN000; + ENDIFF ;; ;AN000; + ELSEF ;; ;AN000; + IFF CAPS_STATE ;; ;AN000; + XLATT DIARESIS_UPPER ;; ;AN000; + ELSEF ;; ;AN000; + XLATT DIARESIS_LOWER ;; ;AN000; + ENDIFF ;; ;AN000; + ENDIFF ;; ;AN000; + ENDIFF ;; ;AN000; + ;; ;AN000; +INVALID_DIARESIS: ;; ;AN000; + PUT_ERROR_CHAR DIARESIS_SPACE ;; standalone accent ;AN000; + BEEP ;; Invalid dead key combo. ;AN000; + GOTO NON_DEAD ;; ;AN000; + ;; ;AN000; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;AN000; +;; GRAVE ACCENT TRANSLATIONS ;AN000; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;AN000; + ;; ;AN000; +GRAVE_PROC: ;; ;AN000; + ;; ;AN000; + IFF GRAVE,NOT ;; ;AN000; + GOTO CIRCUMFLEX_PROC ;; ;AN000; + ENDIFF ;; ;AN000; + ;; ;AN000; + RESET_NLS ;; ;AN000; + IFF R_ALT_SHIFT,NOT ;; ;AN000; + XLATT GRAVE_SPACE ;; ;AN000; + ENDIFF ;; ;AN000; + IFF EITHER_CTL,NOT ;; ;AN000; + ANDF EITHER_ALT,NOT ;; ;AN000; + IFF EITHER_SHIFT ;; ;AN000; + IFF CAPS_STATE ;; ;AN000; + XLATT GRAVE_LOWER ;; ;AN000; + ELSEF ;; ;AN000; + XLATT GRAVE_UPPER ;; ;AN000; + ENDIFF ;; ;AN000; + ELSEF ;; ;AN000; + IFF CAPS_STATE,NOT ;; ;AN000; + XLATT GRAVE_LOWER ;; ;AN000; + ELSEF ;; ;AN000; + XLATT GRAVE_UPPER ;; ;AN000; + ENDIFF ;; ;AN000; + ENDIFF ;; ;AN000; + ENDIFF ;; ;AN000; + ;; ;AN000; +INVALID_GRAVE: ;; ;AN000; + PUT_ERROR_CHAR GRAVE_LOWER ;; standalone accent ;AN000; + BEEP ;; Invalid dead key combo. ;AN000; + GOTO NON_DEAD ;; ;AN000; + ;; ;AN000; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;AN000; +;; CIRCUMFLEX ACCENT TRANSLATIONS ;AN000; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;AN000; + ;; ;AN000; +CIRCUMFLEX_PROC: ;; ;AN000; + ;; ;AN000; + IFF CIRCUMFLEX,NOT ;; ;AN000; + GOTO NON_DEAD ;; ;AN000; + ENDIFF ;; ;AN000; + ;; ;AN000; + RESET_NLS ;; ;AN000; + IFF R_ALT_SHIFT,NOT ;; ;AN000; + XLATT CIRCUMFLEX_SPACE ;; ;AN000; + ENDIFF ;; ;AN000; + IFF EITHER_CTL,NOT ;; ;AN000; + ANDF EITHER_ALT,NOT ;; ;AN000; + IFF EITHER_SHIFT ;; ;AN000; + IFF CAPS_STATE ;; ;AN000; + XLATT CIRCUMFLEX_LOWER ;; ;AN000; + ELSEF ;; ;AN000; + XLATT CIRCUMFLEX_UPPER ;; ;AN000; + ENDIFF ;; ;AN000; + ELSEF ;; ;AN000; + IFF CAPS_STATE,NOT ;; ;AN000; + XLATT CIRCUMFLEX_LOWER ;; ;AN000; + ELSEF ;; ;AN000; + XLATT CIRCUMFLEX_UPPER ;; ;AN000; + ENDIFF ;; ;AN000; + ENDIFF ;; ;AN000; + ENDIFF ;; ;AN000; + ;; ;AN000; +INVALID_CIRCUMFLEX: ;; ;AN000; + PUT_ERROR_CHAR CIRCUMFLEX_LOWER ;; standalone accent ;AN000; + BEEP ;; Invalid dead key combo. ;AN000; + GOTO NON_DEAD ;; ;AN000; + ;; ;AN000; + ;; ;AN000; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;AN000; +;; Upper, lower and third shifts ;AN000; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;AN000; + ;; ;AN000; +NON_DEAD: ;; ;AN000; + ;; ;AN000; + IFKBD G_KB+P12_KB ;; Avoid accidentally translating ;AN000; + ANDF LC_E0 ;; the "/" on the numeric pad of the ;AN000; + EXIT_STATE_LOGIC ;; G keyboard ;AN000; + ENDIFF ;; ;AN000; +;;***BD ADDED FOR ALT, CTRL CASES ;; ;AN000; + IFF EITHER_CTL,NOT ;; ;AN000; + IFF ALT_SHIFT ;; ALT - case ;AN000; + ANDF R_ALT_SHIFT,NOT ;; ;AN000; + XLATT ALT_CASE ;; ;AN000; + ENDIFF ;; ;AN000; + ELSEF ;; ;AN000; + IFF EITHER_ALT,NOT ;; CTRL - case ;AN000; + XLATT CTRL_CASE ;; ;AN000; + ENDIFF ;; ;AN000; + ENDIFF ;; ;AN000; +;;***BD END OF ADDITION ;AN000; + ;; ;AN000; + IFF EITHER_ALT,NOT ;; Lower and upper case. Alphabetic ;AN000; + ANDF EITHER_CTL,NOT ;; keys are affected by CAPS LOCK. ;AN000; + IFF EITHER_SHIFT ;; Numeric keys are not. ;AN000; +;;***BD ADDED FOR NUMERIC PAD ;AN000; + IFF NUM_STATE,NOT ;; ;AN000; + XLATT NUMERIC_PAD ;; ;AN000; + ENDIFF ;; ;AN000; +;;***BD END OF ADDITION ;AN000; + XLATT NON_ALPHA_UPPER ;; ;AN000; + IFF CAPS_STATE ;; ;AN000; + XLATT ALPHA_LOWER ;; ;AN000; + ELSEF ;; ;AN000; + XLATT ALPHA_UPPER ;; ;AN000; + ENDIFF ;; ;AN000; + ELSEF ;; ;AN000; +;;***BD ADDED FOR NUMERIC PAD ;AN000; + IFF NUM_STATE ;; ;AN000; + XLATT NUMERIC_PAD ;; ;AN000; + ENDIFF ;; ;AN000; +;;***BD END OF ADDITION ;AN000; + XLATT NON_ALPHA_LOWER ;; ;AN000; + IFF CAPS_STATE ;; ;AN000; + XLATT ALPHA_UPPER ;; ;AN000; + ELSEF ;; ;AN000; + XLATT ALPHA_LOWER ;; ;AN000; + ENDIFF ;; ;AN000; + ENDIFF ;; ;AN000; + ELSEF ;; ;AN000; + IFF EITHER_SHIFT,NOT ;; ;AN000; + IFKBD XT_KB+AT_KB ;; ;AN000; + IFF EITHER_CTL ;; ;AN000; + ANDF ALT_SHIFT ;; ;AN000; + XLATT THIRD_SHIFT ;; ;AN000; + ENDIFF ;; ;AN000; + ELSEF ;; ;AN000; + IFF EITHER_CTL,NOT ;; ;AN000; + ANDF R_ALT_SHIFT ;; ;AN000; + XLATT THIRD_SHIFT ;; ;AN000; + ENDIFF ;; ;AN000; + ENDIFF ;; ;AN000; + ENDIFF ;; ;AN000; + ENDIFF ;; ;AN000; + ;; ;AN000; + EXIT_STATE_LOGIC ;; ;AN000; + ;; ;AN000; +LOGIC_END: ;; ;AN000; + ;; ;AN000; + ;; ;AN000; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;AN000; +;;*************************************** ;AN000; +;; UK Common Translate Section ;AN000; +;; This section contains translations for the lower 128 characters ;AN000; +;; only since these will never change from code page to code page. ;AN000; +;; In addition the dead key "Set Flag" tables are here since the ;AN000; +;; dead keys are on the same keytops for all code pages. ;AN000; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;AN000; + ;; ;AN000; + PUBLIC UK1_COMMON_XLAT ;; ;AN000; +UK1_COMMON_XLAT: ;; ;AN000; + ;; ;AN000; + DW COMMON_XLAT_END-$ ;; length of section ;AN000; + DW -1 ;; code page ;AN000; + ;; ;AN000; + ;; ;AN000; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;AN000; +;;*************************************** ;AN000; +;;***BD - ADDED FOR ALT CASE ;AN000; +;;****************************** ;AN000; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;AN000; +;; CODE PAGE: Common ;AN000; +;; STATE: Alt Case ;AN000; +;; KEYBOARD TYPES: All ;AN000; +;; TABLE TYPE: Translate ;AN000; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;AN000; + ;; ;AN000; + DW COM_ALT_K2_END-$ ;; length of state section ;AN000; + DB ALT_CASE ;; State ID ;AN000; + DW ANY_KB ;; Keyboard Type ;AN000; + DB -1,-1 ;; Buffer entry for error character ;AN000; + ;; ;AN000; + DW COM_ALT_K2_T1_END-$ ;; Size of xlat table ;AN000; + DB TYPE_2_TAB ;; xlat options: ;AN000; + DB 0 ;; number of entries ;AN000; +;;***BD THIS ENTRY IS A TEST ENTRY ;AN000; +;; DB 53,225,0 ;; TEST ENTRY ;AN000; +COM_ALT_K2_T1_END: ;; ;AN000; + ;; ;AN000; + DW 0 ;; Size of xlat table - null table ;AN000; + ;; ;AN000; +COM_ALT_K2_END: ;; ;AN000; + ;; ;AN000; +;;****************************** ;AN000; +;;***BD - ADDED FOR CTRL CASE ;AN000; +;;****************************** ;AN000; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;AN000; +;; CODE PAGE: Common ;AN000; +;; STATE: Ctrl Case ;AN000; +;; KEYBOARD TYPES: G_KB+P12+AT ;AN000; +;; TABLE TYPE: Translate ;AN000; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;AN000; + ;; ;AN000; + DW COM_CTRL_K2_END-$ ;; length of state section ;AN000; + DB CTRL_CASE ;; State ID ;AN000; + DW G_KB+P12_KB+AT_KB ;; Keyboard Type ;AN000; + DB -1,-1 ;; Buffer entry for error character ;AN000; + ;; ;AN000; + DW COM_CTRL_K2_T1_END-$ ;; Size of xlat table ;AN000; + DB TYPE_2_TAB ;; xlat options: ;AN000; + DB 2 ;; number of entries ;AN000; +;;***BD THIS ENTRY IS A TEST ENTRY ;AN000; +;; DB 53,226,0 ;; TEST ENTRY ;AN000; + DB 43,-1,-1 ;; invalid slash ;AN000; + DB 41,28,41 ;; valid slash ;AN000; +COM_CTRL_K2_T1_END: ;; ;AN000; + ;; ;AN000; + DW 0 ;; Size of xlat table - null table ;AN000; + ;; ;AN000; +COM_CTRL_K2_END: ;; ;AN000; + ;; ;AN000; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;AN000; +;; CODE PAGE: Common ;AN000; +;; STATE: Non-Alpha Lower Case ;AN000; +;; KEYBOARD TYPES: G_KB ;AN000; +;; TABLE TYPE: Translate ;AN000; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;AN000; + ;; ;AN000; + DW COM_NA_LO_K1_END-$ ;; length of state section ;AN000; + DB NON_ALPHA_LOWER ;; State ID ;AN000; + DW G_KB ;; Keyboard Type ;AN000; + DB -1,-1 ;; Buffer entry for error character ;AN000; + ;; ;AN000; + DW COM_NA_LO_K1_T1_END-$ ;; Size of xlat table ;AN000; + DB STANDARD_TABLE ;; xlat options: ;AN000; + DB 6 ;; number of entries ;AN000; + DB 13,"ª" ;; ;AN000; + DB 26,"@" ;; ' ;AN000; + DB 27,"[" ;; ' ;AN000; + DB 40,":" ;; ' ;AN000; + DB 41,"\" ;; ' ;AN000; + DB 43,']' ;; # ;AN000; +COM_NA_LO_K1_T1_END: ;; ;AN000; + ;; ;AN000; + DW 0 ;; Size of xlat table - null table ;AN000; + ;; ;AN000; +COM_NA_LO_K1_END: ;; ;AN000; + ;; ;AN000; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;AN000; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;AN000; +;; CODE PAGE: Common ;AN000; +;; STATE: Non-Alpha Lower Case ;AN000; +;; KEYBOARD TYPES: P12_KB ;AN000; +;; TABLE TYPE: Translate ;AN000; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;AN000; + ;; ;AN000; + DW COM_NA_LO_PK1_END-$ ;; length of state section ;AN000; + DB NON_ALPHA_LOWER ;; State ID ;AN000; + DW P12_KB ;; Keyboard Type ;AN000; + DB -1,-1 ;; Buffer entry for error character ;AN000; + ;; ;AN000; + DW COM_NA_LO_PK1_T1_END-$ ;; Size of xlat table ;AN000; + DB STANDARD_TABLE ;; xlat options: ;AN000; + DB 2 ;; number of entries ;AN000; + DB 40,"'" ;; ' ;AN000; + DB 43,'#' ;; # ;AN000; +COM_NA_LO_PK1_T1_END: ;; ;AN000; + ;; ;AN000; + DW 0 ;; Size of xlat table - null table ;AN000; + ;; ;AN000; +COM_NA_LO_PK1_END: ;; ;AN000; + ;; ;AN000; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;AN000; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;AN000; +;; CODE PAGE: Common ;AN000; +;; STATE: Non-Alpha Lower Case ;AN000; +;; KEYBOARD TYPES: AT ;AN000; +;; TABLE TYPE: Translate ;AN000; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;AN000; + ;; ;AN000; + DW COM_NA_LO_K2_END-$ ;; length of state section ;AN000; + DB NON_ALPHA_LOWER ;; State ID ;AN000; + DW AT_KB ;; Keyboard Type ;AN000; + DB -1,-1 ;; Buffer entry for error character ;AN000; + ;; ;AN000; + DW COM_NA_LO_K2_T1_END-$ ;; Size of xlat table ;AN000; + DB STANDARD_TABLE ;; xlat options: ;AN000; + DB 3 ;; number of entries ;AN000; + DB 41,"\" ;; \ ;AN000; + DB 40,"'" ;; ' ;AN000; + DB 43,'#' ;; # ;AN000; +COM_NA_LO_K2_T1_END: ;; ;AN000; + ;; ;AN000; + DW 0 ;; Size of xlat table - null table ;AN000; + ;; ;AN000; +COM_NA_LO_K2_END: ;; ;AN000; + ;; ;AN000; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;AN000; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;AN000; +;; CODE PAGE: Common ;AN000; +;; STATE: Non-Alpha Lower Case ;AN000; +;; KEYBOARD TYPES: XT_KB ;AN000; +;; TABLE TYPE: Translate ;AN000; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;AN000; + ;; ;AN000; + DW COM_NA_LO_K3_END-$ ;; length of state section ;AN000; + DB NON_ALPHA_LOWER ;; State ID ;AN000; + DW XT_KB ;; Keyboard Type ;AN000; + DB -1,-1 ;; Buffer entry for error character ;AN000; + ;; ;AN000; + DW COM_NA_LO_K3_T1_END-$ ;; Size of xlat table ;AN000; + DB STANDARD_TABLE ;; xlat options: ;AN000; + DB 2 ;; number of entries ;AN000; + DB 40,"'" ;; ' ;AN000; + DB 41,'#' ;; # ;AN000; + DB 43,'\' ;; # ;AN000; +COM_NA_LO_K3_T1_END: ;; ;AN000; + ;; ;AN000; + DW 0 ;; Size of xlat table - null table ;AN000; + ;; ;AN000; +COM_NA_LO_K3_END: ;; ;AN000; + ;; ;AN000; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;AN000; +;; CODE PAGE: Common ;AN000; +;; STATE: Non-Alpha Upper Case ;AN000; +;; KEYBOARD TYPES: G_KB+P ;AN000; +;; TABLE TYPE: Translate ;AN000; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;AN000; + ;; ;AN000; + DW COM_NA_UP_K1_END-$ ;; length of state section ;AN000; + DB NON_ALPHA_UPPER ;; State ID ;AN000; + DW G_KB ;; Keyboard Type ;AN000; + DB -1,-1 ;; Buffer entry for error character ;AN000; + ;; ;AN000; + DW COM_NA_UP_T1_K1_END-$ ;; Size of xlat table ;AN000; + DB STANDARD_TABLE ;; xlat options: ;AN000; + DB 14 ;; number of entries ;AN000; + DB 3,'"' ;; ;AN000; + DB 4,"œ" ;; ;AN000; + DB 7,"&" ;; ;AN000; + DB 8,"'" ;; ;AN000; + DB 9,"(" ;; ;AN000; + DB 10,")" ;; ;AN000; + DB 11,"#" ;; ;AN000; + DB 12,"=" ;; ;AN000; + DB 26,"`" ;; ;AN000; + DB 27,"{" ;; ;AN000; + DB 39,"+" ;; ;AN000; + DB 40,"*" ;; ;AN000; + DB 43,"}" ;; ;AN000; + DB 86,"_" ;; ;AN000; +COM_NA_UP_T1_K1_END: ;; ;AN000; + ;; ;AN000; + DW 0 ;; Size of xlat table - null table ;AN000; + ;; ;AN000; +COM_NA_UP_K1_END: ;; ;AN000; + ;; ;AN000; + ;; ;AN000; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;AN000; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;AN000; +;; CODE PAGE: Common ;AN000; +;; STATE: Non-Alpha Upper Case ;AN000; +;; KEYBOARD TYPES: P12_KB ;AN000; +;; TABLE TYPE: Translate ;AN000; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;AN000; + ;; ;AN000; + DW COM_NA_UP_PK1_END-$ ;; length of state section ;AN000; + DB NON_ALPHA_UPPER ;; State ID ;AN000; + DW P12_KB ;; Keyboard Type ;AN000; + DB -1,-1 ;; Buffer entry for error character ;AN000; + ;; ;AN000; + DW COM_NA_UP_T1_PK1_END-$ ;; Size of xlat table ;AN000; + DB STANDARD_TABLE ;; xlat options: ;AN000; + DB 5 ;; number of entries ;AN000; + DB 41,0AAh ;; ª ;AN000; + DB 3,'"' ;; " ;AN000; + DB 4,09CH ;; œ ;AN000; + DB 40,'@' ;; at sign ;AN000; + DB 43,07EH ;; ~ ;AN000; +COM_NA_UP_T1_PK1_END: ;; ;AN000; + ;; ;AN000; + DW 0 ;; Size of xlat table - null table ;AN000; + ;; ;AN000; +COM_NA_UP_PK1_END: ;; ;AN000; + ;; ;AN000; + ;; ;AN000; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;AN000; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;AN000; +;; CODE PAGE: Common ;AN000; +;; STATE: Non-Alpha Upper Case ;AN000; +;; KEYBOARD TYPES: XT_KB ;AN000; +;; TABLE TYPE: Translate ;AN000; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;AN000; + ;; ;AN000; + DW COM_NA_UP_K2_END-$ ;; length of state section ;AN000; + DB NON_ALPHA_UPPER ;; State ID ;AN000; + DW XT_KB ;; Keyboard Type ;AN000; + DB -1,-1 ;; Buffer entry for error character ;AN000; + ;; ;AN000; + DW COM_NA_UP_T1_K2_END-$ ;; Size of xlat table ;AN000; + DB STANDARD_TABLE ;; xlat options: ;AN000; + DB 5 ;; number of entries ;AN000; + DB 3,'"' ;; " ;AN000; + DB 4,09CH ;; œ ;AN000; + DB 41,07EH ;; ~ ;AN000; + DB 40,'@' ;; at sign ;AN000; + DB 43,07CH ;; Broken vertical bar ;AN000; +COM_NA_UP_T1_K2_END: ;; ;AN000; + ;; ;AN000; + DW 0 ;; Size of xlat table - null table ;AN000; + ;; ;AN000; +COM_NA_UP_K2_END: ;; ;AN000; + ;; ;AN000; + ;; ;AN000; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;AN000; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;AN000; +;; CODE PAGE: Common ;AN000; +;; STATE: Non-Alpha Upper Case ;AN000; +;; KEYBOARD TYPES: AT_KB ;AN000; +;; TABLE TYPE: Translate ;AN000; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;AN000; + ;; ;AN000; + DW COM_NA_UP_K3_END-$ ;; length of state section ;AN000; + DB NON_ALPHA_UPPER ;; State ID ;AN000; + DW AT_KB ;; Keyboard Type ;AN000; + DB -1,-1 ;; Buffer entry for error character ;AN000; + ;; ;AN000; + DW COM_NA_UP_T1_K3_END-$ ;; Size of xlat table ;AN000; + DB STANDARD_TABLE ;; xlat options: ;AN000; + DB 5 ;; number of entries ;AN000; + DB 41,07Ch ;; ª ;AN000; + DB 3,'"' ;; " ;AN000; + DB 4,09CH ;; œ ;AN000; + DB 40,'@' ;; at sign ;AN000; + DB 43,07EH ;; ~ ;AN000; +COM_NA_UP_T1_K3_END: ;; ;AN000; + ;; ;AN000; + DW 0 ;; Size of xlat table - null table ;AN000; + ;; ;AN000; +COM_NA_UP_K3_END: ;; ;AN000; + ;; ;AN000; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;AN000; +;; CODE PAGE: COMMON ;AN000; +;; STATE: Third Shift ;AN000; +;; KEYBOARD TYPES: G_KB+P ;AN000; +;; TABLE TYPE: Translate ;AN000; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;AN000; + ;; ;AN000; + DW COM_THIRD_K1_END-$ ;; length of state section ;AN000; + DB THIRD_SHIFT ;; State ID ;AN000; + DW G_KB ;; Keyboard Type ;AN000; + DB -1,-1 ;; Buffer entry for error character ;AN000; + ;; ;AN000; + DW COM_THIRD_K1_T1_END-$ ;; Size of xlat table ;AN000; + DB STANDARD_TABLE ;; xlat options: ;AN000; + DB 8 ;; number of entries ;AN000; + DB 3,0FDH ;; SUPERSCRPIT 2 ;AN000; + DB 4,0FCH ;; SUPERSCRIPT 3 ;AN000; + DB 6,0ABH ;; ONE HALF SYMBOL ;AN000; + DB 10,0F1H ;; PLUS OR MINUS SYMBOL ;AN000; + DB 11,0F8H ;; DEGREE SYMBOL ;AN000; + DB 27,07EH ;; TILDE ;AN000; + DB 40,05EH ;; CIRCUMFLEX CARAT ;AN000; + DB 50,0E6H ;; MU ;AN000; +COM_THIRD_K1_T1_END: ;; ;AN000; + ;; ;AN000; + DW 0 ;; Last xlat table ;AN000; +COM_THIRD_K1_END: ;; ;AN000; + ;; ;AN000; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;AN000; + ;; ;AN000; + DW 0 ;; Last State ;AN000; +COMMON_XLAT_END: ;; ;AN000; + ;; ;AN000; + ;; ;AN000; + ;; ;AN000; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;AN000; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;AN000; +;;*************************************** ;AN000; +;; UK Specific Translate Section for 437 ;AN000; +;; 437 IS COMPLETELY COVERED BY THE COMMON TABLE except for vertical bars ;AN000; +;;*************************************** ;AN000; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;AN000; + ;; ;AN000; + PUBLIC UK1_437_XLAT ;; ;AN000; +UK1_437_XLAT: ;; ;AN000; + ;; ;AN000; + DW CP437_XLAT_END-$ ;; length of section ;AN000; + DW 437 ;; ;AN000; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;AN000; +;; CODE PAGE: CP437 ;AN000; +;; STATE: Third Shift ;AN000; +;; KEYBOARD TYPES: P12_KB ;AN000; +;; TABLE TYPE: Translate ;AN000; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;AN000; + ;; ;AN000; + DW CP437_THIRD_PK1_END-$ ;; length of state section ;AN000; + DB THIRD_SHIFT ;; State ID ;AN000; + DW P12_KB ;; Keyboard Type ;AN000; + DB -1,-1 ;; Buffer entry for error character ;AN000; + ;; ;AN000; + DW CP437_THIRD_PK1_T1_END-$ ;; Size of xlat table ;AN000; + DB STANDARD_TABLE ;; xlat options: ;AN000; + DB 1 ;; number of entries ;AN000; + DB 41,0DDH ;; Solid vertical bar - graphics block ;AN000; + CP437_THIRD_PK1_T1_END: ;; ;AN000; + ;; ;AN000; + DW 0 ;; Last xlat table ;AN000; + CP437_THIRD_PK1_END: ;; ;AN000; + ;; ;AN000; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;AN000; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;AN000; +;; CODE PAGE: CP437 ;AN000; +;; STATE: Non-Alpha Upper Case ;AN000; +;; KEYBOARD TYPES: G_KB ;AN000; +;; TABLE TYPE: Translate ;AN000; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;AN000; + ;; ;AN000; + DW CP437_NA_UP_K1_END-$ ;; length of state section ;AN000; + DB NON_ALPHA_UPPER ;; State ID ;AN000; + DW G_KB ;; Keyboard Type ;AN000; + DB -1,-1 ;; Buffer entry for error character ;AN000; + ;; ;AN000; + DW CP437_NA_UP_T1_K1_END-$ ;; Size of xlat table ;AN000; + DB STANDARD_TABLE ;; xlat options: ;AN000; + DB 2 ;; number of entries ;AN000; + DB 41,0DDh ;; GRAPHICS vertical bar ;AN000; + DB 13,"Ä" ;; may change current codepoint = 192(c4);AN000; +CP437_NA_UP_T1_K1_END: ;; ;AN000; + ;; ;AN000; + DW 0 ;; Size of xlat table - null table ;AN000; + ;; ;AN000; +CP437_NA_UP_K1_END: ;; ;AN000; + ;; ;AN000; + ;; ;AN000; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;AN000; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;AN000; +;; CODE PAGE: CP437 ;AN000; +;; STATE: Non-Alpha Upper Case ;AN000; +;; KEYBOARD TYPES: P12_KB ;AN000; +;; TABLE TYPE: Translate ;AN000; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;AN000; + ;; ;AN000; + DW CP437_NA_UP_PK1_END-$ ;; length of state section ;AN000; + DB NON_ALPHA_UPPER ;; State ID ;AN000; + DW P12_KB ;; Keyboard Type ;AN000; + DB -1,-1 ;; Buffer entry for error character ;AN000; + ;; ;AN000; + DW CP437_NA_UP_PT1_K1_END-$ ;; Size of xlat table ;AN000; + DB STANDARD_TABLE ;; xlat options: ;AN000; + DB 1 ;; number of entries ;AN000; + DB 86,07ch ;; vertical bar ;AN000; +CP437_NA_UP_PT1_K1_END: ;; ;AN000; + ;; ;AN000; + DW 0 ;; Size of xlat table - null table ;AN000; + ;; ;AN000; +CP437_NA_UP_PK1_END: ;; ;AN000; + ;; ;AN000; + ;; ;AN000; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;AN000; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;AN000; +;; CODE PAGE: CP437 ;AN000; +;; STATE: Non-Alpha LOWER Case ;AN000; +;; KEYBOARD TYPES: G_KB ;AN000; +;; TABLE TYPE: Translate ;AN000; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;AN000; + ;; ;AN000; + DW CP437_NA_LO_K1_END-$ ;; length of state section ;AN000; + DB NON_ALPHA_LOWER ;; State ID ;AN000; + DW G_KB ;; Keyboard Type ;AN000; + DB -1,-1 ;; Buffer entry for error character ;AN000; + ;; ;AN000; + DW CP437_NA_LO_T1_K1_END-$ ;; Size of xlat table ;AN000; + DB STANDARD_TABLE ;; xlat options: ;AN000; + DB 1 ;; number of entries ;AN000; + DB 86,07Ch ;; SOLID(PIPING)VERTICAL bar ;AN000; +CP437_NA_LO_T1_K1_END: ;; ;AN000; + ;; ;AN000; + DW 0 ;; Size of xlat table - null table ;AN000; + ;; ;AN000; +CP437_NA_LO_K1_END: ;; ;AN000; + ;; ;AN000; + ;; ;AN000; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;AN000; + DW 0 ;; LAST STATE ;AN000; + ;; ;AN000; +CP437_XLAT_END: ;; ;AN000; + ;; ;AN000; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;AN000; +;;*************************************** ;AN000; +;; UK Specific Translate Section for 850 ;AN000; +;;*************************************** ;AN000; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;AN000; + ;; ;AN000; + PUBLIC UK1_850_XLAT ;; ;AN000; +UK1_850_XLAT: ;; ;AN000; + ;; ;AN000; + DW CP850_XLAT_END-$ ;; length of section ;AN000; + DW 850 ;; ;AN000; + ;; ;AN000; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;AN000; +;; CODE PAGE: CP850 ;AN000; +;; STATE: Third Shift ;AN000; +;; KEYBOARD TYPES: P12_KB ;AN000; +;; TABLE TYPE: Translate ;AN000; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;AN000; + ;; ;AN000; + DW CP850_THIRD_PK1_END-$ ;; length of state section ;AN000; + DB THIRD_SHIFT ;; State ID ;AN000; + DW P12_KB ;; Keyboard Type ;AN000; + DB -1,-1 ;; Buffer entry for error character ;AN000; + ;; ;AN000; + DW CP850_THIRD_PK1_T1_END-$ ;; Size of xlat table ;AN000; + DB STANDARD_TABLE ;; xlat options: ;AN000; + DB 1 ;; number of entries ;AN000; + DB 41,07CH ;; Solid vertical bar - | ;AN000; + CP850_THIRD_PK1_T1_END: ;; ;AN000; + ;; ;AN000; + DW 0 ;; Last xlat table ;AN000; + CP850_THIRD_PK1_END: ;; ;AN000; + ;; ;AN000; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;AN000; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;AN000; +;; CODE PAGE: Common ;AN000; +;; STATE: Non-Alpha Upper Case ;AN000; +;; KEYBOARD TYPES: G_KB ;AN000; +;; TABLE TYPE: Translate ;AN000; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;AN000; + ;; ;AN000; + DW CP850_NA_UP_K1_END-$ ;; length of state section ;AN000; + DB NON_ALPHA_UPPER ;; State ID ;AN000; + DW G_KB ;; Keyboard Type ;AN000; + DB -1,-1 ;; Buffer entry for error character ;AN000; + ;; ;AN000; + DW CP850_NA_UP_T1_K1_END-$ ;; Size of xlat table ;AN000; + DB STANDARD_TABLE ;; xlat options: ;AN000; + DB 2 ;; number of entries ;AN000; + DB 41,07Ch ;; SOLID vertical (PIPING) ;AN000; + DB 13,0EEH ;; OVERSCORE SYMBOL ;AN000; +CP850_NA_UP_T1_K1_END: ;; ;AN000; + ;; ;AN000; + DW 0 ;; Size of xlat table - null table ;AN000; + ;; ;AN000; +CP850_NA_UP_K1_END: ;; ;AN000; + ;; ;AN000; + ;; ;AN000; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;AN000; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;AN000; +;; CODE PAGE: Common ;AN000; +;; STATE: Non-Alpha Upper Case ;AN000; +;; KEYBOARD TYPES: P12_KB ;AN000; +;; TABLE TYPE: Translate ;AN000; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;AN000; + ;; ;AN000; + DW CP850_NA_UP_PK1_END-$ ;; length of state section ;AN000; + DB NON_ALPHA_UPPER ;; State ID ;AN000; + DW P12_KB ;; Keyboard Type ;AN000; + DB -1,-1 ;; Buffer entry for error character ;AN000; + ;; ;AN000; + DW CP850_NA_UP_T1_PK1_END-$ ;; Size of xlat table ;AN000; + DB STANDARD_TABLE ;; xlat options: ;AN000; + DB 1 ;; number of entries ;AN000; + DB 86,0DDh ;; broken vertical ;AN000; +CP850_NA_UP_T1_PK1_END: ;; ;AN000; + ;; ;AN000; + DW 0 ;; Size of xlat table - null table ;AN000; + ;; ;AN000; +CP850_NA_UP_PK1_END: ;; ;AN000; + ;; ;AN000; + ;; ;AN000; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;AN000; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;AN000; +;; CODE PAGE: Common ;AN000; +;; STATE: Non-Alpha LOWER Case ;AN000; +;; KEYBOARD TYPES: G_KB ;AN000; +;; TABLE TYPE: Translate ;AN000; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;AN000; + ;; ;AN000; + DW CP850_NA_LO_K1_END-$ ;; length of state section ;AN000; + DB NON_ALPHA_LOWER ;; State ID ;AN000; + DW G_KB ;; Keyboard Type ;AN000; + DB -1,-1 ;; Buffer entry for error character ;AN000; + ;; ;AN000; + DW CP850_NA_LO_T1_K1_END-$ ;; Size of xlat table ;AN000; + DB STANDARD_TABLE ;; xlat options: ;AN000; + DB 1 ;; number of entries ;AN000; + DB 86,0DDh ;; broken vertical ;AN000; +CP850_NA_LO_T1_K1_END: ;; ;AN000; + ;; ;AN000; + DW 0 ;; Size of xlat table - null table ;AN000; + ;; ;AN000; +CP850_NA_LO_K1_END: ;; ;AN000; + ;; ;AN000; + ;; ;AN000; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;AN000; + ;; ;AN000; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;AN000; + DW 0 ;; LAST STATE ;AN000; + ;; ;AN000; +CP850_XLAT_END: ;; ;AN000; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;AN000; +CODE ENDS ;; ;AN000; + END ;; ;AN000; +
\ No newline at end of file |