Leaked source code of windows server 2003
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.
 
 
 
 
 
 

1776 lines
59 KiB

; * IBM CONFIDENTIAL * Jan 9 1990 *
PAGE ,132
TITLE PC DOS 3.3 KEYBOARD.SYS
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; PC DOS 3.3 - NLS Support - KEYBOARD.SYS
;; (c) Copyright IBM Corp 198?,...
;;
;; This file contains the keyboard table for Canadian French
;;
;; Linkage Instructions:
;; Refer to KDF.ASM
;;
;; Author: T.T. CHEN & BILL DEVLIN- IBM Canada Laboratory - July 1986
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
INCLUDE KEYBSHAR.INC ;;
INCLUDE POSTEQU.INC ;;
INCLUDE KEYBMAC.INC ;;
;;
PUBLIC CF_LOGIC ;;
PUBLIC CF_863_XLAT ;;
PUBLIC CF_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
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;***************************************
;; CF State Logic
;;***************************************
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
CF_LOGIC: ;;
;;
DW LOGIC_END-$ ;; length
;;
DW JR_HOT_KEY_1_2 ;; 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 CIRCUMFLEX ;;
RESET_NLS ;;
XLATT CIRCUMFLEX_CIRCUMFLEX ;;
GOTO CIRCUMFLEX_ON ;;
ENDIFF ;;
IFF GRAVE ;;
RESET_NLS ;;
XLATT GRAVE_GRAVE ;;
GOTO GRAVE_ON ;;
ENDIFF ;;
IFF EITHER_SHIFT ;;
IFF DIARESIS ;;
RESET_NLS ;;
XLATT DIARESIS_DIARESIS ;;
GOTO DIARESIS_ON ;;
ENDIFF ;;
SET_FLAG DEAD_UPPER ;;
ELSEF ;;
IFF CEDILLA ;;
RESET_NLS ;;
XLATT CEDILLA_CEDILLA ;;
GOTO CEDILLA_ON ;;
ENDIFF ;;
SET_FLAG DEAD_LOWER ;;
ENDIFF ;;
ELSEF ;;
IFF R_ALT_SHIFT,NOT ;;
ANDF ALT_SHIFT ;;
IFF EITHER_SHIFT ;; Third shift is activated by ALT_GR
;; OR ALT + SHIFT.
IFF ACUTE ;;
RESET_NLS ;;
XLATT ACUTE_ACUTE ;;
GOTO ACUTE_ON ;;
ENDIFF ;;
SET_FLAG DEAD_THIRD ;;
ENDIFF ;;
ELSEF ;;
IFF R_ALT_SHIFT ;;
;;;**************************************
;;; BIOS sets ALT_SHIFT when R_ALT_SHIFT is pressed.
;;; We must suppress this to detect both ALT keys simultaneously.
;;; ANDF ALT_SHIFT,NOT ;;
;;;**************************************
ANDF EITHER_SHIFT,NOT ;;
IFF ACUTE ;;
RESET_NLS ;;
XLATT ACUTE_ACUTE ;;
GOTO ACUTE_ON ;;
ENDIFF ;;
SET_FLAG DEAD_THIRD ;;
ENDIFF ;;
ENDIFF ;;
ENDIFF ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ACUTE ACCENT TRANSLATIONS
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
ACUTE_PROC: ;;
;;
IFF ACUTE,NOT ;;
GOTO GRAVE_PROC ;;
ENDIFF ;;
;;
RESET_NLS ;;
ACUTE_ON: ;;
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: ;;
;; If we get here then either the XLATT
BEEP ;; failed or we are ina bad shift state.
EXIT_INT_9 ;; Either is invalid so BEEP.
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; GRAVE ACCENT TRANSLATIONS
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
GRAVE_PROC: ;;
;;
IFF GRAVE,NOT ;;
GOTO DIARESIS_PROC ;;
ENDIFF ;;
;;
RESET_NLS ;;
GRAVE_ON: ;;
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 ;;
XLATT GRAVE_UPPER ;;
ELSEF ;;
XLATT GRAVE_LOWER ;;
ENDIFF ;;
ENDIFF ;;
ENDIFF ;;
;;
INVALID_GRAVE: ;;
;; If we get here then either the XLATT
BEEP ;; failed or we are ina bad shift state.
EXIT_INT_9 ;; Either is invalid so BEEP.
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; DIARESIS ACCENT TRANSLATIONS
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
DIARESIS_PROC: ;;
;;
IFF DIARESIS,NOT ;;
GOTO CIRCUMFLEX_PROC ;;
ENDIFF ;;
;;
RESET_NLS ;;
DIARESIS_ON: ;;
IFF R_ALT_SHIFT,NOT ;;
XLATT DIARESIS_SPACE ;;
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: ;;
;; If we get here then either the XLATT
BEEP ;; failed or we are ina bad shift state.
EXIT_INT_9 ;; Either is invalid so BEEP.
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; CIRCUMFLEX ACCENT TRANSLATIONS
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
CIRCUMFLEX_PROC: ;;
;;
IFF CIRCUMFLEX,NOT ;;
GOTO CEDILLA_PROC ;;
ENDIFF ;;
;;
RESET_NLS ;;
CIRCUMFLEX_ON: ;;
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 ;;
XLATT CIRCUMFLEX_UPPER ;;
ELSEF ;;
XLATT CIRCUMFLEX_LOWER ;;
ENDIFF ;;
ENDIFF ;;
ENDIFF ;;
;;
INVALID_CIRCUMFLEX: ;;
;; If we get here then either the XLATT
BEEP ;; failed or we are ina bad shift state.
EXIT_INT_9 ;; Either is invalid so BEEP.
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; CEDILLA ACCENT TRANSLATIONS
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
CEDILLA_PROC: ;;
;;
IFF CEDILLA,NOT ;;
GOTO NON_DEAD ;;
ENDIFF ;;
;;
RESET_NLS ;;
CEDILLA_ON: ;;
IFF R_ALT_SHIFT,NOT ;;
XLATT CEDILLA_SPACE ;;
ENDIFF ;;
IFF EITHER_CTL,NOT ;;
ANDF EITHER_ALT,NOT ;;
IFF EITHER_SHIFT ;;
IFF CAPS_STATE ;;
XLATT CEDILLA_LOWER ;;
ELSEF ;;
XLATT CEDILLA_UPPER ;;
ENDIFF ;;
ELSEF ;;
IFF CAPS_STATE ;;
XLATT CEDILLA_UPPER ;;
ELSEF ;;
XLATT CEDILLA_LOWER ;;
ENDIFF ;;
ENDIFF ;;
ENDIFF ;;
;;
INVALID_CEDILLA: ;;
;; If we get here then either the XLATT
BEEP ;; failed or we are ina bad shift state.
EXIT_INT_9 ;; Either is invalid so BEEP.
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Upper, lower and third shifts
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
NON_DEAD: ;;
IFKBD G_KB+P12_KB ;;
ANDF LC_E0 ;;
EXIT_STATE_LOGIC ;;
ENDIFF ;;
;;
IFF EITHER_ALT,NOT ;; Lower and upper case. Alphabetic
ANDF EITHER_CTL,NOT ;; keys are affected by CAPS LOCK.
GOTO NO_THIRD ;;
ENDIFF ;;
;;
IFF R_ALT_SHIFT,NOT ;; Third shift is activated by ALT_GR
ANDF ALT_SHIFT ;; OR ALT + SHIFT.
IFF EITHER_SHIFT ;;
XLATT THIRD_SHIFT ;;
IFF SCAN_MATCH,NOT ;;
EXIT_INT_9 ;;
ENDIFF ;;
ENDIFF ;;
ELSEF ;;
IFF R_ALT_SHIFT ;;
;;;**************************************
;;; BIOS sets ALT_SHIFT when R_ALT_SHIFT is pressed.
;;; We must suppress this to detect both ALT keys simultaneously.
;;; ANDF ALT_SHIFT,NOT ;;
;;;**************************************
ANDF EITHER_SHIFT,NOT ;;
XLATT THIRD_SHIFT ;;
IFF SCAN_MATCH,NOT ;;
EXIT_INT_9 ;;
ENDIFF ;;
ENDIFF ;;
ENDIFF ;;
;;
EXIT_STATE_LOGIC ;;
;;
;;
NO_THIRD: ;; Lower and upper case. Alphabetic
;; keys are affected by CAPS LOCK.
IFF EITHER_SHIFT ;; Numeric keys are not.
XLATT NON_ALPHA_UPPER ;;
IFF CAPS_STATE ;;
XLATT ALPHA_LOWER ;;
ELSEF ;;
XLATT ALPHA_UPPER ;;
ENDIFF ;;
ELSEF ;;
XLATT NON_ALPHA_LOWER ;;
IFF CAPS_STATE ;;
XLATT ALPHA_UPPER ;;
ELSEF ;;
XLATT ALPHA_LOWER ;;
ENDIFF ;;
ENDIFF ;;
;;
EXIT_STATE_LOGIC ;;
;;
LOGIC_END: ;;
;;
;;
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;***************************************
;; CF Common Translate Section
;; This section contains translations for the lower 128 characters
;; only since these will never change from code page to code page.
;;***************************************
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
PUBLIC CF_COMMON_XLAT ;;
CF_COMMON_XLAT: ;;
;;
DW COMMON_XLAT_END-$ ;; length of Common Tranlate Section
DW -1 ;; code page
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; CODE PAGE: Common
;; STATE: Lower Shift Dead Key
;; KEYBOARD: All
;; TABLE TYPE: Set Dead Key Flag
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
DW COM_DE_LO_END-$ ;;
;; label format:
;; codepage_state_n_END
;; codepage = COMmon
;; codepage1,
;; codepage2.
;; state refers to
;; alpha, case, and dead:
;; DE_LO: DEAD_LOWER
;; DE_UP: DEAD_UPPER
;; DE_TH: DEAD_THIRD
;; AL_LO: ALPHA_LOWER
;; AL_UP: ALPHA_UPPER
;; NA_LO: NON_ALPHA_LOWER
;; NA_UP: NON_ALPHA_UPPER
;; NA_TH: THIRD_SHIFT
;; AC_LO: ACUTE_LOWER
;; AC_UP: ACUTE_UPPER
;; AC_SP: ACUTE_SPACE
;; AC_AC: ACUTE_ACUTE
;; GR_LO: GRAVE_LOWER
;; GR_UP: GRAVE_UPPER
;; GR_SP: GRAVE_SPACE
;; GR_GR: GRAVE_GRAVE
;; DI_LO: DIARESIS_LOWER
;; DI_UP: DIARESIS_UPPER
;; DI_SP: DIARESIS_SPACE
;; DI_DI: DIARESIS_DIARESIS
;; CI_LO: CIRCUMFLEX_LOWER
;; CI_UP: CIRCUMFLEX_UPPER
;; CI_SP: CIRCUMFLEX_SPACE
;; CI_CI: CIRCUMFLEX_CIRCUMFLEX
;; CE_LO: CEDILLA_LOWER
;; CE_UP: CEDILLA_UPPER
;; CE_SP: CEDILLA_SPACE
;; CE_CE: CEDILLA_CEDILLA
;;
;; n = 1,2,... to distinguish
;; for different KB
DB DEAD_LOWER ;;
DW ANY_KB ;;
DB -1,-1 ;; Buffer entry for error character
;; Set Flag Table
DW 3 ;; number of dead keys
DB 40 ;; scan code
FLAG GRAVE ;; flag bit assignment
DB 26 ;;
FLAG CIRCUMFLEX ;;
DB 27 ;;
FLAG CEDILLA ;;
COM_DE_LO_END: ;;
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; CODE PAGE: Common
;; STATE: Upper Shift Dead Key
;; KEYBOARD: ALL
;; TABLE TYPE: Set Dead Key Flag
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
DW COM_DE_UP_END-$ ;;
DB DEAD_UPPER ;;
DW ANY_KB ;;
DB -1,-1 ;; Buffer entry for error character
;; Set Flag Table
DW 3 ;; number of dead keys
DB 40 ;; scan code
FLAG GRAVE ;; flag bit assignment
DB 26 ;;
FLAG CIRCUMFLEX ;;
DB 27 ;;
FLAG DIARESIS ;;
COM_DE_UP_END: ;;
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; CODE PAGE: Common
;; STATE: Third Shift Dead Key
;; KEYBOARD: All
;; TABLE TYPE: Set Dead Key Flag
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
DW COM_DE_TH_END-$ ;;
DB DEAD_THIRD ;;
DW ANY_KB ;;
DB -1,-1 ;; Buffer entry for error character
;; Set Flag Table
DW 1 ;; number of dead keys
DB 53 ;; scan code
FLAG ACUTE ;; flag bit assignment
COM_DE_TH_END: ;;
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; CODE PAGE: Common
;; STATE: Alpha Lower Case
;; KEYBOARD: All
;; TABLE TYPE: Translate
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
DW COM_AL_LO_END-$ ;; Length of state section
DB ALPHA_LOWER ;; State ID
DW ANY_KB ;; Keyboard Type
DB -1,-1 ;; Buffer entry for error character
;; Set Flag Table
DW CF_000400-$ ;; Size of xlat table
DB STANDARD_TABLE ;; xlat options:
DB 1 ;; number of scans
DB 53,'‚' ;;
CF_000400: ;;
;;
DW 0 ;; Size of xlat table - null table
;;
COM_AL_LO_END: ;;
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; CODE PAGE: Common
;; STATE: Alpha Upper Case
;; KEYBOARD: All
;; TABLE TYPE: Translate
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
DW COM_AL_UP_END-$ ;;
DB ALPHA_UPPER ;;
DW ANY_KB ;;
DB -1,-1 ;; Buffer entry for error character
;; Set Flag Table
DW CF_002400-$ ;; Size of xlat table
DB STANDARD_TABLE ;; xlat options:
DB 1 ;; number of scans
DB 53,'�' ;;
CF_002400: ;;
;;
DW 0 ;; Size of xlat table - null table
;;
COM_AL_UP_END: ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; CODE PAGE: Common
;; STATE: Non-alpha lower Case
;; KEYBOARD: G_KB, P_KB, P12_KB
;; TABLE TYPE: Translate
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
DW COM_NA_LO_1_END-$ ;; Length of state section
DB NON_ALPHA_LOWER ;;
DW G_KB+P_KB+P12_KB ;;
DB -1,-1 ;; Buffer entry for error character
;; Set Flag Table
DW CF_004300-$ ;; Size of xlat table
DB STANDARD_TABLE ;; xlat options:
DB 3 ;; number of scans
DB 41,'#' ;;
DB 43,'<' ;;
DB 86,'®' ;;
CF_004300: ;;
;;
DW 0 ;; Size of xlat table - null table
;;
COM_NA_LO_1_END: ;;
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; CODE PAGE: Common
;; STATE: Non-alpha lower Case
;; KEYBOARD: XT_KB, AT_KB
;; TABLE TYPE: Translate
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
DW COM_NA_LO_2_END-$ ;; Length of state section
DB NON_ALPHA_LOWER ;;
DW XT_KB+AT_KB ;;
DB -1,-1 ;; Buffer entry for error character
;; Set Flag Table
DW CF_004400-$ ;; Size of xlat table
DB STANDARD_TABLE ;; xlat options:
DB 2 ;; number of scans
DB 41,'<' ;;
DB 43,'\' ;;
CF_004400: ;;
;;
DW 0 ;; Size of xlat table : null
;;
COM_NA_LO_2_END: ;;
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; CODE PAGE: Common
;; STATE: Non-alpha lower Case
;; KEYBOARD: JR_KB
;; TABLE TYPE: Translate
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
DW COM_NA_LO_3_END-$ ;; Length of state section
DB NON_ALPHA_LOWER ;;
DW JR_KB ;;
DB -1,-1 ;; Buffer entry for error character
;; Set Flag Table
DW CF_004401-$ ;; Size of xlat table
DB STANDARD_TABLE ;; xlat options:
DB 1 ;; number of scans
DB 51,',' ;;
CF_004401: ;;
;;
DW 0 ;; Size of xlat table : null
;;
COM_NA_LO_3_END: ;;
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; CODE PAGE: Common
;; STATE: Non-alpha Upper Case
;; KEYBOARD: G_KB, P_KB, P12_KB
;; TABLE TYPE: Translate
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
DW COM_NA_UP_1_END-$ ;; Length of state section
DB NON_ALPHA_UPPER ;;
DW G_KB+P_KB+P12_KB ;;
DB -1,-1 ;; Buffer entry for error character
;; Set Flag Table
DW CF_005300-$ ;; Size of xlat table
DB STANDARD_TABLE ;; xlat options:
DB 8 ;; number of scans
DB 3,'"' ;;
DB 4,'/' ;;
DB 7,'?' ;;
DB 41,'|' ;;
DB 43,'>' ;;
DB 51,27H ;; single quote
DB 52,'.' ;;
DB 86,'¯' ;;
CF_005300: ;;
;;
DW 0 ;; Size of xlat table - null table
;;
COM_NA_UP_1_END: ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; CODE PAGE: Common
;; STATE: Non-alpha Upper Case
;; KEYBOARD: XT_KB+AT_KB
;; TABLE TYPE: Translate
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
DW COM_NA_UP_2_END-$ ;; Length of state section
DB NON_ALPHA_UPPER ;;
DW XT_KB+AT_KB ;;
DB -1,-1 ;; Buffer entry for error character
;; Set Flag Table
DW CF_005400-$ ;; Size of xlat table
DB STANDARD_TABLE ;; xlat options:
DB 7 ;; number of scans
DB 3,'"' ;;
DB 4,'/' ;;
DB 7,'?' ;;
DB 41,'>' ;;
DB 43,'|' ;;
DB 51,27H ;; single quote
DB 52,'.' ;; period
CF_005400: ;;
;;
DW 0 ;; Size of xlat table : null
;;
COM_NA_UP_2_END: ;;
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; CODE PAGE: Common
;; STATE: Non-alpha Upper Case
;; KEYBOARD: JR_KB
;; TABLE TYPE: Translate
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
DW COM_NA_UP_3_END-$ ;; Length of state section
DB NON_ALPHA_UPPER ;;
DW JR_KB ;;
DB -1,-1 ;; Buffer entry for error character
;; Set Flag Table
DW CF_005100-$ ;; Size of xlat table
DB STANDARD_TABLE ;; xlat options:
DB 5 ;;
DB 3,'"' ;;
DB 4,'/' ;;
DB 7,'?' ;;
DB 51,27H ;; single quote
DB 52,02EH ;; period
CF_005100: ;;
;;
DW 0 ;; Size of xlat table : null
;;
;;
COM_NA_UP_3_END: ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; CODE PAGE: Common
;; STATE: Non-alpha Third Case
;; KEYBOARD: G_KB, P_KB, P12_KB
;; TABLE TYPE: Translate
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
DW COM_NA_TH_1_END-$ ;; Length of state section
DB THIRD_SHIFT ;;
DW G_KB+P_KB+P12_KB ;;
DB -1,-1 ;; Buffer entry for error character
;; Set Flag Table
DW CF_007760-$ ;; Size of xlat table
DB STANDARD_TABLE ;; xlat options:
DB 15 ;; number of entries
DB 2,'ñ' ;;
DB 3,'@' ;;
DB 4,'œ' ;;
DB 7,'ª' ;;
DB 9,'ý' ;;
DB 11,'¬' ;;
DB 12,'«' ;;
DB 26,'[' ;;
DB 27,']' ;;
DB 39,'~' ;;
DB 40,'{' ;;
DB 41,'\' ;;
DB 43,'}' ;;
; these are not supported in Enhanced keyboard (p12).
; DB 47,'®' ;;
; DB 48,'¯' ;;
; DB 49,'ø' ;;
DB 50,'æ' ;;
DB 86,'ø' ;;
CF_007760: ;;
;;
DW 0 ;; Size of xlat table - null table
;;
COM_NA_TH_1_END: ;;
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; CODE PAGE: Common
;; STATE: Non-alpha Third Case
;; KEYBOARD: XT_KB
;; TABLE TYPE: Translate
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
DW COM_NA_TH_2_END-$ ;; Length of state section
DB THIRD_SHIFT ;;
DW XT_KB ;;
DB -1,-1 ;; Buffer entry for error character
;; Set Flag Table
DW CF_006500-$ ;; Size of xlat table
DB STANDARD_TABLE ;; xlat options:
DB 17 ;; number of scans
DB 2,'ñ' ;;
DB 3,'@' ;;
DB 4,'œ' ;;
DB 7,'ª' ;;
DB 9,'ý' ;;
DB 11,'¬' ;;
DB 12,'«' ;;
DB 26,'[' ;;
DB 27,']' ;;
DB 39,'~' ;;
DB 40,'{' ;;
DB 41,'}' ;;
DB 43,'#' ;;
DB 47,'®' ;;
DB 48,'¯' ;;
DB 49,'ø' ;;
DB 50,'æ' ;;
CF_006500: ;;
;;
DW 0 ;; Size of xlat table - null table
;;
COM_NA_TH_2_END: ;;
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; CODE PAGE: Common
;; STATE: Non-alpha Third Case
;; KEYBOARD: AT_KB
;; TABLE TYPE: Translate
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
DW COM_NA_TH_3_END-$ ;; Length of state section
DB THIRD_SHIFT ;;
DW AT_KB ;;
DB -1,-1 ;; Buffer entry for error character
;; Set Flag Table
DW CF_006300-$ ;; Size of xlat table
DB STANDARD_TABLE ;; xlat options:
DB 17 ;; number of scans
DB 2,'ñ' ;;
DB 3,'@' ;;
DB 4,'œ' ;;
DB 7,'ª' ;;
DB 9,'ý' ;;
DB 11,'¬' ;;
DB 12,'«' ;;
DB 26,'[' ;;
DB 27,']' ;;
DB 38,'~' ;;
DB 39,'{' ;;
DB 40,'}' ;;
DB 43,'#' ;;
DB 47,'®' ;;
DB 48,'¯' ;;
DB 49,'ø' ;;
DB 50,'æ' ;;
CF_006300: ;;
;;
DW 0 ;; Size of xlat table - null table
;;
COM_NA_TH_3_END: ;;
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; CODE PAGE: Common
;; STATE: Non-alpha Third Case
;; KEYBOARD: PCJR
;; TABLE TYPE: Translate
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
DW CF_COM_NA_TH_4_END-$ ;; Length of state section
DB THIRD_SHIFT ;;
DW JR_KB ;;
DB -1,-1 ;; Buffer entry for error character
;; Set Flag Table
DW CF_007100-$ ;; Size of xlat table
DB STANDARD_TABLE ;; xlat options:
DB 21 ;;
DB 2,'ñ' ;;
DB 3,'@' ;;
DB 4,'œ' ;;
DB 7,'ª' ;;
DB 9,'æ' ;;
DB 11,'ý' ;;
DB 16,'¬' ;;
DB 17,'«' ;;
DB 26,'[' ;;
DB 27,']' ;;
DB 30,'<' ;;
DB 31,'>' ;;
DB 38,'~' ;;
DB 39,'{' ;;
DB 40,'}' ;;
DB 44,'\' ;;
DB 45,'#' ;;
DB 46,'|' ;;
DB 47,'®' ;;
DB 48,'¯' ;;
DB 49,'ø' ;;
CF_007100: ;;
;;
DW 0 ;; Size of xlat table - null table
;;
CF_COM_NA_TH_4_END: ;;
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; CODE PAGE: Common
;; STATE: Acute Lower Case
;; KEYBOARD: All
;; TABLE TYPE: Translate
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
DW COM_AC_LO_END-$ ;; Length of state section
DB ACUTE_LOWER ;;
DW ANY_KB ;;
DB -1,-1 ;; Buffer entry for error character
;; Set Flag Table
DW CF_001100-$ ;; Size of xlat table
DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
DB 3 ;; number of scans
DB 18,'‚' ;;
DB 24,'¢' ;;
DB 22,'£' ;;
CF_001100: ;;
;;
DW 0 ;; Size of xlat table - null table
;;
COM_AC_LO_END: ;;
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; CODE PAGE: Common
;; STATE: Acute Upper Case
;; KEYBOARD: All
;; TABLE TYPE: Translate
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
DW COM_AC_UP_END-$ ;; Length of state section
DB ACUTE_UPPER ;;
DW ANY_KB ;;
DB -1,-1 ;; Buffer entry for error character
;; Set Flag Table
DW CF_003100-$ ;; Size of xlat table
DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
DB 1 ;; number of scans
DB 18,'�' ;;
CF_003100: ;;
;;
DW 0 ;; Size of xlat table - null table
;;
COM_AC_UP_END: ;;
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; CODE PAGE: Common
;; STATE: Grave Lower Case
;; KEYBOARD: All
;; TABLE TYPE: Translate
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
DW COM_GR_LO_END-$ ;; Length of state section
DB GRAVE_LOWER ;;
DW ANY_KB ;;
DB '`',0 ;; Buffer entry for error character
;; Set Flag Table
DW CF_001200-$ ;; Size of xlat table
DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
DB 3 ;; number of scans
DB 30,'…' ;;
DB 18,'Š' ;;
DB 22,'—' ;;
CF_001200: ;;
;;
DW 0 ;; Size of xlat table - null table
;;
COM_GR_LO_END: ;;
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; CODE PAGE: Common
;; STATE: Grave + Space Bar
;; KEYBOARD: All
;; TABLE TYPE: Translate
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
DW COM_GR_SP_END-$ ;; Length of state section
DB GRAVE_SPACE ;;
DW ANY_KB ;;
DB '`',0 ;; Buffer entry for error character
;; Set Flag Table
DW CF_004500-$ ;; Size of xlat table
DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
DB 1 ;; number of scans
DB 57,'`' ;;
CF_004500: ;;
;;
DW 0 ;; Size of xlat table - null table
;;
COM_GR_SP_END: ;;
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; CODE PAGE: Common
;; STATE: Grave + Grave
;; KEYBOARD: All
;; TABLE TYPE: Translate
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
DW COM_GR_GR_END-$ ;; Length of state section
DB GRAVE_GRAVE ;;
DW ANY_KB ;;
DB '`',0 ;; Buffer entry for error character
;; Set Flag Table
DW CF_004501-$ ;; Size of xlat table
DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
DB 1 ;; number of scans
DB 40,'`' ;;
CF_004501: ;;
;;
DW 0 ;; Size of xlat table - null table
;;
COM_GR_GR_END: ;;
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; CODE PAGE: Common
;; STATE: Diaresis Lower Case
;; KEYBOARD: All
;; TABLE TYPE: Translate
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
DW COM_DI_LO_END-$ ;; Length of state section
DB DIARESIS_LOWER ;;
DW ANY_KB ;;
DB -1,-1 ;; Buffer entry for error character
;; Set Flag Table
DW CF_001400-$ ;; Size of xlat table
DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
DB 3 ;; number of scans
DB 18,'‰' ;;
DB 23,'‹' ;;
DB 22,'�' ;;
CF_001400: ;;
;;
DW 0 ;; Size of xlat table - null table
;;
COM_DI_LO_END: ;;
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; CODE PAGE: Common
;; STATE: Circumflex Lower Case
;; KEYBOARD: All
;; TABLE TYPE: Translate
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
DW COM_CI_LO_END-$ ;; Length of state section
DB CIRCUMFLEX_LOWER ;;
DW ANY_KB ;;
DB '^',0 ;; Buffer entry for error character
;; Set Flag Table
DW CF_001300-$ ;; Size of xlat table
DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
DB 5 ;; number of scans
DB 30,'ƒ' ;;
DB 18,'ˆ' ;;
DB 23,'Œ' ;;
DB 24,'“' ;;
DB 22,'–' ;;
CF_001300: ;;
;;
DW 0 ;; Size of xlat table - null table
;;
COM_CI_LO_END: ;;
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; CODE PAGE: Common
;; STATE: Circumflex + Space Bar
;; KEYBOARD: All
;; TABLE TYPE: Translate
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
DW COM_CI_SP_END-$ ;; Length of state section
DB CIRCUMFLEX_SPACE ;;
DW ANY_KB ;;
DB '^',0 ;; Buffer entry for error character
;; Set Flag Table
DW CF_004555-$ ;; Size of xlat table
DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
DB 1 ;; number of scans
DB 57,'^' ;;
CF_004555: ;;
;;
DW 0 ;; Size of xlat table - null table
;;
COM_CI_SP_END: ;;
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; CODE PAGE: Common
;; STATE: Circumflex + Circumflex
;; KEYBOARD: All
;; TABLE TYPE: Translate
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
DW COM_CI_CI_END-$ ;; Length of state section
DB CIRCUMFLEX_CIRCUMFLEX ;;
DW ANY_KB ;;
DB '^',0 ;; Buffer entry for error character
;; Set Flag Table
DW CF_004551-$ ;; Size of xlat table
DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
DB 1 ;; number of scans
DB 26,'^' ;;
CF_004551: ;;
;;
DW 0 ;; Size of xlat table - null table
;;
COM_CI_CI_END: ;;
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; CODE PAGE: Common
;; STATE: Diaresis Upper Case
;; KEYBOARD: All
;; TABLE TYPE: Translate
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
DW COM_DI_UP_END-$ ;; Length of state section
DB DIARESIS_UPPER ;;
DW ANY_KB ;;
DB -1,-1 ;; Buffer entry for error character
;; Set Flag Table
DW CF_003300-$ ;; Size of xlat table
DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
DB 1 ;; number of scans
DB 22,'š' ;;
CF_003300: ;;
;;
DW 0 ;; Size of xlat table - null table
;;
COM_DI_UP_END: ;;
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; CODE PAGE: Common
;; STATE: Cedilla Lower Case
;; KEYBOARD: All
;; TABLE TYPE: Translate
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
DW COM_CE_LO_END-$ ;; Length of state section
DB CEDILLA_LOWER ;;
DW ANY_KB ;;
DB -1,-1 ;; Buffer entry for error character
;; Set Flag Table
DW CF_001500-$ ;; Size of xlat table
DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
DB 1 ;; number of scans
DB 46,'‡' ;;
CF_001500: ;;
;;
DW 0 ;; Size of xlat table - null table
;;
COM_CE_LO_END: ;;
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; CODE PAGE: Common
;; STATE: Cedilla Upper Case
;; KEYBOARD: All
;; TABLE TYPE: Translate
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
DW COM_CE_UP_END-$ ;; Length of state section
DB CEDILLA_UPPER ;;
DW ANY_KB ;;
DB -1,-1 ;; Buffer entry for error character
;; Set Flag Table
DW CF_003400-$ ;; Size of xlat table
DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
DB 1 ;; number of scans
DB 46,'€' ;;
CF_003400: ;;
;;
DW 0 ;; Size of xlat table - null table
;;
COM_CE_UP_END: ;;
;;
DW 0 ;; Last State
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
COMMON_XLAT_END: ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;***************************************
;; CF 863 Translate Section
;; This section contains translations for the UPPER 128 characters
;; of Code Page 863.
;;***************************************
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
PUBLIC CF_863_XLAT ;;
CF_863_XLAT: ;;
;;
DW CP863_XLAT_END-$ ;; length of 863 Tranlate Section
DW 863 ;; code page id
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; CODE PAGE: 863
;; STATE: Non-alpha Third Case
;; KEYBOARD: G_B, P_KB, P12_KB
;; XT_KB, AT_KB
;; TABLE TYPE: Translate
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
DW CP863_NA_TH_1_END-$ ;; Length of state section
DB THIRD_SHIFT ;;
DW G_KB+P_KB+P12_KB+XT_KB+AT_KB ;;
DB -1,-1 ;; Buffer entry for error character
;; Set Flag Table
DW CF_106300-$ ;; Size of xlat table
DB STANDARD_TABLE ;; xlat options:
DB 8 ;; number of scan
DB 5,'›' ;;
DB 6,98H ;; international currency symbol
DB 8,0A0H ;; vertical line broken
DB 10,0A6H ;; superscript 3
DB 13,0ADH ;; 3 quarters
DB 24,08FH ;; section
DB 25,086H ;; paragraph
DB 51,0A7H ;; overscore
CF_106300: ;;
;;
DW 0 ;; Size of xlat table - null table
;;
CP863_NA_TH_1_END: ;; Length of state section
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; CODE PAGE: 863
;; STATE: Non-alpha Third Case
;; KEYBOARD: JR_KB
;; TABLE TYPE: Translate
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
DW CP863_NA_TH_2_END-$ ;; Length of state section
DB THIRD_SHIFT ;;
DW JR_KB ;;
DB -1,-1 ;; Buffer entry for error character
;; Set Flag Table
DW CF_106600-$ ;; Size of xlat table
DB STANDARD_TABLE ;; xlat options:
DB 8 ;; number of scan
DB 5,'›' ;;
DB 6,98H ;; international currency symbol
DB 8,0A0H ;; vertical line broken
DB 12,0A6H ;; superscript 3
DB 18,0ADH ;; 3 quarters
DB 24,08FH ;; section
DB 25,086H ;; paragraph
DB 51,0A7H ;; overscore
CF_106600: ;;
;;
DW 0 ;; Size of xlat table - null table
;;
CP863_NA_TH_2_END: ;;
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; CODE PAGE: 863
;; STATE: Acute INPUT: Space Bar
;; KEYBOARD: All
;; TABLE TYPE: Translate
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
DW CP863_AC_SP_END-$ ;; Length of state section
DB ACUTE_SPACE ;;
DW ANY_KB ;;
DB 0A1H,0 ;; Buffer entry for error character
;; Set Flag Table
DW CF_104500-$ ;; Size of xlat table
DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
DB 1 ;; number of scans
DB 57,0A1H ;; acute
CF_104500: ;;
;;
DW 0 ;; Size of xlat table - null table
;;
CP863_AC_SP_END: ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; CODE PAGE: 863
;; STATE: Acute INPUT: Acute
;; KEYBOARD: All
;; TABLE TYPE: Translate
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
DW CP863_AC_AC_END-$ ;; Length of state section
DB ACUTE_ACUTE ;;
DW ANY_KB ;;
DB 0A1H,0 ;; Buffer entry for error character
;; Set Flag Table
DW CF_104505-$ ;; Size of xlat table
DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
DB 1 ;; number of scans
DB 53,0A1H ;; acute
CF_104505: ;;
;;
DW 0 ;; Size of xlat table - null table
;;
CP863_AC_AC_END: ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; CODE PAGE: 863
;; STATE: Grave Upper Case
;; KEYBOARD: All
;; TABLE TYPE: Translate
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
DW CP863_GR_UP_END-$ ;; Length of state section
DB GRAVE_UPPER ;;
DW ANY_KB ;;
DB -1,-1 ;; Buffer entry for error character
;; Set Flag Table
DW CF_104700-$ ;; Size of xlat table
DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
DB 3 ;; number of scans
DB 30,8EH ;; A grave
DB 18,91H ;; E grave
DB 22,9DH ;; U grave
CF_104700: ;;
;;
DW 0 ;; Size of xlat table - null table
;;
CP863_GR_UP_END: ;;
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; CODE PAGE: 863
;; STATE: Diaresis Upper Case
;; KEYBOARD: All
;; TABLE TYPE: Translate
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
DW CP863_DI_UP_END-$ ;; Length of state section
DB DIARESIS_UPPER ;;
DW ANY_KB ;;
DB 0A4H,0 ;; Buffer entry for error character
;; Set Flag Table
DW CF_104800-$ ;; Size of xlat table
DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
DB 2 ;; number of scans
DB 18,94H ;; E diaeresis
DB 23,95H ;; I diaeresis
CF_104800: ;;
;;
DW 0 ;; Size of xlat table - null table
;;
CP863_DI_UP_END: ;;
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; CODE PAGE: 863
;; STATE: Diaresis INPUT: Space Bar
;; KEYBOARD: All
;; TABLE TYPE: Translate
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
DW CP863_DI_SP_END-$ ;; Length of state section
DB DIARESIS_SPACE ;;
DW ANY_KB ;;
DB 0A4H,0 ;; Buffer entry for error character
;; Set Flag Table
DW CF_104550-$ ;; Size of xlat table
DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
DB 1 ;; number of scans
DB 57,0A4H ;; diaeresis
CF_104550: ;;
;;
DW 0 ;; Size of xlat table - null table
;;
CP863_DI_SP_END: ;;
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; CODE PAGE: 863
;; STATE: Diaresis INPUT: Diaresis
;; KEYBOARD: All
;; TABLE TYPE: Translate
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
DW CP863_DI_DI_END-$ ;; Length of state section
DB DIARESIS_DIARESIS ;;
DW ANY_KB ;;
DB 0A4H,0 ;; Buffer entry for error character
;; Set Flag Table
DW CF_104551-$ ;; Size of xlat table
DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
DB 1 ;; number of scans
DB 27,0A4H ;; diaeresis
CF_104551: ;;
;;
DW 0 ;; Size of xlat table - null table
;;
CP863_DI_DI_END: ;;
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; CODE PAGE: 863
;; STATE: Circumflex Upper Case
;; KEYBOARD: All
;; TABLE TYPE: Translate
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
DW CP863_CI_UP_END-$ ;; Length of state section
DB CIRCUMFLEX_UPPER ;;
DW ANY_KB ;;
DB -1,-1 ;; Buffer entry for error character
;; Set Flag Table
DW CF_104750-$ ;; Size of xlat table
DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
DB 5 ;; number of scans
DB 30,84H ;; A circumflex
DB 18,92H ;; E circumflex
DB 23,0A8H ;; I circumflex
DB 24,99H ;; O circumflex
DB 22,9EH ;; U circumflex
CF_104750: ;;
;;
DW 0 ;; Size of xlat table - null table
;;
CP863_CI_UP_END: ;;
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; CODE PAGE: 863
;; STATE: Cedilla INPUT: Space Bar
;; KEYBOARD: All
;; TABLE TYPE: Translate
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
DW CP863_CE_SP_END-$ ;; Length of state section
DB CEDILLA_SPACE ;;
DW ANY_KB ;;
DB 0A5H,0 ;; Buffer entry for error character
;; Set Flag Table
DW CF_104600-$ ;; Size of xlat table
DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
DB 1 ;; number of scans
DB 57,0A5H ;; cedilla
CF_104600: ;;
;;
DW 0 ;; Size of xlat table - null table
;;
CP863_CE_SP_END: ;;
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; CODE PAGE: 863
;; STATE: Cedilla INPUT: Cedilla
;; KEYBOARD: All
;; TABLE TYPE: Translate
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
DW CP863_CE_CE_END-$ ;; Length of state section
DB CEDILLA_CEDILLA ;;
DW ANY_KB ;;
DB 0A5H,0 ;; Buffer entry for error character
;; Set Flag Table
DW CF_104601-$ ;; Size of xlat table
DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
DB 1 ;; number of scans
DB 27,0A5H ;; cedilla
CF_104601: ;;
;;
DW 0 ;; Size of xlat table - null table
;;
CP863_CE_CE_END: ;;
;;
;;
DW 0 ;; Last State
CP863_XLAT_END: ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;***************************************
;; CF 850 Translate Section
;; This section contains translations for the UPPER 128 characters
;; of Code Page 850.
;;***************************************
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
PUBLIC CF_850_XLAT ;;
CF_850_XLAT: ;;
;;
DW CP850_XLAT_END-$ ;; length of 850 Tranlate Section
DW 850 ;; code page id
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; CODE PAGE: 850
;; STATE: Non-alpha Third Case
;; KEYBOARD: G_KB, P_KB, P12_KB
;; XT_KB, AT_KB
;; TABLE TYPE: Translate
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
DW CP850_NA_TH_1_END-$ ;; Length of state section
DB THIRD_SHIFT ;;
DW G_KB+P_KB+P12_KB+XT_KB+AT_KB ;;
DB -1,-1 ;; Buffer entry for error character
;; Set Flag Table
DW CF_206300-$ ;; Size of xlat table
DB STANDARD_TABLE ;; xlat options:
DB 8 ;; number of scan
DB 5,0BDH ;; cent
DB 6,0CFH ;; international currency symbol
DB 8,0DDH ;; vertical line broken
DB 10,0FCH ;; superscript 3
DB 13,0F3H ;; 3 quarters
DB 24,0F5H ;; section
DB 25,0F4H ;; paragraph
DB 51,0EEH ;; overscore
CF_206300: ;;
;;
DW 0 ;; Size of xlat table - null table
;;
CP850_NA_TH_1_END: ;; Length of state section
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; CODE PAGE: 850
;; STATE: Non-alpha Third Case
;; KEYBOARD: JR_KB
;; TABLE TYPE: Translate
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
DW CP850_NA_TH_2_END-$ ;; Length of state section
DB THIRD_SHIFT ;;
DW JR_KB ;;
DB -1,-1 ;; Buffer entry for error character
;; Set Flag Table
DW CF_206600-$ ;; Size of xlat table
DB STANDARD_TABLE ;; xlat options:
DB 8 ;; number of scan
DB 5,0BDH ;; cent
DB 6,0CFH ;; international currency symbol
DB 8,0DDH ;; vertical line broken
DB 12,0FCH ;; superscript 3
DB 18,0F3H ;; 3 quarters
DB 24,0F5H ;; section
DB 25,0F4H ;; paragraph
DB 51,0EEH ;; overscore
CF_206600: ;;
;;
DW 0 ;; Size of xlat table - null table
;;
CP850_NA_TH_2_END: ;;
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; CODE PAGE: 850
;; STATE: Acute Lower Case
;; KEYBOARD: All
;; TABLE TYPE: Translate
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
DW CP850_AC_LO_END-$ ;; Length of state section
DB ACUTE_LOWER ;;
DW ANY_KB ;;
DB 0EFH,0 ;; Buffer entry for error character
;; Set Flag Table
DW CF_201100-$ ;; Size of xlat table
DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
DB 3 ;; number of scans
DB 30,' ' ;;
DB 23,'¡' ;;
DB 21,0ECH ;; y acute
CF_201100: ;;
;;
DW 0 ;; Size of xlat table - null table
;;
CP850_AC_LO_END: ;;
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; CODE PAGE: 850
;; STATE: Acute Upper Case
;; KEYBOARD: All
;; TABLE TYPE: Translate
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
DW CP850_AC_UP_END-$ ;; Length of state section
DB ACUTE_UPPER ;;
DW ANY_KB ;;
DB 0EFH,0 ;; Buffer entry for error character
;; Set Flag Table
DW CF_203100-$ ;; Size of xlat table
DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
DB 5 ;; number of scans
DB 30,0B5H ;; A acute
DB 23,0D6H ;; I acute
DB 24,0E0H ;; O acute
DB 22,0E9H ;; U acute
DB 21,0EDH ;; Y acute
CF_203100: ;;
;;
DW 0 ;; Size of xlat table - null table
;;
CP850_AC_UP_END: ;;
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; CODE PAGE: 850
;; STATE: Acute INPUT: Space Bar
;; KEYBOARD: All
;; TABLE TYPE: Translate
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
DW CP850_AC_SP_END-$ ;; Length of state section
DB ACUTE_SPACE ;;
DW ANY_KB ;;
DB 0EFH,0 ;; Buffer entry for error character
;; Set Flag Table
DW CF_204500-$ ;; Size of xlat table
DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
DB 1 ;; number of scans
DB 57,0EFH ;; acute
CF_204500: ;;
;;
DW 0 ;; Size of xlat table - null table
;;
CP850_AC_SP_END: ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; CODE PAGE: 850
;; STATE: Acute INPUT: Acute
;; KEYBOARD: All
;; TABLE TYPE: Translate
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
DW CP850_AC_AC_END-$ ;; Length of state section
DB ACUTE_ACUTE ;;
DW ANY_KB ;;
DB 0EFH,0 ;; Buffer entry for error character
;; Set Flag Table
DW CF_204501-$ ;; Size of xlat table
DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
DB 1 ;; number of scans
DB 53,0EFH ;; acute
CF_204501: ;;
;;
DW 0 ;; Size of xlat table - null table
;;
CP850_AC_AC_END: ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; CODE PAGE: 850
;; STATE: Grave Lower Case
;; KEYBOARD: All
;; TABLE TYPE: Translate
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
DW CP850_GR_LO_END-$ ;; Length of state section
DB GRAVE_LOWER ;;
DW ANY_KB ;;
DB -1,-1 ;; Buffer entry for error character
;; Set Flag Table
DW CF_201200-$ ;; Size of xlat table
DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
DB 2 ;; number of scans
DB 23,'�' ;;
DB 24,'•' ;;
CF_201200: ;;
;;
DW 0 ;; Size of xlat table - null table
;;
CP850_GR_LO_END: ;;
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; CODE PAGE: 850
;; STATE: Grave Upper Case
;; KEYBOARD: All
;; TABLE TYPE: Translate
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
DW CP850_GR_UP_END-$ ;; Length of state section
DB GRAVE_UPPER ;;
DW ANY_KB ;;
DB -1,-1 ;; Buffer entry for error character
;; Set Flag Table
DW CF_203200-$ ;; 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
CF_203200: ;;
;;
DW 0 ;; Size of xlat table - null table
;;
CP850_GR_UP_END: ;;
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; CODE PAGE: 850
;; STATE: Diaresis Lower Case
;; KEYBOARD: All
;; TABLE TYPE: Translate
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
DW CP850_DI_LO_END-$ ;; Length of state section
DB DIARESIS_LOWER ;;
DW ANY_KB ;;
DB 0F9H,0 ;; Buffer entry for error character
;; Set Flag Table
DW CF_201400-$ ;; Size of xlat table
DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
DB 3 ;; number of scans
DB 30,'„' ;;
DB 24,'”' ;;
DB 21,'˜' ;;
CF_201400: ;;
;;
DW 0 ;; Size of xlat table - null table
;;
CP850_DI_LO_END: ;;
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; CODE PAGE: 850
;; STATE: Diaresis Upper Case
;; KEYBOARD: All
;; TABLE TYPE: Translate
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
DW CP850_DI_UP_END-$ ;; Length of state section
DB DIARESIS_UPPER ;;
DW ANY_KB ;;
DB 0F9H,0 ;; Buffer entry for error character
;; Set Flag Table
DW CF_203400-$ ;; Size of xlat table
DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
DB 4 ;; number of scans
DB 30,'Ž' ;;
DB 18,0D3H ;; E diaeresis
DB 23,0D8H ;; I diaeresis
DB 24,'™' ;;
CF_203400: ;;
;;
DW 0 ;; Size of xlat table - null table
;;
CP850_DI_UP_END: ;;
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; CODE PAGE: 850
;; STATE: Diaresis INPUT: Space Bar
;; KEYBOARD: All
;; TABLE TYPE: Translate
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
DW CP850_DI_SP_END-$ ;; Length of state section
DB DIARESIS_SPACE ;;
DW ANY_KB ;;
DB 0F9H,0 ;; Buffer entry for error character
;; Set Flag Table
DW CF_204550-$ ;; Size of xlat table
DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
DB 1 ;; number of scans
DB 57,0F9H ;; diaeresis
CF_204550: ;;
;;
DW 0 ;; Size of xlat table - null table
;;
CP850_DI_SP_END: ;;
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; CODE PAGE: 850
;; STATE: Diaresis INPUT: Diaresis
;; KEYBOARD: All
;; TABLE TYPE: Translate
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
DW CP850_DI_DI_END-$ ;; Length of state section
DB DIARESIS_DIARESIS ;;
DW ANY_KB ;;
DB 0F9H,0 ;; Buffer entry for error character
;; Set Flag Table
DW CF_204551-$ ;; Size of xlat table
DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
DB 1 ;; number of scans
DB 27,0F9H ;; diaeresis
CF_204551: ;;
;;
DW 0 ;; Size of xlat table - null table
;;
CP850_DI_DI_END: ;;
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; CODE PAGE: 850
;; STATE: Circumflex Upper Case
;; KEYBOARD: All
;; TABLE TYPE: Translate
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
DW CP850_CI_UP_END-$ ;; Length of state section
DB CIRCUMFLEX_UPPER ;;
DW ANY_KB ;;
DB -1,-1 ;; Buffer entry for error character
;; Set Flag Table
DW CF_003305-$ ;; 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
CF_003305: ;;
;;
DW 0 ;; Size of xlat table - null table
;;
CP850_CI_UP_END: ;;
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; CODE PAGE: 850
;; STATE: Cedilla INPUT: Space Bar
;; KEYBOARD: All
;; TABLE TYPE: Translate
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
DW CP850_CE_SP_END-$ ;; Length of state section
DB CEDILLA_SPACE ;;
DW ANY_KB ;;
DB 0F7H,0 ;; Buffer entry for error character
;; Set Flag Table
DW CF_204600-$ ;; Size of xlat table
DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
DB 1 ;; number of scans
DB 57,0F7H ;; cedilla
CF_204600: ;;
;;
DW 0 ;; Size of xlat table - null table
;;
CP850_CE_SP_END: ;;
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; CODE PAGE: 850
;; STATE: Cedilla INPUT: Cedilla
;; KEYBOARD: All
;; TABLE TYPE: Translate
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
DW CP850_CE_CE_END-$ ;; Length of state section
DB CEDILLA_CEDILLA ;;
DW ANY_KB ;;
DB 0F7H,0 ;; Buffer entry for error character
;; Set Flag Table
DW CF_204601-$ ;; Size of xlat table
DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
DB 1 ;; number of scans
DB 27,0F7H ;; cedilla
CF_204601: ;;
;;
DW 0 ;; Size of xlat table - null table
;;
CP850_CE_CE_END: ;;
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
DW 0 ;; no more states
;;
CP850_XLAT_END: ;;
CODE ENDS
END