VMS Kermit Distribution Document Introduction : This directory contains a VMS version of the Kermit protocol. Kermit, "KL-10 Error-free Reciprocal Microcomputer InterChange over TTY-Lines", as the acronym implies, is a means for allowing errorfree transfer of files between computers over normal terminal communication lines. The protocol was originally designed for Digital Equipment's DECSYSTEM-20 KL 10 machines, but within recent years has been extended to work on a variety of other processors; both mainframes (Vax, IBM/VM, etc.), and micros (CP/M systems, Apples, ...). The Kermit distribution is currently maintained by Columbia University, the original implementors of the TOPS-20 Kermit. Implementation Differences (VMS Kermit .vs. TOPS-10): The Vax/VMS Kermit with a few minor exceptions is a full working Kermit. It has been tested against the TOPS-10/TOPS-20 implementations with complete success. VMS kermit was implemented in two languages; pascal, and fortran. *************************************************************************** Use @VXREN to rename files *************************************************************************** The pascal code implemented i) the Kermit protocol (file(s) KERMIT.PAS) ii) the Kermit command parser (file(s) PARSER.PAS, PGLOBAL.PAS) The fortran code implemented i) VMS virtual terminal support (file(s) VTERM.FOR, VTGLOBAL.FOR, BOOLEANS.FOR, SSDEF.FOR, TTDEF.FOR, IODEF.FOR) As mentioned earlier, there are a few minor differences between the VMS Kermit, and the standard TOPS-20 Kermit. 1. VMS Kermit does not allow the user to specify the virtual terminal escape character sequence. VMS Kermit uses cntrl-P as its escape character. 2. VMS Kermit does not allow the user to specify the out-going vterm line from within the command parser. 3. VMS Kermit does not allow the user to specify a new file name when a file name collision occurs (simply generates new name). 4. VMS Kermit handles a variety of different input/output file types. 5. VMS Kermit handles VMS wildcard names (ie. *.for for all fortran files in a directory). 6. VMS Kermit gives better file transfer statistics. 7. VMS Kermit allows the user to specify vterm line parity, and line speed (300, 600, 1200, 2400, 4800, 9600). Building VMS Kermit : In order to build the VMS Kermit you must perform the following steps : - 2 - a) place the Kermit distribution in a secure directory with the following protection on all files /owner=[1,4]/prot=(s:rwe,o:rwed,g:re,w:re) b) log on to a priviledged account (ie. SYSTEM) c) set default to Kermit directory. d) Read INSTALL.COM, and make appropriate changes to it. e) run the command file (ie. @INSTALL.COM) f) hopefully there should be no errors. If there are then attempt to resolve them. Re-do step e). g) place the following lines in your system startup file (ie. SYSTARTUP.COM) $ assign/system "{terminal list}" kermit$rem0 $ assign/system {kermit directory} kermdir: where {kermit directory} is the directory that the kermit source is stored in. $ assign/system kermdir:kermit.hlp kermithlp: where {terminal list} is a list of out going vterm ports separated by spaces. There must be a least one port. (ie. assign/system "_TTA0: _TTA1:" kermit$rem0: ) h) place the following lines in your system login file (ie. SYLOGIN.COM) $ assign 'f$logical("SYS$OUTPUT")' kermit$local $ kermit := @kermdir:kermit.com Running Kermit : An example run of VMS kermit would be as follows (assuming we are establishing a VMS to DEC-10 Kermit through a Gandalf PACX front end switching unit) : Note : 1. the responses generated by the system are in braces. 2. many kermit commands allow for abbreviations. 3. assumes your in a directory with files ending in .FOR . Sending a File(s) to DEC-10 : $ kermit {Kermit-VMS> } set parity none {Kermit-VMS> } set send packet 60 {Kermit-VMS> } set receive packet 60 {Kermit-VMS> } connect {Proceed... } {Enter Class } 10 {Dec 10 login information } login 356,13536,abcde {More Dec-10 login information } r kermit {Kermit-10> } receive cntl-P {Kermit-VMS> } - 3 - {Kermit-VMS> } send*.for {Sending File... {a}.FOR} {etc... one line for each .FOR file sent } {Kermit-VMS> } status {status of send ... } {Kermit-VMS> } connect {Kermit-10> } exit {examine the transferred files and then ... } cntl-P {Kermit-VMS> } exit Receiving a File(s) from DEC-10 : { in receiving a file simply get on to the DEC-10 in same manner as before, and replace the DEC-10 receive, with a send . Return to Vax and type receive. The following message Receiving File... {filename} will appear for each file received. } For more details regarding the function of all the Kermit commands examine the document KERMIT.DOC provided with the distribution. Bugs or, "If I only had more time": 1. A friend of mine informed me that he does not appreciate my virtual terminal program (ie. lumpy response at low baud rates). I make no apologies; the program is tuned for 4800 baud, something which most virtual terminal programs will not allow. If you desire to use it `constantly' at a slower speed, remove the buffering code from the program. 2. Obviously (unfortunately), there are bugs lurking in the uncharted corners of this code. Please drop me a line if you find it (them). Address: University of Toronto Computing Services Attention: Bruce W. Pinn 255 Huron Street TORONTO, Ontario Canada M5S 1A1 Telephone: (416) 978-7063