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/KDFLA.ASM | 1322 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 1322 insertions(+) create mode 100644 v4.0/src/DEV/KEYBOARD/KDFLA.ASM (limited to 'v4.0/src/DEV/KEYBOARD/KDFLA.ASM') diff --git a/v4.0/src/DEV/KEYBOARD/KDFLA.ASM b/v4.0/src/DEV/KEYBOARD/KDFLA.ASM new file mode 100644 index 0000000..0d7a692 --- /dev/null +++ b/v4.0/src/DEV/KEYBOARD/KDFLA.ASM @@ -0,0 +1,1322 @@ +PAGE ,132 +TITLE DOS - LAD Keyboard Definition File +;; LATEST CHANGE ALT & CTL +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; +; DOS - - LAD Keyboard Support - Keyboard Defintion File +; (C) Copyright 1988 Microsoft +; +; This file contains the keyboard tables for Latin American. +; +; The LAD keyboard support is based on the following: +; PC - 246 (Spanish) +; PC/AT - 246 (Spanish) +; PC, PC/XT - 246 (Spanish) +; Ferrari G - 171 +; Ferrari P (?) - 171 +; +; DATE: September 15, 1986 +; +; +; To update KEYBOARD.SYS....enter the following info into KDF.ASM +; +; FILE HEADER +; =========== +; DB 'LA' ; language code +; DW OFFSET LA_LANG_ENT,0 ; language ptr +; +; LANGUAGE ENTRY +; ============== +; EXTRN LA_LOGIC:NEAR +; EXTRN LA_437_XLAT:NEAR +; EXTRN LA_850_XLAT:NEAR +; +; LA_LANG_ENT: DB 'LA' ; +; DW 0 ; reserved +; DW OFFSET LA_LOGIC,0 ; pointer to LANG kb table +; DW 2 ; number of code pages +; DW 437 ; code page +; DW OFFSET LA_437_XLAT,0 ; table pointer +; DW 850 ; code page +; DW OFFSET LA_850_XLAT,0 ; table pointer +; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + INCLUDE KEYBSHAR.INC ; + INCLUDE POSTEQU.INC ; + INCLUDE KEYBMAC.INC ; + ; + PUBLIC LA_LOGIC ; + PUBLIC LA_437_XLAT ; + PUBLIC LA_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 + ; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; +; SP State Logic +; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +LA_LOGIC: ; + DW LOGIC_END-$ ; length + DW 0 ; special features +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; 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 ;; +IFF EITHER_SHIFT,NOT ;; + IFKBD XT_KB+AT_KB ;; + IFF EITHER_CTL ;; + ANDF ALT_SHIFT ;; + SET_FLAG DEAD_THIRD ;; + ENDIFF ;; + ELSEF ;; + IFF EITHER_CTL,NOT ;; + ANDF R_ALT_SHIFT ;; + SET_FLAG DEAD_THIRD ;; + ENDIFF ;; + 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_LOWER ; 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: ; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; SP 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 LA_COMMON_XLAT ; +LA_COMMON_XLAT: ; + ; + DW COMMON_XLAT_END-$ ; length of section + DW -1 ; code page +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; CODE PAGE: Common +; STATE: Lower Shift Dead Key +; KEYBOARD TYPES: G + P12 +; TABLE TYPE: Flag Table +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + DW COM_DK_LO_K1_END-$ ; length of state section + DB DEAD_LOWER ; State ID + DW G_KB+P12_KB ; Keyboard Type + DB -1,-1 ; Buffer entry for error character + ; Set Flag Table + DW 1 ; number of entries + DB 26 ; scan code + FLAG ACUTE ; + ; +COM_DK_LO_K1_END: ; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; CODE PAGE: Common +; STATE: Lower Shift Dead Key +; KEYBOARD TYPES: AT + XT + +; TABLE TYPE: Flag Table +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + ; + DW COM_DK_LO_K2_END-$ ; length of state section + DB DEAD_LOWER ; State ID + DW AT_KB+XT_KB ; Keyboard Type + DB -1,-1 ; Buffer entry for error character + ; Set Flag Table + DW 2 ; number of entries + DB 26 ; scan code + FLAG ACUTE ; flag bit to set + DB 27 ; + FLAG GRAVE ; + ; + ; +COM_DK_LO_K2_END: ; + ; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; CODE PAGE: Common +; STATE: Upper Shift Dead Key +; KEYBOARD TYPES: G + P12 +; TABLE TYPE: Flag Table +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + DW COM_DK_UP_K1_END-$ ; length of state section + DB DEAD_UPPER ; State ID + DW G_KB+P12_KB ; Keyboard Type + DB -1,-1 ; Buffer entry for error character + ; Set Flag Table + DW 1 ; number of entries + DB 26 ; scan code + FLAG DIARESIS ; + ; +COM_DK_UP_K1_END: ; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; CODE PAGE: Common +; STATE: Third Shift Dead Key +; KEYBOARD TYPES: G + P12 +; TABLE TYPE: Flag Table +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + DW COM_TH_DK_UP_K1_END-$ ; length of state section + DB DEAD_THIRD ; State ID + DW G_KB+P12_KB ; Keyboard Type + DB -1,-1 ; Buffer entry for error character + ; Set Flag Table + DW 2 ; number of entries + DB 40 ; scan code + FLAG CIRCUMFLEX ; + DB 43 ; scan code + FLAG GRAVE ; + ; +COM_TH_DK_UP_K1_END: ; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; CODE PAGE: Common +; STATE: Upper Shift Dead Key +; KEYBOARD TYPES: AT + XT + +; TABLE TYPE: Flag Table +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + ; + DW COM_DK_UP_END-$ ; length of state section + DB DEAD_UPPER ; State ID + DW AT_KB+XT_KB ; Keyboard Type + DB -1,-1 ; Buffer entry for error character + ; Set Flag Table + DW 2 ; number of entries + DB 26 ; scan code + FLAG DIARESIS ; flag bit to set + DB 27 ; + FLAG CIRCUMFLEX ; + ; +COM_DK_UP_END: ; + ; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; CODE PAGE: Common +; STATE: Alpha Lower Case +; KEYBOARD TYPES: G + P12 +; TABLE TYPE: Translate +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + DW COM_AL_LO_GP_K1_END-$ ; length of state section + DB ALPHA_LOWER ; State ID + DW G_KB+P12_KB ; Keyboard Type + DB -1,-1 ; Buffer entry for error character + ; + DW COM_AL_LO_GP_K1_T1_END-$ ; Size of xlat table + DB STANDARD_TABLE ; xlat options: + DB 1 ; number of entries + DB 39,164 ; n-tilde +COM_AL_LO_GP_K1_T1_END: ; + ; + DW 0 ; Size of xlat table - null table + ; +COM_AL_LO_GP_K1_END: ; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; CODE PAGE: Common +; STATE: Alpha Lower Case +; KEYBOARD TYPES: AT +; TABLE TYPE: Translate +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + DW COM_AL_LO_K1_END-$ ; length of state section + DB ALPHA_LOWER ; State ID + DW AT_KB ; Keyboard Type + DB -1,-1 ; Buffer entry for error character + ; + DW COM_AL_LO_K1_T1_END-$ ; Size of xlat table + DB STANDARD_TABLE ; xlat options: + DB 2 ; number of entries + DB 39,164 ; n-tilde + DB 43,135 ; c-cedilla +COM_AL_LO_K1_T1_END: ; + ; + DW 0 ; Size of xlat table - null table + ; +COM_AL_LO_K1_END: ; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; CODE PAGE: Common +; STATE: Numeric Key Pad +; KEYBOARD TYPES: All +; TABLE TYPE: Translate +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + DW COM_PAD_K1_END-$ ; length of state section + DB NUMERIC_PAD ; State ID + DW ANY_KB ; Keyboard Type + DB -1,-1 ; Buffer entry for error character + ; + DW COM_PAD_K1_T1_END-$ ; Size of xlat table + DB STANDARD_TABLE ; xlat options: + DB 1 ; number of entries + DB 83,'.' ; decimal seperator = . +COM_PAD_K1_T1_END: ; + ; + DW 0 ; Size of xlat table - null table + ; +COM_PAD_K1_END: ; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; +; 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 0 ; number of entries +;;***BD THIS ENTRY IS A TEST ENTRY +;; DB 53,225,0 ; TEST ENTRY +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: AT +;; TABLE TYPE: Translate +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + ;; + DW COM_CTRL_K1_END-$ ;; length of state section + DB CTRL_CASE ;; State ID + DW 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: Ctrl Case +;; KEYBOARD TYPES: XT_KB +;; TABLE TYPE: Translate +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + ;; + DW COM_CTRL_K2_END-$ ;; length of state section + DB CTRL_CASE ;; State ID + DW XT_KB ;; Keyboard Type + DB -1,-1 ;; Buffer entry for error character + ;; + DW COM_CTRL_K2_T2_END-$ ;; Size of xlat table + DB TYPE_2_TAB ;; xlat options: + DB 1 ;; number of entries +;;***BD THIS ENTRY IS A TEST ENTRY +;; DB 53,226,0 ;; TEST ENTRY + DB 43,-1,-1 ;; invalid slash +COM_CTRL_K2_T2_END: ;; + ;; + DW 0 ;; Size of xlat table - null table + ;; +COM_CTRL_K2_END: ;; + ;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; CODE PAGE: Common +; STATE: Alpha Lower Case +; KEYBOARD TYPES: XT + +; TABLE TYPE: Translate +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + DW COM_AL_LO_K2_END-$ ; length of state section + DB ALPHA_LOWER ; State ID + DW XT_KB ; Keyboard Type + DB -1,-1 ; Buffer entry for error character + ; + DW COM_AL_LO_K2_T1_END-$ ; Size of xlat table + DB STANDARD_TABLE ; xlat options: + DB 2 ; number of entries + DB 39,164 ; n-tilde + DB 41,135 ; c-cedilla +COM_AL_LO_K2_T1_END: ; + ; + DW 0 ; Size of xlat table - null table + ; +COM_AL_LO_K2_END: ; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; CODE PAGE: Common +; STATE: Alpha Upper Case +; KEYBOARD TYPES: G + P12 +; TABLE TYPE: Translate +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + DW COM_AL_UP_GP_K1_END-$ ; length of state section + DB ALPHA_UPPER ; State ID + DW G_KB+P12_KB ; Keyboard Type + DB -1,-1 ; Buffer entry for error character + ; + DW COM_AL_UP_GP_K1_T1_END-$ ; Size of xlat table + DB STANDARD_TABLE ; xlat options: + DB 1 ; number of entries + DB 39,165 ; N-tilde +COM_AL_UP_GP_K1_T1_END: ; + ; + DW 0 ; Size of xlat table - null table + ; +COM_AL_UP_GP_K1_END: ; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; CODE PAGE: Common +; STATE: Alpha Upper Case +; KEYBOARD TYPES: AT +; TABLE TYPE: Translate +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + DW COM_AL_UP_K1_END-$ ; length of state section + DB ALPHA_UPPER ; State ID + DW AT_KB ; Keyboard Type + DB -1,-1 ; Buffer entry for error character + ; + DW COM_AL_UP_K1_T1_END-$ ; Size of xlat table + DB STANDARD_TABLE ; xlat options: + DB 2 ; number of entries + DB 39,165 ; N-tilde + DB 43,128 ; C-cedilla +COM_AL_UP_K1_T1_END: ; + ; + DW 0 ; Size of xlat table - null table + ; +COM_AL_UP_K1_END: ; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; CODE PAGE: Common +; STATE: Alpha Upper Case +; KEYBOARD TYPES: XT + +; TABLE TYPE: Translate +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + DW COM_AL_UP_K2_END-$ ; length of state section + DB ALPHA_UPPER ; State ID + DW XT_KB ; Keyboard Type + DB -1,-1 ; Buffer entry for error character + ; + DW COM_AL_UP_K2_T1_END-$ ; Size of xlat table + DB STANDARD_TABLE ; xlat options: + DB 2 ; number of entries + DB 39,165 ; N-tilde + DB 41,128 ; C-cedilla +COM_AL_UP_K2_T1_END: ; + ; + DW 0 ; Size of xlat table - null table + ; +COM_AL_UP_K2_END: ; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; CODE PAGE: Common +; STATE: Non-Alpha Lower Case +; KEYBOARD TYPES: G + P12 +; TABLE TYPE: Translate +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + DW COM_NA_LO_GP_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_GP_K1_T1_END-$ ; Size of xlat table + DB STANDARD_TABLE ; xlat options: + DB 8 ; number of entries + DB 12,"'" ; ' + DB 13,'' ; + DB 27,'+' ; + + DB 40,'{' ; | + DB 41,'|' ; | + DB 43,'}' ; | + DB 53,'-' ; - + DB 86,'<' ; < +COM_NA_LO_GP_K1_T1_END: ; + ; + DW 0 ; Size of xlat table - null table + ; +COM_NA_LO_GP_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 3 ; number of entries + DB 40,';' ; ; + DB 41,'<' ; < + DB 53,"'" ; quote +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 3 ; number of entries + DB 40,';' ; ; + DB 43,'<' ; < + DB 53,"'" ; quote +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 + P12 +; TABLE TYPE: Translate +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + DW COM_NA_UP_GP_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_GP_K1_T1_END-$ ; Size of xlat table + DB STANDARD_TABLE ; xlat options: + DB 16 ; number of entries + DB 3,'"' ; " + DB 7,'&' ; & + DB 8,'/' ; / + DB 9,'(' ; ( + DB 10,')' ; ) + DB 11,'=' ; = + DB 12,'?' ; ? + DB 13,'' ; + DB 27,'*' ; * + DB 40,'[' ; [ + DB 41,'' ; + DB 43,']' ; ] + DB 51,';' ; ; + DB 52,':' ; : + DB 53,'_' ; _ + DB 86,'>' ; > +COM_NA_UP_GP_K1_T1_END: ; + ; + DW 0 ; Size of xlat table - null table + ; +COM_NA_UP_GP_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 8 ; number of entries + DB 41,'>' ; + DB 2,0ADH ; UPSIDE DOWN + DB 3,168 ; UPSIDE DOWN ? + DB 7,'/' ; + DB 40,':' ; + 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 8 ; number of entries + DB 43,'>' ; + DB 2,0ADH ; UPSIDE DOWN + DB 3,168 ; UPSIDE DOWN ? + DB 7,'/' ; + DB 40,':' ; + 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 + P12 +; 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 12,'\' ; \ + DB 16,'@' ; @ + DB 27,'~' ; ~ + DB 41,'' ; +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 4 ; number of entries + DB 41,'\' ; + DB 3,'@' ; + 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 3,'@' ; + DB 26,'[' ; + DB 27,']' ; +COM_THIRD_K3_T1_END: ; + ; + DW 0 ; Last xlat table +COM_THIRD_K3_END: ; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; CODE PAGE: Common +; STATE: Acute Lower Case +; KEYBOARD TYPES: All +; TABLE TYPE: Translate +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; DW COM_AC_LO_END-$ ; length of state section +; DB ACUTE_LOWER ; State ID +; DW ANY_KB ; Keyboard Type +; DB 39,0 ; error character = standalone accent +; ; +; DW COM_AC_LO_T1_END-$ ; Size of xlat table +; DB STANDARD_TABLE+ZERO_SCAN ; xlat options: +; DB 5 ; number of scans +; DB 18,'' ; scan code,ASCII - e +; DB 30,'' ; scan code,ASCII - a +; DB 24,'' ; scan code,ASCII - o +; DB 22,'' ; scan code,ASCII - u +; DB 23,'' ; scan code,ASCII - i +;COM_AC_LO_T1_END: ; +; ; +; DW 0 ; Size of xlat table - null table +; ; +;COM_AC_LO_END: ; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; CODE PAGE: Common +;; STATE: Acute Upper Case +;; KEYBOARD TYPES: All +;; TABLE TYPE: Translate +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; DW COM_AC_UP_END-$ ; length of state section +; DB ACUTE_UPPER ; State ID +; DW ANY_KB ; Keyboard Type +; DB 39,0 ; error character = standalone accent +; ; +; DW COM_AC_UP_T1_END-$ ; Size of xlat table +; DB STANDARD_TABLE+ZERO_SCAN ; xlat options: +; DB 2 ; number of scans +; DB 18,'' ; scan code,ASCII - e +;COM_AC_UP_T1_END: ; +; ; +; DW 0 ; Size of xlat table - null table +; ; +;COM_AC_UP_END: ; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; CODE PAGE: Common +;; STATE: Acute Space Bar +;;; KEYBOARD TYPES: All +;; TABLE TYPE: Translate +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; DW COM_AC_LA_END-$ ; length of state section +; DB ACUTE_SPACE ; State ID +;; DW ANY_KB ; Keyboard Type +; DB 39,0 ; error character = standalone accent +; ; +; DW COM_AC_LA_T1_END-$ ; Size of xlat table +; DB STANDARD_TABLE+ZERO_SCAN ; xlat options: +; DB 1 ; number of scans +; DB 57,39 ; scan code,ASCII - SPACE +;COM_AC_LA_T1_END: ; +; ; +; DW 0 ; Size of xlat table - null table +; ; +;COM_AC_LA_END: ; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; CODE PAGE: Common +;; STATE: Diaresis Lower Case +; KEYBOARD TYPES: All +; TABLE TYPE: Translate +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + DW COM_DI_LO_END-$ ; length of state section + DB DIARESIS_LOWER ; State ID + DW ANY_KB ; Keyboard Type + DB 249,0 ; error character = standalone accent + ; + DW COM_DI_LO_T1_END-$ ; Size of xlat table + DB STANDARD_TABLE+ZERO_SCAN ; xlat options: + DB 6 ; number of scans + DB 18,'' ; scan code,ASCII - e + DB 30,'' ; scan code,ASCII - a + DB 24,'' ; scan code,ASCII - o + DB 22,'' ; scan code,ASCII - u + DB 23,'' ; scan code,ASCII - i + DB 21,'' ; scan code,ASCII - y +COM_DI_LO_T1_END: ; + ; + DW 0 ; Size of xlat table - null table + ; +COM_DI_LO_END: ; length of state section +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; CODE PAGE: Common +; STATE: Diaresis Upper Case +; KEYBOARD TYPES: All +; TABLE TYPE: Translate +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + DW COM_DI_UP_END-$ ; length of state section + DB DIARESIS_UPPER ; State ID + DW ANY_KB ; Keyboard Type + DB 249,0 ; error character = standalone accent + ; + DW COM_DI_UP_T1_END-$ ; Size of xlat table + DB STANDARD_TABLE+ZERO_SCAN ; xlat options: + DB 3 ; number of scans + DB 30,'' ; scan code,ASCII - a + DB 24,'' ; scan code,ASCII - o + DB 22,'' ; scan code,ASCII - u +COM_DI_UP_T1_END: ; + ; + DW 0 ; Size of xlat table - null table + ; +COM_DI_UP_END: ; length of state section +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; CODE PAGE: Common +; STATE: Grave Lower +; KEYBOARD TYPES: All +; TABLE TYPE: Translate +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + DW COM_GR_LO_END-$ ; length of state section + DB GRAVE_LOWER ; State ID + DW ANY_KB ; Keyboard Type + DB 96,0 ; error character = standalone accent + ; + DW COM_GR_LO_T1_END-$ ; Size of xlat table + DB STANDARD_TABLE+ZERO_SCAN ; xlat options: + DB 5 ; number of scans + DB 18,'' ; scan code,ASCII - e + DB 30,'' ; scan code,ASCII - a + DB 24,'' ; scan code,ASCII - o + DB 22,'' ; scan code,ASCII - u + DB 23,'' ; scan code,ASCII - i +COM_GR_LO_T1_END: ; + ; + DW 0 ; Size of xlat table - null table + ; +COM_GR_LO_END: ; length of state section +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; CODE PAGE: Common +; STATE: Grave Space Bar +; KEYBOARD TYPES: All +; TABLE TYPE: Translate +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + DW COM_GR_LA_END-$ ; length of state section + DB GRAVE_SPACE ; State ID + DW ANY_KB ; Keyboard Type + DB 96,0 ; error character = standalone accent + ; + DW COM_GR_LA_T1_END-$ ; Size of xlat table + DB STANDARD_TABLE+ZERO_SCAN ; xlat options: + DB 1 ; number of scans + DB 57,96 ; STANDALONE GRAVE +COM_GR_LA_T1_END: ; + ; + DW 0 ; Size of xlat table - null table + ; +COM_GR_LA_END: ; length of state section +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; CODE PAGE: Common +; STATE: Circumflex Lower +; KEYBOARD TYPES: All +; TABLE TYPE: Translate +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + DW COM_CI_LO_END-$ ; length of state section + DB CIRCUMFLEX_LOWER ; State ID + DW ANY_KB ; Keyboard Type + DB 94,0 ; error character = standalone accent + ; + DW COM_CI_LO_T1_END-$ ; Size of xlat table + DB STANDARD_TABLE+ZERO_SCAN ; xlat options: + DB 5 ; number of scans + DB 18,'' ; scan code,ASCII - e + DB 30,'' ; scan code,ASCII - a + DB 24,'' ; scan code,ASCII - o + DB 22,'' ; scan code,ASCII - u + DB 23,'' ; scan code,ASCII - i +COM_CI_LO_T1_END: ; + ; + DW 0 ; + ; +COM_CI_LO_END: ; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; CODE PAGE: Common +; STATE: Circumflex Space Bar +; KEYBOARD TYPES: All +; TABLE TYPE: Translate +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + DW COM_CI_LA_END-$ ; length of state section + DB CIRCUMFLEX_SPACE ; State ID + DW ANY_KB ; Keyboard Type + DB 94,0 ; error character = standalone accent + ; + DW COM_CI_LA_T1_END-$ ; Size of xlat table + DB STANDARD_TABLE+ZERO_SCAN ; xlat options: + DB 1 ; number of scans + DB 57,94 ; STANDALONE CIRCUMFLEX +COM_CI_LA_T1_END: ; + ; + DW 0 ; Size of xlat table - null table + ; +COM_CI_LA_END: ; length of state section + ; + DW 0 ; Last State +COMMON_XLAT_END: ; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; +; SP Specific Translate Section for 437 +; 437 IS COMPLETELY COVERED BY THE COMMON TABLE. +; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + PUBLIC LA_437_XLAT ; +LA_437_XLAT: ; + ; + DW CP437_XLAT_END-$ ; length of section + DW 437 ; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; CODE PAGE: Specific 437 +; STATE: Acute Lower Case +; KEYBOARD TYPES: All +; TABLE TYPE: Translate +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + DW CP437_AC_LO_END-$ ; length of state section + DB ACUTE_LOWER ; State ID + DW ANY_KB ; Keyboard Type + DB 39,0 ; error character = standalone accent + ; + DW CP437_AC_LO_T1_END-$ ; Size of xlat table + DB STANDARD_TABLE+ZERO_SCAN ; xlat options: + DB 5 ; number of scans + DB 18,'' ; scan code,ASCII - e + DB 30,'' ; scan code,ASCII - a + DB 24,'' ; scan code,ASCII - o + DB 22,'' ; scan code,ASCII - u + DB 23,'' ; scan code,ASCII - i +CP437_AC_LO_T1_END: ; + ; + DW 0 ; Size of xlat table - null table + ; +CP437_AC_LO_END: ; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; CODE PAGE: 437 +; STATE: Acute Upper Case +; KEYBOARD TYPES: All +; TABLE TYPE: Translate +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + DW CP437_AC_UP_END-$ ; length of state section + DB ACUTE_UPPER ; State ID + DW ANY_KB ; Keyboard Type + DB 39,0 ; error character = standalone accent + ; + DW CP437_AC_UP_T1_END-$ ; Size of xlat table + DB STANDARD_TABLE+ZERO_SCAN ; xlat options: + DB 1 ; number of scans + DB 18,'' ; scan code,ASCII - e +CP437_AC_UP_T1_END: ; + ; + DW 0 ; Size of xlat table - null table + ; +CP437_AC_UP_END: ; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; CODE PAGE: 437 +; STATE: Acute Space Bar +; KEYBOARD TYPES: All +; TABLE TYPE: Translate +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + DW CP437_AC_LA_END-$ ; length of state section + DB ACUTE_SPACE ; State ID + DW ANY_KB ; Keyboard Type + DB 39,0 ; error character = standalone accent + ; + DW CP437_AC_LA_T1_END-$ ; Size of xlat table + DB STANDARD_TABLE+ZERO_SCAN ; xlat options: + DB 1 ; number of scans + DB 57,39 ; scan code,ASCII - SPACE +CP437_AC_LA_T1_END: ; + ; + DW 0 ; Size of xlat table - null table + ; +CP437_AC_LA_END: ; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + DW 0 ; LAST STATE + ; +CP437_XLAT_END: ; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; +; SP Specific Translate Section for 850 +; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + PUBLIC LA_850_XLAT ; +LA_850_XLAT: ; + ; + DW CP850_XLAT_END-$ ; length of section + DW 850 ; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; CODE PAGE: Specific 850 +; STATE: Acute Lower Case +; KEYBOARD TYPES: All +; TABLE TYPE: Translate +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + DW CP850_AC_LO_END-$ ; length of state section + DB ACUTE_LOWER ; State ID + DW ANY_KB ; Keyboard Type + DB 0EFH,0 ; error character = standalone accent + ; + DW CP850_AC_LO_T1_END-$ ; Size of xlat table + DB STANDARD_TABLE+ZERO_SCAN ; xlat options: + DB 5 ; number of scans + DB 18,'' ; scan code,ASCII - e + DB 30,'' ; scan code,ASCII - a + DB 24,'' ; scan code,ASCII - o + DB 22,'' ; scan code,ASCII - u + DB 23,'' ; scan code,ASCII - i +; DB 21,0ECH add in later date ; y acute +CP850_AC_LO_T1_END: ; + ; + DW 0 ; Size of xlat table - null table + ; +CP850_AC_LO_END: ; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; CODE PAGE: 850 +; STATE: Acute Upper Case +; KEYBOARD TYPES: All +; TABLE TYPE: Translate +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + DW CP850_AC_UP_END-$ ; length of state section + DB ACUTE_UPPER ; State ID + DW ANY_KB ; Keyboard Type + DB 0EFH,0 ; error character = standalone accent + ; + DW CP850_AC_UP_T1_END-$ ; Size of xlat table + DB STANDARD_TABLE+ZERO_SCAN ; xlat options: + DB 5 ; number of scans + DB 18,'' ; scan code,ASCII - e + DB 30,0B5H ; A acute + DB 23,0D6H ; I acute + DB 24,0E0H ; O acute + DB 22,0E9H ; U acute +; DB 21,0EDH add in later date ; Y acute +CP850_AC_UP_T1_END: ; + ; + DW 0 ; Size of xlat table - null table + ; +CP850_AC_UP_END: ; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; CODE PAGE: 850 +; STATE: Acute Space Bar +; KEYBOARD TYPES: All +; TABLE TYPE: Translate +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + DW CP850_AC_LA_END-$ ; length of state section + DB ACUTE_SPACE ; State ID + DW ANY_KB ; Keyboard Type + DB 0EFH,0 ; error character = standalone accent + ; + DW CP850_AC_LA_T1_END-$ ; Size of xlat table + DB STANDARD_TABLE+ZERO_SCAN ; xlat options: + DB 1 ; number of scans + DB 57,0EFH ; scan code,ASCII - SPACE +CP850_AC_LA_T1_END: ; + ; + DW 0 ; Size of xlat table - null table + ; +CP850_AC_LA_END: ; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; CODE PAGE: 850 +; STATE: Diaresis Upper +; KEYBOARD TYPES: All +; TABLE TYPE: Translate +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + DW CP850_DI_UP_END-$ ; length of state section + DB DIARESIS_UPPER ; State ID + DW ANY_KB ; Keyboard Type + DB 249,0 ; error character = standalone accent + ; + DW CP850_DI_UP_T1_END-$ ; Size of xlat table + DB STANDARD_TABLE+ZERO_SCAN ; xlat options: + DB 2 ; number of scans + DB 18,0D3H ; E diaeresis + DB 23,0D8H ; I diaeresis +CP850_DI_UP_T1_END: ; + ; + DW 0 ; Size of xlat table - null table + ; +CP850_DI_UP_END: ; length of state section +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; CODE PAGE: 850 +; STATE: Diaresis Space Bar +; KEYBOARD TYPES: All +; TABLE TYPE: Translate +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + DW CP850_DI_LA_END-$ ; length of state section + DB DIARESIS_SPACE ; State ID + DW ANY_KB ; Keyboard Type + DB 249,0 ; error character = standalone accent + ; + DW CP850_DI_LA_T1_END-$ ; Size of xlat table + DB STANDARD_TABLE+ZERO_SCAN ; xlat options: + DB 1 ; number of scans + DB 57,249 ; error character = standalone accent +CP850_DI_LA_T1_END: ; + ; + DW 0 ; Size of xlat table - null table +CP850_DI_LA_END: ; length of state section +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; CODE PAGE: 850 +; STATE: Grave Upper +; KEYBOARD TYPES: All +; TABLE TYPE: Translate +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + DW CP850_GR_UP_END-$ ; length of state section + DB GRAVE_UPPER ; State ID + DW ANY_KB ; Keyboard Type + DB 96,0 ; error character = standalone accent + ; + DW CP850_GR_UP_T1_END-$ ; Size of xlat table + DB STANDARD_TABLE+ZERO_SCAN ; xlat options: + DB 5 ; number of scans + DB 30,0B7H ; A grave + DB 18,0D4H ; E grave + DB 23,0DEH ; I grave + DB 24,0E3H ; O grave + DB 22,0EBH ; U grave +CP850_GR_UP_T1_END: ; + ; + DW 0 ; Size of xlat table - null table + ; +CP850_GR_UP_END: ; length of state section +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; CODE PAGE: 850 +; STATE: Circumflex Upper +; KEYBOARD TYPES: All +; TABLE TYPE: Translate +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + DW CP850_CI_UP_END-$ ; length of state section + DB CIRCUMFLEX_UPPER ; State ID + DW ANY_KB ; Keyboard Type + DB 94,0 ; error character = standalone accent + ; + DW CP850_CI_UP_T1_END-$ ; Size of xlat table + DB STANDARD_TABLE+ZERO_SCAN ; xlat options: + DB 5 ; number of scans + DB 30,0B6H ; A circumflex + DB 18,0D2H ; E circumflex + DB 23,0D7H ; I circumflex + DB 24,0E2H ; O circumflex + DB 22,0EAH ; U circumflex +CP850_CI_UP_T1_END: ; + ; + DW 0 ; Size of xlat table - null table + ; +CP850_CI_UP_END: ; length of state section + ; + DW 0 ; LAST STATE +CP850_XLAT_END: ; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; +; +; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +CODE ENDS ; + END ; -- cgit v1.2.3