home *** CD-ROM | disk | FTP | other *** search
/ Columbia Kermit / kermit.zip / ibmtsochicago / tsoeta.for < prev    next >
Internet Message Format  |  2020-01-01  |  21KB

  1. Date: Thu, 18 Jul 85 21:18:22 PDT
  2. From: VSS7853@UCLAVM
  3. To:   DFTCU@CUVMA
  4. Subject:  Tools for Ascii/Ebcdic conversion tables for TSO Kermit.
  5.  
  6.  Enclosed are three Fortran 77 programs I wrote as aids to installing
  7.  Kermit-TSO when non-standard TCAM tables are used by MVS to communicate
  8.  with Ascii terminals.
  9.  
  10.  The first two programs, ATOE.FOR and ETOA.FOR take the actual tables
  11.  used by TCAM, which are obtained from the communication's people at one's
  12.  installation, and generate assembler source code to replace the tables
  13.  in Kermit.  The third, TCAM.FOR, takes the output of the first two and
  14.  checks whether the ETOA table is indeed the inverse of the ATOE on the
  15.  printable subset as required for Kermit to operate.
  16.  
  17.  If the test fails, Kermit will not run with the existing TCAM tables.
  18.  I suspect, however, that so long as all of the Ascii printables map
  19.  to distinct Ebcdic representations, and so long as the range of the
  20.  Ebcdic-to-Ascii contains all the Ascii printables, that Kermit could
  21.  still be made to work by employing an ETOA which is the inverse of
  22.  TCAM's Ascii-to-Ebcdic, an ATOE which is the inverse of TCAM's
  23.  Ebcdic-to-Ascii, and an additional ETOA with range contained in the
  24.  printable subset (and null).  This would require a bit of analysis
  25.  and a modest amount of reprogramming on someone's part but it
  26.  might add to the number of mvs systems which support Kermit.
  27.  
  28.  The listings include actual output which includes an echo of the input.
  29.  The programs were developed on VAX but the language should be standard
  30.  77 except for the Z format extension.
  31.  
  32.  I hope this helps someone.
  33.  
  34.  sincerely -
  35.  
  36.  Glenn E. Thobe
  37.  EE dept. UCLA
  38.  iva3get.uclamvs (bitnet)
  39.  
  40. ===========================================================================
  41. *       atoe.for - convert TCAM ascii-to-ebcdic to Kermit format
  42.  
  43. *       Glenn E. Thobe/ 7 JUL 85
  44. *       6701 De Soto Av. #135/ Canoga Park, CA 91303
  45. *       IVA3GET@UCLAMVS  (BITNET)
  46.  
  47.         implicit integer(a - z)
  48.         integer tcam(0:255), atoe(0:127)
  49.         character*8 type(4)
  50.         data type /'even', 'odd', 'space', 'mark'/
  51.         read (9, 1000) tcam
  52. 1000    format (4(1x, 4z2.2))
  53.         write (*, 1000) tcam
  54.         write (10, 1000) tcam
  55.         do 200 j = 1, 4
  56.           do 100 i = 0, 127
  57.             inchar = i
  58.             call bitrev (inchar, otchar, type(j))
  59.             atoe(i) = tcam(otchar)
  60. 100       continue
  61.           write (10, *) ' parity:', type(j)
  62.           write (10, 2000) atoe
  63. 2000      format ('         DC        X''', 16z2.2, '''')
  64.           print *, ' parity:', type(j)
  65.           write (*, 2000) atoe
  66. 200     continue
  67.         end
  68.  
  69.         subroutine bitrev (inchar, otchar, type)
  70.         implicit integer(a - z)
  71.         character*(*) type
  72.         dimension bit(8)
  73.         data bit /1, 2, 4, 8, 16, 32, 64, 128/
  74.         otchar = 0
  75.         prty = 0
  76.         do 100 i = 1, 7
  77.           if (iand(inchar, bit(i)) .ne. 0) then
  78.             otchar = ior(otchar, bit(9 - i))
  79. *           /* generates even parity
  80.             prty = mod(prty + 1, 2)
  81.           endif
  82. 100     continue
  83.         if (type .eq. 'even') then
  84.           otchar = otchar + prty
  85.         elseif (type .eq. 'odd') then
  86.           otchar = otchar + 1 - prty
  87.         elseif (type .eq. 'space') then
  88.           otchar = otchar + 0
  89.         elseif (type .eq. 'mark') then
  90.           otchar = otchar + 1
  91.         else
  92.           stop ' *** error: unknown parity type'
  93.         endif
  94.         end
  95.  3F3F3F7C 3F403F3F 3F3FD7D7 F0F03F97    Ascii-to-ebcdic tables from TCAM.
  96.  6D6DC8C8 4D4D3F88 18183FE7 3FF8A73F    This is both input & output to ATOE.
  97.  3F37C4C4 5B5B3F84 04043FE3 3FF4A33F    WARNING: don't use these tables, they
  98.  0C0C3FD3 3F6B933F 3F3FCFE1 4C4C3F3F    are nonstandard and non-invertible and
  99.  3F3FC2C2 7F7F3F82 343F3FD9 3FF2993F    Kermit will not work with them.
  100.  15153FD1 3F5C913F 3F3FE9E9 7A7A3FA9
  101.  3F3F3FC6 3F50863F 3F3FE5E5 F6F63FA5
  102.  3F0ED5D5 4B4B3F95 3F3F3F4F 3F6E3F3F
  103.  3F3FC1C1 5A5A3F81 11113FD8 3FF1983F
  104.  05053FC9 3F5D893F 3F3FE8E8 F9F93FA8
  105.  2D2D3FC5 3F6C853F 3F3FE4E4 F5F53FA4
  106.  3F37D4D4 60603F94 3F3F3F49 3F7E3F3F
  107.  3F3F3FC3 3F7B833F 3F37E2E2 F3F33FA2
  108.  3F0BD2D2 4E4E3F92 3F3F3F79 3F5E3F3F
  109.  3F2FC7C7 7D7D3F87 3F3F3FE6 3FF7A63F
  110.  0F0F3FD6 3F61963F 3F3F6D6D 6F6F3F07
  111.   parity:even
  112.          DC        X'3F3F3F3F372D3F2F6D05150B0C370E0F'  Ascii-to-ebcdic table
  113.          DC        X'3F113437043F3F3F183F3F3F3F3F3F3F'  output by ATOE in
  114.          DC        X'405A7F7B5B6C507D4D5D5C4E6B604B61'  assembler source
  115.          DC        X'F0F1F2F3F4F5F6F7F8F97A5E4C7E6E6F'  language in each of
  116.          DC        X'7CC1C2C3C4C5C6C7C8C9D1D2D3D4D5D6'  four possible formats.
  117.          DC        X'D7D8D9E2E3E4E5E6E7E8E979CF494F6D'
  118.          DC        X'3F818283848586878889919293949596'
  119.          DC        X'979899A2A3A4A5A6A7A8A93F3F3F3F07'
  120.   parity:odd
  121.          DC        X'3F3F3F3F3F2D3F3F6D05153F0C3F3F0F'
  122.          DC        X'3F113F3F043F3F3F183F3F3F3F3F3F3F'
  123.          DC        X'3F5A7F3F5B3F3F7D4D3F3F4E3F604B3F'
  124.          DC        X'F03F3FF33FF5F63F3FF97A3F4C3F3F6F'
  125.          DC        X'3FC1C23FC43F3FC7C83F3FD23FD4D53F'
  126.          DC        X'D73F3FE23FE4E53F3FE8E93FE13F3F6D'
  127.          DC        X'3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F'
  128.          DC        X'3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F'
  129.   parity:space
  130.          DC        X'3F3F3F3F3F2D3F3F6D05153F0C3F3F0F'
  131.          DC        X'3F11343F043F3F3F183F3F3F3F3F3F3F'
  132.          DC        X'3F5A7F3F5B3F3F7D4D3F3F4E3F604B3F'
  133.          DC        X'F03F3FF33FF5F63F3FF97A3F4C3F3F6F'
  134.          DC        X'3FC1C23FC43F3FC7C83F3FD23FD4D53F'
  135.          DC        X'D73F3FE23FE4E53F3FE8E93FCF3F3F6D'
  136.          DC        X'3F3F3F833F85863F3F89913F933F3F96'
  137.          DC        X'3F98993FA33F3FA6A73F3F3F3F3F3F3F'
  138.   parity:mark
  139.          DC        X'3F3F3F3F372D3F2F6D05150B0C370E0F'
  140.          DC        X'3F113F37043F3F3F183F3F3F3F3F3F3F'
  141.          DC        X'405A7F7B5B6C507D4D5D5C4E6B604B61'
  142.          DC        X'F0F1F2F3F4F5F6F7F8F97A5E4C7E6E6F'
  143.          DC        X'7CC1C2C3C4C5C6C7C8C9D1D2D3D4D5D6'
  144.          DC        X'D7D8D9E2E3E4E5E6E7E8E979E1494F6D'
  145.          DC        X'3F81823F843F3F87883F3F923F94953F'
  146.          DC        X'973F3FA23FA4A53F3FA8A93F3F3F3F07'
  147. ===============================================================================
  148. *       etoa.for - convert TCAM ebcdic-to-ascii to Kermit form
  149.  
  150. *       Glenn E. Thobe/ 7 JUL 85
  151. *       6701 De Soto Av. #135/ Canoga Park, CA 91303
  152. *       IVA3GET@UCLAMVS  (BITNET)
  153.  
  154.         implicit integer(a - z)
  155.         integer etoa(0:255)
  156.         read (9, 1000) etoa
  157. 1000    format (4(1x, 4z2.2))
  158.         write (*, 1000) etoa
  159.         write (10, 1000) etoa
  160.         do 100 i = 0, 255
  161.           inchar = etoa(i)
  162.           call bitrev (inchar, otchar)
  163.           etoa(i) = otchar
  164. 100     continue
  165.         write (10, 2000) etoa
  166. 2000    format ('         DC        X''', 16z2.2, '''')
  167.         write (*, 2000) etoa
  168.         end
  169.  
  170.         subroutine bitrev (inchar, otchar)
  171.         implicit integer(a - z)
  172.         dimension bit(8)
  173.         data bit /1, 2, 4, 8, 16, 32, 64, 128/
  174.         otchar = 0
  175.         do 100 i = 2, 8
  176.           if (iand(inchar, bit(i)) .ne. 0) then
  177.             otchar = ior(otchar, bit(9 - i))
  178.           endif
  179. 100     continue
  180.         end
  181.  008141C0 28905CFF 5C5C5CD1 30B171F0    Ebcdic-to-ascii tables from TCAM.
  182.  098848C9 5C501100 18995C5C 39B878F9    This is both input & output to ETOA.
  183.  5C5C395C 5C50E8D8 5C5C5C5C 5CA060E1    WARNING: don't use these tables.
  184.  5C5C695C 485C5C21 5C5C5C56 28A95C59    They are nonstandard and non-
  185.  055C5C5C 5C5C5C5C 5CBB5C74 3C14D43F    invertible and Kermit won't work
  186.  655C5C5C 5C5C5C5C 5C5C8424 5595DD7E    with them.
  187.  B4F55C5C 5C5C5C5C 5C5C3F35 A5FA7DFC
  188.  5C5C5C5C 5C5C5C5C 5CDB5CC5 03E4BD44
  189.  5C8747C6 27A666E7 17965C3F 5C5C5C5C
  190.  5C56D736 B777F60F 8E4E5CBE 5C5C5C5C
  191.  5C5CCF2E AF6FEE1E 9F5F5C5C 5C5C5C5C
  192.  7B5C5C5C 5C5C5C5C 5C5C5C5C 5C5C5C06
  193.  5C8242C3 22A363E2 12935C5C 5C5C5C3A
  194.  5C53D233 B272F30A 8B4B5C5C 5C5C5C5C
  195.  5C3ACA2B AA6AEB1B 9A5A5C5C 5C5C5C5C
  196.  0C8D4DCC 2DAC6CED 1D9C5C5C 5C5C5C5C
  197.          DC        X'0001020314093A7F3A3A3A0B0C0D0E0F'  Ebcdic-to-ascii conver-
  198.          DC        X'101112133A0A080018193A3A1C1D1E1F'  sion table output by
  199.          DC        X'3A3A1C3A3A0A171B3A3A3A3A3A050607'  ETOA in assembler
  200.          DC        X'3A3A163A123A3A043A3A3A6A14153A1A'  source language.
  201.          DC        X'203A3A3A3A3A3A3A3A5D3A2E3C282B7C'
  202.          DC        X'263A3A3A3A3A3A3A3A3A21242A293B7E'
  203.          DC        X'2D2F3A3A3A3A3A3A3A3A7C2C255F3E3F'
  204.          DC        X'3A3A3A3A3A3A3A3A3A5B3A2340273D22'
  205.          DC        X'3A6162636465666768693A7C3A3A3A3A'
  206.          DC        X'3A6A6B6C6D6E6F7071723A7D3A3A3A3A'
  207.          DC        X'3A3A737475767778797A3A3A3A3A3A3A'
  208.          DC        X'5E3A3A3A3A3A3A3A3A3A3A3A3A3A3A60'
  209.          DC        X'3A4142434445464748493A3A3A3A3A5C'
  210.          DC        X'3A4A4B4C4D4E4F5051523A3A3A3A3A3A'
  211.          DC        X'3A5C535455565758595A3A3A3A3A3A3A'
  212.          DC        X'303132333435363738393A3A3A3A3A3A'
  213. ===============================================================================
  214. *       TCAM - check ATOE & ETOA for invertibility
  215.  
  216. *       Glenn E. Thobe/ 7 JUL 85
  217. *       6701 De Soto Av. #135/ Canoga Park, CA 91303
  218. *       IVA3GET@UCLAMVS  (BITNET)
  219.  
  220.         implicit integer (a - z)
  221.         dimension atoe(0:127), etoa(0:255)
  222.         character*20 msg
  223.         read (9, 1000) atoe, etoa
  224. 1000    format ('         DC        X''', 16z2.2, '''')
  225.         do 100 i = 0, 127
  226.           j = atoe(i)
  227.           k = etoa(j)
  228.           if (i .eq. k) then
  229.             msg = ' '
  230.           else
  231.             msg = ' no match'
  232.           endif
  233.           write (*, 2000) i, j, k, i, j, k, msg
  234.           write (10, 2000) i, j, k, i, j, k, msg
  235. 2000      format (3i4, 3z4.2, a)
  236. 100     continue
  237.         end
  238. /* This table is taken straight from the TSO-Kermit distribution source.
  239.    It is both input and output to the program TCAM */
  240. ATOE     DC        X'00010203372D2E2F1605250B0C0D0E0F'                  TSO25360
  241.          DC        X'101112133C3D322618193F271C1D1E1F'                  TSO25370
  242.          DC        X'405A7F7B5B6C507D4D5D5C4E6B604B61'                  TSO25380
  243.          DC        X'F0F1F2F3F4F5F6F7F8F97A5E4C7E6E6F'                  TSO25390
  244.          DC        X'7CC1C2C3C4C5C6C7C8C9D1D2D3D4D5D6'                  TSO25400
  245.          DC        X'D7D8D9E2E3E4E5E6E7E8E9ADE0BD5F6D'                  TSO25410
  246.          DC        X'79818283848586878889919293949596'                  TSO25420
  247.          DC        X'979899A2A3A4A5A6A7A8A9C04FD0A107'                  TSO25430
  248. ETOA     DC        X'000102030009007F0000000B0C0D0E0F'                  TSO25460
  249.          DC        X'10111213000D0800181900001C1D1E1F'                  TSO25480
  250.          DC        X'00000000000A171B0000000000050607'                  TSO25490
  251.          DC        X'0000160000000004000000001415001A'                  TSO25500
  252.          DC        X'20000000000000000000002E3C282B7C'                  TSO25510
  253.          DC        X'2600000000000000000021242A293B5E'                  TSO25520
  254.          DC        X'2D2F00000000000000007C2C255F3E3F'                  TSO25530
  255.          DC        X'000000000000000000603A2340273D22'                  TSO25540
  256.          DC        X'00616263646566676869007B00000000'                  TSO25550
  257.          DC        X'006A6B6C6D6E6F707172007D00000000'                  TSO25560
  258.          DC        X'007E737475767778797A0000005B0000'                  TSO25570
  259.          DC        X'000000000000000000000000005D0000'                  TSO25580
  260.          DC        X'7B414243444546474849000000000000'                  TSO25590
  261.          DC        X'7D4A4B4C4D4E4F505152000000000000'                  TSO25600
  262.          DC        X'5C00535455565758595A000000000000'                  TSO25610
  263.          DC        X'303132333435363738397C0000000000'                  TSO25620
  264.  ascii --> ebcdic --> ascii     Program TCAM output for TSO-Kermit distribution.
  265.    0   0   0  00  00  00        Note that the two mappings are inverses of
  266.    1   1   1  01  01  01        one another for the entire ASCII character
  267.    2   2   2  02  02  02        set, not only for the so-called printable
  268.    3   3   3  03  03  03        subset 32-127.
  269.    4  55   4  04  37  04
  270.    5  45   5  05  2D  05
  271.    6  46   6  06  2E  06
  272.    7  47   7  07  2F  07
  273.    8  22   8  08  16  08
  274.    9   5   9  09  05  09
  275.   10  37  10  0A  25  0A
  276.   11  11  11  0B  0B  0B
  277.   12  12  12  0C  0C  0C
  278.   13  13  13  0D  0D  0D
  279.   14  14  14  0E  0E  0E
  280.   15  15  15  0F  0F  0F
  281.   16  16  16  10  10  10
  282.   17  17  17  11  11  11
  283.   18  18  18  12  12  12
  284.   19  19  19  13  13  13
  285.   20  60  20  14  3C  14
  286.   21  61  21  15  3D  15
  287.   22  50  22  16  32  16
  288.   23  38  23  17  26  17
  289.   24  24  24  18  18  18
  290.   25  25  25  19  19  19
  291.   26  63  26  1A  3F  1A
  292.   27  39  27  1B  27  1B
  293.   28  28  28  1C  1C  1C
  294.   29  29  29  1D  1D  1D
  295.   30  30  30  1E  1E  1E
  296.   31  31  31  1F  1F  1F
  297.   32  64  32  20  40  20
  298.   33  90  33  21  5A  21
  299.   34 127  34  22  7F  22
  300.   35 123  35  23  7B  23
  301.   36  91  36  24  5B  24
  302.   37 108  37  25  6C  25
  303.   38  80  38  26  50  26
  304.   39 125  39  27  7D  27
  305.   40  77  40  28  4D  28
  306.   41  93  41  29  5D  29
  307.   42  92  42  2A  5C  2A
  308.   43  78  43  2B  4E  2B
  309.   44 107  44  2C  6B  2C
  310.   45  96  45  2D  60  2D
  311.   46  75  46  2E  4B  2E
  312.   47  97  47  2F  61  2F
  313.   48 240  48  30  F0  30
  314.   49 241  49  31  F1  31
  315.   50 242  50  32  F2  32
  316.   51 243  51  33  F3  33
  317.   52 244  52  34  F4  34
  318.   53 245  53  35  F5  35
  319.   54 246  54  36  F6  36
  320.   55 247  55  37  F7  37
  321.   56 248  56  38  F8  38
  322.   57 249  57  39  F9  39
  323.   58 122  58  3A  7A  3A
  324.   59  94  59  3B  5E  3B
  325.   60  76  60  3C  4C  3C
  326.   61 126  61  3D  7E  3D
  327.   62 110  62  3E  6E  3E
  328.   63 111  63  3F  6F  3F
  329.   64 124  64  40  7C  40
  330.   65 193  65  41  C1  41
  331.   66 194  66  42  C2  42
  332.   67 195  67  43  C3  43
  333.   68 196  68  44  C4  44
  334.   69 197  69  45  C5  45
  335.   70 198  70  46  C6  46
  336.   71 199  71  47  C7  47
  337.   72 200  72  48  C8  48
  338.   73 201  73  49  C9  49
  339.   74 209  74  4A  D1  4A
  340.   75 210  75  4B  D2  4B
  341.   76 211  76  4C  D3  4C
  342.   77 212  77  4D  D4  4D
  343.   78 213  78  4E  D5  4E
  344.   79 214  79  4F  D6  4F
  345.   80 215  80  50  D7  50
  346.   81 216  81  51  D8  51
  347.   82 217  82  52  D9  52
  348.   83 226  83  53  E2  53
  349.   84 227  84  54  E3  54
  350.   85 228  85  55  E4  55
  351.   86 229  86  56  E5  56
  352.   87 230  87  57  E6  57
  353.   88 231  88  58  E7  58
  354.   89 232  89  59  E8  59
  355.   90 233  90  5A  E9  5A
  356.   91 173  91  5B  AD  5B
  357.   92 224  92  5C  E0  5C
  358.   93 189  93  5D  BD  5D
  359.   94  95  94  5E  5F  5E
  360.   95 109  95  5F  6D  5F
  361.   96 121  96  60  79  60
  362.   97 129  97  61  81  61
  363.   98 130  98  62  82  62
  364.   99 131  99  63  83  63
  365.  100 132 100  64  84  64
  366.  101 133 101  65  85  65
  367.  102 134 102  66  86  66
  368.  103 135 103  67  87  67
  369.  104 136 104  68  88  68
  370.  105 137 105  69  89  69
  371.  106 145 106  6A  91  6A
  372.  107 146 107  6B  92  6B
  373.  108 147 108  6C  93  6C
  374.  109 148 109  6D  94  6D
  375.  110 149 110  6E  95  6E
  376.  111 150 111  6F  96  6F
  377.  112 151 112  70  97  70
  378.  113 152 113  71  98  71
  379.  114 153 114  72  99  72
  380.  115 162 115  73  A2  73
  381.  116 163 116  74  A3  74
  382.  117 164 117  75  A4  75
  383.  118 165 118  76  A5  76
  384.  119 166 119  77  A6  77
  385.  120 167 120  78  A7  78
  386.  121 168 121  79  A8  79
  387.  122 169 122  7A  A9  7A
  388.  123 192 123  7B  C0  7B
  389.  124  79 124  7C  4F  7C
  390.  125 208 125  7D  D0  7D
  391.  126 161 126  7E  A1  7E
  392.  127   7 127  7F  07  7F
  393. /* These tables were generated from the non-standard TCAM tables used at
  394.    Litton Computer Services by the above programs ATOE and ETOA. */
  395. ATOE     DC        X'3F3F3F3F372D3F2F6D05150B0C370E0F'  This is both input &
  396.          DC        X'3F113437043F3F3F183F3F3F3F3F3F3F'  output to the program
  397.          DC        X'405A7F7B5B6C507D4D5D5C4E6B604B61'  TCAM.
  398.          DC        X'F0F1F2F3F4F5F6F7F8F97A5E4C7E6E6F'
  399.          DC        X'7CC1C2C3C4C5C6C7C8C9D1D2D3D4D5D6'
  400.          DC        X'D7D8D9E2E3E4E5E6E7E8E979CF494F6D'
  401.          DC        X'3F818283848586878889919293949596'
  402.          DC        X'979899A2A3A4A5A6A7A8A93F3F3F3F07'
  403. ETOA     DC        X'0001020314093A7F3A3A3A0B0C0D0E0F'
  404.          DC        X'101112133A0A080018193A3A1C1D1E1F'
  405.          DC        X'3A3A1C3A3A0A171B3A3A3A3A3A050607'
  406.          DC        X'3A3A163A123A3A043A3A3A6A14153A1A'
  407.          DC        X'203A3A3A3A3A3A3A3A5D3A2E3C282B7C'
  408.          DC        X'263A3A3A3A3A3A3A3A3A21242A293B7E'
  409.          DC        X'2D2F3A3A3A3A3A3A3A3A7C2C255F3E3F'
  410.          DC        X'3A3A3A3A3A3A3A3A3A5B3A2340273D22'
  411.          DC        X'3A6162636465666768693A7C3A3A3A3A'
  412.          DC        X'3A6A6B6C6D6E6F7071723A7D3A3A3A3A'
  413.          DC        X'3A3A737475767778797A3A3A3A3A3A3A'
  414.          DC        X'5E3A3A3A3A3A3A3A3A3A3A3A3A3A3A60'
  415.          DC        X'3A4142434445464748493A3A3A3A3A5C'
  416.          DC        X'3A4A4B4C4D4E4F5051523A3A3A3A3A3A'
  417.          DC        X'3A5C535455565758595A3A3A3A3A3A3A'
  418.          DC        X'303132333435363738393A3A3A3A3A3A'
  419. ascii --> ebcdic --> ascii      Program output for LCS's nonstandard TCAM.
  420.    0  63  26  00  3F  1A no match           Note the failure of the e-to-a
  421.    1  63  26  01  3F  1A no match           transformation to recover the
  422.    2  63  26  02  3F  1A no match           original ascii characters.
  423.    3  63  26  03  3F  1A no match           There is no way Kermit would
  424.    4  55   4  04  37  04                    work with these TCAM tables.
  425.    5  45   5  05  2D  05                    Not only is SOH swallowed (ascii 0)
  426.    6  63  26  06  3F  1A no match           but several printable ascii
  427.    7  47   7  07  2F  07                    characters map to the same ebcdic
  428.    8 109  95  08  6D  5F no match           code.
  429.    9   5   9  09  05  09
  430.   10  21  10  0A  15  0A
  431.   11  11  11  0B  0B  0B
  432.   12  12  12  0C  0C  0C
  433.   13  55   4  0D  37  04 no match
  434.   14  14  14  0E  0E  0E
  435.   15  15  15  0F  0F  0F
  436.   16  63  26  10  3F  1A no match
  437.   17  17  17  11  11  11
  438.   18  52  18  12  34  12
  439.   19  55   4  13  37  04 no match
  440.   20   4  20  14  04  14
  441.   21  63  26  15  3F  1A no match
  442.   22  63  26  16  3F  1A no match
  443.   23  63  26  17  3F  1A no match
  444.   24  24  24  18  18  18
  445.   25  63  26  19  3F  1A no match
  446.   26  63  26  1A  3F  1A
  447.   27  63  26  1B  3F  1A no match
  448.   28  63  26  1C  3F  1A no match
  449.   29  63  26  1D  3F  1A no match
  450.   30  63  26  1E  3F  1A no match
  451.   31  63  26  1F  3F  1A no match
  452.   32  64  32  20  40  20
  453.   33  90  33  21  5A  21
  454.   34 127  34  22  7F  22
  455.   35 123  35  23  7B  23
  456.   36  91  36  24  5B  24
  457.   37 108  37  25  6C  25
  458.   38  80  38  26  50  26
  459.   39 125  39  27  7D  27
  460.   40  77  40  28  4D  28
  461.   41  93  41  29  5D  29
  462.   42  92  42  2A  5C  2A
  463.   43  78  43  2B  4E  2B
  464.   44 107  44  2C  6B  2C
  465.   45  96  45  2D  60  2D
  466.   46  75  46  2E  4B  2E
  467.   47  97  47  2F  61  2F
  468.   48 240  48  30  F0  30
  469.   49 241  49  31  F1  31
  470.   50 242  50  32  F2  32
  471.   51 243  51  33  F3  33
  472.   52 244  52  34  F4  34
  473.   53 245  53  35  F5  35
  474.   54 246  54  36  F6  36
  475.   55 247  55  37  F7  37
  476.   56 248  56  38  F8  38
  477.   57 249  57  39  F9  39
  478.   58 122  58  3A  7A  3A
  479.   59  94  59  3B  5E  3B
  480.   60  76  60  3C  4C  3C
  481.   61 126  61  3D  7E  3D
  482.   62 110  62  3E  6E  3E
  483.   63 111  63  3F  6F  3F
  484.   64 124  64  40  7C  40
  485.   65 193  65  41  C1  41
  486.   66 194  66  42  C2  42
  487.   67 195  67  43  C3  43
  488.   68 196  68  44  C4  44
  489.   69 197  69  45  C5  45
  490.   70 198  70  46  C6  46
  491.   71 199  71  47  C7  47
  492.   72 200  72  48  C8  48
  493.   73 201  73  49  C9  49
  494.   74 209  74  4A  D1  4A
  495.   75 210  75  4B  D2  4B
  496.   76 211  76  4C  D3  4C
  497.   77 212  77  4D  D4  4D
  498.   78 213  78  4E  D5  4E
  499.   79 214  79  4F  D6  4F
  500.   80 215  80  50  D7  50
  501.   81 216  81  51  D8  51
  502.   82 217  82  52  D9  52
  503.   83 226  83  53  E2  53
  504.   84 227  84  54  E3  54
  505.   85 228  85  55  E4  55
  506.   86 229  86  56  E5  56
  507.   87 230  87  57  E6  57
  508.   88 231  88  58  E7  58
  509.   89 232  89  59  E8  59
  510.   90 233  90  5A  E9  5A
  511.   91 121  91  5B  79  5B
  512.   92 207  92  5C  CF  5C
  513.   93  73  93  5D  49  5D
  514.   94  79 124  5E  4F  7C no match
  515.   95 109  95  5F  6D  5F
  516.   96  63  26  60  3F  1A no match
  517.   97 129  97  61  81  61
  518.   98 130  98  62  82  62
  519.   99 131  99  63  83  63
  520.  100 132 100  64  84  64
  521.  101 133 101  65  85  65
  522.  102 134 102  66  86  66
  523.  103 135 103  67  87  67
  524.  104 136 104  68  88  68
  525.  105 137 105  69  89  69
  526.  106 145 106  6A  91  6A
  527.  107 146 107  6B  92  6B
  528.  108 147 108  6C  93  6C
  529.  109 148 109  6D  94  6D
  530.  110 149 110  6E  95  6E
  531.  111 150 111  6F  96  6F
  532.  112 151 112  70  97  70
  533.  113 152 113  71  98  71
  534.  114 153 114  72  99  72
  535.  115 162 115  73  A2  73
  536.  116 163 116  74  A3  74
  537.  117 164 117  75  A4  75
  538.  118 165 118  76  A5  76
  539.  119 166 119  77  A6  77
  540.  120 167 120  78  A7  78
  541.  121 168 121  79  A8  79
  542.  122 169 122  7A  A9  7A
  543.  123  63  26  7B  3F  1A no match
  544.  124  63  26  7C  3F  1A no match
  545.  125  63  26  7D  3F  1A no match
  546.  126  63  26  7E  3F  1A no match
  547.  127   7 127  7F  07  7F
  548. -------
  549.