         PCC      0
************************************************************************
*
*
*M*      SAPL      SELECTRIC APL KEYBOARD TRANSLATION TABLE FOR COC HANDLER
*
*
************************************************************************
*P*  NAME:    SAPL
*P*  PURPOSE: PROVIDE INPUT AND OUTPUT TRANSLATION INFORMATION TO
*P*           THE COC HANDLER FOR SELECTRIC APL TERMINALS.
************************************************************************
*
         DEF      SAPL:             XDELTA/PATCHING SYMBOL
         DEF      SAPL              SELECTRIC APL OUTPUT TRANSLATE TABLE
         DEF      SAPLLC            SELECTRIC APL INPUT TRANSLATE TABLE FOR
*,*                                 LOWER CASE CHARACTERS
         DEF      SAPLUC            SELECTRIC APL INPUT TRANSLATE TABLE FOR
*,*                                 UPPER CASE CHARACTERS
         DEF      SAPLTX            DEF WHOSE VALUE IS NAME OF TABLE
SAPLTX   EQU      X'7FFFFFFF'||-(X'7FFFFFFF'&'SAPL'+1)
*
SAPL:    EQU      %
         TITLE    '2741 SELECTRIC APL INPUT TRANSLATION TABLE'
************************************************************************
*F*  NAME:    SAPLLC
*F*  PURPOSE: PROVIDE INPUT TRANSLATION INFORMATION TO THE COC HANDLER
*F*           FOR SELECTRIC APL LOWER CASE CHARACTERS.
*F*  DESCRIPTION:  SAPLLC, INDEXED BY A LOWER CASE SELECTRIC APL
*F*           CHARACTER, YIELDS THE CORRESPONDING EBCDIC CHARACTER.
************************************************************************
*
SAPLLC   EQU      %                 SELECTRIC APL LOWER CASE TO EBCDIC
*
*   0
         DATA     X'40FDE3D1'         SPACE ,BK ARROW,   'T'  ,   'J'
         TEXT     '4OL/'               '4'  ,   'O'  ,   'L'  ,   '/'
         DATA     X'F5B5C5D7'          '5'  ,BRACKET),   'E'  ,   'P'
         DATA     X'12030214'       PN-->DC2,RES->ETX,BY-->STX,PF-->DC4
*   1
         DATA     X'F24BD5FA'          '2'  ,   '.'  ,   'N'  ,MULTIPLY
         DATA     X'E9000000'          'Z'  , UNUSED , UNUSED , UNUSED
         TEXT     '6IKQ'               '6'  ,   'I'  ,   'K'  ,   'Q'
         DATA     X'00081700'       UC-->N/A,  'BS'  ,EOB->ETB,LC-->N/A
*   2
         TEXT     '1MXG'               '1'  ,   'M'  ,   'X'  ,   'G'
         TEXT     '0SHY'               '0'  ,   'S'  ,   'H'  ,   'Y'
         DATA     X'F7D9C4B4'          '7'  ,   'R'  ,   'D'  ,(BRACKET
         DATA     X'130D2005'       RS-->DC3,NL->'CR',LF->INDX,  'HT'
*   3
         TEXT     '3VUF'               '3'  ,   'V'  ,   'U'  ,   'F'
         TEXT     '9WB+'               '9'  ,   'W'  ,   'B'  ,   '+'
         TEXT     '8AC,'               '8'  ,   'A'  ,   'C'  ,   ','
         DATA     X'04160100'         'EOT' ,IL-->SYN,PRE->SOH,DEL->IGN
         PAGE
************************************************************************
*F*  NAME:    SAPLUC
*F*  PURPOSE: PROVIDE INPUT TRANSLATION INFORMATION TO THE COC HANDLER
*F*           FOR SELECTRIC APL UPPER CASE CHARACTERS.
*F*  DESCRIPTION:  SAPLUC, INDEXED BY AN UPPER CASE SELECTRIC APL
*F*           CHARACTER, YIELDS THE CORRESPONDING EBCDIC CHARACTER.
************************************************************************
*
SAPLUC   EQU      %                 SELECTRIC APL UPPER CASE TO EBCDIC
*
*   0
         DATA     X'40FC5F5A'         SPACE ,  ARROW ,  TILDE , DEGREE
         DATA     X'745653B1'         .LE.  ,CIRCULAR,  QUAD  ,BK SLASH
         DATA     X'7E5D455C'          '='  ,   ')'  , EPSILON,   '*'
         DATA     X'12030214'       PN-->DC2,RES->ETX,BY-->STX,PF-->DC4
*   1
         DATA     X'727A55FB'       OVERSCOR,   ':'  , ENCODE , DIVIDE
         DATA     X'4A000000'        SUBSET , UNUSED , UNUSED , UNUSED
         DATA     X'76497D6F'         .GE.  ,INDEX GEN,  '''  ,QUEST MK
         DATA     X'00081700'       UC-->N/A,  'BS'  ,EOB->ETB,LC-->N/A
*   2
         DATA     X'714F677F'       QUOTE MK, RESIDUE,SUPERSET,DN DELTA
         DATA     X'7062486A'         .AND. , MAXIMUM,  DELTA ,UP ARROW
         DATA     X'6E6C444D'          '>'  ,   RHO  , MINIMUM,   '('
         DATA     X'13152005'       RS-->DC3,  'NL'  ,LF->INDX,  'HT'
*   3
         DATA     X'4C5B646D'          '<'  ,  UNION ,DN ARROW,UNDRSCOR
         DATA     X'79664260'         .OR.  ,  OMEGA , DECODE ,   '-'
         DATA     X'7B7C505E'         .NE.  ,  ALPHA,INTERSECTION,';'
         DATA     X'04160100'         'EOT' ,IL-->SYN,PRE->SOH,DEL->IGN
         TITLE    '2741 SELECTRIC APL OUTPUT TRANSLATION TABLE'
************************************************************************
*F*  NAME:    SAPL
*F*  PURPOSE: PROVIDE OUTPUT TRANSLATION INFORMATION TO THE COC HANDLER
*F*           FOR SELECTRIC APL CHARACTERS.
*F*  DESCRIPTION:  SAPL, INDEXED BY AN EBCDIC CHARACTER, YIELDS 1 OF
*F*           THE FOLLOWING:
*F*           1   IF THE .80 BIT IS SET, A COC INTERNAL CONTROL CODE.
*F*           2   ELSE, IF THE .40 BIT IS SET, A SELECTRIC UPPER CASE
*F*               CHARACTER (AFTER STRIPPING THE .40 BIT).
*F*           3   ELSE, A SELECTRIC LOWER CASE CHARACTER.
************************************************************************
*
SAPL     EQU      %                 EBCDIC TO SELECTRIC APL KEYBOARD
*
*   0
         DATA     X'3D3E0E0D'       NUL-->IL,SOH->PRE,STX-->BY,ETX->RES
         DATA     X'EA813D3D'         'EOT' ,  'HT'  ,ACK-->IL,BEL-->IL
         DATA     X'8B3D3D3D'         'BS'  ,ENQ-->IL,NAK-->IL,VT--->IL
         DATA     X'80833D3D'         'FF'  ,CR->'NL',SO--->IL,SI--->IL
*   1
         DATA     X'3D3D4C2C'       DLE-->IL,DC1-->IL,DC2-->PN,DC3-->RS
         DATA     X'4F833D5E'       DC4-->PF,  'NL'  ,SYN-->IL,ETB->EOB
         DATA     X'3D3D8E3D'       CAN-->IL,EM--->IL,SUB->.NE.,ESC->IL
         DATA     X'3D3D3DE4'       FS--->IL,GS--->IL,RS--->IL,SP ATTN
*   2
         DATA     X'8D3D3D3D'       INDX->LF,FS--->IL,GS--->IL,RS--->IL
         DATA     X'3D3D0767'       US--->IL,   SYN  ,   '/'  ,UP ARROW
         DATA     X'482D3D5D'          '='  ,  'NL'  ,EOT->IL ,  'BS'
         DATA     X'492F6E78'          ')'  ,   'HT' ,   'LF' , BE->SUB
*   3
         DATA     X'8486853D'        F ATTN , BS ATTN, X ATTN ,  SYN
         DATA     X'D2C3CBD3'        U ATTN , ( ATTN , ) ATTN , T ATTN
         DATA     X'D53DD7D5'        S ATTN ,   SYN  , C ATTN , O ATTN
         DATA     X'3D3D8788'          SYN  ,   SYN  , R ATTN , N ATTN
         PAGE
*   4
         DATA     X'40787678'         SPACE ,   SUB  , DECODE ,   SUB
         DATA     X'6A4A7878'        MINIMUM, EPSILON,  SUB   ,  SUB
         DATA     X'66595411'         DELTA ,INDEX GEN,SUBSET ,   '.'
         DATA     X'706B3761'          '<'  ,   '('  ,   '+'  , RESIDUE
*   5
         DATA     X'7A787846'   INTERSECTION,   SUB  ,   SUB  ,  QUAD
         DATA     X'78524578'          SUB  , ENCODE ,CIRCULAR,   SUB
         DATA     X'78784371'          SUB  ,   SUB  , DEGREE ,  UNION
         DATA     X'4BAC7B42'          '*'  ,   ')'  ,   ';'  ,  TILDE
*   6
         DATA     X'77A66578'          '-'  ,   '/'  , MAXIMUM,   SUB
         DATA     X'72787562'       DN ARROW,   SUB  ,  OMEGA ,SUPERSET
         DATA     X'7878A73B'          SUB  ,   SUB  ,UP ARROW,   ','
         DATA     X'6973685B'          RHO  ,UNDRSCOR,   '>'  ,QUEST MK
*   7
         DATA     X'64605078'         .AND. ,QUOTE MK,OVERSCOR,   SUB
         DATA     X'44785878'         .LE.  ,   SUB  ,  .GE.  ,   SUB
         DATA     X'78745178'          SUB  ,  .OR.  ,   ':'  ,  .NE.
         DATA     X'795AA863'         ALPHA ,   '''  ,   '='  ,DN DELTA
*   8
         DATA     X'7839363A'          SUB  ,   'A'  ,   'B'  ,   'C'
         DATA     X'2A0A3323'          'D'  ,   'E'  ,   'F'  ,   'G'
         DATA     X'26197878'          'H'  ,   'I'  ,   SUB  ,   SUB
         DATA     X'78787878'          SUB  ,   SUB  ,   SUB  ,   SUB
*   9
         DATA     X'78031A06'          SUB  ,   'J'  ,   'K'  ,  'L'
         DATA     X'2112050B'          'M'  ,   'N'  ,   'O'  ,  'P'
         DATA     X'1B297878'          'Q'  ,   'R'  ,   SUB  ,  SUB
         DATA     X'78787878'          SUB  ,   SUB  ,   SUB  ,  SUB
         PAGE
*   A
         DATA     X'78782502'          SUB  ,   SUB  ,   'S'  ,  'T'
         DATA     X'32313522'          'U'  ,   'V'  ,   'W'  ,  'X'
         DATA     X'27147878'          'Y'  ,   'Z'  ,   SUB  ,  SUB
         DATA     X'78787878'          SUB  ,   SUB  ,   SUB  ,  SUB
*   B
         DATA     X'78476B49'          SUB  ,BK SLASH, (BRACE , BRACE)
         DATA     X'2B097878'       (BRACKET,BRACKET),   SUB  ,   SUB
         DATA     X'78787878'          SUB  ,   SUB  ,   SUB  ,   SUB
         DATA     X'7878EF78'          SUB  ,   SUB  ,LOSTDATA,   SUB
*   C
         DATA     X'4039363A'         SPACE ,   'A'  ,   'B'  ,   'C'
         DATA     X'2A0A3323'          'D'  ,   'E'  ,   'F'  ,   'G'
         DATA     X'26197878'          'H'  ,   'I'  ,   SUB  ,   SUB
         DATA     X'78787878'          SUB  ,   SUB  ,   SUB  ,   SUB
*   D
         DATA     X'78031A06'          SUB  ,   'J'  ,   'K'  ,  'L'
         DATA     X'2112050B'          'M'  ,   'N'  ,   'O'  ,  'P'
         DATA     X'1B297878'          'Q'  ,   'R'  ,   SUB  ,  SUB
         DATA     X'78787878'          SUB  ,   SUB  ,   SUB  ,  SUB
*   E
         DATA     X'77782502'          '-'  ,   SUB  ,   'S'  ,   'T'
         DATA     X'32313522'          'U'  ,   'V'  ,   'W'  ,  'X'
         DATA     X'27147878'          'Y'  ,   'Z'  ,   SUB  ,  SUB
         DATA     X'78787878'          SUB  ,   SUB  ,   SUB  ,  SUB
*   F
         DATA     X'24201030'          '0'  ,   '1'  ,   '2'  ,  '3'
         DATA     X'04081828'          '4'  ,   '5'  ,   '6'  ,  '7'
         DATA     X'38341353'          '8'  ,   '9'  ,MULTIPLY, DIVIDE
         DATA     X'4101787F'         ARROW ,BK ARROW,   SUB  , 'DEL'
         END

