Kermit-11 for RSTS, RSX11M/M Plus and RT11 01-Jun-84 09:33:12 Brian Nelson Kermit is a protocal developed at Columbia University which has been used to implement error free packet file transfer and communications between computer systems, both mainframe to mainframe and micro to mainframe. The complete distribution of Kermit includes many CPM and MS-DOS versions and mainframe versions for TOPS-10, TOPS-20, UNIX, VMS, RSX11M/M+ and RSTS/E as well as other vendors systems. Micro versions include the Robin, Rainbow and Professional 350 as well as most other popular micro-computers. The complete distribution is available from Columbia University Computer Center in New York, NY. This document describes only the RSTS/E and RSX11M/M+ version developed by the author, Brian Nelson. This is release 2.17 of Kermit-11 for RSTS and RSX11M/M+. It requires RSTS version 7.2 or later, RSX11M v4.0 or later, or RSX11M Plus version 2.0 or later, or RT11 version 4.0 or later. Minimum system requirements to assemble and link Kermit RSTS v8.0 or later, with multiple private delimiters and RMS V2 RSX11M v4.1 or later, with full duplex terminal driver and RMS V2 RSX11M+ v2.1 or later, with full duplex terminal driver and RMS V2 RT11 v5.0 or later, with multiple terminal support Minimum system requirements to run Kermit RSTS v7.2 or later, with multiple private delimiters RSX11M v4.0 or later, with full duplex terminal driver RSX11M+ v2.0 or later, with full duplex terminal driver RT11 v4.0 or later, with multiple terminal support Kermit-11 will run on RSX11M version 4.0 and RSTS/E version 7.2 as long as the task was built without using RMSRES. To be able to build KERMIT on RSTS version 7.2 or RSX version 4.0 you will have to get RMSLIB.OLB and MAC.TSK from RSX v4.1 or RSTS v8.0. The need for version 2 of RMSLIB is due to the use of $SEARCH, $PARSE, $RENAME and $DELETE. The need for the newest MAC.TSK is due to the use of new directives such as .SAVE, .RESTORE and .INCLUDE /filename/. For RSTS please note that you Do Not have to create RMS files as output. You can instead either type SET RECORD-FORMAT STREAM, modify the default in K11RMS.MAC or put the SET command in one of the following files: SY:KERMIT.INI LB:[1,2]KERMIT.INI SY:[1,2]KERMIT.INI KERMIT:KERMIT.INI Page 2 This version of Kermit supports server mode and full wildcarding for SEND and GET. See the HELP command or the file K11HLP.RNO for further information. It also supports the CONNECT command, which can be used to dial out of the system and talk to another Kermit somewhere else, say to a copy of 20KERMIT. The connect command has only been tested with a VADIC 212LS autodial modem. Modifications may be needed for the DF03. Page 3 Installation RSTS version 7.2 and later First, please note that you MUST be running RSTS version 8.0 or later with RMS11 version 2 installed on the system to be able to assemble and link Kermit. If you have version 7.2 you can run the non-resident library version of the task but you will not be able to assemble or link Kermit. In all cases the RSTS executive must have in it the sysgen optional 'multiple private delimiters'. If you have gotten a DOS format tape with the task images on it, you can copy either K11.TSK (for use with RMSRES) or K11NRS.TSK (no RMSRES) to the system and skip to the paragraph on the HELP file. Tapes sent out by Columbia will NOT have any task images on them. See the next section on 'HEX' files. If you are running 7.2 you MUST use K11NRS.TSK. PIP $KERMIT<104>/RTS:RSX=MM0:[*,*]K11.TSK PIP $KERMIT<104>/RTS:RSX=MM0:[*,*]K11NRS.TSK If you don't have the task images on tape you can compile (with F77) the program called K11HEX.FTN or use the Basic+ version called K11HEX.BAS and create the task image from the so-called 'HEX' file (either K11.HEX or K11NRS.HEX). If you are running 7.2 you MUST use K11NRS.HEX. f77 k11hex=k11hex Ready tkb TKB>k11hex=k11hex,lb:f4pots/lb TKB>/ Enter Options: TKB>maxbuf=512 TKB>// Ready run k11hex Input file ? k11nrs.hex Output file ? kermit.tsk Encode or Decode ? decode all done For RSX, please make the task image contiguous as in PIP [1,54]KERMIT.TSK/CO=KERMIT.TSK For RSTS, make the task contiguous, set the protection to <104> and the rts name to RSX as in PIP [1,2]KERMIT.TSK<104>/MO:16/RTS:RSX=KERMIT.TSK Page 4 K11HEX -- STOP Ready Now skip to the paragraph on copying the HELP file. Page 5 If you want to assemble and task build Kermit for RSTS version 8 First, it is assumed that MAC.TSK is available via the CCL MAC. The batch control file K11ASM.E80 will assemble Kermit. You will have to edit it to remove the account number references in it. The user logical IN: must be assigned or MAC and TKB will fail. Once BATCH has run the control file, you will have in your account the objects for KERMIT. The next step is to task build KERMIT, using either K11.CMD or K11NRS.CMD (the former for RMSRES, the later without RMSRES). These files are TKB command files, they also reference K11.ODL and K11NRS.ODL. TKB @K11 or TKB @K11NRS To be able to use ONLPAT on the task, you must now run the MAKSIL system program to merge the symbol table into the task image. The HELP file The HELP file can be in one of several locations, Kermit will try to find it. They are: LB:[1,2]K11HLP.HLP SY:[1,2]K11HLP.HLP KERMIT:K11HLP.HLP HELP:K11HLP.HLP Protection The Kermit task should have either a <104> protection code or a <234> protection code. If you don not use the <234> the SYSTEM command will not work for users. The HELP file should have a <40> on it. Page 6 Patching the distributed task images for RSTS/E ! RSTS/E Kermit optional patches ! ! Brian Nelson 30-Mar-84 09:47:07 ! ! ! Example of patching RSTS/E Kermit to disable commands based ! on user programmer number. The effect of the following ! patches is to disallow any user with a programmer number ! greater than 127 (ie, 100,221) to access the commands ! DELETE ,DIRECTORY, ERASE and RENAME. If you would like to ! do this based on project number instead you can patch ! either ...UIC+0 to be the high cutoff point instead of ! patching ...UIC+2, or you can use different project numbers ! for each command by changing the '377' (which is in octal) ! to the desired cutoff point. To restict access to the DIR ! command to users with a project (group) number less than ! (10,*), you would patch ..$DIR byte offset zero from 0 to ! 10. (the '.' is needed to force ONLPAT to use a decimal ! interpretation of the number. ! ! At this time the only other thing you may want to patch is ! location ..DIRP offset zero, which is by default 1. This ! value is checked against the user's project number by the ! DIRECTORY command. If the user's project number is greater ! than this number, the ppn (uic) field for the DIR command ! is zeroed, thus preventing that user from looking at the ! directory listing of ANY other account. The default is to ! restrict the use of ppn's for this command to [1,*] users ! only. The last patch here changes that to include [2,*]. ! ! ! Please note that you can ALWAYS edit K11LCL.MAC to get the ! same thing as applying these patches. ! ! ! Keep users with prog numbers > 127 from using DIR, DEL, REN and ERA. ! ! File to patch? Base address? ...UIC+2 Offset address? 0 Base Offset Old New? ?????? 000000 000000 ? 127. ?????? 000002 041000 ? ^Z Offset address? ^Z Base address? ..$DEL Offset address? -1 Base Offset Old New? ?????? 177777 120 ? ?????? 000000 000 ? 377 ?????? 000001 104 ? ^Z Offset address? ^Z Page 7 Base address? ..$DIR Offset address? -1 Base Offset Old New? ?????? 177777 114 ? ?????? 000000 000 ? 377 ?????? 000001 104 ? ^Z Offset address? ^Z Base address? ..$ERA Offset address? -1 Base Offset Old New? ?????? 177777 123 ? ?????? 000000 000 ? 377 ?????? 000001 105 ? ^Z Offset address? ^Z Base address? ..$REN Offset address? -1 Base Offset Old New? ?????? 177777 115 ? ?????? 000000 000 ? 377 ?????? 000001 122 ? ^Z Offset address? ^Z Base address? ..DIRP Offset address? 0 Base Offset Old New? ?????? 000000 000001 ? 2 ?????? 000002 ?????? ? ^C Page 8 RSX11M/M+ If you have gotten a tape with the task images on it, you can copy K11RSX.TSK (no RMSRES) to the system and skip to the paragraph on the HELP file. Tapes sent by Columbia will have a so-called 'HEX' file called K11RSX.HEX which is fed into the program K11HEX to create the RSX task image as follows: >f77 k11hex=k11hex >tkb TKB>k11hex=k11hex,lb:[1,1]f4pots/lb TKB>/ Enter Options: TKB>maxbuf=512 TKB>// >run k11hex Input file ? k11rsx.hex Output file ? kermit.tsk Encode or Decode ? decode all done For RSX, please make the task image contiguous as in PIP [1,54]KERMIT.TSK/CO=KERMIT.TSK INS $KERMIT/TASK=...KER For RSTS, make the task contiguous, set the protection to <104> and the rts name to RSX as in PIP [1,2]KERMIT.TSK<104>/MO:16/RTS:RSX=KERMIT.TSK K11HEX -- STOP > Assembling Kermit First, it is assumed that MAC and TKB are installed. The command file K11ASM.M41 will assemble Kermit. The user logical IN: must be assigned or MAC and TKB will fail. as in: @K11ASM.M41 You then task build KERMIT. The files K11RSX.CMD and K11RSX.ODL will build Kermit without RMSRES. They both have comments to show what to do to use RMSRES. as in: TKB @K11RSX Page 9 The HELP file The HELP file can be in one of several locations, Kermit will try to find it. They are: LB:[1,2]K11HLP.HLP SY:[1,2]K11HLP.HLP KERMIT:K11HLP.HLP HELP:K11HLP.HLP Page 10 RT11 This version of Kermit will run on RT11 version 4.0 or later as long as the executive has multiple terminal support generated. The use of this feature enables the user to access DZ11's as well as DL11's. Installation: If the distribution has the save image K11RT4.SAV on it, you simple copy them with the HELP file to the system volume and are ready to go. The file K11RT4.SAV has been assembled with All modules linked into K11RT4.SAV have been assembled with a prefix file called K11NHD.MAC which defines macros to simulate SOB, ASH, XOR, MUL and DIV. Thus NO eis hardware is required. It has been tested extensively on a PDT150, which does not support EIS instructions. If the distribution does not contain the save image, you need the files K11RT4.HEX and K11HEX.FTN to generate the save image from the 'hex' file. K11HEX.FTN is a fortran program and must be compiled and linked. When this has been done, run it, setting the file K11RT4.HEX for the input file, KERMIT.SAV for the output file and DECODE for the function. If you lack a Fortran compiler, the same thing can be done on a RSTS/E or RSX11M/M+ host and then transfered via FIT or FLX respectively to a RT11 device. Page 11 Directory Name .Typ Size Prot Date DB1:[4,2] README.TXT 1 < 60> 01-Jun-84 K11AAA.AAA 8 < 60> 04-Apr-84 K11HEX.BAS 6 < 60> 06-Apr-84 K11 .CMD 1 < 60> 30-Mar-84 K11NRS.CMD 1 < 60> 30-Mar-84 K11RSX.CMD 1 < 60> 03-May-84 K11RT4.CMD 1 < 60> 28-May-84 K11 .CTL 1 < 60> 23-Mar-84 K11INS.DOC 27 < 60> 30-Mar-84 K11ASM.E80 2 < 60> 25-May-84 K11DAP.E80 5 < 40> 19-Mar-83 K11HEX.FTN 8 < 60> 16-Apr-84 K11HLP.HLP 84 < 60> 31-May-84 K11ATR.MAC 17 < 60> 29-May-84 K11CDF.MAC 4 < 60> 29-May-84 K11CMD.MAC 77 < 60> 29-May-84 K11COM.MAC 12 < 60> 29-May-84 K11CON.MAC 31 < 60> 30-May-84 K11CPY.MAC 19 < 60> 29-May-84 K11CVT.MAC 11 < 60> 29-May-84 K11DAT.MAC 9 < 60> 29-May-84 K11DEB.MAC 15 < 60> 29-May-84 K11DER.MAC 16 < 60> 29-May-84 K11DFH.MAC 6 < 60> 29-May-84 K11ERR.MAC 4 < 60> 29-May-84 K11ER1.MAC 9 < 60> 29-May-84 K11ER2.MAC 9 < 60> 29-May-84 K11ER3.MAC 9 < 60> 29-May-84 K11E80.MAC 82 < 60> 29-May-84 K11HLP.MAC 21 < 60> 30-May-84 K11LCL.MAC 15 < 60> 29-May-84 K11MAC.MAC 19 < 60> 29-May-84 K11M41.MAC 69 < 60> 29-May-84 K11NHD.MAC 4 < 60> 10-Apr-84 K11PAK.MAC 161 < 60> 29-May-84 K11PK .MAC 73 < 60> 29-May-84 K11RMS.MAC 98 < 60> 29-May-84 K11RTC.MAC 31 < 60> 30-May-84 K11RT4.MAC 62 < 60> 29-May-84 K11SER.MAC 44 < 60> 29-May-84 K11SHO.MAC 21 < 60> 29-May-84 K11STT.MAC 35 < 60> 29-May-84 K11SUB.MAC 38 < 60> 29-May-84 K11TRA.MAC 7 < 60> 29-May-84 K1180S.MAC 33 < 60> 29-May-84 K11ASM.M41 2 < 60> 25-May-84 K11DAP.M41 4 < 60> 18-Mar-84 K11 .ODL 3 < 60> 23-May-84 K11NRS.ODL 2 < 60> 25-May-84 K11RSX.ODL 3 < 60> 25-May-84 Page 12 K11HLP.RNO 80 < 60> 31-May-84 K11INS.RNO 25 < 60> 30-Mar-84 K11ASM.RT4 2 < 60> 31-May-84 K11 .TSK 171 <104> 29-May-84 K11HEX.TSK 66C <124> 23-Mar-84 K11NRS.TSK 304 <104> 29-May-84 K11RSX.TSK 223 <124> 30-May-84 K11RTT.MAC 26 < 60> 01-Jun-84 K11RT4.HEX 233 < 60> 01-Jun-84 K11RTN.HEX 235 < 60> 01-Jun-84 K11 .HEX 391 < 60> 30-May-84 K11RSX.HEX 509 < 60> 30-May-84 K11NRS.HEX 694 < 60> 30-May-84 K11RT4.SAV 102 <124> 01-Jun-84 K11RTN.SAV 103 <124> 01-Jun-84 Total of 4385 blocks in 65 files in DB1:[4,2]