12/15/83 - Revised to reflect operation with initial packet timeout. KERMIT ON MTS Written in Pascal/VS by William S. Hall Mathematical Reviews 611 Church Street Ann Arbor, MI 313-763-6831 Kermit is a file transfer program allowing movement of files among a variety of computer systems including micro-mainframe and mainframe-mainframe. The following note describes how to use the program SJ1K:Kermit.exe on the Michigan Terminal System (MTS). It is assumed that the user already has a version of Kermit running on his or her computer and is familiar with its operation. To obtain copies of Kermit for various micros, UNIX, TOPS-10, and TOPS-20 operating systems as well as detailed documentation, contact the author or Kermit Distribution Columbia University Center for Computing Activities 7th Floor, Watson Laboratory 612 West 115th Street New York, NY 10025 The source code for Kermit on MTS is in the file SJ1K:Kermit.pas. It is permitted to all to read. It is known to work against DEC-20's running TOPS-20 (the definitive test), Zenith Z100's running CP/M-85, and Heath H8/89's running CP/M. At present it will not work the Z100 under ZDOS and thus its performance with the IBM PC is doubtful. It is most likely due to a bug in PCKERMIT, which should be fixed soon. Running Kermit To transfer text files between MTS and your system proceed as follows: (1) Run Kermit on your controlling micro or mainframe. (2) Set the IBM flag ON and then set local-echo OFF. (3) Log onto MTS as usual. (4) To initiate a file transfer run SJ1K:KERMIT.EXE. (5) Respond to command prompts by entering 'R' (or 'r') to have MTS receive a file. Answer 'Y' if you want MTS to reserve the first character in each line of your file for carriage control (see below). Exit to controlling system and send file. (6) Respond with 'S' (or 's') to send a list of files. Answer 'Y' if ALL files to be sent from MTS use column 1 for carriage control (see below). Enter file names one at a time when prompted. Terminate list with a carriage return. Exit to controlling system and prepare to receive a file. In about 5 seconds, MTS Kermit will attempt to handshake with your machine. If you miss the first packet and your version of Kermit does not have time-outs (most micro versions do not), trigger MTS with two carriage returns from your machine. Current Limitations: (1) Only text files can be transferred. (2) File names should be less than 40 characters and have no device names when sent from MTS. TEST.PAS is OK, but SJ1K:TEST.PAS is not. (3) MTS Kermit has no timeout, hence deadlocks can occur. If the process seems to stop, try a carriage return or two to break the deadlock. Use several of them to exit the file transfer mode, and connect back to MTS. If the MTS Kermit is still running, you will have to kill the program with "ATTN" (control-E). To restore normal terminal operation enter the command "%reset". (4) Pascal/VS does not at present allow a run-time error to be intercepted by the program. Such errors can occur if files to be sent are not present or if disk space is exceeded. Hence the transfer will stop, and the resulting deadlock must be broken as described above. (5) If a horizontal tab is encountered when a file is being received, it is expanded to spaces for the usual tab stops of 1, 9, 17, 25, 33, etc. before being written to an MTS file. Spaces are not compressed to tabs during transmission from MTS. (6) The carriage control option allows the user to reserve column 1 in an MTS file for printer carriage control. Otherwise, column 1 in the file is regarded as data. See also the next item. (7) If an ASCII form feed is encountered in a file begin received, the Pascal/VS "page" call is made. This has the effect of placing a '1' in column 1 of the MTS file. Thus, files with form feeds should choose the carriage control option 'Y' described above. Conversely, if the MTS file has a '1' in column 1 it is converted to a form feed when being sent if a 'Y' is given to the carriage control prompt. Best results are obtained if the form feed is on its own line in the file to be sent to MTS. (8) Other control characters are handled by simply substituting the corresponding EBCDIC control character.