;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;