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.
800 lines
26 KiB
800 lines
26 KiB
;; LATEST CHANGE ALT & CTL
|
|
|
|
; * IBM CONFIDENTIAL * Jan 9 1990 *
|
|
|
|
|
|
|
|
|
|
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 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 ;;
|
|
|