*COMDECK COMACST
#     COMACST - COMMON BLOCK FOR CHARACTER CODE TRANSLATION. #
                                               CONTROL NOLIST;
                                               CONTROL IFEQ LISTCON,1;
                                               CONTROL LIST;
                                               CONTROL ENDIF; 
      DEF DLE   #X"800"#;         # DELETE THE CHARACTER #
      DEF ZBT   #X"801"#;         # CONVERT CHAR TO Z-BYTE #
      DEF CVT   #X"000"#;         # NORMAL CONVERSION # 
      DEF ZBT63 #X"802"#;         # CONVERT CHAR TO Z-BYTE C63 #
  
      DEF COL   #X"803"#;          # PROTECT 64 CHAR SET COLON #
      COMMON COMACST; 
      BEGIN  # COMMON BLOCK COMACST # 
  
  
# 
*  CSETS - A TABLE FOR MAPPING CHARACTERS FROM DISPLAY TO ASCII 
*          AND ASCII TO DISPLAY.  ONE HALF OF THE TABLE CONTAINS
*          ASCII CHARACTERS ORDERED BY THEIR DISPLAY CODE EQUIVAL-
*          ENTS.  THE OTHER HALF CONTAINS DISPLAY CODE CHARACTERS 
*          ORDERED BY THEIR ASCII EQUIVALENTS.  EACH CHARACTER
*          IS ACCOMPANIED BY A FLAG, ITEMS F6TOCN AND FNTOC6, WHICH 
*          DETERMINES THE ACTION TO BE TAKEN IN CONVERTING
*          THE INPUT CHARACTER TO ITS TABLE EQUIVALENT. 
# 
  
  
      ARRAY CSET1 [0:63] S(1);
        BEGIN 
  
        ITEM F6TOCN U(0,0,12) = 
          [ZBT, CVT, CVT, CVT, CVT, CVT, CVT, CVT,
           CVT, CVT, CVT, CVT, CVT, CVT, CVT, CVT,
           CVT, CVT, CVT, CVT, CVT, CVT, CVT, CVT,
           CVT, CVT, CVT, CVT, CVT, CVT, CVT, CVT,
           CVT, CVT, CVT, CVT, CVT, CVT, CVT, CVT,
           CVT, CVT, CVT, CVT, CVT, CVT, CVT, CVT,
           CVT, CVT, CVT, CVT, CVT, CVT, CVT, CVT,
           CVT, CVT, CVT, CVT, CVT, CVT, CVT, CVT,
           ]; 
        ITEM C6TOCN U(0,48,12) =
          [X"3A", X"41", X"42", X"43", X"44", X"45", X"46", X"47",
           X"48", X"49", X"4A", X"4B", X"4C", X"4D", X"4E", X"4F",
           X"50", X"51", X"52", X"53", X"54", X"55", X"56", X"57",
           X"58", X"59", X"5A", X"30", X"31", X"32", X"33", X"34",
           X"35", X"36", X"37", X"38", X"39", X"2B", X"2D", X"2A",
           X"2F", X"28", X"29", X"24", X"3D", X"20", X"2C", X"2E",
           X"23", X"5B", X"5D", X"25", X"22", X"5F", X"21", X"26",
           X"27", X"3F", X"3C", X"3E", X"40", X"5C", X"5E", X"3B",
           ]; 
        END  # ARRAY CSET1 #
      ARRAY CSET2 [0:127] S(1); 
        BEGIN 
        ITEM FNTOC6 U(0,00,12) =
          [DLE, DLE, DLE, DLE, DLE, DLE, DLE, DLE,
           DLE, DLE, DLE, DLE, DLE, DLE, DLE, DLE,
           DLE, DLE, DLE, DLE, DLE, DLE, DLE, DLE,
           DLE, DLE, DLE, DLE, DLE, DLE, DLE, ZBT,
           CVT, CVT, CVT, CVT, CVT, CVT, CVT, CVT,
           CVT, CVT, CVT, CVT, CVT, CVT, CVT, CVT,
           CVT, CVT, CVT, CVT, CVT, CVT, CVT, CVT,
           CVT, CVT, COL, CVT, CVT, CVT, CVT, CVT,
           CVT, CVT, CVT, CVT, CVT, CVT, CVT, CVT,
           CVT, CVT, CVT, CVT, CVT, CVT, CVT, CVT,
           CVT, CVT, CVT, CVT, CVT, CVT, CVT, CVT,
           CVT, CVT, CVT, CVT, CVT, CVT, CVT, CVT,
           CVT, CVT, CVT, CVT, CVT, CVT, CVT, CVT,
           CVT, CVT, CVT, CVT, CVT, CVT, CVT, CVT,
           CVT, CVT, CVT, CVT, CVT, CVT, CVT, CVT,
           CVT, CVT, CVT, CVT, CVT, CVT, CVT, CVT,
           ]; 
        ITEM CNTOC6 U(0,48,12) =
          [O"55", O"55", O"55", O"55", O"55", O"55", O"55", O"55",
           O"55", O"55", O"55", O"55", O"55", O"55", O"55", O"55",
           O"55", O"55", O"55", O"55", O"55", O"55", O"55", O"55",
           O"55", O"55", O"55", O"55", O"55", O"55", O"55",     0,
           O"55", O"66", O"64", O"60", O"53", O"63", O"67", O"70",
           O"51", O"52", O"47", O"45", O"56", O"46", O"57", O"50",
           O"33", O"34", O"35", O"36", O"37", O"40", O"41", O"42",
           O"43", O"44", O"00", O"77", O"72", O"54", O"73", O"71",
           O"74", O"01", O"02", O"03", O"04", O"05", O"06", O"07",
           O"10", O"11", O"12", O"13", O"14", O"15", O"16", O"17",
           O"20", O"21", O"22", O"23", O"24", O"25", O"26", O"27",
           O"30", O"31", O"32", O"61", O"75", O"62", O"76", O"65",
           O"74", O"01", O"02", O"03", O"04", O"05", O"06", O"07",
           O"10", O"11", O"12", O"13", O"14", O"15", O"16", O"17",
           O"20", O"21", O"22", O"23", O"24", O"25", O"26", O"27",
           O"30", O"31", O"32", O"61", O"75", O"62", O"76", O"65",
           ]; 
        END  # ARRAY CSET2 #
  
      END  # ... OF COMMON BLOCK COMACST #
                                               CONTROL LIST;
