From 2d04cacc5322951f187bb17e017c12920ac8ebe2 Mon Sep 17 00:00:00 2001 From: Mark Zbikowski Date: Thu, 25 Apr 2024 21:24:10 +0100 Subject: MZ is back! --- v4.0/src/DEV/KEYBOARD/KDFIT.ASM | 794 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 794 insertions(+) create mode 100644 v4.0/src/DEV/KEYBOARD/KDFIT.ASM (limited to 'v4.0/src/DEV/KEYBOARD/KDFIT.ASM') diff --git a/v4.0/src/DEV/KEYBOARD/KDFIT.ASM b/v4.0/src/DEV/KEYBOARD/KDFIT.ASM new file mode 100644 index 0000000..c29b453 --- /dev/null +++ b/v4.0/src/DEV/KEYBOARD/KDFIT.ASM @@ -0,0 +1,794 @@ +;; LATEST CHANGE ALT & CTL + + + + PAGE ,132 + TITLE DOS - Keyboard Definition File + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; DOS - - NLS Support - Keyboard Defintion File +;; (c) Copyright 1988 Microsoft +;; +;; This file contains the keyboard tables for Spanish. +;; +;; Linkage Instructions: +;; Refer to KDF.ASM. +;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + ;; + INCLUDE KEYBSHAR.INC ;; + INCLUDE POSTEQU.INC ;; + INCLUDE KEYBMAC.INC ;; + ;; + PUBLIC IT_LOGIC ;; + PUBLIC IT_437_XLAT ;; + PUBLIC IT_850_XLAT ;; + ;; +CODE SEGMENT PUBLIC 'CODE' ;; + ASSUME CS:CODE,DS:CODE ;; + ;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; Standard translate table options are a liner search table +;; (TYPE_2_TAB) and ASCII entries ONLY (ASCII_ONLY) +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + ;; +STANDARD_TABLE EQU TYPE_2_TAB+ASCII_ONLY + ;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;*************************************** +;; IT State Logic +;;*************************************** +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + ;; + ;; +IT_LOGIC: + + DW LOGIC_END-$ ;; length + ;; + DW 0 ;; special features + ;; + ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; COMMANDS START HERE + ;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; OPTIONS: If we find a scan match in +;; an XLATT or SET_FLAG operation then +;; exit from INT 9. +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + ;; + OPTION EXIT_IF_FOUND ;; + ;; + ;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; Dead key definitions must come before +;; dead key translations to handle +;; dead key + dead key. +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + ;; + IFF EITHER_ALT,NOT ;; + ANDF EITHER_CTL,NOT ;; + IFF EITHER_SHIFT ;; + SET_FLAG DEAD_UPPER ;; + ELSEF ;; + SET_FLAG DEAD_LOWER ;; + ENDIFF ;; + ENDIFF ;; + ;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; ACUTE ACCENT TRANSLATIONS +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + ;; +ACUTE_PROC: ;; + ;; + IFF ACUTE,NOT ;; + GOTO DIARESIS_PROC ;; + ENDIFF ;; + ;; + RESET_NLS ;; + IFF R_ALT_SHIFT,NOT ;; + XLATT ACUTE_SPACE ;; + ENDIFF ;; + IFF EITHER_CTL,NOT ;; + ANDF EITHER_ALT,NOT ;; + IFF EITHER_SHIFT ;; + IFF CAPS_STATE ;; + XLATT ACUTE_LOWER ;; + ELSEF ;; + XLATT ACUTE_UPPER ;; + ENDIFF ;; + ELSEF ;; + IFF CAPS_STATE ;; + XLATT ACUTE_UPPER ;; + ELSEF ;; + XLATT ACUTE_LOWER ;; + ENDIFF ;; + ENDIFF ;; + ENDIFF ;; + ;; +INVALID_ACUTE: ;; + PUT_ERROR_CHAR ACUTE_LOWER ;; If we get here then either the XLATT + BEEP ;; failed or we are ina bad shift state. + GOTO NON_DEAD ;; Either is invalid so BEEP and fall + ;; through to generate the second char. + ;; Note that the dead key flag will be + ;; reset before we get here. + ;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; DIARESIS ACCENT TRANSLATIONS +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + ;; +DIARESIS_PROC: ;; + ;; + IFF DIARESIS,NOT ;; + GOTO GRAVE_PROC ;; + ENDIFF ;; + ;; + RESET_NLS ;; + IFF R_ALT_SHIFT,NOT ;; + XLATT DIARESIS_SPACE ;; exist for 437 so beep for + ENDIFF ;; + IFF EITHER_CTL,NOT ;; + ANDF EITHER_ALT,NOT ;; + IFF EITHER_SHIFT ;; + IFF CAPS_STATE ;; + XLATT DIARESIS_LOWER ;; + ELSEF ;; + XLATT DIARESIS_UPPER ;; + ENDIFF ;; + ELSEF ;; + IFF CAPS_STATE ;; + XLATT DIARESIS_UPPER ;; + ELSEF ;; + XLATT DIARESIS_LOWER ;; + ENDIFF ;; + ENDIFF ;; + ENDIFF ;; + ;; +INVALID_DIARESIS: ;; + PUT_ERROR_CHAR DIARESIS_SPACE ;; standalone accent + BEEP ;; Invalid dead key combo. + GOTO NON_DEAD ;; + ;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; GRAVE ACCENT TRANSLATIONS +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + ;; +GRAVE_PROC: ;; + ;; + IFF GRAVE,NOT ;; + GOTO CIRCUMFLEX_PROC ;; + ENDIFF ;; + ;; + RESET_NLS ;; + IFF R_ALT_SHIFT,NOT ;; + XLATT GRAVE_SPACE ;; + ENDIFF ;; + IFF EITHER_CTL,NOT ;; + ANDF EITHER_ALT,NOT ;; + IFF EITHER_SHIFT ;; + IFF CAPS_STATE ;; + XLATT GRAVE_LOWER ;; + ELSEF ;; + XLATT GRAVE_UPPER ;; + ENDIFF ;; + ELSEF ;; + IFF CAPS_STATE,NOT ;; + XLATT GRAVE_LOWER ;; + ELSEF ;; + XLATT GRAVE_UPPER ;; + ENDIFF ;; + ENDIFF ;; + ENDIFF ;; + ;; +INVALID_GRAVE: ;; + PUT_ERROR_CHAR GRAVE_LOWER ;; standalone accent + BEEP ;; Invalid dead key combo. + GOTO NON_DEAD ;; + ;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; CIRCUMFLEX ACCENT TRANSLATIONS +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + ;; +CIRCUMFLEX_PROC: ;; + ;; + IFF CIRCUMFLEX,NOT ;; + GOTO NON_DEAD ;; + ENDIFF ;; + ;; + RESET_NLS ;; + IFF R_ALT_SHIFT,NOT ;; + XLATT CIRCUMFLEX_SPACE ;; + ENDIFF ;; + IFF EITHER_CTL,NOT ;; + ANDF EITHER_ALT,NOT ;; + IFF EITHER_SHIFT ;; + IFF CAPS_STATE ;; + XLATT CIRCUMFLEX_LOWER ;; + ELSEF ;; + XLATT CIRCUMFLEX_UPPER ;; + ENDIFF ;; + ELSEF ;; + IFF CAPS_STATE,NOT ;; + XLATT CIRCUMFLEX_LOWER ;; + ELSEF ;; + XLATT CIRCUMFLEX_UPPER ;; + ENDIFF ;; + ENDIFF ;; + ENDIFF ;; + ;; +INVALID_CIRCUMFLEX: ;; + PUT_ERROR_CHAR CIRCUMFLEX_LOWER ;; standalone accent + BEEP ;; Invalid dead key combo. + GOTO NON_DEAD ;; + ;; + ;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; Upper, lower and third shifts +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + ;; +NON_DEAD: ;; + ;; + IFKBD G_KB+P12_KB ;; Avoid accidentally translating + ANDF LC_E0 ;; the "/" on the numeric pad of the + EXIT_STATE_LOGIC ;; G keyboard + ENDIFF ;; +;;***BD ADDED FOR ALT, CTRL CASES ;; + IFF EITHER_CTL,NOT ;; + IFF ALT_SHIFT ;; ALT - case + ANDF R_ALT_SHIFT,NOT ;; + XLATT ALT_CASE ;; + ENDIFF ;; + ELSEF ;; + IFF EITHER_ALT,NOT ;; CTRL - case + XLATT CTRL_CASE ;; + ENDIFF ;; + ENDIFF ;; +;;***BD END OF ADDITION + ;; + IFF EITHER_ALT,NOT ;; Lower and upper case. Alphabetic + ANDF EITHER_CTL,NOT ;; keys are affected by CAPS LOCK. + IFF EITHER_SHIFT ;; Numeric keys are not. +;;***BD ADDED FOR NUMERIC PAD + IFF NUM_STATE,NOT ;; + XLATT NUMERIC_PAD ;; + ENDIFF ;; +;;***BD END OF ADDITION + XLATT NON_ALPHA_UPPER ;; + IFF CAPS_STATE ;; + XLATT ALPHA_LOWER ;; + ELSEF ;; + XLATT ALPHA_UPPER ;; + ENDIFF ;; + ELSEF ;; +;;***BD ADDED FOR NUMERIC PAD + IFF NUM_STATE ;; + XLATT NUMERIC_PAD ;; + ENDIFF ;; +;;***BD END OF ADDITION + XLATT NON_ALPHA_LOWER ;; + IFF CAPS_STATE ;; + XLATT ALPHA_UPPER ;; + ELSEF ;; + XLATT ALPHA_LOWER ;; + ENDIFF ;; + ENDIFF ;; + ELSEF ;; + IFF EITHER_SHIFT,NOT ;; + IFKBD XT_KB+AT_KB ;; + IFF EITHER_CTL ;; + ANDF ALT_SHIFT ;; + XLATT THIRD_SHIFT ;; + ENDIFF ;; + ELSEF ;; + IFF EITHER_CTL,NOT ;; + ANDF R_ALT_SHIFT ;; + XLATT THIRD_SHIFT ;; + ENDIFF ;; + ENDIFF ;; + ENDIFF ;; + ENDIFF ;; + ;; + EXIT_STATE_LOGIC ;; + ;; +LOGIC_END: ;; + ;; + ;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;;*************************************** +;; IT Common Translate Section +;; This section contains translations for the lower 128 characters +;; only since these will never change from code page to code page. +;; In addition the dead key "Set Flag" tables are here since the +;; dead keys are on the same keytops for all code pages. +;;*************************************** +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + ;; + PUBLIC IT_COMMON_XLAT ;; +IT_COMMON_XLAT: ;; + ;; + DW COMMON_XLAT_END-$ ;; length of section + DW -1 ;; code page + ;; + ;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;*************************************** +;;***BD - ADDED FOR ALT CASE +;;****************************** +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; CODE PAGE: Common +;; STATE: Alt Case +;; KEYBOARD TYPES: All +;; TABLE TYPE: Translate +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + ;; + DW COM_ALT_K1_END-$ ;; length of state section + DB ALT_CASE ;; State ID + DW ANY_KB ;; Keyboard Type + DB -1,-1 ;; Buffer entry for error character + ;; + DW COM_ALT_K1_T1_END-$ ;; Size of xlat table + DB TYPE_2_TAB ;; xlat options: + DB 3 ;; number of entries +;;***BD THIS ENTRY IS A TEST ENTRY +;; DB 53,225,0 ;; TEST ENTRY + DB 53,0,82H ;; valid alt - + DB 12,-1,-1 ;; invalid alt - + DB 13,-1,-1 ;; invalid alt = +COM_ALT_K1_T1_END: ;; + ;; + DW 0 ;; Size of xlat table - null table + ;; +COM_ALT_K1_END: ;; + ;; +;;****************************** +;;***BD - ADDED FOR CTRL CASE +;;****************************** +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; CODE PAGE: Common +;; STATE: Ctrl Case +;; KEYBOARD TYPES: G_KB+P12_KB+AT +;; TABLE TYPE: Translate +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + ;; + DW COM_CTRL_K1_END-$ ;; length of state section + DB CTRL_CASE ;; State ID + DW G_KB+P12_KB+AT_KB ;; Keyboard Type + DB -1,-1 ;; Buffer entry for error character + ;; + DW COM_CTRL_K1_T1_END-$ ;; Size of xlat table + DB TYPE_2_TAB ;; xlat options: + DB 2 ;; number of entries +;;***BD THIS ENTRY IS A TEST ENTRY +;; DB 53,226,0 ;; TEST ENTRY + DB 43,-1,-1 ;; invalid slash + DB 41,28,41 ;; valid slash +COM_CTRL_K1_T1_END: ;; + ;; + DW 0 ;; Size of xlat table - null table + ;; +COM_CTRL_K1_END: ;; + ;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; CODE PAGE: Common +;; STATE: Non-Alpha Lower Case +;; KEYBOARD TYPES: G_KB+P12_KB +;; TABLE TYPE: Translate +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + ;; + DW COM_NA_LO_K1_END-$ ;; length of state section + DB NON_ALPHA_LOWER ;; State ID + DW G_KB+P12_KB ;; Keyboard Type + DB -1,-1 ;; Buffer entry for error character + ;; + DW COM_NA_LO_K1_T1_END-$ ;; Size of xlat table + DB STANDARD_TABLE ;; xlat options: + DB 10 ;; number of entries + DB 41,"\" ;; \ + DB 12,"'" ;; ' + DB 13,141 ;; grave i - ¡; + DB 27,'+' ;; + + DB 86,'<' ;; < + DB 53,'-' ;; - + DB 39,149 ;; grave o - • + DB 40,133 ;; grave a - …; + DB 43,151 ;; grave u - —; + DB 26,138 ;; grave e - Š; +COM_NA_LO_K1_T1_END: ;; + ;; + DW 0 ;; Size of xlat table - null table + ;; +COM_NA_LO_K1_END: ;; + ;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; CODE PAGE: Common +;; STATE: Non-Alpha Lower Case +;; KEYBOARD TYPES: AT +;; TABLE TYPE: Translate +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + ;; + DW COM_NA_LO_K2_END-$ ;; length of state section + DB NON_ALPHA_LOWER ;; State ID + DW AT_KB ;; Keyboard Type + DB -1,-1 ;; Buffer entry for error character + ;; + DW COM_NA_LO_K2_T1_END-$ ;; Size of xlat table + DB STANDARD_TABLE ;; xlat options: + DB 9 ;; number of entries + DB 41,"<" ;; < + DB 12,"'" ;; ' + DB 13,141 ;; grave i - ¡; + DB 27,'+' ;; + + DB 53,'-' ;; - + DB 39,149 ;; grave o - • + DB 40,133 ;; grave a - …; + DB 43,151 ;; grave u - —; + DB 26,138 ;; grave e - Š; +COM_NA_LO_K2_T1_END: ;; + ;; + DW 0 ;; Size of xlat table - null table + ;; +COM_NA_LO_K2_END: ;; + ;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; CODE PAGE: Common +;; STATE: Non-Alpha Lower Case +;; KEYBOARD TYPES: XT + +;; TABLE TYPE: Translate +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + ;; + DW COM_NA_LO_K3_END-$ ;; length of state section + DB NON_ALPHA_LOWER ;; State ID + DW XT_KB ;; Keyboard Type + DB -1,-1 ;; Buffer entry for error character + ;; + DW COM_NA_LO_K3_T1_END-$ ;; Size of xlat table + DB STANDARD_TABLE ;; xlat options: + DB 9 ;; number of entries + DB 12,"'" ;; ' + DB 13,141 ;; grave i - ¡; + DB 27,'+' ;; + + DB 43,'<' ;; < + DB 53,'-' ;; - + DB 39,149 ;; grave o - • + DB 40,133 ;; grave a - …; + DB 41,151 ;; grave u - —; + DB 26,138 ;; grave e - Š; +COM_NA_LO_K3_T1_END: ;; + ;; + DW 0 ;; Size of xlat table - null table + ;; +COM_NA_LO_K3_END: ;; + ;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; CODE PAGE: Common +;; STATE: Non-Alpha Upper Case +;; KEYBOARD TYPES: G_KB+P12 +;; TABLE TYPE: Translate +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + ;; + DW COM_NA_UP_K1_END-$ ;; length of state section + DB NON_ALPHA_UPPER ;; State ID + DW G_KB+P12_KB ;; Keyboard Type + DB -1,-1 ;; Buffer entry for error character + ;; + DW COM_NA_UP_K1_T1_END-$ ;; Size of xlat table + DB STANDARD_TABLE ;; xlat options: + DB 18 ;; number of entries + DB 41,07CH ;; Solid vertical bar - | + DB 3,'"' ;; + DB 4,'œ' ;; + DB 7,'&' ;; + DB 8,'/' ;; + DB 9,'(' ;; + DB 10,')' ;; + DB 11,'=' ;; + DB 12,'?' ;; + DB 13,'^' ;; + DB 26,130 ;; acute e - ‚; + DB 39,135 ;; c - cedilla - ‡ + DB 27,'*' ;; + DB 40,0F8H ;; ø - degree symbol + DB 86,'>' ;; + DB 51,';' ;; + DB 52,':' ;; + DB 53,'_' ;; + ;; +COM_NA_UP_K1_T1_END: ;; + ;; + DW 0 ;; Size of xlat table - null table + ;; +COM_NA_UP_K1_END: ;; + ;; + ;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; CODE PAGE: Common +;; STATE: Non-Alpha Upper Case +;; KEYBOARD TYPES: AT +;; TABLE TYPE: Translate +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + ;; + DW COM_NA_UP_K2_END-$ ;; length of state section + DB NON_ALPHA_UPPER ;; State ID + DW AT_KB ;; Keyboard Type + DB -1,-1 ;; Buffer entry for error character + ;; + DW COM_NA_UP_K2_T1_END-$ ;; Size of xlat table + DB STANDARD_TABLE ;; xlat options: + DB 18 ;; number of entries + DB 41,'>' ;; > + DB 3,'"' ;; + DB 4,'œ' ;; + DB 7,'&' ;; + DB 8,'/' ;; + DB 9,'(' ;; + DB 10,')' ;; + DB 11,'=' ;; + DB 12,'?' ;; + DB 13,'^' ;; + DB 26,130 ;; acute e - ‚; + DB 39,'@' ;; @ AT sign replaces c - cedilla - ‡ + DB 27,'*' ;; + DB 40,'#' ;; # sign replaces ø - degree symbol + DB 86,'>' ;; + DB 51,';' ;; + DB 52,':' ;; + DB 53,'_' ;; + ;; +COM_NA_UP_K2_T1_END: ;; + ;; + DW 0 ;; Size of xlat table - null table + ;; +COM_NA_UP_K2_END: ;; + ;; + ;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; CODE PAGE: Common +;; STATE: Non-Alpha Upper Case +;; KEYBOARD TYPES: XT + +;; TABLE TYPE: Translate +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + ;; + DW COM_NA_UP_K3_END-$ ;; length of state section + DB NON_ALPHA_UPPER ;; State ID + DW XT_KB ;; Keyboard Type + DB -1,-1 ;; Buffer entry for error character + ;; + DW COM_NA_UP_K3_T1_END-$ ;; Size of xlat table + DB STANDARD_TABLE ;; xlat options: + DB 17 ;; number of entries + DB 3,'"' ;; + DB 4,'œ' ;; + DB 7,'&' ;; + DB 8,'/' ;; + DB 9,'(' ;; + DB 10,')' ;; + DB 11,'=' ;; + DB 12,'?' ;; + DB 13,'^' ;; + DB 26,130 ;; acute e - ‚; + DB 39,'@' ;; @ AT sign replaces c - cedilla - ‡ + DB 27,'*' ;; + DB 40,'#' ;; # sign replaces ø - degree symbol + DB 43,'>' ;; + DB 51,';' ;; + DB 52,':' ;; + DB 53,'_' ;; + ;; +COM_NA_UP_K3_T1_END: ;; + ;; + DW 0 ;; Size of xlat table - null table + ;; +COM_NA_UP_K3_END: ;; + ;; + ;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; CODE PAGE: Common +;; STATE: Third Shift +;; KEYBOARD TYPES: G_KB+P12_KB +;; TABLE TYPE: Translate +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + ;; + DW COM_THIRD_K1_END-$ ;; length of state section + DB THIRD_SHIFT ;; State ID + DW G_KB+P12_KB ;; Keyboard Type + DB -1,-1 ;; Buffer entry for error character + ;; + DW COM_THIRD_K1_T1_END-$ ;; Size of xlat table + DB STANDARD_TABLE ;; xlat options: + DB 4 ;; number of entries + DB 26,'[' ;; + DB 27,']' ;; + DB 39,'@' ;; + DB 40,'#' ;; +COM_THIRD_K1_T1_END: ;; + ;; + DW 0 ;; Last xlat table +COM_THIRD_K1_END: ;; + ;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; CODE PAGE: Common +;; STATE: Third Shift +;; KEYBOARD TYPES: AT +;; TABLE TYPE: Translate +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + ;; + DW COM_THIRD_K2_END-$ ;; length of state section + DB THIRD_SHIFT ;; State ID + DW AT_KB ;; Keyboard Type + DB -1,-1 ;; Buffer entry for error character + ;; + DW COM_THIRD_K2_T1_END-$ ;; Size of xlat table + DB STANDARD_TABLE ;; xlat options: + DB 3 ;; number of entries + DB 41,'\' ;; + DB 26,'[' ;; + DB 27,']' ;; +COM_THIRD_K2_T1_END: ;; + ;; + DW 0 ;; Last xlat table +COM_THIRD_K2_END: ;; + ;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; CODE PAGE: Common +;; STATE: Third Shift +;; KEYBOARD TYPES: XT + +;; TABLE TYPE: Translate +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + ;; + DW COM_THIRD_K3_END-$ ;; length of state section + DB THIRD_SHIFT ;; State ID + DW XT_KB ;; Keyboard Type + DB -1,-1 ;; Buffer entry for error character + ;; + DW COM_THIRD_K3_T1_END-$ ;; Size of xlat table + DB STANDARD_TABLE ;; xlat options: + DB 3 ;; number of entries + DB 43,'\' ;; + DB 26,'[' ;; + DB 27,']' ;; +COM_THIRD_K3_T1_END: ;; + ;; + DW 0 ;; Last xlat table +COM_THIRD_K3_END: ;; + ;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + DW 0 ;; Last State +COMMON_XLAT_END: ;; + ;; + ;; + ;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;*************************************** +;; IT Specific Translate Section for 437 +;; 437 IS COMPLETELY COVERED BY THE COMMON TABLE. +;;*************************************** +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + ;; + PUBLIC IT_437_XLAT ;; +IT_437_XLAT: ;; + ;; + DW CP437_XLAT_END-$ ;; length of section + DW 437 ;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; CODE PAGE: 437 +;; STATE: Non-Alpha Upper case +;; KEYBOARD TYPES: G_KB+P12+AT +;; TABLE TYPE: Translate +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + ;; + DW CP437_NA_UP_K1_END-$ ;; length of state section + DB NON_ALPHA_UPPER ;; State ID + DW G_KB+P12_KB+AT_KB ;; Keyboard Type + DB -1,-1 ;; error character = standalone accent + ;; + DW CP437_NA_UP_T1_K1_END-$ ;; Size of xlat table + DB STANDARD_TABLE+ZERO_SCAN ;; xlat options: + DB 1 ;; number of scans + DB 43,015H ;; Section symbol -  + CP437_NA_UP_T1_K1_END: ;; + ;; + DW 0 ;; Size of xlat table - null table + ;; + CP437_NA_UP_K1_END: ;; + ;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; CODE PAGE: 437 +;; STATE: Non-Alpha Upper case +;; KEYBOARD TYPES: XT + +;; TABLE TYPE: Translate +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + ;; + DW CP437_NA_UP_K2_END-$ ;; length of state section + DB NON_ALPHA_UPPER ;; State ID + DW XT_KB ;; Keyboard Type + DB -1,-1 ;; error character = standalone accent + ;; + DW CP437_NA_UP_T1_K2_END-$ ;; Size of xlat table + DB STANDARD_TABLE+ZERO_SCAN ;; xlat options: + DB 1 ;; number of scans + DB 41,015H ;; Section symbol -  + CP437_NA_UP_T1_K2_END: ;; + ;; + DW 0 ;; Size of xlat table - null table + ;; + CP437_NA_UP_K2_END: ;; + ;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + DW 0 ;; LAST STATE + ;; +CP437_XLAT_END: ;; + ;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;*************************************** +;; IT Specific Translate Section for 850 +;;*************************************** +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + ;; + PUBLIC IT_850_XLAT ;; +IT_850_XLAT: ;; + ;; + DW CP850_XLAT_END-$ ;; length of section + DW 850 ;; + ;; + ;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; CODE PAGE: 850 +;; STATE: Non-Alpha Upper case +;; KEYBOARD TYPES: G_KB+P12+AT +;; TABLE TYPE: Translate +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + ;; + DW CP850_NA_UP_K1_END-$ ;; length of state section + DB NON_ALPHA_UPPER ;; State ID + DW G_KB+P12_KB+AT_KB ;; Keyboard Type + DB -1,-1 ;; error character = standalone accent + ;; + DW CP850_NA_UP_T1_K1_END-$ ;; Size of xlat table + DB STANDARD_TABLE+ZERO_SCAN ;; xlat options: + DB 1 ;; number of scans + DB 43,0F5H ;; Section symbol -  + CP850_NA_UP_T1_K1_END: ;; + ;; + DW 0 ;; Size of xlat table - null table + ;; + CP850_NA_UP_K1_END: ;; + ;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; CODE PAGE: 850 +;; STATE: Non-Alpha Upper case +;; KEYBOARD TYPES: XT +;; TABLE TYPE: Translate +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + ;; + DW CP850_NA_UP_K2_END-$ ;; length of state section + DB NON_ALPHA_UPPER ;; State ID + DW XT_KB ;; Keyboard Type + DB -1,-1 ;; error character = standalone accent + ;; + DW CP850_NA_UP_T1_K2_END-$ ;; Size of xlat table + DB STANDARD_TABLE+ZERO_SCAN ;; xlat options: + DB 1 ;; number of scans + DB 41,0F5H ;; Section symbol -  + CP850_NA_UP_T1_K2_END: ;; + ;; + DW 0 ;; Size of xlat table - null table + ;; + CP850_NA_UP_K2_END: ;; + ;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + DW 0 ;; LAST STATE + ;; +CP850_XLAT_END: ;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + ;; +CODE ENDS ;; + END ;; -- cgit v1.2.3