11/82 (This is somewhat obsolete, see also FLYER.*) KERMIT KERMIT is a protocol for transferring files between computers over telecom- munication lines. It does packetizing, checksumming, and retransmission to en- sure data integrity. Microcomputer implementations of KERMIT also provide ter- minal connection at any speed allowed by both the micro and the host. KERMIT is like many other such protocols, but with several differences: . It's free. . It's documented. . It's well tested and in wide use. . Implementations exist for many different systems, including DEC and IBM mainframes and many microcomputers. Each implementation is writ- ten in the language best suited for a particular machine or operating system. KERMIT was developed at the Columbia University Center for Computing Activities primarily to facilitate offline storage of DECSYSTEM-20 files on microcomputer floppy disks. The first implementations were for the DECSYSTEM-20, IBM VM/CMS systems, and 8080/Z80-based microcomputers running CP/M. The KERMIT specifica- tion has since served as the basis for new KERMITs. Any KERMIT can communicate with any other KERMIT. Here's a list of known KERMITs as of November, 1982: KERMIT-20 TOPS-20, native mode. Written in MACRO-20. KERMIT-10 TOPS-10, adapted from KERMIT-20 at Stevens Institute of Technology. KERMIT-CMS IBM VM/CMS systems on machines with the 370 instruction set. Writ- ten in assembly language. Does ASCII/EBCDIC conversion. KERMIT-80 For 8080 and Z80 based micros running CP/M. Written in 8080 assembler. VT52 emulation is provided unless otherwise indicated. Minor customizations (mainly the specification of serial port addresses, and details of screen control) are required for specific manufacturers. The following are presently available: . Intertec SuperBrain. . DEC VT-180 "Robin", operates as VT100 (adapted by DEC). . Apple II with Z80 Soft Card and D.C. Hayes Micromodem II. . Heath/Zenith-89. Operates as H19 terminal. . Vector Graphics. The Apple and Heath versions were adapted privately by DEC employees. KERMIT-86 For the IBM Personal Computer running PC DOS. Written in 8086 assembler. VT52 emulation. KERMIT-C For any system that has a C compiler. Versions have been success- fully built for PDP-11 and VAX UNIX systems. All implementations listed above, with the exception of KERMIT-C, provide a TOPS-20-style command parser, including keyword recognition and built-in help. KERMIT-20 uses the COMND JSYS, KERMIT-10 uses GLXMAC/ORNMAC, KERMIT-80 and KERMIT-86 simulate the COMND JSYS, KERMIT-CMS simulates COMND as much as is possible on a half-duplex system. Work is in progress on other implemen- tations, and on improvements in current ones. KERMIT does not rely on any host system software or servers. All actions are initiated explicitly by the user. Typically, the user starts KERMIT on a microcomputer, "connects" through KERMIT to the remote host, logs in, starts KERMIT on the remote host, "escapes" back to the micro, then sits back and watches the packets fly. KERMIT can transfer files singly or in wildcard groups. KERMIT can be used between mainframes when appropriate connections ex- ist. Unlike its predecessors, KERMIT is neither truly full duplex nor "asynchro- nous". In order to accommodate itself to half-duplex systems and to machines like the KL that cannot accept sustained high-speed input over terminal lines, KERMIT does not "stack" packets and it does not send long packets; it always waits for a reply to each packet it sends. Thus transfer rates cannot be ach- ieved that are as high as for truly asynchronous full duplex protocols. Nevertheless, KERMIT has been clocked at up to 70% efficiency (user bits / baud rate). HOST REQUIREMENTS: KERMIT assumes the following: 1. All hosts can communicate in ASCII. KERMITs running on non-ASCII hosts are responsible for character set conversion. 2. All printable ASCII characters (in the range 40-176 octal) are ac- ceptable as input to the host and will not be transformed in any way. 3. A single nonprintable ASCII character can be used for packet synchronization. The character is normally Control-A (SOH, ASCII 1). 4. If a host requires a line terminator for terminal input, that ter- minator must be a single ASCII character, such as CR or LF. 5. The host's terminal input buffer is at least long enough to receive the longest ACK packet (about 15 characters). 6. If a host requires padding, the padding character is in the range ASCII 0-37 or ASCII 177 (octal). 7. If KERMIT is to transfer binary files, both communicating hosts must be capable of 8-bit terminal communication, i.e. they must be able to ignore parity. KERMIT does not assume: 1. Anything about baud rate. 2. That the host can do XON/XOFF or any other kind of flow control. This kind of flow control can be initiated behind KERMIT'S back by commands to the host computers. If the hosts support any kind of flow control, then it can be used to cut down on retransmission due to buffering problems. 3. That the host is capable of full duplex operation. Any mixture of half and full duplex hosts is supported. In addition, KERMIT does not assume that the host has the ability to time out; if neither host participating in a KERMIT connection can do so, then KERMIT al- lows for manual intervention to wake up protocol deadlocks. ORDERING INFORMATION: The complete KERMIT distribution tape may be obtained free of charge from Columbia University by sending a magnetic tape and a cover letter telling what machines and operating systems KERMIT will be used on. A return mailer would be appreciated. 9-track tapes can be produced at 800, 1600, or 6250 bpi in TOPS-20 DUMPER format, TOPS-10 BACKUP format, or in IBM EBCDIC OS standard label or CMS format. Please indicate the desired tape format. The tape in- cludes source and binary (or hex) for all implementations of KERMIT, plus the KERMIT manual and specification document. A printed copy of the document is also included. Send requests to: KERMIT Distribution Columbia University Center for Computing Activities 7th Floor, Watson Laboratory 612 West 115th Street New York, N.Y. 10025 If you make any changes to KERMIT, or produce a new version, you are encouraged to send your work (including documentation) to the above address, so that other KERMIT users might benefit from it. Full credit will be given to contributors. 8-Nov-82 12:29:04-EST,00000007710;000000000001 Date: 8-Nov-82 12:30:20 From: Frank da Cruz Version: 1 sy.fdc at CU20B Subject: [RAMEE at DEC-MARLBORO: Re: Kermit blurb] To: sy.fdc at CU20B Mail-from: ARPANET site DEC-MARLBORO rcvd at 5-Nov-82 1517-EST Date: 5 Nov 1982 1514-EST From: RAMEE at DEC-MARLBORO To: CU.FDC at CMU-20C Subject: Re: Kermit blurb Message-ID: <"MS10(2055)+GLXLIB1(1056)" 11869577068.24.79.55121 at DEC-MARLBORO> Regarding: Message from LCG.DACRUZ of 3-Nov-82 1854-EST Here is the version of the Kermit bulletin that we'd like to print. We made a few minor changes. Please let me know if you have any other changes. Thanks very much. Dee Ramee _____________________________________________________________________________ KERMIT KERMIT is a protocol for transferring files between computers over telecommunication lines. It does packetizing, checksumming, and retransmission to ensure data integrity. Microcomputer implementations of KERMIT also provide terminal connection at any speed allowed by both the micro and the host. KERMIT is like many other such protocols, but with several differences: . It's free. . It's documented. . It's well tested and in wide use. . Implementations exist for many different systems, including DEC and IBM mainframes and many microcomputers. Each implementation is written in the language best suited for a particular machine or operating system. KERMIT was developed at the Columbia University Center for Computing Activities primarily to facilitate offline storage of DECSYSTEM-20 files on microcomputer floppy disks. The first implementations were for the DECSYSTEM-20, IBM VM/CMS systems, and 8080/Z80-based microcomputers running CP/M. The KERMIT specification has since served as the basis for new KERMITs. Any KERMIT can communicate with any other KERMIT. Here's a list of known KERMITs as of November, 1982: KERMIT-20 TOPS-20, native mode. Written in MACRO-20. KERMIT-10 TOPS-10, adapted from KERMIT-20 at Stevens Institute of Technology. KERMIT-C For any system that has a C compiler. Versions have been successfully built for PDP-11 and VAX UNIX systems. KERMIT-CMS IBM VM/CMS systems on machines with the 370 instruction set. Written in assembly language. Does ASCII/EBCDIC conversion. KERMIT-80 For 8080 and Z80 based micros running CP/M. Written in 8080 assembler. VT52 emulation is provided unless otherwise indicated. Minor customizations (mainly the specification of serial port addresses, and details of screen control) are required for specific manufacturers. The following are presently available: . DEC PC100 "Rainbow" operates as VT100. . DEC VT-180 "Robin", operates as VT100. . Intertec SuperBrain. . Apple II with Z80 Soft Card and D.C. Hayes Micromodem II. . Heath/Zenith-89. Operates as H19 terminal. . Vector Graphics. KERMIT-86 For the IBM Personal Computer running PC DOS. Written in 8086 assembler. VT52 emulation. All implementations listed above, with the exception of KERMIT-C, provide a TOPS-20-style command parser, including keyword recognition and built-in help. KERMIT-20 uses the COMND JSYS, KERMIT-10 uses GLXMAC/ORNMAC, KERMIT-80 and KERMIT-86 simulate the COMND JSYS, KERMIT-CMS simulates COMND as much as is possible on a half-duplex system. Work is in progress on other implementations, and on improvements in current ones. KERMIT does not rely on any host system software or servers. All actions are initiated explicitly by the user. Typically, the user starts KERMIT on a microcomputer, "connects" through KERMIT to the remote host, logs in, starts KERMIT on the remote host, "escapes" back to the micro, then sits back and watches the packets fly. KERMIT ensures that packets will be sent no faster than the host can receive them by waiting for an acknowledgement of receipt before sending the next packet. KERMIT can transfer files singly or in wildcard groups. KERMIT can be used between mainframes when appropriate connections exist. HOST REQUIREMENTS: KERMIT assumes the following: 1. All hosts can communicate in ASCII. KERMITs running on non-ASCII hosts are responsible for character set conversion. 2. All printable ASCII characters (in the range 40-176 octal) are acceptable as input to the host and will not be transformed in any way. 3. A single nonprintable ASCII character can be used for packet synchronization. The character is normally Control-A (SOH, ASCII 1). 4. If a host requires a line terminator for terminal input, that terminator must be a single ASCII character, such as CR or LF. 5. The host's terminal input buffer is at least long enough to receive the longest ACK packet (about 15 characters). 6. If a host requires padding, the padding character is in the range ASCII 0-37 or ASCII 177 (octal). 7. If KERMIT is to transfer binary files, both communicating hosts must be capable of 8-bit terminal communication, i.e. they must be able to ignore parity. KERMIT does not assume: 1. Anything about baud rate. 2. That the host can do XON/XOFF or any other kind of flow control. This kind of flow control can be initiated behind KERMIT'S back by commands to the host computers. If the hosts support any kind of flow control, then it can be used to cut down on retransmission due to buffering problems. 3. That the host is capable of full duplex operation. Any mixture of half and full duplex hosts is supported. In addition, KERMIT does not assume that the host has the ability to time out; if neither host participating in a KERMIT connection can do so, then KERMIT allows for manual intervention to wake up protocol deadlocks. ORDERING INFORMATION: The complete KERMIT distribution tape may be obtained free of charge from Columbia University by sending a magnetic tape and a cover letter telling what machines and operating systems KERMIT will be used on. A return mailer would be appreciated. 9-track tapes can be produced at 800, 1600, or 6250 bpi in TOPS-20 DUMPER format, TOPS-10 BACKUP format, or in IBM EBCDIC OS standard label or CMS format. Please indicate the desired tape format. The tape includes source and binary (or hex) for all implementations of KERMIT, plus the KERMIT manual and specification document. A printed copy of the document is also included. Send requests to: KERMIT Distribution Columbia University Center for Computing Activities 7th Floor, Watson Laboratory 612 West 115th Street New York, N.Y. 10025 If you make any changes to KERMIT, or produce a new version, you are encouraged to send your work (including documentation) to the above address, so that other KERMIT users might benefit from it. Full credit will be given to contributors. TOPS-10 is a registered trademark of Digital Equipment Corporation TOPS-20 is a registered trademark of Digital Equipment Corporation DECSYSTEM-20 is a registered trademark of Digital Equipment Corporation CP/M is a registered trademark of Digital Research, Inc. UNIX is a registered trademark of Bell Laboratories VM/CMS is a registered trademark of International Business Machines Corporation EBCDIC is a registered trademark of International Business Machines Corporation -------- -------