PART I. INSTALLATION Program Kermit implements the KERMIT protocol under HONEYWELL/CP6. Authors: Philip Murton - original RT-11 PASCAL program. Bruce W. Pinn - modified version for VAX/VMS. Douglas Vaughan, Cheryl Poostay, Kevin Asplen, Jay Undercoffler - modified VAX/VMS version for HONEYWELL/CP6. Date: March 27, 1985 Site: Bucknell University Computing Services Lewisburg, Pennsylvania 17837 (717) 524-1801 Files: KERMIT - Source code and JCL to create the Kermit rununit. INSTALL - Installation instructions, description of operation, and summary of Kermit commands. DRIBBLE - Dribble file of the transfers of a test file from CP6 to an IBMPC and from the IBMPC back to CP6. OCTAL - Octal listing of the dribble file. The file 'KERMIT' is a BATCH file containing the JCL and source code required to create the rununit KERMIT_RU. The bulk of the code is written in PASCAL and was compiled at Bucknell using CP6 PASCAL Version B01. The NDB (no debug) compiler option is used in an effort to maximize file transfer speed. The CP6 system dependent routines are written in PL6 and were compiled at Bucknell using PL6 Version B02. To create the rununit KERMIT_RU, !BATCH KERMIT . PART II. PROGRAM OPERATION Kermit-CP6 runs interactively with a user connected to CP6 via a remote Kermit. File transfers from CP6 to the remote Kermit and from the remote Kermit to CP6 must originate from Kermit-CP6. The following Bucknell documentation illustrates the logging on and file transfer processes between CP6 and an IBMPC running Kermit-MS. BUCKNELL KERMIT INSTRUCTIONS LOGGING ON 1....Obtain the KERMIT software from either the programming assistant or the bulletin board adjacent to the phone. 2....Open the door on Drive A (left drive). With the label side up and your thumb on the label insert the KERMIT disk into Drive A. Close the drive door. 3....Power on the IBM. If the IBM is powered on, press the Del key while holding down both the Ctrl and Alt keys. 4....Type KERMIT 6....Press <--' in response to the A> prompt. <--' . 7....Log On. 8....!PROFILE IBMPC 9....Return the KERMIT software. FILE TRANSFERS TO SEND A CP6 FILE TO THE IBMPC 1....LOGON to CP6. 2....Insert a formatted IBM disk into Drive B (right drive). 3....Start the CP6 file transfer program. !START KERMIT_RU 4....Initiate the file transfer. Kermit-CP6>SEND CP6filename <--' 5....Within 10 seconds, hold down the Ctrl key and press ] ; release both keys. Type the letter C. 6....Continue the file transfer. Kermit-IBM>RECEIVE IBMfilename <--' An IBM filename is 1-8 characters in length, and can be followed by a 1-3 character extension. The following characters can be used for filenames and extensions: A-Z 0-9 $ & # @ ! % " ( ) - { } _ / \ To confirm the file transfer: Kermit-IBM>DIR 7....Return to CP6. Kermit-IBM>CONNECT <--' and press <--' 8....Repeat Steps 4-6 to send another file OR Kermit-CP6>Q to quit CP6 Kermit. 9....Logoff. TO SEND AN IBMPC FILE TO CP6 1.....LOGON to CP6. 2.....Insert the disk containing the IBM file to be sent into Drive B. 3.....Start the CP6 file transfer program. !START KERMIT_RU 4.....Initiate the file transfer. Kermit-CP6>RECEIVE CP6filename <--' 5.....Within 10 seconds, hold down the Ctrl key and press ] ; release both keys. Type C . 6.....Continue the file transfer. Kermit-IBM>SEND IBMfilename 7.....Return to CP6. Kermit-IBM>CONNECT <--' <--' and press <--' 8....Repeat Steps 4-6 to send another file OR Kermit-CP6>Q to quit CP6 Kermit. 9....Logoff. PART III. SUMMARY OF KERMIT-CP6 COMMANDS. The valid KERMIT-CP6 commands are: HELP SEND STATUS RECEIVE EXIT/QUIT SET SHOW A description of each command follows. 1. HELP In order to use the HELP facilities on KERMIT-CP6, type 'HELP command'. Abbreviated HELP can be obtained on selected commands by typing 'command ?'. 2. STATUS Description: Displays information on the most recent file transmission of data. Example: KERMIT-CP6> STATUS 3. EXIT/QUIT Description: Exits KERMITCP6 and returns to IBEX. Examples: KERMIT-CP6> QUIT KERMIT-CP6> EXIT 4. SEND filespec Description: Sends the specified CP6 file to the remote Kermit. Wildcarding is not allowed; only one file per SEND is allowed. filespec: any valid, existing CP6 file-specification. Examples: KERMIT-CP6> SEND MYFILE KERMIT-CP6> SEND ANOTHER_FILE 5. RECEIVE filespec Description: Prepares KERMITCP6 to receive a file being sent by the remote Kermit. Wildcarding by the remote Kermit is allowed. filespec: Any valid CP6 file-specification. If omitted, the file-specification will be obtained from the file header sent by the remote Kermit. If the remote Kermit is sending more than one file, the first CP6 filename will be obtained from filespec(if specified); subsequent filenames will be obtained from the file headers sent by the remote Kermit. WARNING! KERMIT will overwrite an existing file with the given filespec. Examples: KERMIT-CP6> RECEIVE MYFILE KERMIT-CP6> RECEIVE 6. SET keywords SEND <option> RECEIVE <option> TRANSMODE <ASCII | binary> EIGHT-QUOTE <character> FILERECORD <CRLF | lf | cr> PARITY <NONE | even | odd> DEBUGGING <on | OFF> SPEED <decimal> DELAY <decimal> 6.1 SET SEND keyword PACKET-LENGTH <decimal> PADDING <decimal> PADCHAR <octal value> TIMEOUT <decimal> END-OF-LINE <octal value> QUOTE <character> 6.1.1 SHOW SEND PACKET-LENGTH par Description: Shows the send packet length. par: may be any decimal value between 10 and 96 Default Value = 94 Note that SETting this will have no effect since the remote Kermit will send the value it requires. Affect this change by SETting the RECEIVE PACKET-LENGTH parameter of the remote Kermit. Example: KERMIT-CP6> SHOW SEND PACKET-LENGTH KERMIT-IBM> SET RECEIVE PACKET-LENGTH 80 6.1.2 SHOW SEND PADDING Description: Shows the number of padding characters that will be sent to the remote Kermit. Note that SETting this will have no effect since the remote Kermit will send the value it requires. Affect this change by SETting the RECEIVE PADDING parameter of the remote Kermit. Example: KERMIT-CP6> SHOW SEND PADDING KERMIT-IBM> SET RECEIVE PADDING 30 6.1.3 SHOW SEND PADCHAR Description: Shows the character that will be sent as padding to the remote Kermit. Note that SETting this parameter will have no effect since the remote Kermit will send the value it requires. Example: KERMIT-CP6> SHOW SEND PADCHAR 6.1.4 SHOW SEND TIMEOUT par Description: Shows the number of seconds a response to a packet sent The SEND is terminated if a par: may be any positive decimal Default value = 20 seconds Kermit CP6 will wait for to the remote Kermit. timeout occurs. number, given in seconds Note that SETting this will have no effect since the remote Kermit will send the value it requires. Affect this change by SETting the RECEIVE TIMEOUT parameter of the remote Kermit. Example: KERMIT-CP6> SHOW SEND TIMEOUT KERMIT-IBM> SET RECEIVE TIMEOUT 10 6.1.5 SET/SHOW SEND END-OF-LINE par Description: This command sets/shows the end of line character KERMITCP6 will send to the remote Kermit. par: may be any ASCII value for a character, given in octal Default value = 15 (ASCII CR, CTRL-M) Examples: KERMIT-CP6> SET SEND END-OF-LINE 12 KERMIT-CP6> SHOW SEND END-OF-LINE 6.1.6 SET/SHOW SEND QUOTE par Description: Sets/shows the printable character KERMITCP6 will send to the remote Kermit to prefix control characters. par: may be any printable character Default value = "#" (ASCII 35(dec) ) NOTE: Change the quote character to send CP6 files with many '#' characters. Affect this change by SETting the RECEIVE QUOTE parameter of the remote KERMIT, the SEND QUOTE parameter of the remote KERMIT, and the SEND QUOTE parameter of Kermit CP6 to the same value. Examples: KERMIT-CP6> SHOW SEND QUOTE KERMIT-CP6> SET SEND QUOTE + KERMIT-IBM> SET SEND QUOTE 43 (The ASCII value of '+' is 43.) KERMIT-IBM> SET RECEIVE QUOTE 43 6.2 SET RECEIVE keyword Keywords: PACKET-LENGTH <decimal> PADDING <decimal> PADCHAR <octal value> TIMEOUT <decimal> END-OF-LINE <octal value> QUOTE <character> 6.2.1 SET/SHOW RECEIVE PACKET-LENGTH par Description: Sets/shows the maximum of number of characters in a message received by KermitCP6. par: may be any decimal value between 10 and 96 Default Value = 94 Examples: KERMIT-CP6> SET RECEIVE PACKET-LENGTH 60 KERMIT-CP6> SHOW RECEIVE PACKET-LENGTH 6.2.2 SET/SHOW RECEIVE PADDING par Description: Sets/shows the number of padding characters will precede a message received by KERMITCP6. par: may be any positive decimal number Default value = 0 Examples: KERMIT-CP6> SET RECEIVE PADDING 5 KERMIT-CP6> SHOW RECEIVE PADDING 6.2.3 SET/SHOW RECEIVE PADCHAR par Description: Sets/shows the character that will precede a message received by KERMITCP6. See SET RECEIVE PADDING. par: may be any ASCII value, given as an octal number in the range: 0-37, or 177 Default value = 0 (ASCII NUL) Examples: KERMIT-CP6> SET RECEIVE PADCHAR 15 KERMIT-CP6> SHOW RECEIVE PADCHAR 6.2.4 SET/SHOW RECEIVE TIMEOUT par Description: Sets/shows the number of seconds KERMITCP6 will wait while attempting to receive a message from the remote Kermit. par: may be any positive decimal number, given in seconds Default value = 20 seconds Examples: KERMIT-CP6> SET RECEIVE TIMEOUT 15 KERMIT-CP6> SHOW RECEIVE TIMEOUT 6.2.5 SET/SHOW RECEIVE END-OF-LINE par Description: Sets/shows the end of line character KERMITCP6 will expect to receive from the remote Kermit. par: may be any ASCII value for a character, given in octal Default value = 15 (ASCII CR, CTRL-M) Examples: KERMIT-CP6> SET RECEIVE END-OF-LINE 12 KERMIT-CP6> SHOW RECEIVE END-OF-LINE 6.2.6 SET/SHOW RECEIVE QUOTE par Description: Sets/shows the printable character KermitCP6 expects to be prefixed to the control characters of messages sent by the remote Kermit. par: may be any printable character Default value = "#" (ASCII 35(dec) ) NOTE: Change the quote character to receive remote Kermit files with many '#' characters. Affect this change by SETting the SEND QUOTE parameter of the remote Kermit, the SEND QUOTE parameter of CP6 Kermit, and the RECEIVE QUOTE parameter of CP6 Kermit to the same value. Examples: KERMIT-CP6> SHOW SEND QUOTE KERMIT-CP6> SET RECEIVE QUOTE + KERMIT-CP6> SET SEND QUOTE + KERMIT-IBM> SET SEND QUOTE 43 (The ASCII value of '+' is 43.) 6.3 SET/SHOW TRANSMODE par Description: Sets/shows the type of file KERMITCP6 will receive. par: must be one of the following... ASCII - for text files BINARY - for non-text files Default value = ASCII Examples: KERMIT-CP6> SET TRANSMODE BINARY KERMIT-CP6> SHOW TRANSMODE 6.4 SET/SHOW EIGHT-QUOTE par Description: Sets/shows the character KERMITCP6 will send to the remote Kermit as a quote for eight-bit characters. par: may be any printable character Default value = "&" (ASCII 38(dec) ) Examples: KERMIT-CP6> SET EIGHT-QUOTE % KERMIT-CP6> SHOW EIGHT-QUOTE 6.5 SET/SHOW FILERECORD par Description: Sets/shows the end of line character being used to separate records in a file being sent from CP6 to the remote Kermit. par: must be CR LF CRLF Default one of the following ... - a carriage return - a line feed - a carriage return, followed by a linefeed value = CRLF SUGGESTED USE: SET FILERECORD LF to transmit a PASCAL source to an APPLE IIe. Examples: KERMIT-CP6> SET FILERECORD LF KERMIT-CP6> SHOW FILERECORD 6.6 SET/SHOW PARITY par Description: Sets/shows the type of parity being used on the the transmission line. par: must be EVEN, ODD, or NONE Default value = NONE (others require eight-bit prefixing for binary files) Examples: KERMIT-CP6> SET PARITY EVEN KERMIT-CP6> SHOW PARITY 6.7 SET/SHOW DEBUGGING par Description: Sets/shows the state of KermitCP6's debugging messages. When on, messages are sent to the user's terminal. Redirect messages to a CP6 file by using an IBEX SET command '!SET DEBUGGING fid, CTG=YES'. par: must be ON or OFF Default value = OFF NOTE: Debugging is only meaningful for modification of Kermit code. Examples: KERMIT-CP6> SET DEBUGGING ON KERMIT-CP6> SHOW DEBUGGING 6.8 SHOW SPEED Description: Shows the baud rate of transmission. NOTE: SPEED must be SET by the microcomputer Kermit. Example: KERMIT-CP6> SHOW SPEED 6.9 SET/SHOW DELAY par Description: Sets/shows the number of seconds KERMITCP6 will wait before sending data following a SEND command. par: may be any positive decimal number, given in seconds Default value = 5 seconds Examples: KERMIT-CP6> SET DELAY 25 KERMIT-CP6> SHOW DELAY NOT YET IMPLEMENTED !! 7.0 SHOW keyword Keywords: SEND <option> RECEIVE <option> TRANSMODE EIGHT-QUOTE FILERECORD PARITY DEBUGGING SPEED DELAY ALL 7.1 (Reference (Reference (Reference (Reference (Reference (Reference (Reference (Reference (Reference 6.1) 6.2) 6.3) 6.4) 6.5) 6.6) 6.7) 6.8) 6.9) SHOW ALL Description: Shows the current values of the KermitCP6 SEND, RECEIVE, and Local System parameters. Example: KERMIT-CP6> SHOW ALL