HP-BASIC KERMIT USER GUIDE For The Hewlett-Packard Family 9000 Series 200 and 300 Computers HP-BASIC WORKSTATIONS VERSION 1.0 Andrew Campagnola Hewlett-Packard Measurement Systems Operation 815 SW 14 St. Loveland, Colorado 80537 Copyright (C) 1981,1988 Trustees of Columbia University in the City of New York Permission is granted to any individual or institution to use, copy, or redistribute this document so long as it is not sold for profit. Kermit-RMB Table Of Contents Section Topic 1.0 Kermit-RMB Title Block 2.0 History Of Kermit-RMB 3.0 Kermit-RMB Capability Summary 4.0 Computer System Requirements 5.0 Using Kermit-RMB 5.1 Examples of Kermit-RMB usage 5.2 Connecting HP Workstations for Kermit 5.2.1 Connecting the 98644 (9 Pin) Interface 5.2.2 Connecting the 98626/98628 Interfaces 5.2.3 Connecting to Modems 5.3 Testing the RS-232 Connection 6.0 The HP-BASIC File System 6.1 Specifying Filenames and Mass Storage 6.2 BASIC File Formats 6.3 Kermit Handling of Files 6.3.1 Sending Files 6.3.2 Receiving Files 7.0 Kermit Program Setup 7.1 The Kermit Distribution Disc 7.2 Printing the User Manual 7.3 Loading and Running Kermit 7.4 Minimizing Kermit Program Size 7.5 Kermit Initialization File HPK_INIT 7.6 Ram Disc Operation 8.0 Kermit-RMB Command Descriptions 8.1 Kermit Command Syntax Reference 8.2 Unique Commands for Kermit-RMB 8.3 General Kermit Command Groups 8.4 Program Management Commands 8.5 Local File Management Commands 8.6 Terminal Connection and Emulator Commands 8.7 File Transfer Commands 8.8 Ascii File Transmission Commands 8.9 Kermit SET Command Options 8.10 Status and Show Commands 8.11 Log and Close Commands 8.12 Macro Definitions 8.13 Kermit Server Commands (Not Implemented) 8.14 Remote Server Commands (Not Implemented) 9.0 Missing Features in Kermit-RMB Future Enhancements Bug Reports Kermit-RMB 1.0 Users Manual Page 2 1. Kermit-RMB This document is available either as an ordinary, plain DOS text disk file, or a HP-LIF ASCII file. Program: Andrew Campagnola - Hewlett-Packard Company Language: Hewlett-Packard Series 200/300 BASIC (Rev. 5.x) Version: 1.0 Release: 1 Mar 1989 2. History This is the first full version of KERMIT for the HP BASIC Workstation written. Keith Moore wrote a BASIC-CSUB which implements the KERMIT send and receive protocol for ascii files while at New Jersey Division Labs. His efforts there, and a positive response to the availability of his KERMIT for HP BASIC combined with the universal need for a native BASIC terminal emulator spurred on this project. The KERMIT file transfer protocol was developed at Columbia University in 1981 under the direction of Frank DaCruz and first written by Bill Catchings for CP/M at the Center for Computing Activities. Now over 200 versions of the KERMIT program are monitored and supported by that group. KERMIT received its name from a muppets poster on the wall during the conception of the protocol at Columbia in 1981. After attempts to define K-E-R-M-I-T as an acronym failed it was admitted that KERMIT was named after KERMIT the Frog with Jim Henson's permission. It was later discovered that KERMIT is a Celtic word for "free", and other justifications arose. Like all Kermit programs, you are encouraged to use, copy, and distribute HP-BASIC Kermit freely. Kermit-RMB 1.0 Users Manual Page 1 3. Kermit-RMB Capabilities At A Glance: Local operation: Yes Remote operation: Yes Requires HP NJD REMCON BIN Transfers text files: Yes Transfers binary files: Yes (BDAT, ASCII, HP-UX) Wildcard send: No File transfer interruption: Yes Filename collision avoidance: Yes Can time out: Yes 8th-bit prefixing: Yes Repeat count compression: Yes - receive only Alternate block check types: No Terminal emulation: VT100 Communication settings: Speed, Parity, Echo (Full duplex only) Transmit BREAK: Yes IBM mainframe communication: No Transaction (Packet) logging: Yes Session logging (raw download): Yes Raw upload (Transmit) Yes Act as server: No Talk to server: No Advanced server functions: No Advanced commands for servers: No Local file management: Yes Command/init files: Yes Command macros: Yes Extended-length packets: No Attribute packets: Yes Sliding windows: No Kermit-RMB is a program that implements the Kermit file transfer protocol for the entire HP Series 200/300 BASIC Workstation family of computers. This user manual assumes that you are new to Kermit but familiar with the operation of the HP BASIC Workstation and ideas of data communication. A very brief overview is given here, but for details consult the early chapters of the Kermit User Guide, or Frank DaCruz' book: Kermit, A File Transfer Protocol, by Frank da Cruz Digital Press (1987) order number EY-6705E-DP (phone 1-800-343-8321) which also includes excellent background tutorials on computers, file systems, and data communication (including modems, cabling, etc). Kermit-RMB 1.0 Users Manual Page 2 For further information about obtaining Kermit programs and user documentation, write to: Columbia University Center for Computing Activities Kermit Distribution 612 West 115th Street New York, NY 10025 (USA) 4.0 System Requirements Kermit-RMB was developed on a 9816 Workstation using BASIC 5.1. The 9816 was configured with 1Mb RAM and a 98626 Serial Interface Card. A Memory Volume was not used. Kermit-RMB version 1.0 runs on any Series 200/300 computer with 1 Mb of memory. BASIC 5.x is required. The Operating System and Kermit program will load and run in less than 1 Mb but without the use of a Memory Volume. Kermit will run on any HP serial interface available for the Series 200 and 300 computers. These include the following: 98644 Built-in 25 Pin Serial Interface on the S/310 98644 Built-in 9 Pin Serial Interface on S/320 and up 98626 50 Pin Serial Interface Card fro S/200 and S/300 98628 50 Pin Datacomm Interface Card for S/200 and S/300 Kermit-RMB implements both Ascii and Binary file transfer as well as providing a near complete Kermit user interface. File transfer is provided using both KERMIT Protocol Packets (SEND-RECEIVE) and raw upload and download (TRANSMIT - LOG SESSION). Aside from the normal functions of Kermit for file transfer, Kermit-RMB also provides useful functions such as: ASCII file printing to screen and printer PRINT / TYPE A Hex Editor and dump utility DUMP VT-100 Terminal emulation CONNECT A File Type Conversion Utility CONVERT Kermit-RMB 1.0 Users Manual Page 3 5.0 Using Kermit-RMB Kermit-RMB performs two major functions, terminal emulation and file transfer. File transfer can be done using either the Kermit file transfer protocol (SEND & RECEIVE) , or else (without error checking), raw ASCII transmission methods. To use Kermit for "raw" uploading or downloading of files, see the descriptions of the TRANSMIT and LOG SESSION commands. Two computers use the KERMIT transfer protocol to send files to each other by running a KERMIT program on each computer. This is an important point - Kermit running on one computer cannot send or receive files from another computer running some other file transfer program (ie. Xmodem, or HP Advancelink) because the protocols (or encoding) used is not the same. Therefore one key advantage of using Kermit is that many computers on the market have a version of Kermit written for them. You should be aware that many terminal emulator programs, especially for the PC contain the capability of performing file transfers using a variety of protocols, including Kermit. Check into this before assuming your terminal emulator cannot support Kermit. If you are trying to transfer files to a computer system and do not have a Kermit program for that system you should contact Columbia University to see if one exists. Without Kermit running on each computer, your only other option is to use simple ascii transmission which does not "encode" files using any protocol. For example the Kermit Transmit command could be used with most any PC Terminal Emulator that performs "File Logging". The disadvantage of using this method is the lack of binary file transfers or parity error detection. 5.1 Kermit - to - Kermit File Transfer Once you have obtained versions of Kermit for each computer on each end of the file transfer you are ready to begin making the RS-232 connection and transferring files. Making the physical connection is discussed in the next section after this overview of using Kermit. There are two scenarios for file transfers I'll discuss here and give examples for. One involves transferring files between two computers that are next to each other (let's say in the same lab), and the other scenario of transferring files between two computers that are remote to each other (let's say from a local instrument controller to a remote VAX in the computer center - or in a remote building accessed via modem). Remember - both scenarios involve an RS-232 connection between the two computers that must be established first. (1) Local - to - local File Transfer Kermit-RMB 1.0 Users Manual Page 4 Assume you have connected a Series 300 to a Personal Computer in your lab using the HP-24542G Serial Printer Cable (This conenection is discussed later). To transfer a file from the Series 300 to the PC would involve the following: A. Start each computer, load and run Kermit on each side. Kermit comes up on each computer with its local prompt: MS-KERMIT> may be the prompt you see on the PC - MSDOS version and KERMIT-RMB> is the prompt you'll see on the HP side. B. Configure the receiver (PC) and begin the receive process: You tell Kermit what to do by issuing commands to kermit at its prompt the same way you issue commands to DOS or Unix. MS-KERMIT> SET BAUD 9600 (19200 would work also) MS-KERMIT> SET TIMER OFF (Let the sender be the timer) MS-KERMIT> RECEIVE Kermit on the PC will begin the receive process and you will see the Kermit receive screen which shows you the status of the file transfer. (The screen may vary depending on the version) At this point the MS-Kermit is waiting to receive a "start" signal from the sending Kermit (HP side). Normally Kermit will wait for a signal for just so long and then "timeout" and quit trying to receive a file if it hasn't heard from the sender. Since we shut this off by using the SET TIMER OFF command, the MS-Kermit will now wait indefinitely for the sender to begin. C. Configure the sender (HP) and begin the send process: KERMIT-RMB> SET BAUD 9600 (Baud must be identical) KERMIT-RMB> SEND TESTDATA:,700 HP Kermit begins the sending process by displaying the send file status screen on the crt. Before actually sending the file the HP Kermit will do a few things like make sure the file is really there, check the file type and size of the file so it can tell the PC Kermit what it will be sending. Then it sends the "start" signal that the PC kermit has been waiting for, and the file transfer begins. The sending Hp Kermit sends the file by "chopping" it into pieces about 100 bytes long, putting each piece into a "packet" and sending the packet to the receiving Kermit. The receiving Kermit unwraps the "file data" from the packet and stores each piece of file data into the destination file. When the entire file has Kermit-RMB 1.0 Users Manual Page 5 been sent the sending kermit notifies the receiving end of this andthen each side shuts down the file transfer and returns you to the local prompt. You should also see some message to the effect "file transfer complete" indicating a successful transfer. At the prompt you can now issue another command, send or receive another file, or quit by entering the "QUIT" command. MS-KERMIT> QUIT C:> KERMIT-RMB> QUIT Kermit Done. (2) Local - to - Remote File Transfer Local to Remote file transfer works identically the same with one difference. You probably don't want to have to walk over to the computer center and start Kermit there every time you want to transfer a file. It would be alot easier if you could "logon" to the remote computer and give it commands as if you were sitting in front of the computer yourself. In order to logon to a remote computer it must be a multi-user (multi-tasking no doubt) system. Unix systems and VAXs are probably the most familiar multi-user engineering systems that you know of. In general, Personal Computers do not handle remote logon and use. To logon to a remote computer you use the terminal emulator built into Kermit to start Kermit and a file transfer running. The Kermit command "CONNECT" starts the terminal emulator. Once the file transfer is running on the remote computer you exit the terminal emulator by typing the "escape sequence", get back to the local Kermit prompt (KERMIT-RMB>) and begin the file transfer on the HP end. The following example shows this process; the other computer is a Unix system, but the method is the same with most others. When you type a command, you terminate it with a carriage return, which you can't see in the example. The mysterious "^]c" is Kermit-RMB's escape sequence, which you enter by holding down the Control (Ctrl) key and pressing "]" (right square bracket), and then typing the letter C. This example assumes the Kermit-RMB program is stored on disk as the PROGram file "HPKERMIT". Program Dialog: Explanation: LOAD "HPKERMIT",1 HP-9000 Kermit-RMB Version 1.0 1 Mar 1989 ? for help Kermit-RMB 1.0 Users Manual Page 6 Kermit-RMB>set baud 1200 Set the right baud rate. Kermit-RMB>connect Connect as a terminal. You will see the terminal emulator screen on the HP system with a "modeline" at the bottom telling you the baud and terminal settings, and most important, the Kermit escape sequence. At this point you are connected to the remote system. Type a carriage return to get its attention. Login: andyc Login to the host. password: xxxxxx (Passwords normally don't echo.) % The remote system prompt % kermit Start the remote kermit program C-Kermit> The remote Kermit command prompt C-Kermit> receive Start the remote receive program. ^]c Escape back to the S200/300. Kermit-RMB> You have now escaped out of the terminal emulator and the local HP Kermit prompt is again active. You are still connected and logged on to the remote computer, and the remote Kermit program is waiting for the "start" signal from your end. Kermit-RMB> send DATAFILE:,700 send a file. (The file is transferred...) Kermit-RMB> Transfer complete, prompt reappears. In this example, the user loads "KERMIT",1 and sees the program's herald and its prompt, "Kermit-RMB>". Then the appropriate communication speed ("baud rate") is set, you connect as a terminal, and log in to your ID on the Unix system. To start Kermit on the Unix system the command kermit is given, and when it starts the C-Kermit prompt appears. You tell it to receive a file by typing the RECEIVE command, and then escape back to the S200/300, and tell Kermit-RMB to send the file with the SEND command. After the file is transferred, the user would normally connect back to the Unix system, exit from the Kermit program there, and log out: Kermit-RMB> connect Connect again. C-Kermit>quit % The remote system prompt appears % logout Logout from Unix or type Ctrl-D. Kermit-RMB 1.0 Users Manual Page 7 ^]c Escape back to the S200/300. Kermit-RMB> Kermit-RMB> quit To transfer a file in the other direction, simply exchange the "send" and "receive" commands above. That's the easiest and quickest way to use Kermit. If you have problems getting the file transfer to work use the Kermit STATUS command to view the current Serial Port settings and look for any obvious incorrect settings (port, speed, parity), fix them with SET commands (described in Section 8), and try again. Many problems can crop up when you attempt to connect two unlike systems over RS-232. If all communication parameters appear to be identical, then check the cabling between the two systems - this is often the problem. Next is a quick guide to RS-232 Cabling for HP Workstations: Kermit-RMB 1.0 Users Manual Page 8 5.2 CONNECTING HP WORKSTATIONS For KERMIT Below are instructions for connecting the HP Series 200 and 300 directly to a Personal Computer, modem, or your existing data switch. HP SIDE: There are a few different serial interface connections for the HP Workstation: 1. Built-in 98644 (9 Pin) interface on S/320,330,350,360 or Built-in 98644 (25 Pin) on S/310. 2. 98626 Plug-in Serial I/O Card (50 Pin) for S/200/300. or 98628 Plug-in Datacomm I/O Card (50 Pin) for S/200/300. 3. Modem Connections -------------------------------------------------------------- Note: The following cables and pin diagrams are provided because they are existing cable products that you may have available to you already. The cables contain wiring which uses modem handshake lines to manage the connection. Two computers either local or remote can also be "direct" connected using a 3-wire connection using pins 2,3 and 7. In this case there is no hardware handshake, and you are responsible for manually connecting and disconnecting. 5.2.1 To connect the S/320/330/350/360 9-Pin Port to the Personal Computer 9-Pin COM Port, use: HP 92221P 9-Pin Male (HP) to 9-Pin Female (PC) |----------------| |-------| | HP 320/330/350 | -------- HP 92221P -------- | PC | |----------------| (9M) (9F) |-------| Alternately, The S/320 and on come shipped with a 9 Pin - to - 25 Pin Serial adapter cable to provide an equivalent of the S/310 25 Pin Serial Port configuration on the other S/300 computers. To connect the S/300 25-Pin Port to a 9 Pin Personal Computer interface, use the Vectra PC Serial Printer Cable, or an equivalent: Kermit-RMB 1.0 Users Manual Page 9 HP 24542G 25-Pin Male (HP) to 9-Pin Female (PC) |-----------| |--------| | HP 310 | ----------- HP 24542G --------- | PC | |-----------| (25-M) (9-F) |--------| |-----------| 9-->25 Adapter |--------| | HP 320,30 | <-----------------< <-HP 24542G-< | PC | |-----------| HP 98561-61604 |--------| or obtain an equivalent according to the pin assignment below: (s/300) 25 Pin Male 9 Pin Female (PC) (1) Shell ---| (2) TX -------> (2) RD (3) RD <------- (3) TX (4) RTS -------> (1) CD /- (5) CTS <------- (4) DTR \- (6) DSR <--| (7) GND -------- (5) GND (8) CD <------- (7) RTS (9) nc (9) RI (20)DTR -------> /-(6) DSR |--> \-(8) CTS (22)RI ---| The adapter cable for the 9 Pin Built-in HP interface is HP 98561-61604 (9 Pin male to 25 Pin female) 9 Pin Male (CPU) 25 Pin Female (equivalent to 310) DTR (1) --------> (20) DTR TX (2) --------> (2) TX The adaptor cable RD (3) <-------- (3) RD just maps the 9 RTS (4) --------> (4) RTS Pin to the 25 Pin CTS (5) <-------- (5) CTS Interface. No DSR (6) <-------- (6) DSR jumpering is done. GND (7) <-------> (7) GND CD (8) <-------- (8) CD RI (9) <-------- (22) RI PGND (shell) ----- (shell) PGND |---- (1) PGND Kermit-RMB 1.0 Users Manual Page 10 CONNECTING to 25 PIN PC Interface: The HP 13242G Printer Cable (25 Pin - 25 Pin) is used to connect from the S/300 25 pin interface to a 25 Pin PC. HP 13242G 25-Pin Male (HP) to 25-Pin Female (PC) |----------------| |-------| | HP 310 (or adp)| -------- HP 13242G -------- | PC | |----------------| (25-M) (25-F)|-------| The HP 92221P cable is equivalent to the combination of the adapter (HP 98561-61604) and the 13242G Cable. 5.2.2. Connecting to the 98626 or 98628 Interface (50 Pin) Both the 98626 and 98628 Serial Interfaces use the 50 to 25 DTE Pin Cable (P/N 5061-4215) to provide an equivalent S/300 25 - Pin Serial Port. Once the 50 Pin DTE Cable is used, then the HP 24542H cable is used to finish the connection. Below is the pin assignment for the 50 Pin and 24542H cables. |----------------| HP 5061-4215 HP 24542H |-------| | S/200 (50-Pin)| <-----------------> >----------< | PC | |----------------| 50 25 25 9 |-------| 98626/98628 24542H (50 PIN M) (25 PIN M) (25 PIN F) (PC 9 F) TX (12) ----> (2) (2) TX -----> (2) RD RD (42) <---- (3) (3) RD <----- (3) TX RTS (13) ----> (4) (4) RTS -----> (1) CD P S * CTS (44) <---- (5) /- (5) CTS <----- (4) DTR C / * DSR (45) <---- (6) \- (6) DSR <-| 3 DTR (14) ----> (20) (20) DTR -----> /-(6) DSR C 0 |-> \-(8) CTS O 0 * CD (46) <---- (8) (8) CD <----- (7) RTS M |-- (9) RI RI (9) <---- (22) (22) RI --| Kermit-RMB 1.0 Users Manual Page 11 GND (48) ----- (7) (7) GND ------ (5) GND Shell (24) ----- (1) (1) Shell --| * HW Handshake Lines Used when 'SET HANDSHAKE ON' is used 5.2.3. Modem Connections DCE |----------------| HP 5061-4215 |-------| | S/200 50-Pin | <-----------------> | MODEM | |----------------| 50 25 |-------| |----------------| HP ? |-------| | S/300 25-Pin | <-----------------> | MODEM | |----------------| 25 25 |-------| |----------------| HP ? |-------| | S/300 9-Pin | <-----------------> | MODEM | |----------------| 9 25 |-------| Kermit-RMB 1.0 Users Manual Page 12 5.3 TESTING THE RS-232 CONNECTION: The best way to test the RS-232 Connection is to run the terminal emulator on the computer at each end of the connection. Although this verifies communication is occuring, it does not guarantee that all parameters are set correctly. It is safe to assume that baud rate, transmit and receive lines, and parity are compatible. This is usually enough to allow Kermit to send and receive files. Other issues may involve hardware handshake lines (DTR,DSR and RTS,CTS) and the number of data bits per frame (7 or 8). If nothing occurs after both computers "connect" then Kermit provides some very helpful commands for determining the problem. Below also is a list of Kermit commands for modifying the RS-232 parameters of the Serial Port. KERMIT-RMB> CONNECT This will start the terminal emulator. If successful, you will see a flashing cursor in the upper-left corner of the screen, and along the bottom of the screen will appear a "modeline" showing the Kermit escape sequence, baud rate, data bits setting, parity, and ON or OFF for parity check. If this does not occur, then serial communications never started - this either indicates that a hardware handshake has been enabled and the required modem signals are not present, or there is a problem with the serial interface - selftest, or operation. To correct the problem, return back to Kermit by pressing the escape sequence: CTRL-] You will see an 'escape options' line appear along the bottom showing the terminal escape options. You complete the escape option by typing one of the leters shown. Type C to return to kermit. At the Kermit prompt use the SET command to shut off handshaking: < remove the rs-232 cable attached to the serial interface> KERMIT-RMB> SET HANDSHAKE OFF KERMIT-RMB> SET LOCAL-ECHO ON Turn on terminal echo KERMIT-RMB> CONNECT Try the connection again If there is still no cursor, or echo of the keys you type, there is possible indication of a program error - contact Kermit-RMB 1.0 Users Manual Page 13 Kermit Distribution for assistance. Once the local terminal emulator is running, try connecting the two computers together - attach the rs-232 cable to both ports, and run the status command to verify that both Kermits are set up correctly: 1. KERMIT-RMB> STATUS Run the status command on each computer. It will list such parameters as Baud Rate, Data Bits, Handshake used (RTS/CTS etc) Software flow control (XON/XOFF etc). Make sure these parameters are identical for each side. 2. KERMIT-RMB> SHOW TERM KERMIT-RMB> SHOW COMM KERMIT-RMB> SHOW MODEM These commands are similar to the status command and show parameters related to the command - Comm, Terminal, Modem. KERMIT COMMANDS FOR SERIAL PORT CONFIG and DEBUG KERMIT-RMB> HELP or ? KERMIT-RMB> STATUS KERMIT-RMB> SHOW ? [comm, term, modem ] KERMIT-RMB> SET ? [baud, parity, handshake, flow, echo ] KERMIT-RMB> CLEAR (resets the serial port) KERMIT-RMB> SET PORT ? (displays the installed cards) Kermit-RMB 1.0 Users Manual Page 14 6.0 The HP-BASIC File System The features of the HP-BASIC file system of greatest interest to Kermit users are the form of the file specifications, and the formats of the files themselves. 6.1 File Specifications HP-BASIC file specifications are of the form "/PATHNAME/FILENAME:,7xx,Unit" (assuming HP-IB 7 used) If no path or Mass Storage Specifier (:,7xx,x) is provided the current source directory or lif volume is used. The default source and destination directories are set to the current MSI when Kermit is run. To see the settings use the STATUS command, and to change them use the SET SOURCE and SET DESTINATION commands: KERMIT-RMB> STATUS KERMIT-RMB> SET SOURCE :,700,0 KERMIT-RMB> SET DESTINATION /KERMIT:,702,0 When Receiving files the Default DESTINATION MSI is used if a msi is not specified as part of the filename specification. For sending files the Default SOURCE MSI is used in a similar way. The device, path, name, and type fields may contain uppercase letters, digits, and the special character underscore. Illegal characters include all other special characters and punctuation including period, colon, and semi-colon. Files received with illegal filenames are converted to legal LIF filenames by converting illegal characters to underscore, and truncating the filename at the maximum allowable length. This is 10 Characters for LIF Files and 14 for HFS. In Kermit 1.0 all filenames are converted to uppercase when kermit receives a send or receive command. 6.2 File Formats HP-BASIC systems store files in 3 "user" file types and with two data formats - ON and OFF. This allows much flexibility in the use of the file system, but also introduces some complexity as far as handling data files. Kermit-RMB 1.0 Users Manual Page 15 The file types addresed by Kermit-RMB are HP-UX, BDAT, and ASCII. The remaining three - SYSTM, BIN, and PROG are not user accessable from Kermit and need to be converted to the HP-UX file type in order to be transferred. This can be done using the unique Kermit-RMB command Convert: Kermit-RMB> CONVERT prog_file TO HP-UX The CONVERT command is discussed in section 8.2 - Unique commands for Kermit-RMB. A brief description of the user file types may help to sort out the complexity. FILE TYPE Written With Written With FORMAT ON FORMAT OFF _____________________________________________________________ ASCII Same as Format OFF. LIF ascii undelimited records. 4-digit length fields start each record. Ascii will always be stored as length-header undelimited string data regardless of number or string representations. The FORMAT ON parameter is ignored when ASCII files are accessed. HP-UX Identical to DOS Text Lines and Numbers with CR-LF delimiters use the null char for each line. as a delimiter. Hp-ux files are handled differently according to the file type set in Kermit. The SET FILE TYPE [binary | ascii] command is used to set this indication. BDAT CR-LF delimited lines - Memory Image of data same as hp-ux but includes with no delimiters. a 1-sector file header. The internal data is undelimited and only decoded if the internal file format is known. Version 1.0 of Kermit cannot handle mixed intger,real,string BDAT files written with Format OFF. To transfer a BDAT-Format OFF file you will need to manually create a file (Format OFF) of all integers, or all reals, or convert the file to a BDAT Format ON file. Kermit-RMB 1.0 Users Manual Page 16 The File Mode setting in Kermit determines whether the BDAT data (format off) is to be converted to ascii numeric representation before sending. Kermit-RMB 1.0 Users Manual Page 17 6.3 Kermit-RMB handling of files Kermit-RMB will open the specified file being sent and determine its file type when the file is opened. Depending on the file Mode (ASCII or BIN), the file data will be sent accordingly: Note: Throughout the Kermit File Handling sections reference is made to File Type and File Mode. These two terms should be understood clearly before reading further. File Type - Refers to the HP BASIC File Types of ASCII, BDAT and HP-UX. These are the three user file types and are accessable from BASIC programs. The hp-ux file type was just intoduced in BASIC 5.0 for compatibility with the hp-ux and DOS operating systems. Before the hp-ux type was introduced the ASCII type was intended for ascii file compatibility between differing operating systems. BDAT (Binary Data) files allow storage of numeric data in a form quickly accessable by BASIC. File Mode - Refers to the method used by Kermit when sending files. The two Modes are ASCII and BINARY. In ASCII Mode, all transmission is of an ascii text representation. In BINARY Mode the transmission is identical to file contents - which may have been either text or unreadable binary. You will see BINARY referred to also as BIN. Changing File Mode To make maters confusing, Kermit normally refers to handling modes as "file type". The normal kermit command to change mode is SET FILE TYPE. In Kermit-RMB the command has been changed (aliased) to SET FILE MODE . In this and other Kermit documentation you may see the mode and SET MODE functions referred to as file type and SET FILE TYPE. Kermit-RMB starts up in ascii mode and can be set this way using the set command: KERMIT-RMB> SET FILE MODE ASCII To set file Mode BINARY the same Kermit command is used: KERMIT-RMB> SET FILE MODE BIN END-OF-FILE Kermit-RMB 1.0 Users Manual Page 18 Some DOS files use the CP/M convention of indicating the end of a file my marking the file with a Control-Z CHR$(26) character. If the EOF-MODE is set to CTRL-Z then CHR$(26) will be appended to the file as it is sent. You may want to set this flag when sending files to a DOS PC by using the SET EOF ON command. The EOF-MODE is ignored when receiving files - the CTRL-Z character if sent will remain in the file and show up as a SB special character in HP-BASIC. It can be editied out if not needed. To set ctrl-Z on or off use the following KERMIT command: Kermit-RMB> SET FILE EOF CTRL-Z Kermit-RMB> SET FILE EOF OFF Kermit-RMB 1.0 Users Manual Page 19 6.3.1. Sending Files + ASCII FILE TYPE ASCII MODE Contents are treated as text and read from the file line by line. A CR-LF sequence is appended to the end of each line before the file is sent. The receiving Kermit will see ascii text delimited with standard CR-LF (^M^J) delimiters. BINARY MODE ASCII Files are sent the same way regardless of File Mode. + HP-UX FILE TYPE ASCII MODE In ASCII Mode HP-UX files are read with Format-ON. Therefore HP-UX files are expected to have CR-LF line delimiters written with Format-ON. If the HP-UX file was written with Format-OFF, File Mode BIN should be set prior to sending the file. BINARY MODE While sending HP-UX files with BINARY mode set the file is read as an image and no delimiters are looked for. The file is transferred as a direct image of the file with no added CR-LF item delimiters, or terminators. + BDAT FILE TYPE For BDAT file types the Kermit File Mode (ASCII or BIN) refers to the way the file data is transmitted, not the way the file is read. This gives you the option to send BDAT binary image data as either ASCII or BINARY. The Kermit SEND command has a special optional form for BDAT files to allow this. SEND [] ASCII MODE Kermit-RMB 1.0 Users Manual Page 20 BDAT files are read according to instructions in the Kermit SEND Command line, and the data is converted to ascii strings and sent with CR-LF delimiters. Kermit assumes that the file was written with Format ON unless a special identifier is included with the SEND Command: SEND Filename Will read the file with FORMAT-ON SEND Filename INT Will access the file with Format OFF and read the file as 16 bit integers. SEND Filename REAL Will access the file with Format OFF and read the contents as 64 Bit Reals. It is up to the Kermit-RMB user to know if the ascii file was created and written using a FORMAT-ON or OFF attribute. Sending BDAT files written in binary mode (Format off) without instructing Kermit will generate the error message, "File Contents Not Ascii" and the file transfer will abort. In all cases the data read from the file is sent in ascii text form. BDAT Format-OFF data is converted (on the fly) to ascii numeral and text data. The 1-Sector file header on BDAT files will not be sent with the file. BINARY MODE When sending a BDAT file with BINARY mode set, the contents of the file are sent without conversion to ascii numeric representation. If the file was written with Format OFF - INTEGER (16 bit) or REAL (64 bit) data, then you must indicate this in the Kermit SEND Command Line: SEND Filename INT SEND Filename REAL Kermit-RMB 1.0 Users Manual Page 21 6.3.2 Receiving Files SYNTAX: KERMIT-RMB> RECEIVE [Filetype] [Filename] [File Len] [Recl] A. KERMIT-RMB> RECEIVE With no optional parameters specified, Kermit makes the following defaults: File type: hp-ux File Name: given by sending Kermit File Length: given by sending Kermit, or Default 100Kb Recl: 256 Kermit-RMB will create an HP-UX file type by default. The filename from the sending Kermit wil be used. If the name is an illegal HP-BASIC name then it will be converted to a legal name. name. In this example Kermit will use the filename provided by the remote Kermit, and use the default DESTINATION MSI when creating and storing the file. B. Filetype and Filename Kermit-RMB> RECEIVE Creates an hp-ux file Kermit-RMB> RECEIVE ASCII Creates an ASCII File Kermit-RMB> RECEIVE ASCII NEWNAME Kermit-RMB> RECEIVE BDAT Creates a BDAT File Kermit-RMB> RECEIVE BDAT NEWNAME Kermit-RMB will create a file with the name specified and if a optional file type is provided that file type will be created instead of a hp-ux type. FILE LENGTH: If an HFS file is specified as the destination MSI then no filelength needs to be specified. HFS files are extensible, and therefore Kermit needs no knowledge about the length of the file. If the remote Kermit sends Attribute packets which inform the receiving kermit of the current files length, then that figure will be used in creating the destination file. A problem arises when receiving to a LIF type disc, and neither the local kermit user specifies filelength, nor the remote Kermit-RMB 1.0 Users Manual Page 22 Kermit sends an attribute packet for the file length. In this case the local kermit will create a destination file of default length 100 Kb (if disc or ram volume size permits) and try to accomodate the incomming file. If the incomming file is larger than 100 Kb then a spill file will be created of 100 Kb and the file will continue to be received. This process will continue until the file is received, or disc space is consumed. If a spill file cannot be created, then an Error message will be sent to the sending Kermit which will abort the file transfer. INCOMPLETE and DUPLICATE FILES: Kermit provides two commands for handling incomplete and duplicate files. KERMIT-RMB> SET INC [KEEP | DISCARD] Depending on the value of this parameter an aborted receive (incomplete) file will either be erased (DISCARD) or saved in its incomplete form on the disc (KEEP). DUPLICATE FILE NAMES: KERMIT-RMB> SET FILE WARN [ON | OFF] This command instructs Kermit to either OVERWRITE a duplicate file, or RENAME the incomming file to a unique filename. With Filewarn ON the file will be renamed. If Filewarn is OFF, then the existing file will be purged before the destination file is created. Loss of data could occur if file warn is off, and the receive file process is aborted. Kermit-RMB starts up with FILE WARN ON (rename files) and INComplete ON (Save aborted files). Kermit will receive all files and store them as an identical image of the file as it was received. The file is not changed in any way, and End-of-line or end-of-file sequences are not appended or stripped off. Therefore, there is no difference in receiving files wheter file type is set to ascii or binary. It will be up to the HP-BASIC programmer to understand the internal contents of a file in order to understand how it must be accessed, and with Format ON or OFF. C. The last permutation of the receive command is Kermit-RMB> RECEIVE BDAT , 50 Kermit-RMB 1.0 Users Manual Page 23 This instructs Kermit to use the filename being sent by the sending kermit but override the HP-UX file type and create a BDAT file type instead. The 50 instructs Kermit to create a file with 50 defined records, and since no record length is specified then default of 256 bytes will be used. The , is a place holder for filename. You can still specify the destination MSI by specifying it without a filename Kermit-RMB> RECEIVE BDAT :,702,1 , 8 In this example a BDAT file with record length of 8 bytes is created to store the received file. No file length was specified in this example - Kermit depends on the sending Kermit to notify the receiver of the proper file size to create. If neither occurs then 391 sectors (100 Kb) is created by default. Kermit-RMB 1.0 Users Manual Page 24 7.0 Program Setup and Invocation The HP-BASIC Kermit program can be run from any disk without any special installation procedure. All the files start with HPK____ to uniquely identify them on Columbia University's distribution system. Once received you can rename them. 7.1 The Kermit Distribution Disc The KERMIT Distribution disc contains the following files: HPKERMIT Kermit Program File HPK_HELP Kermit HELP File HPK_INIT Kermit Initialization File HPK_DOC Kermit User Manual HPKGET_ME 'GET-ME' ASCII program file with document print instructions HPK_MISC Source Code for compiled sections, and Hex editor (DUMP) utility 7.2 Printing the Kermit-RMB User Manual To print this document (which you've probably figured out by now) use the Kermit PRINT Command: KERMIT-RMB> PRINT HPK_DOC:,7xx 701 Adjust the printer address and file MSI according to your system. To read the file on the CRT (not recommended) use the type command: KERMIT-RMB> TYPE RMBK_DOC:,7xx 7.3 Loading and Running Kermit-RMB To load and run Kermit use the BASIC LOAD Command: LOAD "HPKERMIT:,7xx",1 You will see the Kermit prompt appear and the program banner Kermit-RMB 1.0 Users Manual Page 25 HP 9000 Kermit-RMB Version 1.0 1 Mar 1989 ? for help Kermit-RMB> Kermit-RMB> is the Kermit prompt at which you can type any Kermit command. Kermit-RMB> VERSION Kermit will echo the version You may type Kermit commands repeatedly until you are ready to quit the program, using the QUIT command. 7.4 Minimizing the Kermit Program Size Kermit programs usually contain more than just send file and receive file code. To minimize the amout of RAM required to run Kermit, some functions (subprograms) have been removed from the HPKERMIT program and placed in the HPK_MISC file, and the HPK_HELP file. If you are not concerned about program size, then these functions can be loaded with the LOADSUB command, and connected permanently by re-storing the program again with the RE-STORE "HPKERMIT" command. The following Subprograms exist in these files and can be loaded: FILE SUB NAME COMMAND Description HPK_HELP SUB Kermit_help HELP Kermit Help Command HPK_MISC SUB Hex_edit DUMP Debug tool to examine files The HPK_MISC file also contains the BASIC source code for the Kermit Encode_packet and Decode_packet CSUBS in HPKERMIT. These are provided in case you want to examine, edit, or recompile in the future. Minimizing Kermit There are also subprograms in Kermit which you may not intend to make use of that can be deleted from the main program. Following is a list of subprograms and functionality you may want to delete from HP Kermit. I suggest you backup the HPKERMIT file before modifying it. The number of program lines in each subprogram is noted in (). Kermit-RMB 1.0 Users Manual Page 26 Subprogram Name Functionality Terminal (680) VT-100 terminal for logging on to remote computers and starting Kermit there. If you are using kermit between local computers only you dont need this. Transmit (140) Raw ASCII file transmission - not required if you are only using SEND and RECEIVE commands Convert (140) Used with the CONVERT command to convert file types from ASCII, BDAT, HP-UX, and PROG. This command is intended to be used to convert PROG files to HP-UX, so they can be sent by Kermit. See section 8.2 for a description of the CONVERT command. Phyread Used by the Convert and Dump (Hexedit) Phywrite commands to access the disc volume Get_vol_info directory, and disc file sectors. Get_file_info 7.5 Kermit Initialization (HPK_INIT File) Upon initial startup, the program looks for a file on the system's current MSI called HPK_INIT and if found executes the kermit commands in the file. The HPK_INIT file is a special case of a "TAKE" file which is an ascii file containing a Kermit Commands. See section 8.1 "Program Management Commands" for a description of the TAKE command and writing TAKE files. This initialization file may contain command macro definitions, communications settings for one or more ports, or any other Kermit-RMB commands, and you may create it using any text editor capable of saving LIF ASCII files. 7.6 RAM Disk Operation: If sufficient memory exists Kermit will create a RAM Disc and use it for transfering and modifying files. The file will first be copied to the RAM disc, and then sent from there. Kermit-RMB 1.0 Users Manual Page 27 Kermit-RMB 1.0 Users Manual Page 28 8.0 Kermit-RMB Command Descriptions During interactive operation, all the edit function keys on the keyboard are available to edit the command you are entering. The recall key will recall previous commands executed. The command line when recalled must stil contain the kermit prompt Kermit-RMB> in order to be parsed correctly. The notation used in command descriptions is as follows: [square brackets] An optional field. This field may be omitted. {curly braces} A list of alternatives, separated by commas. Choose one of the items from the list. The following sections describe all the HP-BASIC Kermit commands. Since some command descriptions may contain references to other commands that haven't been explained yet, you might find that this manual makes more sense on a second reading. Notice that some commands can be abreiviated using the first letter of the command, for example: > SET BAUD 1200 > S B 1200 > SET FILE TYPE BIN > S F T BIN > QUIT > Q HP-BASIC Kermit supplies a good amount of the full set of Kermit commands. Commands with asterics are unique to Kermit-RMB and not found in other Kermits. Here's a summary: 8.1 Kermit-RMB command syntax CLEAR Reset Serial Port Transfers * CLS Clear Screen CLOSE,CLO Close Log File PACKET,PAC,P SESSION,S,S CONNECT,C,CON Start Terminal Emulator * CONVERT COPY CD, MSI DEFINE,DEF DELETE,DEL DO CAT,DIR * DUMP Kermit-RMB 1.0 Users Manual Page 29 ECHO EXIT HELP,? LOCAL LOG SESSION,SES PACKET,PAC OUTPUT PRINT,TYPE QUIT,Q RECEIVE ASCII,BDAT,HPUX RENAME SEND SET,S BAUD,SPEED,B BLOCK-CHECK DEBUG DELAY DESTINATION,DEFAULT,DES,DEF DUPLEX ON,FULL OFF,HALF ECHO,LOCAL-ECHO OFF,REMOTE ON,LOCAL EOF CTRL-Z,Z,ON NONE,OFF,NO CTRL-Z ESCAPE,ESC FILE,F NAME TYPE,T BINARY,IMAGE,B WARNING,WARN SUPERCEDE FLOW-CONTROL,FLO,FC XON,XOFF,X ENQ,ENQ/ACK HANDSHAKE,HS INCOMPLETE OFF,DISCARD ON,KEEP,K LINE,PORT MARK PARITY RECEIVE,REMOTE END-OF-PACKET,EOP,EOL PACKET-LENGTH,PL PAD-CHARACTER,PC PADDING PAUSE START-OF-PACKET,SOP,MARK Kermit-RMB 1.0 Users Manual Page 30 TIMEOUT RETRY,RET SEND END-OF-PACKET,EOP,EOL PACKET-LENGTH,PL,LEN PAD-CHARACTER,PC PADDING,PAD PAUSE PREFIX CONTROL 8BIT REPEAT,REP TIMEOUT,TIM START-OF-PACKET,SOP TERMINAL,T VT100 TIMER MACRO STATUS TAKE TRANSMIT TYPE VERSION Commands for TAKE files ECHO COMMENT Comment a macro file 8.2 Unique commands for Kermit-RMB: DUMP {filespec} The file specified is copied to the ramdisc and dumped in HEX/ASCII format one sector at a time. I used this to verify that binary files were being transferred properly. The dump utility also allows you to edit the contents of a disc sector and write the modified sector to disc. After the first sector is displayed the following keys ae active: TAB switches edit cursor from Hex to Ascii Edit The following functions require the CTRL key to be held down simultaneously: Kermit-RMB 1.0 Users Manual Page 31 + dumps next sector - dumps previous sector / dumps the directory sector holding that file's directory entry. * returns you to the first data sector of file # or N allows you to specify a sector to be dumped Q quit K convert hex number to decimal,ascii, and Kermit representation. P Dump Alpha Screen to Printer H Display this Help space bar write disc sector to disc (you will be asked to confirm). CONVERT filespec [TO] filetype KERMIT-RMB> CONVERT Progfile:,702 hp-ux The specified file is copied to the ramdisc and its directory entry is changed to the specified filetype. The original file is not touched unless it was already on the ramdisc. Caution: This command does not convert the contents of the file! Only the directory entry is changed to the filetype specified. For example, converting an ASCII filetype to HP-UX will not change the ASCII text length headers to CR-LF text delimiters. TRANSFERRING PROG FILES Note: The documentation for the SEND command does not indicate the ability to send PROG type files. This capability was not fully debugged before releasing version 1.0. However, if the file specified with the SEND command is a PROG file, it will be copied to the ramdisc (the original is not touched), converted to an hp-ux file and sent to the receiving Kermit. The reason this capability is not documented with the SEND command is that getting the file back as a PROG file is not 100% guaranteed. (Kind of like taking off in a jet without landing gear). On some occaisions the file when received back would not load correctly or run. As soon as this capability is debugged it will be included with the next release of Kermit. I didn't want to hold up this release any further. If you need this capability, let Columbia Kermit-RMB 1.0 Users Manual Page 32 University, or myself know, and we'll be in touch as soon as PROG file transfer is debugged. Using a PC Hex Editor and the BASIC Hex editor (which was written solely for this purpose) I've determined that the original PROG file contents can be sent and received back fully in tact. The problem arises in restoring the original PROG file directory entry. It appears that the PROG directory entry uses some other pointer than the logical end of file in marking the file. This pointer is lost after the file is sent, so restoring it when the file is received is not always possible. I've used the DUMP command to edit the PROG directory entry so that the file will load and run correctly. I believe that the solution may be to send the Directory entry along with the file when it is sent, and parse it off when the file is received again. Keep in touch. 8.3 GENERAL KERMIT COMMAND GROUPS The Kermit Command descriptions that follow have been broken into functional groupings under the folowing categories: 8.4 Program Management Commands 8.5 Local File Management Commands 8.6 Terminal Connection and Emulator Commands 8.7 File Transfer Commands 8.8 Ascii File Transmission Commands 8.9 Kermit SET Command Options 8.10 Status and Show Commands 8.11 Log and Close Commands 8.12 Macro Definitions 8.13 Kermit Server Commands (Not Implemented) 8.14 Remote Server Commands (Not Implemented) Kermit-RMB 1.0 Users Manual Page 33 8.4 Program Management Commands HELP or ? Displays a one screen introduction to frequently used Kermit commands and their editing keys, and suggests using the question mark command to see the terse list of primary level Kermit commands. Also available are HELP 1-6 screens which are described in the general help. VERSION displays the Kermit-RMB program version number, which you should know in case you are reporting bugs or seeking technical assistance. The EXIT Command Syntax: EXIT or QUIT EXIT and QUIT are synonyms for each other. From Kermit-RMB they shutdown the program and reset defaults such as key labels on, cursor on etc. If you are in the Kermit shell from the terminal escape CTRL-]K then EXIT returns you to the terminal session. Don't use QUIT to exit the Kermit Shell. The serial port RS-232 signals are left alone upon EXIT, so that modem connections are not broken. Kermit-RMB may be restarted with the connection intact. Use HANGUP to explicitly break a modem connection; and use SHOW MODEM or SHOW COMMUNICATIONS to view the status of modem signals CARRIER DETECT, DATA SET (modem) READY, and CLEAR TO SEND. The TAKE Command Syntax: TAKE filespec The TAKE command gives you way a to collect Kermit-RMB commands into a single file, so that you can execute many commands by typing a single (TAKE) command. TAKE instructs Kermit-RMB to execute commands from the file that you specify. Kermit-RMB>take modem_cmd This directs Kermit-RMB to find the MODEM_CMD file, open it, Kermit-RMB 1.0 Users Manual Page 34 execute the commands in it, close it, and return to the Kermit-RMB> prompt when done. To use the HP BASIC program editor to modify the file use the BASIC GET command: GET "HPK_INIT" Warning: Remeber this will erase the Kermit program from memory. The BASIC program editor may be used to create an init file by beginning each line with a comment and saving the file as ascii. As an example of a KERMINIT command file: 10 !comment -- KERMINIT, HP-BASIC Kermit initialization file 20 !comment -- Don't overwrite my files! 25 !set warning on 30 !! a double !! is also a comment 40 !def HP set par odd,set loc on,set hands xon,set flo - 50 !none,set tim on ; semi-colon starts a comment 60 !def modem set port 2, set speed 1200 70 !comment -- I always start out by connecting to UNIX 80 !set port 9 ! use select code 9 90 !set speed 4800 ! a second ! starts a comment 100 !stop INIT files are created with the following rules: Line numbers are optional - if used start each line with a ! mark following the line number. End the file with a STOP command. !! and comment are comment lines ! separates a command from its comment Only comments after the COMMENT command will be echoed to the Kermit-RMB 1.0 Users Manual Page 35 screen when the file is executed. The ECHO Command Syntax: ECHO [string] The ECHO command writes the string to the screen, without adding a carriage return or line feed. ECHO may be used to report progress during execution of a TAKE command file, or to issue prompts during the execution of a script. ECHO Part one completed... The COMMENT Command Syntax: COMMENT text The COMMENT command lets you add comments to a TAKE command file. The word COMMENT (or any unique prefix thereof) must appear as the first word on the line. Double !! in the take file will also act as a comment line. 8.5 Local File Management Commands These commands are executed on your local S200/300, directly without having to use the local command before execution. This allows you to execute the most common file management commands without leaving KERMIT. All file specifications may include device and/or directory fields. The local file management commands are: CD , MSI {path:MSI} Changes the current working directory to the given path and MSI. All references to local file management commands will refer to the current MSI. Don't confuse this with the SET DEFAULT {MSI} which specifies the default path for SEND, RECEIVE, TRANSMIT, and LOG commands. DELETE , DEL , ERASE {filespec} Deletes the specified file. No wildcards. CAT or DIR [path:MSI] Performs a CATalog of the current MSI or the MSI included in the command specification. Kermit-RMB 1.0 Users Manual Page 36 SPACE [MSI] Tells how much space is available on the current disc, and what the largest contiguous space is on a LIF disc. The number of sectors fragmented on the disc is also reported. TYPE or PRINT filespec [device] TYPE displays the specified local file on the screen. PRINT will print the file to the device specified - ie 1 or CRT, 701. 8.6 COMMANDS FOR TERMINAL CONNECTION The CONNECT command connects your S200/300 as a terminal to the remote system so that you may conduct a session there. For completeness, the descriptions below contain copious reference to the SET commands, which let you modify all sorts of terminal and communication parameters (the SET commands are described in a later section). Kermit-RMB is initially set up with the following parameters, so that you only need to issue SET commands for those that need to be changed: Default Kermit Startup PORT 9 Or the lowest serial port select code found. if more than one port is found you will be asked to select one. TERMINAL VT102 SPEED 2400 PARITY None (Data Bits 8) FLOW-CONTROL None HANDSHAKE None LOCAL-ECHO Off ESCAPE Control-] The CONNECT Command Syntax: CONNECT , C The CONNECT command establishes an interactive terminal connection to the remote system using the currently selected communications port with all settings currently in effect for that port, emulating the currently selected type of terminal Kermit-RMB 1.0 Users Manual Page 37 which is only VT-100 at this point. During CONNECT, the characters you type are sent out the communication port, and the characters that arrive at the port are displayed on the screen. If you SET LOCAL-ECHO ON, Kermit-RMB itself will display the characters you type on the screen. Before you issue the CONNECT command, be sure to set the correct communication speed (SET SPEED) and any other necessary communication parameters (e.g. SET PARITY, SET | LOCAL-ECHO). If you have SET DEBUG ON, then received control | characters will be displayed in special notation and no | particular terminal will be emulated. In addition characters that are sent to the screen will also be recorded in a disk file if you have issued a LOG SESSION command. The CONNECT command turns your S200/300 into a terminal to the other computer. To get back to the S200/300, type the escape sequence followed by the letter C (for "Close connection"). Usually the escape character is Ctrl-] (Control-Rightbracket). That means, hold down the Ctrl key, press "]", release both, and then type the letter C. Kermit-RMB> C Connect to remote system. Conduct terminal session here... ^]c Escape back to S200/300. Kermit-RMB> Prompt reappears. This is called "escaping back". You can use the SET ESCAPE command to change the escape character to something besides "^]". Escape sequences: When you press the escape sequence (CTRL-]) while in the terminal emulator, a list of available sequence options is displayed on the screen. Below is a list of these options: CTRL-] C Cancel Terminal Emulation - return to KERMIT-RMB> " K Invoke a Kermit Shell - use EXIT to return from the Kermit shell to terminal mode. " B Send a BREAK signal out the com port. " Q Quit Session logging (raw download) if on " R Resume Session Logging if previously discontinued. " M Toggle the modeline ON/OFF " E Toggle Local-echo Kermit-RMB 1.0 Users Manual Page 38 Escape-Level Commands The escape character, normally Control-], is used to regain the attention of Kermit-RMB during CONNECT (you can change the escape character using SET ESCAPE). When you type the escape character, Kermit-RMB waits for you to follow it with a single character command. For instance, the single character command "B" sends a break signal over the serial line. Typing any other character (except the space bar, which is the "null command") after the escape character will cause Kermit-RMB to beep, but will do no harm. ? Help -- Lists the available single-character commands. 0 (the digit zero) Transmit a NUL (ASCII 0). B Transmit a BREAK signal. C Close the connection and return to Kermit-RMB prompt level. K Create a Kermit Shell M Toggle the mode line, i.e. turn it off if it is on or vice versa. E Toggle Local-Echo ON/OFF Q Temporarily quit logging the remote session. R Resume logging the remote session. When using Kermit to connect two S200/300s "back to back," SET LOCAL-ECHO ON so that when you CONNECT to the other S200/300 you can see what you are typing. You should also SET TERMINAL NEWLINE ON, so that that a linefeed will be automatically supplied for each carriage return you type. TERMINAL EMULATION Kermit-RMB emulates a minimal VT-100 terminal, and is the only terminal emulation provided. Any escape character received will begin decoding of an escape sequence. If a valid VT-100 sequence is detected it is executed - if the sequence is unknown then the entire sequence is displayed on the CRT. Presence of these sequences during a VT-100 terminal session will indicate those VT-100 sequences that are not implemented. | The Mode Line When you first issue the CONNECT command, a message will display the status of the terminal line parameters such as baud rate, parity, and escape sequence. Esc: ^]C baud: 9600 parity: odd off 8.7 COMMANDS FOR FILE TRANSFER Kermit-RMB 1.0 Users Manual Page 39 Kermit-RMB's SEND and RECEIVE invoke the Kermit file transfer protocol for error-checked transmission of files between Kermit-RMB and another Kermit program on the other end of the connection. There are also commands for "raw" transfer of files (no error checking) with systems that don't have Kermit programs: LOG SESSION (for capturing text files on your S200/300) and TRANSMIT (for uploading text files to the remote system). During file transfer, Kermit-RMB normally displays its progress on the screen as shown below. The items in the right-hand column are updated more or less at random. File name: TESTDAT Bytes transferred: 1460 % transferred: 10 Sending: In progress Number of packets: 74 Number of retries: 2 Last error: Last warning: Kermit-RMB File Transfer Display Screen File transfers involving floppy disks will be slow and noisy. Hard disks are much faster (and quieter), and RAM disks faster still (and totally silent). But if you store new files on a RAM disk, be sure to move them to a real disk before turning off your S200/300. Before attempting to transfer files to the S200/300, make sure you have enough room on the selected device. Kermit does not provide a way for you to change disks during a file transfer. However, the Kermit protocol will help you out a by creating "spill files" which will hold the file data if the original file created is too small to hold the incomming file. Kermit will also attempt to prevent transfer of files that are too big to fit in the available space. Kermit-RMB supports "file attributes" exchange, and if the other Kermit supports this option too, then the receiving program will check free disk space before letting the transfer proceed. Other attributes exchanged by Kermit-RMB include the file's creation date and time, the system of origin, and the file type. Some of these attributes are implemented. Kermit-RMB 1.0 Users Manual Page 40 The SEND Command Syntax: SEND filespec1 [filetype] The SEND command causes a file or file group to be sent from the local HP-BASIC system to the Kermit on the remote system. Currently Kermit-RMB does not support server commands. filespec1 may contain the wildcard characters "*" to match zero or more characters within a field If filespec1 contains wildcard characters then all matching files will be sent, in the same order that HP-BASIC would show them in a directory listing. If the optional filetype is specified, then only files of that filetype will be included in the list of files to be transferred. If the SEND command is specified by itself on the command line, then you will be presented with a valid syntax description help on the screen. If a file can't be opened for read access, the message Cannot access file - blank filename will exit /default/file:,msi Correct the name of the file you want to send at this time, and press enter. Once you give Kermit-RMB the SEND command, the name of each file will be displayed on your screen as the transfer begins. Packet, retry, and other counts will be displayed along with informational | messages during the transfer, in the style specified by SET | DISPLAY. If the file is successfully transferred, you will | see "Complete", otherwise there will be an error message. Several single-character commands may be given while a file transfer is in progress: | ^X (Control-X) Stop sending the current file and go on to the next one, if any. | ^Z Stop sending this file, and don't send any further files. | ^C Return to Kermit-RMB command level immediately without sending any kind of notification to the remote system. (^Z or even ^E is preferable.) Kermit-RMB 1.0 Users Manual Page 41 | ^E Like ^C, but send an Error packet to the remote Kermit in an attempt to bring it back to server or interactive command level. | CR Simulate a timeout: resend the current packet, or NAK the expected one. Control-X, Control-Z, and Control-E send the proper protocol messages to the remote Kermit to bring it gracefully to the desired state. Control-C leaves the remote Kermit in whatever state it happens to be in, possibly retransmitting its last packet over and over, up to its retry limit. You should only have to use Control-C in dire emergencies (the remote Kermit is stuck, the remote system crashed, etc), or at those times when you realize that you have given a file transfer command to Kermit-RMB without first having told the remote Kermit about it. The RECEIVE Command Syntax: RECEIVE [filespec] [filetype] [BDAT Rec Length] The RECEIVE command tells Kermit-RMB to receive a file or file group from the other system. The file is stored under the name it was transmitted with, except that any illegal characters are translated to _. Kermit-RMB passively waits for the file to arrive; this command is not to be used when talking to a Kermit server (use GET for that). You should already have issued a SEND command to the remote Kermit and escaped back to Kermit-RMB before issuing the RECEIVE command. The RECEIVE command is intended for situations where the file name and sending operation originates at the other side. If the optional filespec is provided, incoming files will be stored under that name. The first incoming file is renamed and any additional files either overwrite the first (if FILE WARNING is OFF) or are renamed slightly from the filespec (digits are added to the end of the filename) if SET FILE WARNING ON has been spacified. The filespec may include any combination of the following fields: Device MSI Store the file on the designated device, in the current directory for that device. If no device designator is given, store it on the current default device. | Directory path Store the file in the designated directory on | the current disk. If no path given, store the file in the | current directory. File name Store the file under the name given. If no name Kermit-RMB 1.0 Users Manual Page 42 is given, store it under the name it was sent under, converted, if necessary, to suit DOS conventions, and modified, if SET WARNING ON, to avoid overwriting any file of the same name in the same directory. If an incoming file does not arrive in its entirety, Kermit-RMB will normally discard it and it will not appear in your directory. You may change this behavior by using the command SET INCOMPLETE KEEP, which will cause as much of the file as arrived to be saved on the disk. The same single-character commands are available as during SEND: | ^X Request that the remote Kermit stop sending the current file, and proceed to the next one immediately. Since this is an optional feature of the Kermit protocol, the remote Kermit might not honor the request. | ^Z Request that the remote Kermit terminate the entire transfer; this is also an optional feature that may or may not be supported by the remote Kermit. ^C, ^E, and CR operate in the same way as they do during SEND. In this case, ^E should always do what ^Z is supposed to do. If WARNING is OFF and you type ^X or ^Z to interrupt the transfer, you'll either get a partial new file, or else both the old and the new file of that name will be lost, depending on SET INCOMPLETE. In any case, when WARNING is off, old files with the same name as incoming files will not survive. 8.8 Commands for Raw Uploading and Downloading Kermit-RMB can be used to send files to, or capture files from, remote systems that do not have Kermit programs available. No error checking or correction is done, so the results can very likely contain corrupted characters, spurts of noise, gaps, or extraneous system messages or prompts. The command for uploading is TRANSMIT, and for downloading LOG SESSION. | To minimize loss of data during these operations, be sure to | SET the FLOW-CONTROL and HANDSHAKE parameters to match the | characteristics of the system on the other end. The TRANSMIT Command Syntax: TRANSMIT filespec Kermit-RMB 1.0 Users Manual Page 43 The TRANSMIT command provides a basic raw upload facility to send ASCII, BDAT, or HP-UX files to the host without packets, error checking, or retransmissions, but using all the currently selected communication parameters for flow control, parity, etc. Information is read from the disk file a line at a time, sent out the serial port. A disk file line ends with carriage-return-linefeed (CRLF). Typically, before using this command to upload a file, you would start a text editor (preferably a line-oriented, rather than full-screen, editor) on the remote host and put it into text insertion mode. When the file has been completely transmitted, you would manually enter the required sequence for getting the editor out of text insertion mode, and then make any necessary corrections by hand. Here's an example for VAX/VMS: Kermit-RMB>set flow xon/xoff Kermit-RMB>connect Connect to VAX. $ edt foo_txt Start the EDT editor. *i Put it into "insert" mode. ^]c Escape back to Kermit-RMB. Kermit-RMB>transmit foo_txt Upload the file a line at a time. ... The lines are displayed on your screen. Kermit-RMB>connect When done, connect back to the VAX. ^Z Type Ctrl-Z to exit EDT insert mode. *exit Exit from EDT to save the file. $ If transmission appears to be stuck, you can wake it up by typing a carriage return on the keyboard. You can cancel | the TRANSMIT command by typing a Control-C. Control-Z's or other control characters in the file may have adverse effects on the host. For this reason, you should use TRANSMIT only for files that contain 7-bit printing ASCII characters, spaces, tabs, carriage returns, linefeeds, and possibly formfeeds. Kermit-RMB 1.0 Users Manual Page 44 The LOG SESSION Command Syntax: LOG SESSION [filespec] The LOG SESSION command lets you copy the characters that appear on your screen during CONNECT into the specified file on the S200/300. You can use this command to download files by displaying (usually with a command like TYPE) the file on the remote system while logging is in effect. Example: Kermit-RMB>LOG SESSION :,0,0 Starts a file on the Ram Disc called SES_LOG by default. You will need to have the terminal emulator active in order to trap activity at the serial port. Kermit-RMB>connect Any activity appearing at the serial port will now be sent to the CRT screen and to the log file SES_LOG. If you are connected to a PC for example you can now copy the file to the PC Serial port and capture it on the HP side: C:\> COPY TEXTFILE COM1: If you were using MS-KERMIT on the PC you could use the TRANSMIT command to copy the file to the serial port: MS-KERMIT> TRANSMIT TEXTFILE The TRANSMIT command on the PC Kermit sends one line of the file each time is pressed. To stop session logging temporarily from the terminal emulator you use the "Q" escape option: CTRL-] Q Suspends Session Logging, but leaves the file open. To resume logging use the "R" option: CTRL-] R To close the file and end session logging use the CLOSE command at the Kermit prompt: CTRL-] C Leave the terminal emulator KERMIT-RMB> CLOSE SESSION and close the log file. Kermit-RMB 1.0 Users Manual Page 45 During terminal emulation, the LOG command records all the characters that arrive from the remote host in the specified file, If you have SET LOCAL-ECHO ON, the characters you type will also be recorded. Logging may be suspended and resumed within a terminal session with the CONNECT escape-level commands Q and R. 8.9 The SET Command Syntax: SET parameter [parameter] value The SET command establishes or modifies parameters for file transfer or terminal connection. You can examine their values with the SHOW or STATUS commands. The following SET commands are available in Kermit-RMB: ATTRIBUTES Controls whether Kermit-RMB uses Attribute packets BAUD Communications port line speed (synonym for SPEED) DEBUG Display packet contents during file transfer DEFAULT-DISK Default disk drive for file i/o DELAY Wait number seconds before Sending a file DESTINATION Default destination device for incoming files DISPLAY For selecting the type of file transfer display END-OF-LINE Packet termination character EOF Method for determining or marking end of file ESCAPE Escape character for CONNECT FLOW-CONTROL Enable or disable XON/XOFF HANDSHAKE Half-duplex line turnaround option INCOMPLETE What to do with an incompletely received file LOCAL-ECHO Specify which computer does the echoing during CONNECT MODE-LINE Whether to display a mode line during terminal emulation PARITY Character parity to use Kermit-RMB 1.0 Users Manual Page 46 PORT Select a communications port PROMPT Change the "Kermit-RMB>" prompt to something else RECEIVE Request remote Kermit to use specified parameters RETRY Packet retransmission threshold SEND Use the specified parameters during file transfer SPEED Communications port line speed (synonym for BAUD) TAKE-ECHO Control echoing of commands from TAKE files TERMINAL Emulation and parameters TIMER Enable/disable timeouts during file transfer WARNING Specify how to handle filename collisions The SET commands are now described in detail, in alphabetical order. SET ATTRIBUTES | Syntax: SET ATTRIBUTES {ON, OFF} Disables or enables use of Kermit file Attribute protocol packets, which contain the size, time, and date of files transferred with packets. This command is a safety feature so that a small misunderstanding with another Kermit cannot block transfers. SHOW FILE tells whether attributes are on or off; they are normally ON. SET BAUD, SPEED Syntax: SET BAUD {baud rate} SET DEBUG Syntax: SET DEBUG {ON, OFF} Kermit-RMB 1.0 Users Manual Page 47 With DEBUG PACKET, Kermit will display the actual packets on your screen during file transfer. With the normal file transfer display, regular-length packets sent and received are displayed in fixed-size slots. With DEBUG ON control characters are displayed in uparrow ("^") notation and characters with the 8th bit set are preceded by the tilde ("~") sign, and your session log (if any) will record 8-bit bytes, rather than 7-bit ASCII, regardless of SET DISPLAY or SET PARITY. SET DEBUG ON turns on both SESSION and PACKET debugging, and SET DEBUG OFF turns them both off. SET DEFAULT-DISK Syntax: SET DEFAULT-DISK {MSI} Specify the default disk drive to use for file transfer, directory listings, and so forth. Use CD or MSI to change the current directory for file management commands. SET DELAY | Syntax: SET DELAY number Wait the specified number of seconds before starting a file transfer. Intended for use when the other side needs appreciable time to become ready, such as rearranging cables, changing programs, etc. SET END-OF-LINE Syntax: SET SEND END-OF-LINE number If the remote system needs packets to be terminated by anything other than carriage return, specify the decimal value, 0-31, of the desired ASCII character. SET EOF | Syntax: SET EOF {CTRL-Z, NOCTRL-Z} Controls how the end of file is handled. CTRL-Z specifies a Control-Z character should be appended to the end of an incoming file. Kermit-RMB 1.0 Users Manual Page 48 SET ESCAPE Syntax: SET ESCAPE character Specify the control character you want to use to "escape" from remote connections back to Kermit-RMB. On most systems the default is "^]" (Control- Rightbracket), which was chosen because it is a character you would otherwise rarely type. SET FLOW-CONTROL Syntax: SET FLOW-CONTROL {XON/XOFF, ENQ/ACK, NONE} Specify the full duplex flow control to be done on the currently selected port. The options are XON/XOFF and NONE. The specified type of flow control will be done during both terminal emulation and file transfer. By default, XON/XOFF flow control is selected. XON/XOFF should not be used on half-duplex (local echo) connections, or when the other system does not support it. If XON/XOFF is used, HANDSHAKE should be set to NONE. SET INCOMPLETE Syntax: SET INCOMPLETE {DISCARD, KEEP} Specifies what to do with files that arrive incompletely: discard them or keep them. They are normally discarded. SET LOCAL-ECHO Syntax: SET LOCAL-ECHO {ON, OFF} Specify how characters are echoed during terminal emulation on the currently selected port. ON specifies that characters are to be echoed by Kermit-RMB (because neither the remote computer nor the communications circuitry has been requested to echo), and is appropriate for half-duplex connections. LOCAL-ECHO is OFF by default, for full-duplex, remote echo operation. SET PARITY Syntax: SET PARITY {EVEN, ODD, MARK, SPACE, NONE} Specify the character parity to be used on the currently Kermit-RMB 1.0 Users Manual Page 49 selected port. You will need to SET PARITY to ODD, EVEN, MARK, or possibly SPACE when communicating with a system, or over a network, or through modems, concentrators, multiplexers, or front ends that require or impose character parity on the communication line. For instance, most HP mainframe computers use EVEN or MARK parity; Telenet normally uses MARK parity. If you neglect to SET PARITY when the communications equipment requires it, the symptom may be that terminal emulation works (well or maybe only partially), but file transfer or script INPUT commands do not work at all. NONE means that no parity processing is done, and the 8th bit of each character can be used for data when transmitting binary files. If parity is other than none, then there will be 7 data bits. If you have set parity to ODD, EVEN, MARK, or SPACE, then Kermit-RMB will request that binary files be transferred using 8th-bit-prefixing. If the other Kermit knows how to do 8th-bit-prefixing (this is an optional feature of the Kermit protocol, and some implementations of Kermit don't have it), then 8-bit binary files can be transmitted successfully. If NONE is specified, 8th-bit- prefixing will not be requested. Note that there is no advantage to using parity. It reduces Kermit's file transfer efficiency without providing additional error detection. The SET PARITY command is provided only to allow Kermit to adapt to conditions where parity is required, or 8-bit transmission is otherwise thwarted. | If parity is in use, then the display during terminal | emulation, as well as any session log, will be 7-bit ASCII, | unless you have SET DEBUG ON. SET PORT Syntax: SET PORT {number} SET PROMPT Syntax: SET PROMPT [string] This command allows you to change the HP-BASIC Kermit program's prompt to any other string. SET RECEIVE Kermit-RMB 1.0 Users Manual Page 50 Syntax: SET RECEIVE parameter value This command lets you modify the ways in which Kermit-RMB asks the other Kermit to behave. That is, it controls the file transfer protocol options for packets sent to Kermit-RMB by the other Kermit. The parameters and values you specify in the SET RECEIVE command are sent to the other Kermit during initial negotiations. | END-OF-LINE number The ASCII value of terminating character to look for on incoming packets. Normally carriage return. Use this command if the other Kermit is terminating its packets with some other control character. | PADCHAR number Ask the remote Kermit to use the given control character (expressed as a decimal number 0-31, or 127) for interpacket padding. Kermit-RMB should never require any padding. PADDING number Ask the remote Kermit to insert the given number of padding characters before each packet it sends. Kermit-RMB never needs padding, but this mechanism might be required to keep some intervening communication equipment happy. START-OF-PACKET number If the remote Kermit will be marking the beginning of packets with a control character other than Control-A, use this command to tell Kermit-RMB about it (the number should be the decimal ASCII value of a control character). This will be necessary only if the hosts or communication equipment involved cannot pass a Control-A through as data, or if some piece of communication equipment is echoing packets back at you. TIMEOUT number Ask the remote Kermit to time out and retransmit after the given number of seconds if a packet expected from Kermit-RMB has not arrived. Use this command to change the other Kermit's normal timeout interval. SET RETRY Syntax: SET RETRY number Sets the number of times a packet is retransmitted before the protocol gives up. The number of retries can be between 1 and 63, and is 5 by default. This is an especially useful parameter when the communications line is noisy or the remote host is very busy. The initial packet of a file exchange is given three times as many retries to allow both systems to become ready. Kermit-RMB 1.0 Users Manual Page 51 SET SEND Syntax: SET SEND parameter value The SET SEND command is used primarily to override negotiated protocol options, or to establish them before they are negotiated. END-OF-LINE number ASCII value of packet terminator to put on outbound packets. Normally carriage return. Use this command if the other Kermit needs its packets terminated with a nonstandard control character. PACKET-LENGTH number Use this as the maximum length for outbound packets, regardless of what the other Kermit asks for. Normally, you would use this command only to send shorter packets than the other Kermit requests, because you know something the other Kermit doesn't know, e.g. there's a device on the communication path with small buffers. PADCHAR number Use the specified control character for interpacket padding. Some hosts may require some padding characters (normally NUL or DEL) before a packet, and certain front ends or other communication equipment may need certain control characters to put them in the right modes. The number is the ASCII decimal value of the padding character, (0 - 31, or 127). PADDING number How many copies of the pad character to send before each packet, normally zero. PAUSE number How many milliseconds to pause before sending each packet, 0-127, normally zero. This may help half-duplex or slow systems prepare for reception of our packet. Padding characters are sent only after the time limit expires. QUOTE number Use the indicated printable character for prefixing (quoting) control characters and other prefix characters. The only reason to change this would be for sending a very long file that contains very many "#" characters (the normal control prefix) as data. START-OF-PACKET number Mark the beginning of outbound packets with some control character other than Control-A. This will be necessary if the remote host or the communication channel cannot accept a Control-A as data, or if it echoes back your packets. The remote host must have been given the corresponding SET RECEIVE START-OF-PACKET command. TIMEOUT number Change Kermit-RMB's normal timeout interval; this command is effective only if TIMER is set to be ON; it Kermit-RMB 1.0 Users Manual Page 52 is normally ON, with a default interval of 13 seconds. SET SPEED Syntax: SET SPEED rate Set the transmission speed (in bits per second, commonly called baud) of the currently selected terminal communications port to 300, 1200, 1800, 2400, 4800, 9600. 19200 baud has not been tested. Kermit-RMB appears to log packets at an effective rate of 1200 baud. Transfers to a 2048 byte buffer allow baud rates of about any speed, but the packet decoding will proceed at about 1200 baud. (uncompiled BASIC). SET BAUD is a synonym for SET SPEED. SET TAKE-ECHO | Syntax: SET TAKE-ECHO {ON, OFF} Specifies whether screen display should occur during implicit or explicit TAKE operations on KERMINIT or other Kermit-RMB command files, and during evaluation of macro definitions by the DO command. Handy for finding errors in TAKE files or macro definitions. SET TERMINAL Syntax: SET TERMINAL {type} VT-100 is the only terminal available with rev. 1.0 | NEWLINE-MODE {ON, OFF} ON sends a carriage-return-linefeed combination (CRLF) when you type carriage return (CR) during terminal emulation. OFF (default) just sends a CR when you type CR. Useful in conjunction with SET LOCAL-ECHO ON when CONNECTing two S200/300's back-to-back. SET TIMER Syntax: SET TIMER {ON, OFF} This command enables or disables the timer that is used Kermit-RMB 1.0 Users Manual Page 53 during file transfer to break deadlocks that occur when expected packets do not arrive. By default, the timer is ON. If the other Kermit is providing timeouts, you can safely turn the timer OFF to avoid unnecessary retransmissions that occur when two timers go off simultaneously. SET WARNING Syntax: SET WARNING {ON, OFF} Specify what to do when an incoming file is about to be stored under the same name as an existing file in the target device and directory. If ON, Kermit will warn you when an incoming file has the same name as an existing file, and automatically rename the incoming file (as indicated in the warning message) so as not to destroy (overwrite) any existing one. If OFF, the pre-existing file is destroyed, even if the incoming file does not arrive completely. WARNING is ON by default as a safety measure, and the | current setting may be observed in the SHOW FILE display. The new name is formed by adding numbers starting at the last character of the name. 8.10 The STATUS and SHOW Commands Syntax: STATUS The STATUS command displays the values of all the current SET options. There are currently no operands for the STATUS | command. Use the SHOW command to see logically-grouped | settings, e.g. SHOW COMMUNICATIONS, SHOW TERMINAL. | The SHOW Command Syntax: SHOW option Most parameters that may be altered with SET commands are displayed by the STATUS command. The SHOW command is used for displaying macro definitions, key redefinitions, file transfer statistics, translations, and other common groupings. SHOW COMMUNICATIONS displays the settings of the current serial port (port, speed, parity, echo, etc) and the status of modem signals Carrier Detect, Data Set (modem) Ready, and Clear To Send. SHOW FILE displays the file transfer control settings, such Kermit-RMB 1.0 Users Manual Page 54 as the current path, file discard, attributes packets on/off, warning, end-of-file convention, etc. SHOW KEY allows you to determine a key's identification code and what it will send in CONNECT mode, most useful for obtaining the identification of a key when SET KEY commands will be placed in a TAKE file. This command can be done only interactively (use a ? to see all defined keys). Refer to the SET KEY description for details. SHOW LOGGING Displays the names of the session, packet, and transaction logs, and tells whether logging is in effect. SHOW MACROS [macroname] displays the definitions of all currently defined macros, as well as the amount of space left for new macro definitions. A macro name, or abbreviation, can be included to restrict the list, e.g. SHOW MACRO HP will display the definition of the HP macro, and SHOW MACRO X will list the definitions of all macros whose names begin with X. SHOW MODEM displays the status of the modem signals DSR (dataset ready, modem tells the S200/300 that it is turned on and in data mode), CTS (clear to send, modem grants the S200/300 permission to send data), and CD (carrier detect, local modem tells the S200/300 that it is connected to the remote modem). The results may be misleading if your asynchronous adapter, or the connector or cable that is attached to it, is strapped to supply these modem signals itself. SHOW PROTOCOL displays the values of the Kermit protocol-related parameters, including all the SET SEND and SET RECEIVE parameters, plus whether the timer, attribute packets, and logging are enabled. SHOW SCRIPTS displays the script-related variables. SHOW SERVER displays which server functions are enabled and disabled. SHOW STATISTICS displays counts of characters sent and received during file transfers, for both the most recent transfer and the entire session, and an estimate of the average baud rate while sending and listening. SHOW TERMINAL displays the terminal settings, which terminal is being emulated, the tab stops, etc. SHOW TRANSLATION displays the entries in the 256 byte input translation table. Values are expressed numerically to avoid confusion with different display adapters, and the command shows only entries for which input and output codes differ. Kermit-RMB 1.0 Users Manual Page 55 8.11 The LOG and CLOSE Commands Syntax: LOG {PACKET, SESSION} [Filespec] CLOSE {PACKET, SESSION,} The LOG comman tells Kermit-RMB to record the terminal session, or the file transfer protocol packets themselves in a log file. Open log files may be closed (and the associated logging disabled) using the CLOSE command. Open log files are also closed when you EXIT from Kermit. LOG SESSION is used to record your terminal emulation typescript. It was described above, in the section on file transfer. The LOG PACKETS Command Syntax: LOG PACKETS [filespec] The packet log is for diagnostic purposes and records each Kermit protocol packet sent and received in printable format. Control characters are written as caret-letter and characters with the high bit set are shown as their 7-bit part preceeded by a tilde. The default filename is PKT_LOG. If you experience difficulty with file transfers the packet log is valuable in discovering who said what to whom, even though a copy of the Kermit book is needed to unravel the meaning of each character in a packet. 8.12 Macro Definitions Like TAKE files, macros provide a way of collecting many commands into a single command. The difference between a macro and a TAKE file is that Kermit keeps all its macro definitions in memory, and can execute them as many times as you like, without having to look them up on disk, whereas every time you issue a TAKE command, Kermit has to access a disk. But... you can have as many TAKE command files as you like, and they can be as long as you want, whereas Kermit-RMB's memory for storing macro definitions is limited. You can put macro definitions and DO commands for them in TAKE files, or for that matter, you can put TAKE | commands in macro definitions. There is a limit of 25 defined macros at a time. The DEFINE Command Kermit-RMB 1.0 Users Manual Page 56 Syntax: DEFINE macro-name [command [, command [, ...]]] Kermit-RMB command macros are constructed with the DEFINE command. Any Kermit-RMB commands may be included. Example: define telenet set parity zero, set baud 1200, connect A macro can be undefined by typing an empty DEFINE command for it, like define telenet | A macro definition may be up to 255 character long. Use a hyphen to continue lines longer than 80 characters. The DO Command Syntax: DO macro-name [parameters...] A Kermit-RMB macro is invoked using the DO command. For instance: Kermit-RMB> DEF TEST SET BAUD 2400 , LOG PACKET , SEND HEX Kermit-RMB> DO TEST 8.13 Kermit Server Commands Kermit Server capability is not implemented in version 1.0 8.14 Commands for Controlling Remote Kermit Servers Kermit Client capability is not implemented in version 1.0 This functionality in some Kermit programs allows users to send commands to the remote computer's operating system for execution. Kermit-RMB 1.0 Users Manual Page 57 9.0 Future Enhancements, Missing Features and Reporting Bugs The most important missing feature in Kermit-RMB is the Server and Client capability. The Server operation allows a "client" kermit process to request file send and receive from a remote Kermit without having to interact each time to execute the Kermit SEND or RECEIVE command. Instead, the remote Kermit is issued the SERVER command once after which the GET and RECEIVE commands are used to initiate file transfers. The REMOTE command group allows you to issue Kermit configuration commands to a remote Kermit without having to be physically at the remote computer. The HOST command group is a set of commands which enable you to execute operating systems commands, such as file management, on the remote host. The following functions in version 1.0 of Kermit-RMB have been implemented, but could be more fully implemented in future revisions of the program - - More complete VT-100 emulator - Server/Client Packets (GET, I) - More complete HELP facility - Complete implementation of the SET SEND and SET RECEIVE commands. - Implement half-duplex communication with flow control Reporting Bugs If you want to report bugs, or more importantly, if you would like to submit bug fixes, or enhancements you've made to Kermit-RMB you should contact Columbia University Kermit Distribution at the Center for Computing Activities, and myself at the address on the cover of the users manual or in the header of the HPKERMIT program file. I'll also request your help in distributing the program and documentation to any HP-BASIC users that you know of. Kermit-RMB 1.0 Users Manual Page 58