You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
589 lines
26 KiB
589 lines
26 KiB
PAGE ,132
|
|
TITLE PC DOS 3.3 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
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
;;
|
|
INCLUDE KEYBSHAR.INC ;;
|
|
INCLUDE POSTEQU.INC ;;
|
|
INCLUDE KEYBMAC.INC ;;
|
|
;;
|
|
PUBLIC DV_LOGIC ;;
|
|
PUBLIC DV_COMMON_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
|
|
;;
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
;;***************************************
|
|
;; DV State Logic
|
|
;;***************************************
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
;;
|
|
;;
|
|
DV_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: ;;
|
|
;;
|
|
;;
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
;;***************************************
|
|
;; DV 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 DV_COMMON_XLAT ;;
|
|
DV_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_K2_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_K2_T1_END-$ ;; Size of xlat table
|
|
DB TYPE_2_TAB ;; xlat options:
|
|
DB 36 ;; number of entries
|
|
DB 0CH, 0, 01AH ;; Alt+{
|
|
DB 0DH, 0, 01BH ;; Alt+}
|
|
DB 010H, 0, 028H ;; Altl+"
|
|
DB 011H, 0, 033H ;; Altl+,
|
|
DB 012H, 0, 034H ;; Altl+.
|
|
DB 013H, 0, 019H ;; Altl+P
|
|
DB 014H, 0, 015H ;; Altl+Y
|
|
DB 015H, 0, 021H ;; Altl+F
|
|
DB 016H, 0, 022H ;; Altl+G
|
|
DB 017H, 0, 02EH ;; Altl+C
|
|
DB 018H, 0, 013H ;; Altl+R
|
|
DB 019H, 0, 026H ;; Altl+L
|
|
DB 01AH, 0, 035H ;; Altl+?
|
|
DB 01BH, 0, 0DH ;; Altl+=
|
|
DB 01EH, 0, 01EH ;; Altl+A
|
|
DB 01FH, 0, 018H ;; Altl+O
|
|
DB 020H, 0, 012H ;; Altl+E
|
|
DB 021H, 0, 016H ;; Altl+U
|
|
DB 022H, 0, 017H ;; Altl+I
|
|
DB 023H, 0, 020H ;; Altl+D
|
|
DB 024H, 0, 023H ;; Altl+H
|
|
DB 025H, 0, 014H ;; Altl+T
|
|
DB 026H, 0, 031H ;; Altl+N
|
|
DB 027H, 0, 01FH ;; Altl+S
|
|
DB 028H, 0, 0CH ;; Altl+-
|
|
DB 02BH, 0, 02BH ;; Altl+|
|
|
DB 02CH, 0, 027H ;; Altl+;
|
|
DB 02DH, 0, 010H ;; Altl+Q
|
|
DB 02EH, 0, 024H ;; Altl+J
|
|
DB 02FH, 0, 025H ;; Altl+K
|
|
DB 030H, 0, 02DH ;; Altl+X
|
|
DB 031H, 0, 030H ;; Altl+B
|
|
DB 032H, 0, 032H ;; Altl+M
|
|
DB 033H, 0, 011H ;; Altl+W
|
|
DB 034H, 0, 02FH ;; Altl+V
|
|
DB 035H, 0, 02CH ;; Altl+Z
|
|
COM_ALT_K2_T1_END: ;;
|
|
;;
|
|
DW 0 ;; Size of xlat table - null table
|
|
;;
|
|
COM_ALT_K2_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_K2_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_K2_T1_END-$ ;; Size of xlat table
|
|
DB TYPE_2_TAB ;; xlat options:
|
|
DB 36 ;; number of entries
|
|
DB 0CH, 01BH, 0CH ;; Ctrl+{
|
|
DB 0DH, 01DH, 0DH ;; Ctrl+}
|
|
DB 010H, 00H, 010H ;; Ctrl+"
|
|
DB 011H, 00H, 011H ;; Ctrl+,
|
|
DB 012H, 00H, 012H ;; Ctrl+.
|
|
DB 013H, 010H, 013H ;; Ctrl+P
|
|
DB 014H, 019H, 014H ;; Ctrl+Y
|
|
DB 015H, 06H, 015H ;; Ctrl+F
|
|
DB 016H, 07H, 016H ;; Ctrl+G
|
|
DB 017H, 03H, 017H ;; Ctrl+C
|
|
DB 018H, 012H, 018H ;; Ctrl+R
|
|
DB 019H, 0CH, 019H ;; Ctrl+L
|
|
DB 01AH, 00H, 01AH ;; Ctrl+?
|
|
DB 01BH, 00H, 01BH ;; Ctrl+=
|
|
DB 01EH, 01H, 01EH ;; Ctrl+A
|
|
DB 01FH, 0FH, 01FH ;; Ctrl+O
|
|
DB 020H, 05H, 020H ;; Ctrl+E
|
|
DB 021H, 015H, 021H ;; Ctrl+U
|
|
DB 022H, 09H, 022H ;; Ctrl+I
|
|
DB 023H, 04H, 023H ;; Ctrl+D
|
|
DB 024H, 08H, 024H ;; Ctrl+H
|
|
DB 025H, 014H, 025H ;; Ctrl+T
|
|
DB 026H, 0EH, 026H ;; Ctrl+N
|
|
DB 027H, 013H, 027H ;; Ctrl+S
|
|
DB 028H, 01FH, 028H ;; Ctrl+-
|
|
DB 02BH, 00H, 02BH ;; Ctrl+|
|
|
DB 02CH, 00H, 02CH ;; Ctrl+;
|
|
DB 02DH, 011H, 02DH ;; Ctrl+Q
|
|
DB 02EH, 0AH, 02EH ;; Ctrl+J
|
|
DB 02FH, 0BH, 02FH ;; Ctrl+K
|
|
DB 030H, 018H, 030H ;; Ctrl+X
|
|
DB 031H, 02H, 031H ;; Ctrl+B
|
|
DB 032H, 0DH, 032H ;; Ctrl+M
|
|
DB 033H, 017H, 033H ;; Ctrl+W
|
|
DB 034H, 016H, 034H ;; Ctrl+V
|
|
DB 035H, 01AH, 035H ;; Ctrl+Z
|
|
COM_CTRL_K2_T1_END: ;;
|
|
;;
|
|
DW 0 ;; Size of xlat table - null table
|
|
;;
|
|
COM_CTRL_K2_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 ANY_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 9 ;; number of entries
|
|
DB 00CH,"[" ;; '
|
|
DB 00DH,']' ;; #
|
|
DB 010H,"'" ;; #
|
|
DB 011H,',' ;; #
|
|
DB 012H,'.' ;; #
|
|
DB 01AH,'/' ;; #
|
|
DB 01BH,'=' ;; #
|
|
DB 028H,'-' ;; #
|
|
DB 02CH,';' ;; #
|
|
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 Upper Case
|
|
;; KEYBOARD TYPES: G_KB+P12_KB+
|
|
;; TABLE TYPE: Translate
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
;;
|
|
DW COM_NA_UP_K1_END-$ ;; length of state section
|
|
DB NON_ALPHA_UPPER ;; State ID
|
|
DW ANY_KB ;; Keyboard Type
|
|
DB -1,-1 ;; Buffer entry for error character
|
|
;;
|
|
DW COM_NA_UP_T1_K1_END-$ ;; Size of xlat table
|
|
DB STANDARD_TABLE ;; xlat options:
|
|
DB 9 ;; number of entries
|
|
DB 00CH,"{" ;; '
|
|
DB 00DH,'}' ;; #
|
|
DB 010H,'"' ;; #
|
|
DB 011H,'<' ;; #
|
|
DB 012H,'>' ;; #
|
|
DB 01AH,'?' ;; #
|
|
DB 01BH,'+' ;; #
|
|
DB 028H,'_' ;; #
|
|
DB 02CH,':' ;; #
|
|
COM_NA_UP_T1_K1_END: ;;
|
|
;;
|
|
DW 0 ;; Size of xlat table - null table
|
|
;;
|
|
COM_NA_UP_K1_END: ;;
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
;; CODE PAGE: COMMON
|
|
;; STATE: Alpha Lower Case
|
|
;; KEYBOARD TYPES: All
|
|
;; TABLE TYPE: Translate
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
;;
|
|
DW CPCOM_A_K1_LO_END-$ ;; length of state section
|
|
DB ALPHA_LOWER ;; State ID
|
|
DW ANY_KB ;; Keyboard Type
|
|
DB -1,-1 ;; Buffer entry for error character
|
|
;;
|
|
;;
|
|
DW CPCOM_A_LO_K1_T01_END-$ ;; Size of xlat table
|
|
DB STANDARD_TABLE ;; xlat options:
|
|
DB 26 ;; number of entries
|
|
DB 13H, 'p' ;; j
|
|
DB 14H, 'y' ;; l
|
|
DB 15H, 'f' ;; m
|
|
DB 16H, 'g' ;; f
|
|
DB 17H, 'c' ;; p
|
|
DB 18H, 'r' ;; p
|
|
DB 19H, 'l' ;; p
|
|
DB 1EH, 'a' ;; o
|
|
DB 1FH, 'o' ;; r
|
|
DB 20H, 'e' ;; s
|
|
DB 21H, 'u' ;; u
|
|
DB 22H, 'i' ;; y
|
|
DB 23H, 'd' ;; b
|
|
DB 24H, 'h' ;; b
|
|
DB 25H, 't' ;; b
|
|
DB 26H, 'n' ;; b
|
|
DB 27H, 's' ;; b
|
|
DB 2DH, 'q' ;; z
|
|
DB 2EH, 'j' ;; a
|
|
DB 2FH, 'k' ;; e
|
|
DB 30H, 'x' ;; h
|
|
DB 31H, 'b' ;; t
|
|
DB 32H, 'm' ;; d
|
|
DB 33H, 'w' ;; c
|
|
DB 34H, 'v' ;; k
|
|
DB 35H, 'z' ;; k
|
|
CPCOM_A_LO_K1_T01_END: ;;
|
|
;;
|
|
DW 0 ;; Size of xlat table - null table
|
|
;;
|
|
CPCOM_A_K1_LO_END: ;;
|
|
;;
|
|
;;
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
;; CODE PAGE: COMMON
|
|
;; STATE: Alpha Upper Case
|
|
;; KEYBOARD TYPES: All
|
|
;; TABLE TYPE: Translate
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
;;
|
|
DW CPCOM_A_K1_UP_END-$ ;; length of state section
|
|
DB ALPHA_UPPER ;; State ID
|
|
DW ANY_KB ;; Keyboard Type
|
|
DB -1,-1 ;; Buffer entry for error character
|
|
;;
|
|
DW CPCOM_A_UP_K1_T01_END-$ ;; Size of xlat table
|
|
DB STANDARD_TABLE ;; xlat options:
|
|
DB 26 ;; number of entries
|
|
DB 13H, 'P' ;; j
|
|
DB 14H, 'Y' ;; l
|
|
DB 15H, 'F' ;; m
|
|
DB 16H, 'G' ;; f
|
|
DB 17H, 'C' ;; p
|
|
DB 18H, 'R' ;; p
|
|
DB 19H, 'L' ;; p
|
|
DB 1EH, 'A' ;; o
|
|
DB 1FH, 'O' ;; r
|
|
DB 20H, 'E' ;; s
|
|
DB 21H, 'U' ;; u
|
|
DB 22H, 'I' ;; y
|
|
DB 23H, 'D' ;; b
|
|
DB 24H, 'H' ;; b
|
|
DB 25H, 'T' ;; b
|
|
DB 26H, 'N' ;; b
|
|
DB 27H, 'S' ;; b
|
|
DB 2DH, 'Q' ;; z
|
|
DB 2EH, 'J' ;; a
|
|
DB 2FH, 'K' ;; e
|
|
DB 30H, 'X' ;; h
|
|
DB 31H, 'B' ;; t
|
|
DB 32H, 'M' ;; d
|
|
DB 33H, 'W' ;; c
|
|
DB 34H, 'V' ;; k
|
|
DB 35H, 'Z' ;; k
|
|
CPCOM_A_UP_K1_T01_END: ;;
|
|
DW 0 ;; Size of xlat table - null table
|
|
;;
|
|
CPCOM_A_K1_UP_END: ;;
|
|
;;
|
|
DW 0 ;; LAST STATE
|
|
;;
|
|
COMMON_XLAT_END: ;;
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
CODE ENDS ;;
|
|
END ;;
|
|
|