V03.63 27-Sep-1997 1 ? The question mark used as an argument dumps the dispatch table for that command, thus listing all things possible: Kermit-11>? ; display available commands Kermit-11>SET ? ; show all possible sets Kermit-11>SET FILE ? ; list all valid options 1 @ Open an indirect file for command input. Same as TAKE. If no device is specified the logicals TAK, KRT, DK and SY will be tried, in that order. Either "!" or ";" may be used as a comment delimiter in Kermit-11 TAKE files. All Kermit commands except control characters are ok, and EXIT may be used in place of ^Z. The maximum line length is 132. bytes. Kermit-11>@ file ; default type is .COM Kermit-11>@file ; RT-11 syntax is ok 1 ASCII-Set Table of Octal, Decimal and Hex values for ASCII characters Char Key Oct Dec Hex Ch Oct Dec Hex Ch Oct Dec Hex Ch Oct Dec Hex ---- --- --- --- --- -- --- --- --- -- --- --- --- -- --- --- --- NUL ^SP 000 0. 0 SP 040 32. 20 @ 100 64. 40 ` 140 96. 60 SOH ^A 001 1. 1 ! 041 33. 21 A 101 65. 41 a 141 97. 61 STX ^B 002 2. 2 " 042 34. 22 B 102 66. 42 b 142 98. 62 ETX ^C 003 3. 3 # 043 35. 23 C 103 67. 43 c 143 99. 63 EOT ^D 004 4. 4 $ 044 36. 24 D 104 68. 44 d 144 100. 64 ENQ ^E 005 5. 5 % 045 37. 25 E 105 69. 45 e 145 101. 65 ACK ^F 006 6. 6 & 046 38. 26 F 106 70. 46 f 146 102. 66 BEL ^G 007 7. 7 ' 047 39. 27 G 107 71. 47 g 147 103. 67 BS ^H 010 8. 8 ( 050 40. 28 H 110 72. 48 h 150 104. 68 HT ^I 011 9. 9 ) 051 41. 29 I 111 73. 49 i 151 105. 69 LF ^J 012 10. A * 052 42. 2A J 112 74. 4A j 152 106. 6A VT ^K 013 11. B + 053 43. 2B K 113 75. 4B k 153 107. 6B FF ^L 014 12. C , 054 44. 2C L 114 76. 4C l 154 108. 6C CR ^M 015 13. D - 055 45. 2D M 115 77. 4D m 155 109. 6D SO ^N 016 14. E . 056 46. 2E N 116 78. 4E n 156 110. 6E SI ^O 017 15. F / 057 47. 2F O 117 79. 4F o 157 111. 6F DLE ^P 020 16. 10 0 060 48. 30 P 120 80. 50 p 160 112. 70 DC1 ^Q 021 17. 11 1 061 49. 31 Q 121 81. 51 q 161 113. 71 DC2 ^R 022 18. 12 2 062 50. 32 R 122 82. 52 r 162 114. 72 DC3 ^S 023 19. 13 3 063 51. 33 S 123 83. 53 s 163 115. 73 DC4 ^T 024 20. 14 4 064 52. 34 T 124 84. 54 t 164 116. 74 NAK ^U 025 21. 15 5 065 53. 35 U 125 85. 55 u 165 117. 75 SYN ^V 026 22. 16 6 066 54. 36 V 126 86. 56 v 166 118. 76 ETB ^W 027 23. 17 7 067 55. 37 W 127 87. 57 w 167 119. 77 CAN ^X 030 24. 18 8 070 56. 38 X 130 88. 58 x 170 120. 78 EM ^Y 031 25. 19 9 071 57. 39 Y 131 89. 59 y 171 121. 79 SUB ^Z 032 26. 1A : 072 58. 3A Z 132 90. 5A z 172 122. 7A ESC ^[ 033 27. 1B ; 073 59. 3B [ 133 91. 5B { 173 123. 7B FS ^\ 034 28. 1C < 074 60. 3C \ 134 92. 5C | 174 124. 7C GS ^] 035 29. 1D = 075 61. 3D ] 135 93. 5D } 175 125. 7D RS ^~ 036 30. 1E > 076 62. 3E ^ 136 94. 5E ~ 176 126. 7E US ^? 037 31. 1F ? 077 63. 3F _ 137 95. 5F DEL 177 127. 7F 1 ASSIGN Like that of RT-11, except only DK (the default disk) is supported. This specifies what Kermit will use as its default disk, it doesn't modify the monitor's assignment for DK. Kermit-11>ASS LD0 DK 1 Binary-Files Binary files include task or save images and other special types requiring all eight bits in each byte. Text files like program sources normally only use the lower seven bits. Binary files should be transferred on an eight-bit line, which on most PDP-11 systems is the default. Under RT-11 Kermit-11 defaults to space parity as its handlers are 7-bit devices, and 8-bit quoting will be required to transfer binary data. This adds a byte for every one with the high bit set and thus increases the transfer time. Various Kermits are at different stages of development. Some may NOT handle binary files automatically thus the command SET FILE FIXED must be done on BOTH before a binary file transfer. Versions 2.16 and up of Kermit-11 do automatically switch into the binary mode. Under RT-11 the file type must be defined in sending Kermit's binary types list (see HELP SET BINARY) prior to transmission. Binary files are best exchanged using CRC error checking. This isn't the default and may need to be SET on the other Kermit if it can't recover yours from the init packet. Note that transferring a text file with one or both Kermits set to binary mode may result in an unusable file due to the chance of including embedded record control information. If this does occur KED may be used (open the file and then immediately EXIT) to strip the hi bits from it. Prior to Version 2.21 Kermit-11 didn't support 8-bit prefixing. Before V2.23, repeat character encoding wasn't supported. A problem was discovered with attribute packet processing in versions of Kermit-11 prior to 3.49. This implies that versions 3.49 or later of Kermit-11 will not be completely compatible with older versions. The best workaround until a copy of ver 3.49 or later can be obtained is to disable attribute packet processing with the SET NOATTR command then SET FILE FIXED on BOTH ends before transferring binary data. 1 BUG Displays where to get help should one encounter a bug in this program. 1 BYE Synonym for LOGOUT. 1 CD Makes the specified device the default disk, directing to it file operations for which no device is explicitly specified. This only modifies Kermit, the monitor remains unchanged and you'll be back where you started after exiting the program. If no device/directory is given some Kermits, including this one and C-Kermit, will default to the home (login) directory. 1 Character-Sets RT-11 stores all files transparently thus no character set conversion is necessary for files received by or sent from this Kermit. 1 CLS CLear Screen, with numerous resets for VT-100 terminal. CLX does the same, then enables the reverse video mode. 1 CLX Clears a VT-100 screen ala CLS, then sets the reverse video mode. 1 Common-Problems Can't talk to the modem: Check modem control signals. If all else fails, put a breakout box in the line and observe what signals are present. Some modems require DTR to be high even to accept local commands (while not connected to a remote system). It may be necessary to first SET DTR to get the modem ready. Some "Hayes" style modems will only accept upper case in their command strings. It may be necessary to increase the time allowed for carrier detection, particularly when MNP, PEP or V.42 error control is being used, perhaps on BOTH ends. See HELP SET DIAL TIME for this one and consult the manager of the system you're calling. If you are using the XL/XC handler and an interface whose speed is set via hardware switches or wire wrap be sure it's correct. It should be set for 8 data bits and no parity as well. If you need to look at the board to check it, the system MUST be powered down before removing and reinstalling it. File transfer fails: If the file transfer aborts on retries immediately, there may be a parity problem. If the problem shows up on binary files, try the SET PARITY SPACE command on BOTH Kermits, which forces 8-bit data to be prefixed into seven bits. If you instead get a retry about once every 10 seconds, the other Kermit is not responding and your Kermit is timing out. Check to see if your connection is still present. Under RT-11 the default is SPACE parity, you may need to set the other Kermit to conform. If you are sending binary data between unlike Kermits, you will most likely have to give the proper command to each to prepare them for it. For Kermit-11 use SET FILE BIN or SET FILE FIX, many other Kermits use the syntax SET FILE TYPE BIN. CRC error detection should also be used which is done via SET BLO 3 on both ends. If your Kermit's packets are being echoed back, try a SET SEND START value command for your Kermit, and a SET REC START same-value for the other Kermit. This will force Kermit to ignore any echoed packets as they won't have the default start of packet character (a CONTROL A, octal 1). If you are calling into a TSX+ system, you may need to first: .SET TT 8BIT at the monitor to transfer binary files. You may also need to: .SET TT BITS=8 however this is a hardware function and thus should be done from a primary line ONLY first, before any subprocess that may run Kermit is spawned. Doing this from a subprocess may write garbage in the line-parameters word, rendering it useless. 1 CONNECT Attaches your terminal to the device that has been SET LINE. To exit and reconnect your terminal to the local system running Kermit type the "escape sequence," which by default is Ctrl-\ (an "escape character" used to prefix local commands when using this terminal emulator, see HELP SET ESCAPE) followed by a "C". Note well that "escape" as used here is _NOT_ the same as the ESC key commonly found on keyboards (unless it has been defined to be the same char via SET ESCAPE). The following commands are available by prefixing them with the currently defined escape character: B Send a break to the remote C Connect back to the local Kermit H Print this message I Drop DTR for 0.5 sec (hang up), then restore it Q Suspend CONSOLE logging R Resume CONSOLE logging S CONSOLE logging status X Reset flow control (XOFF/XON or RTS/CTS as SET) Z Zap the handler, 100% hose & unhang if possible ^x Send control char "x" to remote using A..Z[\]~? RUBOUT Send a break to the remote ? or / Print this message Once the escape key has been struck or if between keys for the control character command a 5 second timer is started. Should it expire before another key is pressed, the command is tossed and the terminal emulator resumed. If data are being received when the escape is typed an XOFF may occur, after which a char sent via the ^x facility may not be accepted at the other end. A received flow control hold will cause each character entered thereafter at the terminal to ring its bell and then overwrite the char previously held in the input buffer. The "X" and "Z" commands above may be used to attempt to clear a hung line. Under TSX-Plus CONNECT allows local window processing. If you prefer emulating operation of SET HOST/PORT in that ^W/^B will be passed to the remote and local window buffering (if then in use) suspended, see HELP SET VLSWCH. When VLSWCH is LOCAL one may type two ^Ws which will pass the second one to the remote. TSX passes all other chars to the remote (including line feed) except XOFF and XON (^S,^Q). If using the KM handler AND your terminal is fast enough to not XOFF, you may SET TT NOPAGE and pass ^S and ^Q as well. If a modem is on-line and DTR is dropped (via the "I" command) while connected, the modem will be reinitialized (as it resets many modems) on exiting CONNECT. This may cause a noticeable delay depending on the length of the init string and the speed at which it may be sent (the last speed set will be used). SET CONSOLE alters terminal emulator parameters. SET TERMINAL modifies items associated with the actual terminal itself. 1 Control-Chars Ctrl-C - Aborts the process currently running and returns to the main command line. When the program is not waiting for input from the keyboard TWO ^Cs must be typed. When it involves stopping a remote system's packets the bell is rung to acknowledge the abort, at which one should wait for this to complete. This is necessary to avoid chaos between systems and maintain return paths. Further ^Cs will lead to an unconditional abort and transmission of an error packet which usually stops the remote cleanly. While waiting for keyboard input, ^C resets the command recall pointer in SL to the last command entered. Ctrl-Z - Exit a command level, or to the monitor if none left. Ctrl-\ - Default "escape" character for the terminal emulator. Used to prefix local commands. See HELP SET ESCAPE for additional information. This is NOT the ESC key on the typical keyboard (unless you SET it to be the same). During the exchange of packets (GET/SEND files, REMOTE cmds) these are checked at the end of each DATA packet, and may involve a wait until the current data packet is handled. Before data have begun, Ctrl-C is the only abort possible: Ctrl-A - Prints the current byte count sent or received Ctrl-E - Sends an error packet, aborting asap Ctrl-X - Skip the current file, begin transferring the next one Ctrl-Z - Skips the entire group of files, aborts 1 COPY Creates a copy of the input file. Wildcards are not supported, and it is more efficient to use COPY from the monitor. You may move a single file retaining the input file name with: Kermit-11>COP file dev: 1 CWD Synonym for CD. 1 DATE Displays today's date. This program supports dates through 31-Dec-2099. 1 DAYTIME Displays the current date and time. 1 Debugging Various debug options are available. See HELP SET DEBUG for in depth information. Try HELP SET RANDOM regarding a means to deliberately force errors to test recovery from them, and HELP EXAMINE for info about looking at data in memory. Logging to TT (independent of any disk based logging) Files, Packets, States SET DEB [NO]TT Packet data as received SET DEB [NO]RPACK Logging to a file: LOG file debug-mode CONNECT terminal logging SET DEB CONSOLE file Packets/Files/States SET DEB PACKET file CONN + Packets/Files/States SET DEB ON file Raw packet I/O SET DEB RAW file Off disk based debugging LOG Stop ALL debugging, incl. TT SET DEB NONE Logging during CONNECT may be controlled by typing the escape character followed by a Q to suspend or an R to resume. 1 DELETE Deletes a single specified file. Wildcards are not supported. The entire command name "DELETE" must be used (no substring is acceptable) as some small protection against accidents. 1 DIAL Attempts to get an attached modem to dial the number specified. One must first SET LINE and SET MODEM appropriately. If the line you're calling is busy you may REDIAL, which retries up to 65,535 times, or less if specified in an argument to it. When the call succeeds your terminal will be connected to the remote system. Phone numbers may be defined and then referenced via symbolic names. See HELP SET PHONE NUMBER for details. The following demonstrates using a generic Hayes modem with TSX-Plus by attaching CL0 to TSX line #9: Kermit-11>SET CL0 LINE 9 } Kermit-11>SET SPEED 2400 } Kermit-11>SET PHONE XMODE 4 } these may be in KRT.INI Kermit-11>SET MODEM HAYES } Kermit-11>SET PHONE TONE } Kermit-11>SET PH NU BP 837-0892 } Kermit-11>DIAL BP AT X4 DT 837-0892 RING CONNECT 2400 Connecting to CL0: DTE Speed: 2400 Type ^\C to return to your local machine . . . ^\C Kermit-11>HANGUP Dialing may be aborted by striking any key after the process has begun, as long as that's before actually connecting to the remote. DTR is dropped for 0.5 second then, as this can reset many modems, the modem is reinitialized, which may result in a noticeable delay depending on the length and speed of the init string. SET DIAL TIME-OUT n (in seconds) can modify the time spent waiting for a response before assuming the call has failed. It is usually 30 ~ 45 secs. Please note only this and SET DIAL SETTLE-TIME are usable with a pre-defined modem (anything besides the USER-DEFINED modem itself). For modems which recognize a busy signal the cycle time will be as fast as it's reported. If you are using a Hayes style modem, which falls back to a slower speed when it can't connect at the speed used to place the call, under TSX-Plus with the CL handler Kermit saves the initial speed, drops down to the connected speed, then restores it before dialing the next call, unless it's manually set otherwise in the interim. If a modem response string for RING has been defined and the modem can detect same, the call is considered to have failed after seven rings. Consult your modem's documentation then see HELP SET PHONE XMODE regarding enabling the appropriate extended response mode. 1 DIRECTORY Displays the default device directory, or that of a specified device. Wildcarding is implicit regardless of how the monitor has been set. Switches (/opt) are not implemented. Kermit-11>DIR ; all files on DK: (default device) Kermit-11>DIR .MAC ; all files of type .MAC (same as *.MAC) Kermit-11>DIR KRT*.MAC ; all beginning with KRT of type .MAC Kermit-11>DIR LD0:.MAC ; all files of type .MAC on LD0: Kermit-11>DIR EDIT. ; file name must be just EDIT with no type Kermit-11>DIR EDIT% ; 5 chars, first 4 are EDIT, any type Kermit-11>DIR .MAP,.SAV ; comma delimits, see HELP SET FILE CSI 1 DISCONNECT Synonym for HANGUP. 1 DISMOUNT Deassigns the specified logical disk, under TSX V6.2 and up. Kermit-11>DIS LD0 Note that here it is not necessary to first dismount a logical disk before mounting something new using the same unit number. 1 EXAMINE Format and print global read/write data to the terminal: Kermit-11>EXA PACKET ; dump packet buffer to TT Kermit-11>EXA * ; all defined variables Kermit-11>EXA 44 ; address of your choice Please note attempting to examine an illegal address will crash the program. The .MAP file for the Kermit you are using may be used to locate addresses not included in the internal symbol table. Some overlays are permanently loaded (refer to the link command file for the version in use) but most are not, and these most likely will be gone by the time one has returned to Kermit's command line. 1 EXIT Terminates Kermit-11 and exits to the monitor, resetting the link device and modem if same were assigned from within the program. 1 File-Format-Info The general format of a PDP-11 file name is: NODE::DEVICE:[DIRECTORY]NAME.TYPE;VERSION "Node" refers to the DECNET node name, for instance HIHO::, if in use. "Device", if present, refers to the physical device or logical name of that on which the file resides. Two colons "::" delimit the node name and a single colon ":" delimits the device name. A named directory is delimited by enclosing it within "[]" brackets. In the case of RSX-11M/M+ and RT-11, the device name can be either a physical name, such as DU0:, or a logical name which will translate to a physical device name, such as LB:. For RSTS/E "device" can be a physical device such as DB0: or DU1: or a user or system logical name which may include both a physical device and a directory. Logical names are composed of 1 to 9 alphanumeric characters including "$", as in DISK$ONE:, LB: and so on. For example the DCL system command: $ ASS/SYS DB1:[200,210] SRC$DIR associates both the device DB1: and directory [200,210] with SRC$DIR:. An explicitly specified directory overrides any named directory within in a logical name. Names longer than 9 chars will be truncated. Named directories are not used in RT-11, which uses logical disks (see HELP MOUNT) instead. On RSTS/E and RSX-11M/M+ the [directory] is a UIC (user identification code) or PPN (project,programmer number) of the format [NNN,MMM]. All users are assigned a UIC or PPN when the account is created. It's the number you give to LOGIN to log into the system, and also your default UIC or PPN. Micro-RSX and P/OS may have directories in either UIC or named directory format, such as [1,12] or [KERMIT]. P/OS will default to [USERFILES]. The NAME field is the primary identifier for the file. The name can be one to nine characters for RSX-11M/M+ and P/OS, and one to six characters for RSTS/E, RT-11 and TSX+. The TYPE field is usually used to group files according to some convention. For example, EDI.FTN refers to a Fortran-77 source file, CALEND.C to a "C" source file, and K11POS.TSK refers to a task image. The TYPE may be 0 to 3 characters. The version field is only used by RSX and defaults to the highest then available. Version numbers may range up to 32,767. All systems mentioned support some sort of file name wildcarding, the flexibility of which varies by executive. All support the use of "*" to represent either a fully wildcarded NAME or TYPE. RSTS/E supports the use of "?" to match any single character, whereas the others use a "%" to match any single character. The RSTS/E Kermit server will translate "%" to "?" internally for GET and REM DIR commands, and this modified Kermit-11 translates "?" to "%" when necessary. Examples of wildcarded file names: *.B2S match any file with a TYPE of B2S K11%%%.MAC match any file starting with K11, followed by one to three characters, with a TYPE of MAC K11???.MAC same as above, but for RSTS/E XYZ.*;* all versions of files with a NAME of XYZ with any TYPE (RSX-11M/M+ and P/OS only) File formats (binary and text): RT-11 and TSX-Plus RT-11 treats all files as a contiguous stream of characters. There is no information stored in the directory to tell the system (or program) that a file is readable text (source program, runoff document, ...) or binary data (executable program, object modules, etc). An application program like Kermit-11 needs to know what type of file to expect, thus the presence of the SET FILE TYPE command (discussed below). The only real convention is that text files are streams of 7-bit data with each record terminated by a carriage-return/line-feed, and binary files use the file TYPE (.SAV, .SYS, ..) to identify them as such. This is what Kermit checks to determine if a file should be sent as text or binary. See HELP SET BINARY for detailed info. RSTS/E, P/OS and RSX-11M/M+ These systems can support a large number of file attributes via FCS-11 (RSX-11M/M+) or RMS-11 (all). Text files are normally either STREAM format (FB$STM) or VARIABLE with implied carriage control (FB$VAR and FB$CR). RSTS/E has historically defaulted to STREAM, whereas the RSX based systems use VARIABLE. Kermit-11 uses the defaults when creating files if the sending Kermit doesn't supply attribute data. Conversion of the internal data format to one which can be transmitted to another Kermit is transparent for these file types. Both attributes and the file TYPE are examined by Kermit-11 to determine if a file needs to be sent as a text (default) or binary file. On RSTS/E Kermit also checks the protection code as there bit 6 is used to flag an executable file. Saving files on the PDP-11 from your microcomputer: If the other Kermit doesn't adequately support attribute exchange then one must SET FILE TYPE FIXED on both (local and remote) Kermits to get or send non-text files correctly. When Kermit-11 is thus put into its binary mode, all data are read from or written to the file without any translation or internal record control information. Any attributes in the file's directory entry are ignored and data are read or written in unformatted 512 byte blocks. Thus it is indeed possible to transfer files like task images and object libraries. Detailed info concerning the capabilities of this modified Kermit-11 is in HELP SET ATTRIBUTES. Never try to do a wildcarded send with mixed binary and text files while the file type is set FIXED. The result could be unusable as not all systems store text data in the same internal format. For example, if the binary mode is forced on under RSX (SET FILE TYPE FIXED) a file with implied carriage control (normal for RSX text files) will be sent as (for each line) two bytes containing the record length, followed by the actual data null padded to an even length. This is not incorrect, rather, it is EXACTLY how the data are stored on the disk. In general, avoid sending anything other than unformatted binary files and text files to unlike systems. For example, requesting an RMS indexed file from the PDP-11 to be sent to a PC would cause Kermit-11 to send it as a binary file, but the file's attributes would be lost. Sending such a file back to the PDP-11 would result in an unusable file unless you could reconstruct the attribute information. 1 FINISH Tells the remote Kermit server to stop and then, as this does not actually log out the remote session, CONNECTs back to the remote. 1 GET Requests a remote Kermit server to send the specified file or group of files. This command can only be used when Kermit-11 is local, while a Kermit server is running on the other end of the link specified by SET LINE. This means you must have CONNECTed to the other system, logged in, run Kermit there, issued the SERVER command, and escaped back to your local machine. If you are trying to receive binary files from a Kermit which does not support attribute transmission SET FILE TYPE FIXED and SET BLOCK-CHECK on BOTH ends first, or the transmission may appear fine while all high bits are actually being tossed. When receiving text files from a non RT-11 system this Kermit will add 25% to the received file size as record terminators are often excluded from what is reported, or are of a different size (Unix). Files close to the maximum free space may be accommodated by SET FILE CREATE-SIZE, which overrides any passed size attribute, or by explicitly specifying a size with the FILENAME[size] syntax where "size" is the desired size expressed as a decimal number of blocks. See HELP SET FILE CREATE for further info. Kermit-11>GET ABC.FILE XYZ.DAT[100] ; xyz.dat will be 100 blks The remote filespec may be anything that's legal at the remote system, it is not parsed or validated locally. Both "!" and ";" are sent to the remote from the keyboard though they're comment delimiters in TAKE files. Lower case alpha may be used (see HELP SET FILE NAMING), space (command argument delimiter) and non-printing chars are only available by typing them in at the remote Kermit's command line. If a file arrives that you don't really want, you can try to cancel it by typing Ctrl-X which sends the request to the remote Kermit. If the remote understands it (some Kermits may not) it will comply, otherwise it will continue to send. If a file group is being sent, you can bomb the entire group by typing Ctrl-Z. These control chars are checked at the end of each DATA packet. Use Ctrl-C to abort when the need arises before receiving the beginning of the first file. If the remote Kermit is not capable of server functions, then you must CONNECT to it, use the SEND command, escape back here and use RECEIVE. Note that file(s) must be specified at the SEND end as RECEIVE expects to find the name in the send file init packet. GET Command Summary: Tells a remote Kermit server to send a file or group of files. Wildcards, ppns, etc, may be used. Wildcarded renaming is not supported, except an optional output device (only) may be used to place a single file where desired. Kermit-11>GET *.MAC ; gets all .MAC files Kermit-11>GET afile dev: ; put afile on dev: Kermit-11>GET afile asfile ; rename to asfile Kermit-11>GET afile,b*,cfile ; comma delimits file names 1 HANGUP Drops DTR for 0.5 sec then restores it. This only available under CL from TSX+ V6.0 or above, KM (RT-11 V4.0/TSX+ V5.0 + up) or XL/XC from RT-11 V5.2 or above. If a modem is on-line it is presumed a DTR drop requires reinitializing it. This is done immediately after restoring DTR and may slightly increase the time required to complete. Your modem MUST be able to disconnect when DTR is lowered for this to actually dump the telephone connection. 1 HELP Entering HELP alone prints the list of available topics. For detailed information about a specific function: Kermit-11>HELP topic [subtopic] .. Should one prefer the printed page, this dumps help text to LP to produce a handy reference: Kermit-11>HPRINT topic [subtopic] .. See HELP HPRINT and HELP PRINT for printing other than to LP. HELP and HPRINT also support wildcarding, as in: Kermit-11>H * ; everything Kermit-11>H SET * ; all sets Kermit-11>H SET FIL * ; all file types This modified Kermit-11 contains an internal index to its help text file. If KRTHLP.HLP is modified Kermit must be rebuilt. See KRTHLP.MAC for instructions. 1 HOME Resets the default device to the home directory. This is, if not set otherwise, DK when Kermit-11 was started. SHOW displays current assignments. 1 HPRINT Like HELP but also dumps text to LP to produce a handy reference: Kermit-11>HPRINT topic [subtopic] .. Kermit-11>HPRINT * You may ASSIGN xx LP under RT-11 (where xx is a disk) then run KRT and use HPRINT to create a disk file of the text formatted as it's displayed by the program. The file name KRTHLP.OUT will be used. LP is the only printer device name Kermit supports and HPRINT does not support a device name argument. You may ASSIGN something else as LP from the monitor before starting Kermit. .ASSIGN LS LP ! have Kermit print to LS .K11 ! run program, do printing .DEASSIGN LP ! then clean-up when done 1 Installation-Notes This program will run under RT-11 or TSX-Plus. The system clock must be running. As distributed KRT is built to run on a non-EIS CPU and KRTTSX is built for EIS processors. These monitors and handlers are supported: RT-11SJ V5.0 + up TT KM XL ; SYSGEN for TIMER support RT-11FB V4.0 + up TT KM XL ; SYSGEN for.. RT-11XM V5.1 + up TT KM XC XL ; ..SPCPS support RT-11 all V5.6 + up TT KM XC XL ; including separate I&D space TSX-Plus V5.0 + up TT CL KM XL ; see HELP INSTALL TSX NOTE: XL first appeared in RT-11 V5.1. Prior releases must use either TT (the console terminal port) or KM (a "Kermit Modem" handler supplied with this program) for communicating with the outside world. KRTTSX.SAV uses extended memory overlays for XB,XM,ZB,ZM,TSX and KRT.SAV low memory overlays for FB,SB,SJ,TSX to accommodate small systems. FB is the ONLY RT-11 V4 monitor which can run this program. VBGEXE or VRUN may be used under mapped RT-11 monitors. It's best to load any handlers required first, even for a background task. KRT's maximum packet-length is 600., KRTTSX's is 1920., this is determined by the NONEIS conditional code for MAXLNG in KRTMAC.MAC. KRTTSX requires 166kb of memory to load, KRT only needs 41kb. Under TSX it's 172kb and 47kb for V6.5 or 171kb and 46kb with V6.4. KRT increases disk I/O as its overlays are not kept resident. When none of these will load KRTMIN (sometimes distributed separately) is a special version that uses less memory by only communicating through the console terminal port (see KRTMIN.DOC for details). If you already have some form of Kermit on your system, you may try this one out by copying to a disk containing no other Kermit files, assigning that disk DK, deassigning HLP, INI and KRT, and running the new program. Assuming LD0 is a scratch disk and you have an 8" floppy: .COP DY0:*.(SAV,HLP,INI) LD0: .ASS LD0 DK .DEA HLP .DEA INI .DEA KRT .SET USR SWAP ! if running RT-11 .RU KRTTSX ! use KRT if KRTTSX won't load To dial out, edit the copy of KRT.INI on LD0 as needed for your site. It is not necessary to use a command file for such things as attaching a CL unit to a TSX line before running this Kermit - everything may now be easily handled during its initialization. At this point it is suggested you use the running Kermit to read through its own HELP, especially the SET LINE and SET CL topics. If you opt to use any sort of indirect .COM file to actually run KRT/KRTTSX, please note that under TSX using the ^>R KRT.. option to force command file input to the running program will cause the test for TT input during the strike any key abort when dialing to hang and you won't be able to dial out from the command file. Kermit does process indirect command (TAKE) files as well as arguments from the command line used to run it, either of which may be used instead of ^>R: .KRTTSX DIAL TOMMY ! dials number defined in init as "tommy" .KRTTSX TAKE TOMMY ! runs the indirect command file tommy.com You may also have to force arguments for the program to it when run from a command file under TSX: R KRTTSX ^1 ^2 ^3 ! as needed, up to 6 args There is an additional problem when forcing command line input to Kermit in that comment delimiters "!" and ";" are processed as normal chars and will cause errors. This allows them to be passed to a remote system for RSX/VMS version numbers and the like. They are treated as delimiters in Kermit's internal command file processing, thus the best procedure is to dump the "^>R KERMIT" line from such files and treat them as Kermit TAKE files. If typing in arguments when starting Kermit is a problem one may use a separate command file run from the monitor containing only: R KRTTSX TAKE TOMMY This allows tommy.com to contain comments without crashing when run. If it's decided to permanently install this program all old Kermit files (K*.HLP, K*.INI, K*.SAV, etc) should be backed up then replaced by those from this package. Dialing from a command file (if in use) will need to be treated per the above. After ensuring RT-11 or TSX requirements are met patch KRT.INI (examples follow) for your site, then copy these to SY: KRTTSX.SAV - or KRT.SAV, the executable image, rename as desired KRTHLP.HLP - HELP text file, may also be on HLP, KRT or DK and this to the logical INI, KRT or a default disk of your choice: KRT.INI - initialization command file When started KRT/KRTTSX will check INI, KRT, DK and SY for KRT.INI. Keeping it off SY allows others to use a different init file, and permits the program to be easily run in the remote mode by callers to the system. Or, one may SET LINE TT to accomplish the same thing. For multiple users sharing a group of lines check HELP SET CL before editing KRT.INI. The HELP text file search (for KRTHLP.HLP) path is HLP, KRT, SY and DK. KRT.SAV/KRTTSX.SAV may be renamed as is convenient (K11 or KERMIT) but KRT.INI and KRTHLP.HLP are called (by these names) by Kermit, and thus must not be renamed. If the HELP text (KRTHLP.HLP) is altered in any way Kermit must be rebuilt. See KRTHLP.PRE for details. Kermit is then run by its name, and an initial command line may be passed to it as argument(s) to the KMON command: .K11 ! run Kermit .K11 DIAL DEC ! run Kermit, dialing number set in init file Also check the specific info for your operating system if Kermit will not be the only task running. 2 Files-Required The following files comprise everything required for KRT/KRTTSX: KRT .BWR "Beware" file, known bugs and possible things to come.. KRT .COM Links low memory overlays image, KRT.SAV KRT .DOC Installation and Release Notes KRT .IND Bob Schor's Kermit-11 init file manipulator, an IND process KRT .INI Sample initialization file KRT .MAP Link map of low memory overlays image, KRT.SAV KRT .SAV Low memory overlays image, for RT-11FB,SB,SJ and TSX+ KRTAIL.MAC Tailgating protection for TSX+ V6.31 and below KRTASM.COM Assembles all source modules for an EIS CPU KRTASM.NON Assemble all sources for a non-EIS CPU using macros in KRTNHD KRTATR.MAC Attribute packet processing KRTCDF.MAC Command macro definition .INCLUDE file KRTCMD.MAC Main program loop, commands calling APR4 KRTCM1.MAC APR4 overlay for the rest of the commands KRTCOM.MAC Main loop commands data table KRTCON.MAC CONNECT terminal emulator KRTCVT.MAC File name conversion routines KRTDAT.MAC Global read/write data KRTDEB.MAC EXAMINE command, display memory by symbol or address KRTDEF.MAC Packet definition .INCLUDE file KRTDIA.MAC DIAL command, also SET MODEM and SHOW DIAL KRTDIR.MAC Directory operations KRTDSP.MAC I/O dispatching to handler or terminal KRTEDI.MAC SL command line editor KRTERM.MAC I/O support for the controlling terminal line (TT) KRTERR.MAC Error messages KRTHIS.DOC Narrative in-depth edit history KRTHLP.HLP HELP text file KRTHLP.MAC HELP command processor KRTIDX.BAS Builds KRTIDX.MAC from KRTHLP.HLP KRTIDX.MAC HELP text file index for high speed lookups KRTINI.MAC Initialization, packet logging KRTKM .MAC "Kermit Modem" handler KRTLNK.COM Links extended memory overlays image, KRTTSX.SAV KRTMAC.MAC Macro definitions .INCLUDE file KRTMDM.MAC Pre-defined modems database KRTNHD.MAC MUL, DIV, SOB, ASH macros for non-EIS CPU KRTOID.COM Link for RT-11 V5.6 separate I&D space, low memory overlays KRTOSI.MAC One-shot initialization at program start KRTPAK.MAC Low level packet processing KRTREC.MAC Incoming file protocol processing KRTRMS.MAC File access, RMS emulation KRTSEN.MAC Outgoing file protocol processing KRTSER.MAC Server support KRTSHO.MAC SHOW, COPY, DELETE, PRINT, RENAME commands KRTSJ .CND RT-11FB,SB,SJ conditional assembly file for KM handler KRTSJ .MAC Root module for low memory overlays image KRTSTD.MAC SET command data table KRTST0.MAC SET command overlay 0 KRTST1.MAC SET command overlay 1 KRTSUB.MAC Misc common utility routines KRTSV4.COM Build KM handler under RT-11 V4 KRTSYS.COM Build KM handler under RT-11 V5 KRTTRA.MAC TRANSMIT command KRTTSX.CND TSX conditional assembly file for KM handler KRTTSX.MAP Link map for extended memory overlays image, KRTTSX.SAV KRTTSX.SAV Extended memory overlays image, for RT-11XB,XM,ZB,ZM and TSX+ KRTUTL.MAC Misc utility routines, mount for TSX+ KRTVID.COM Link for RT-11 V5.6 sep I&D space, extended memory overlays KRTXL .MAC I/O support for CL, KM, XC and XL KRTXM .CND XM conditional assembly file for KM handler KRTXM .MAC Root module for extended memory overlays image KRTXMO.MAC XMODEM, also SEND command processor 2 KM KM is a "Kermit Modem" communications handler provided to support TSX-Plus features not otherwise available under RT-11, as well as older releases of TSX that preceded its CL handler. KM combines the best of both worlds, including the following under RT-11: o Works with DL(V), Falcon and PRO serial interfaces o Speed may be SET and SHOWn from within Kermit o Automatic fallback to the connected speed o An eight-bit data path o Selectable hardware (RTS/CTS) flow control o Emulation of TSX's CLCLR (flush pending I/O) o DTR toggling to support Kermit's HANGUP command o Usable with RT-11 V4.0 and up, and TSX-Plus V5.0 and up To use KM you must first edit the appropriate conditional assembly files for the serial line interface in your system: KRTSJ .CND - for RT-11FB, RT-11SB, and RT-11SJ KRTXM .CND - for RT-11XB, RT-11XM, RT-11ZB and RT-11ZM KRTTSX.CND - for TSX-Plus Then assemble and link using KRTSYS.COM if being done under RT-11 V5.0 or above, or KRTSV4.COM if using any RT-11 V4 release. This will create KM.SYS, KMX.SYS and KM.TSX, which should be copied to your system device (SY) where they may be INSTALLed and LOADed as needed. Note that KRTKM.MAC (the handler source file) must be on the default disk for this assembly. Under TSX you'll have to use TSXMOD to add a definition for KM as shown below, or define it in TSGEN.MAC and rebuild the system. In either case you must reboot as it only loads handlers when started. KM may be mapped to save low memory. DEVDEF ,MAPH WARNING: Earlier versions of RT-11 may choke on the "dma=no" in the .drdef macro. If it causes an error your system doesn't need it and it should be dumped to allow successful assembly. KM supports the following SET commands from the monitor (KMON): SET KM CSR=octal-address ! except on the PRO for SET KM VECTOR=octal-address ! which these are fixed Hardware flow control REQUIRES pins 4 and 5 be carried through in the modem cable, 4 to 4 (RTS) and 5 to 5 (CTS), DTE (the port) to DCE (the modem), in addition to those otherwise normally present. See HELP SET FLOW-CONTROL for info about its use. The port should be set up for 8 data bits and NO parity as Kermit does parity in software. WARNING: If the interface provides selectable interrupt priority and your max speed will be greater than 4800 you will likely have to use BIRQ 5 to avoid dropping chars. NOTE: This handler does NOT support VTCOM, nor is it intended to be used with anything other than KRT V03.62 or future releases. WARNING: Because it's impossible to bomb an outstanding read completion routine once KM has been assigned the link the only way to deassign KM is to exit Kermit. See the top of KRTKM.MAC for detailed installation instructions. 2 KRT.INI-Examples ! Multiple users under TSX-Plus with possibly assorted modems ! This seeks the first available line/port from those specified ! May be installed on SY to be shared by all users, see HELP SET CL SET CL PORTS 9/19200/T25/3 11/2400/H/6 8/2400/H/4 SET CL UNITS 2 1 0 SET CL PRIORITY 71 ! don't drop chars at high speeds SET CL LINE * ! search for first available combination of the above ! For efficiency's sake, the above may be reduced to: !SET CL POR 9/19200/T25/3 11/2400/H/6 8/2400/H/4,UNI 2 1 0,PRI 71,LIN * SET VLSWCH REMOTE ! emulate SET HOST/PORT if needed ... other items as required ... ! Single user under TSX-Plus SET CL0 LINE 9 ! includes "SET LINE CL0," unneeded by PRO-series SET SPE 2400 ! CL or KM only, others must do from monitor SET PHO XMODE 4 ! enable CONNECT/speed messages for fall back SET MOD HAYES ... ! Generic RT-11 .. SET LINE KM ! to call out.. SET FLOW-CONTROL RTS ! if preferred, must be enabled in hardware too SET MOD HAYES ... ! System-independent items SET LONG ON ! enable long packets SET SL ON,KED ! turn on SL editor, enable its KED mode SET PHONE TONE SET PROMPT "Kermit-11> " SET PHO NUM DECUS 1 800 521-8950 ! Username: INFORMATION for info.. By default init file commands and informational responses to them are not echoed to the screen. After the init completes the default terminal mode becomes NOQUIET, unless set in said file, which overrides these defaults. If you wish to display the entire init process, make SET TT NOQ the first line in KRT.INI. A file may be tested by running it as a TAKE file: Kermit-11>@dev:KRT.INI SHOW FILE to check the name of the init file Kermit-11 used at start-up. 2 Modems Generally, connecting a modem requires an appropriate interface such as a DLV-11E which supports DTR and software speed selection. It is possible to get by without such things, however (and particularly on TSX) this may pose a security risk in that the system has no control signals with which to log out a disconnected job. Keeping the above in mind, note that if your modem requires DTR to be present, you must use an interface that asserts it, force it high internally in the modem, or build a cable to force it high. Without an appropriate interface HANGUP will not function and TSX is open to serious security problems if incoming calls are allowed. WARNING: If the interface provides selectable interrupt priority and your max speed will be greater than 4800 you will likely have to use BIRQ 5 to avoid dropping chars. The port should be set up for 8 data bits and NO parity as Kermit does parity in software. The modem cable must at a minimum carry through pins 2 and 3 (data), 7 (ground), 8 (DCD) and 20 (DTR). Under TSX the modem may be set to answer the line (pin 22, the ring indicator, must also be connected) then when Kermit is started if a CL unit is attached to the line and a modem set Kermit retains control of it all until dropping the line or exiting the program, when the modem and line will be restored to their idle (auto-answer) state. The SET MODEM command is used to establish the type of modem you are using for the DIAL command. Enter SET MODEM ? for a current list of of pre-defined modem types. See HELP SET DIAL for information about entering a USER-DEFINED modem structure. This Kermit is capable of matching the DTE (system) speed to that of the DCE (modem) in response to a message by the modem (CONNECT nnnn) only if using the CL or KM handler. Currently the generic Hayes and Telebit T2500/T3000 modem definitions support this. Under XL/XC the speed can't be changed after Kermit is running, it must be done from the monitor first otherwise the queue will be lost. The DCE must be locked to the same speed, which must be at least the highest desired carrier speed. The MNP and V.42 versions of the above support this. If this is not suitable, a USER-DEFINED modem structure may be used. Be aware that file transfers FROM this Kermit via a modem whose DCE speed is greater than the connected speed (with the distant system) will require XOFF flow control, and servicing the interrupts caused by it may substantially increase the cpu's loading. If the maximum connected speed possible is 2400 or less, dropping the DTE speed to 9600 (when same must be locked for MNP/V.42) is a good idea. Using the KM handler's hardware flow control is another option. NOTE: This program toggles DTR to reset the modem thus this option must be enabled as part of the modem's default configuration. The following examples have been taken from actual daily use with this program to both dial in and out under TSX-Plus. Note the S7 register (wait time to connect) is set to 255 when Kermit inits a modem to dial out so Kermit's SET DIAL TIME-OUT takes precedence. 3 Anchor Anchor Automation "Signalman Lightning 24" Model MK24: CONFIGURATION S00=002 S01=000 S02=128 S03=013 NOTE: S0=2 here because this S04=010 S05=008 S06=002 S07=020 modem occasionally glitches S08=002 S09=006 S10=005 S11=040 DCD when answering the first S12=050 S13=000 S14=044 S15=000 ring, which TSX will catch & S16=000 S17=000 S18=000 S19=000 then hang up on when it's not S20=000 S21=016 S22=118 S23=054 there 0.5 second later.. S24=000 S25=005 S26=000 S27=000 S28=000 S29=000 S30=000 S31=255 S32=001 S33=000 S34=000 S35=001 B=0 Y=0 &M=0 &D=2 &C=1 &J=0 &T=0 X=4 M=1 F=1 E=0 Q=1 V=1 DIAL=TONE SPEED=2400 PARITY=NONE The Anchor modem will save all of the above, including its "S" registers in RAM (backed up with a lithium battery), via AT&W. Then one need only send ATZ to restore its auto-answer operation, which this Kermit will do when exiting. SET PHONE XMODE 4 for all result codes, and use the HAYES modem type (SET MODEM HAYES). Note that because this modem restores its time-out (S7) when reset it is set to 20 secs for answering which allows for a more timely response following a failed call. If using MNP modems on the same system, S7 should be set to 40 seconds. If you have the MNP model of this modem, stick with the HAYES definition as there is not any provision for locking the DTE speed. Configuration switches: 1 - as req'd, ON for RJ-12/13 busy support 2 - ON DCD/DSR follow detected carrier signal 3 - ON DTR from the computer controls modem (manual says OFF, in error..) 4 - OFF remote digital loopback 5 - OFF enables command recognition by modem 6 - OFF no CTS support 7 - unused 8 - unused 3 Hayes-MNP This is provided for use with Hayes style MNP modems which need the DTE speed locked to support same. As almost every one is different no specific modem configuration data are listed here. Hayes-MNP is intended for use when it is NOT desired to change speed in response to a CONNECT nnnn message, or for any other reason. 3 Telebit-T2500 Three Telebit T2500 definitions are provided. T2500 is intended for use without MNP or V.42 LAP-M error correction. It uses the modem's connect messages to match the DTE speed to that of the data path and that requires using either the CL or KM handler. Set up the T2500's default profile in the "enhanced" command mode as shown below: E0 F1 M0 Q3 T V1 W1 X3 Y0 &P0 &T5 Version GF7.00-T2500SA S00:001 S01=000 S02:128 S03=013 S04=010 S05=008 S06=002 S07=040 S08=002 S09=006 S10=007 S11:050 S12=050 S18=000 S25=005 S26=000 S38=000 S41=000 S45=000 S47=004 S48:001 S49=000 S50=000 S51=255 S52:002 S54:002 S55=000 S56=017 S57=019 S58=003 S59=000 S61=150 S62=003 S63=001 S64=000 S65=000 S66=000 S67=000 S68=255 S69=000 S90=000 S91=000 S92=000 S93=008 S94=001 S95=000 S96=001 S97=000 S98=003 S100=000 S101=000 S102=000 S104=000 S105=001 S106=000 S107=020 S110=255 S111=255 S112=001 S121=000 S130=002 S131:001 S150=000 S151=004 S152=001 S153=001 S154=000 S155=000 S157=000 S158=000 S160=010 S161=020 S162=002 S163=003 S164=007 S169=000 S255=000 Then, when MNP operation is desired, set the DTE port (via SET SPEED if using TSX's CL handler) to 9600 or 19.2kb if your cpu can keep up with it, then SET MODEM T2500MNP. This enables MNP only as attempts at a V.42 connection first with some MNP modems appear to leave them in a state where nothing following works. When an MNP link can't be established operation falls back to the normal mode. V.42 and LAP-M facilities are enabled by setting the modem T2500V.42 which operation is just like that of the MNP only above, except V.42 is tried first, then MNP, and then normal operation if an error free path can not be established. Negotiation of these protocols can add considerably to the time needed to connect. All of this should be done on the same default profile with which the modem will automatically answer incoming calls to ensure the modem will be properly reset to its auto-answer state when exiting Kermit-11 to the monitor. The "enhanced" command mode is suggested because the "conventional" mode does not allow XOFF flow control in its command mode. While this is not normally a problem with result messages it does make listing the modem's status impossible at high speeds. Under RT-11 either the T2500MNP to T2500V.42 definitions may be used to work around XL/XC's inability to modify its speed as is necessary for the T2500. Both will connect normally if error correction isn't supported by the remote system. The KM handler may also be used. SET PHONE XMODE 3 to enable all possible result messages, or use 14 to force display of the carrier speed and protocol in all cases ala a real Hayes modem. If by accident the modem is sent something at an unwanted speed and becomes stuck there, toggle DTR (HANGUP or SET DTR) to reset it. If you are using PEP/MNP/V.42 Telebit's Kermit protocol spoofing is the fastest of all possible options even though it only uses normal 94 byte packets between modems. It is set in the above to run when requested by the other end. To force it on first SHO LINE to check the DTE speed (if a fallback speed is shown then one must first SET SPEED 9600 or 19200 if using a mode where the DTE speed is locked), then CONNECT and issue the command ATS111=n, when "n" is one of: 0 No protocol supported 10 Kermit protocol with no parity 11 Kermit and odd parity 12 Kermit and even parity 13 Kermit and mark parity 14 Kermit and space parity 20 XMODEM/YMODEM protocol 255 Use protocol specified by other end Then, disable long packets (SET NOLONG will suffice), so the modems run most efficiently, and proceed with the transaction. 3 Telebit-T3000 Three Telebit T3000 definitions are provided. T3000 is for disabling MNP/V.42 error correction. It checks the modem's connect messages to match the DTE speed to that of the carrier. T3000V.42 enables V.42 & MNP modes and locks the speed. Set up the T3000's defaults as listed below. This definition (T3000V.42) is for use with hardware (RTS) flow control. This is ONLY available under the KM handler, where you have an option to SET FLOW-CONTROL RTS before setting the modem-type. WorldBlazer - SA - Version LA5.00W- Configuration A B1 E0 L1 M0 Q1 T V1 X12 Y0 &C1 &D2 &G0 &J0 &L0 &Q0 &R3 &S0 &T5 &X0 S000=0 S001=0 S002:0 S003=13 S004=10 S005=8 S006=2 S007:255 S008=2 S009=6 S010=14 S011=70 S012=50 S018=0 S025=5 S026=1 S038=0 S041=0 S045=0 S046=0 S047=4 S048:1 S050=0 S051=255 S056=17 S057=19 S058:2 S059:15 S060=0 S061:0 S062=15 S063:1 S064=0 S068=255 S069=0 S090=0 S092=0 S093=8 S094=1 S100=0 S104=0 S105=1 S111=255 S112=1 S151=4 S155=0 S180=2 S181=1 S183=25 S190=1 S191=7 S253=10 The T3000 does NOT do XOFF flow control in the command mode even when it's enabled and functioning for data between modems unless S48=0 and this of course kills an 8-bit data path. A third modem definition is provided (T3000X.42) which enables XOFF rtesraint - Kermit quotes the 8-bit counterparts of XOFF and XON so this will only be a problem for binary data transfers using the Xmodem protocol. This defintion will force S48 to 0 and enable XOFF restraint when initializing the modem. See HELP INSTALL MODEMS Telebit-T2500 for more info on Telebit modems. 3 US-Robotics US Robotics "Courier" 2400/2400e: C1 E0 F1 M1 Q1 V1 X6 BAUD=02400 PARITY=N WORDLEN=8 DIAL=HUNT ON HOOK TIMER &A1 &B0 &H0 &I0 &M0 &N0 &R1 &S0 &Y1 S00=001 S01=000 S02=043 S03=013 S04=010 S05=008 S06=002 S07=030 S08=002 S09=006 S10=007 S11=070 S12=050 S13=032 S14=252 S15=000 S16=000 S17=000 S18=000 S19=000 S20=000 Configuration switches: 1 - UP DTR controls modem 2 - UP verbal result messages 3 - UP quiet mode, for auto-answer 4 - DOWN don't echo local commands, for auto-answer 5 - UP enable auto-answer, modem answers on the first ring 6 - UP DCD on pin 8 follows action of received carrier 7 - as req'd, DOWN for RJ-12/13 busy support 8 - UP to recognize "AT" command set 9 - UP drop phone connection when escape code received 10 - UP load power-on defaults from NVRAM QUAD - as req'd for your system and modem cable.. Use the Hayes modem type (SET MODEM HAYES). Set the "&" registers per the above and save them with AT&W. The "S" registers aren't preserved so ONTIM and TIMIN must = 60. (TSGEN.MAC) if incoming calls are being accepted (auto-answer enabled) under TSX-Plus. If wish to use the MNP version, lock the DTE speed as desired to at least 4800 (AT&B5&W) then SET MODEM Hayes-MNP. US Robotics modems such as the Courier 2400 or 2400e will occasionally glitch when answering the phone and start a TSX port at 19.2kb instead of 2400. This is more likely to happen when the modem is not properly cooled. Replacing its rubber feet with some that hold it higher above the surface on which it resides may help. Setting the modem to answer after the first ring (that is, on the second) may also help. Starting with TSX V6.5, 2400 is tried first, before 19200, which also may help. SET PHONE XMODE 6 enables all possible result messages from the modem. 2 RT-11 The RT-11 FB,XB,XM,ZB,ZM monitors must include .SPCPS support if you want ^C to abort anything in the program without actually stopping the program itself. If KRT is not the only job running it should be FRUNed to ensure it will be able to process incoming data from the remote system. RT-11SB and SJ must be sysgenned for .mrkt and .twait (TIMER) support. If you are using RT-11 V4, the ONLY monitor which can run KRT is RT-11FB. SET USR SWAP if it is not already there, this program needs the space. RT-11 multi-terminal support has been pulled to keep the size reasonable. Only a handler, or the controlling terminal line, may be used to exchange files with the outside world. Use XL with RT-11, XC with PRO/RT. KM may be used with either, it adds speed fallback and support for TSX functions that make life with Kermit more enjoyable. As distributed KRTTSX has just enough buffer to load the KM handler built for a DLV11-E in a PDP-11 system. This may be altered by the extend size (octal number of bytes) specified in KRTLNK.COM: krttsx,krttsx=krtxm/t/e:3010// ! APR0, the root extending HNBUFF WARNING: Because it's impossible to bomb an outstanding read completion routine once KM/XC/XL has been assigned the link the only way to deassign it is to exit Kermit. WARNING: Any SET from KMON on KM/XC/XL while its interrupts are enabled will OVERWRITE THE QUEUE and hose any data then in it. Note XC/XL is NOT an eight-bit device thus Kermit's parity will be forced to SPACE under RT-11. If you have hacked it into handling 8-bits you may SET PARITY NONE either in the init file or from the keyboard after Kermit is running and AFTER you have SET LINE XL or XC. HANGUP (DTR control) isn't available unless XL is from RT-11 V5.2 and up, or the KM handler is used. = = = = = To operate properly at high speeds (2400 and up) and with Kermits not supporting XOFF flow control the XL or XC device handler MUST be modified to increase the internal buffer size and repress XOFF transmission within a packet. This is very easy to do. First copy XM.MAC, XL.MAC, XM.ANS, SYSGEN.COM and for the PRO/300 series XC.MAC from the RT-11 distribution to DK, ASSIGN DK SRC, and then in the copy of the file XL.MAC change the line: from: BUFSIZ = 64. to: BUFSIZ = 256. Then IND SYSGEN and tell it to use the saved answer file XM.ANS. When SYSGEN exits, it will have created, among other things, a file called XM.CND which is needed for the driver assembly. For the PRO/300 series substitute XC for XL in the following command procedure to build the handler: .COPY SY:XLX.SYS SY:XLX.OLD ! save a copy .REN/NOPRO SY:XLX.SYS SY:XLX.SYS ! unprotect file .UNLOAD XL ! unload handler .REMOVE XL ! and remove it .MACRO/OBJ:XLX (XM,XM.CND,XL) ! assemble new .LINK/EXE:SY:XLX.SYS XLX ! RT V4, handler on SY .LINK/NOBIT/EXE:SY:XLX.SYS XLX ! if RT V5, do this .INSTALL XL ! install it and .LOAD XL ! load into memory = = = = = To use a handler, you must have an DL-11/DLV-11 interface (in addition to the console interface). The XL handler supports two DCL commands: .SET XL CSR=n .SET XL VECTOR=m Where "n" is the address of the CSR (control status register) and "m" is the interrupt vector address. The defaults are 176500 for the CSR, and 300 for the interrupt vector. The DLV-11 speed is set with wire wrapping and it's not settable on the XL handler. If you have a DLV-11E XL may be built with XL$DVE=1 and the speed set from KMON as with XC. The XC handler is a special version of XL for the PRO/300 series, its CSR is 173300 and vector is 210(8). You must SET XC SPEED=nn from KMON prior to running Kermit to change XC's 1200 baud default. You may also need to UNLOAD XC before Kermit can be FRUN: .UNLOAD XC .FRUN KRTTSX.SAV/PAUSE .LOAD XC=KRTTSX .RESUME Also, when running in the foreground Kermit-11>SET TT QUIET allows one to work in the background during file transfers. Last, but not least, if there is no way to get an additional interface into your system (perhaps you have a four slot Q-bus backplane), you can force Kermit to use the console. This implies, of course, that it won't be possible to dial out from the RT-11 system - it may only be used with the remote Kermit connected via the console port. Kermit-11 defaults to TT as its link device and sets the packet length to 60 bytes. Otherwise the command Kermit-11>SET LINE TT does the same thing. You may increase the packet size if larger packets will work, or modify RT-11's default SPACE parity, AFTER the SET LINE is done. 2 TSX-Plus One may communicate via TT when calling in, and use CL0 to CL7, KM or XL when calling out. The CL handler is suggested as it's more efficient with TSX-Plus. See HELP SET CL for details. On PRO-300 series systems Kermit will try to assign CL0 or CL1 to TSX Line #3 at startup. If there is any chance of swapping on your system use TSX's MEMLOCK option when running the program. This is easily done via the INSTALL facility. WARNING: If you build XL with XL$DVE (set speed) enabled be advised under TSX-Plus (as of V6.5) the KMON command SET XL SPEED=nnnn will modify the hardware port which XL is serving instead of the handler itself and thus fail to produce the expected result. And regardless, if you must use XL see HELP INSTALL RT-11 regarding this handler's limitations. Mapping it is recommended to save low memory. KRTTSX uses 217. blocks in the TSX PLAS swap file. The TSGEN/TSXMOD parameter determining its size is SEGBLK. If modified, TSX must then be restarted to create the new swap file. In the CONNECT mode 11. activation characters are declared so the TSGEN parameter MXSPAC must be => 11. Under TSX one must SET IO ABORT so errors won't cause waits for the I/O to rundown. In TSGEN this may be accomplished by making IOABT = 1. It may also be done as a keyboard command. XOFF operation without dropping characters in the CONNECT mode at 2400 and up may require enlarging TSX's silo and input buffer on lines to which the CL units are attached. BUFSIZ 1024.,1024. SILO 255.,64.,16. in the LINDEF does the job though this is a bit big if 2400 is the fastest speed used. Kermit also can raise its priority when actually talking to a CL unit so as not to drop chars at high speeds, see HELP SET CL. The above also applies to file transfers via the controlling terminal line (TT). When sending to a TSX system you may also need to set its priority below any other interactive job and use TSX's /HIGHEFF switch when running Kermit-11 to avoid excessive degradation of response time for other users. This is due to the overhead involved in processing input by TSX's terminal handler, and is not a problem when sending output from a TSX system. Note this only concerns I/O via TT - comm handlers (CL, XL, etc) are no problem in either direction. Binary file transfers via TT might require you to SET TT 8BIT. You may also need to SET TT BITS=8 but this is a hardware function and thus should ONLY be done from a primary line first, before any subprocess that may run Kermit is spawned. Setting this via a subprocess may write garbage in the line-parameters word. TERMINAL privilege is required to assign a CL unit to a time-sharing line. = = = = = Modem control is an extremely significant system security issue under TSX. The problem is if a dial-in user's phone connection fails that job must be killed before a following call can be answered and connected to it, and to the still-logged-on session of the previous caller. Beginning with V6.4 TSX was given improved modem control, with which these "tailgating" incidents are easily prevented. The following parameters are suggested for MNP/V.42 auto-answer operation (modem time-out = 40 secs): .SH MODEM PHONE=1 Other modem control parameters (in 0.5 sec): ONTIM=80 OFFTIM=1 TIMIN=80 TIMLOC=1 TIMOUT=1 When no error correction is in use, ONTIM and TIMIN may be halved, and the modem's wait time for carrier (S7 register in Hayes-style units) set to 20 seconds. If the modem's wait time is not settable such that it's restored when reset (ala ATZ), then ONTIM and TIMIN must be set to match the modem. OFFTIM, TIMLOC and TIMOUT must = 1 (the minimum, don't use zero) to ensure the job is logged off immediately. The $PHONE flag must be defined in the LINDEF (in TSGEN.MAC) for any line connected to an auto-answer modem. And above all, the modem MUST be configured to hang up when DTR is dropped for any of this to be effective. One then includes this in the start-up command files for "phone" lines: SET ERROR FATAL !ACCESS SY:CLEAR.COM/READ ! add if other access limited here SET LOGOFF FILE=SY:CLEAR.COM ! add this.. SET TT 8BIT,BITS=8 ! ..and this for Kermit ... ! other necessary items R LOGON and CLEAR.COM contains: SET ERROR NONE SET PRIO 70 ! be sure this runs before next call SET TT NOPAGE,NODTR,PHONE,AUTO,XON ... ! anything else needed should follow This may seem a bit extreme on the SET TT end of things, but it definitely gets the job done, even after in and out buffers are overflowed, XOFF'd in both directions (deadlocked) and the caller has to hang up. The rationale for the various options used above is: NOPAGE ensures possible noise induced XOFF on DTR drop is harmless NODTR resets the modem PHONE ensures port is not in local mode, just in case.. AUTO ensures port not stuck at any particular speed XON resets any XOFF which may have snuck through.. Note that TERMINAL privilege is required for the above to drop DTR. As of TSX V6.5 installing a .COM file with TERM privilege doesn't work, the user must be given it or DTR will not be dropped and the phone line may not get hung up. If your version of TSX-Plus is earlier than 6.4 and you must allow dial-in operation there is a program named NOTAIL which runs as a detached job and provides the same protection against tailgating. See KRTAIL.MAC, included with this Kermit's distribution. It's also a good idea when using a Hayes-style modem to disable its escape character means of invoking the modem's command mode. If one phones in to a TSX system and then uses another line on it to call out or talks to some one such that the other person's data are going into the modem (the one at the TSX system, to which your local system is connected) via its DCE port, there's no other way to prevent someone from using the escape sequence and taking control of that modem, after which they've got your phone line.. 1 Introduction The Kermit file transfer protocol is intended for use in an environment where there may be a diverse mixture of computers -- micros, personal computers, workstations, laboratory computers, timesharing systems -- from a variety of manufacturers. All these systems need have in common is the ability to communicate in ASCII over ordinary serial telecommunication lines. Kermit was originally designed at Columbia University to meet the need for file transfer between their DECSYSTEM-20 and IBM 370-series mainframes and various microcomputers. It turned out that the diverse characteristics of these three kinds of systems resulted in a design that was general enough to fit almost any system. The IBM mainframe, in particular, strains most common assumptions about how computers communicate. The Kermit protocol is specifically designed for character-oriented transmission over serial telecommunication lines. The design allows for the restrictions and peculiarities of the medium and the requirements of diverse operating environ- ments -- buffering, duplex, parity, character set, file organi- zation, etc. The protocol is carried out by Kermit programs on each end of the serial connection sending "packets" back and forth: the sender transmits file names, contents, and control information and the receiver acknowledges (either positively or negatively) each packet. The packets have a layered design, in keeping with the ANSI and ISO philosophies, with the outermost fields used by the data link layer to verify data integrity, the next by the session layer to verify continuity, and the data itself at the applica- tion level. Connections between systems are established by the ordinary user. In a typical case, the user runs Kermit on a microcomputer, enters a terminal emulation, connects to a remote host computer (perhaps by dialing it), logs in, runs Kermit on the remote host, and then issues commands to that Kermit to start a file transfer, "escapes" back to the micro, and issues commands to that Kermit to start its side of the file transfer. Files may be transferred individually or in groups. Basic Kermit provides only file transfer, and that is provided for sequential files only, though the protocol attempts to allow for various types of sequential files. Microcomputer implemen- tations of Kermit are also expected to provide terminal emula- tion, to facilitate the initial connection. More advanced implementations simplify the user interface some- what by allowing the Kermit on the remote host to run as a "server," which can transfer files in either direction upon command from the local "client" Kermit. The server can also provide additional functionality, such as file management, messages, mail, and so forth. Other optional features also exist, including a variety of block check types, a mechanism for passing 8-bit data through a 7-bit communication path, a way to compress a sequence of repeated characters, and so forth. As local area networks become more popular, inexpensive, and standardized, the demand for Kermit and similar protocols may dwindle, but will never wither away entirely. Unlike hardwired networks, Kermit gives the ordinary user the power to establish reliable error-free connections between any two computers. This may always be necessary for one-shot or long-haul connections. Recommended reading: "Kermit, A File Transfer Protocol" by Frank da Cruz, 1987 Digital Press, order number: EY-6705E-DP (in USA phone: 800 343-8321) DP ISBN 0-932376-88-6, PH ISBN 0-13-514753-0 1 Local-vs-Remote Kermit-11 by default assumes that all file transfers will be done over the terminal line you are currently logged in on (TT). This is called the REMOTE mode (the PDP-11 is the remote system) and is the desired case if you are running Kermit on a microcomputer and using the PDP-11 through it. However, if you want to call out from the PDP-11, perhaps on an auto-dial modem, you'll need something besides TT to communicate with the modem. This is called the LOCAL mode since the PDP-11 is now the local system. The link device with which Kermit talks to the out- side world is modified with the SET LINE command. An implicit SET LINE CL will be done on the PRO-series under TSX-Plus if the handler is found when Kermit is started. Under TSX-Plus attaching a CL unit to a line requires TERMINAL privilege, and ALLOCATE privilege is necessary for use of a CL line in any case. You may have to talk to your system manager to get access to an outgoing terminal line. Once you're connected to another system by a modem, some means must exist for the phone connection to be broken if the remote doesn't drop it when logging out. If your line provides modem control (DLV-11E, DZV-11, etc) the HANGUP command may be used, otherwise your connection may not be hung up, and could run up a tidy phone bill. 1 LOGFILE Creates the debug and session logging file. One may optionally specify a debug mode as an additional argument following the desired file name, or must later select something to be written into the file, such as SET DEBUG CONSOLE to log a session with a remote system. When a logfile is closed all disk based debug modes are reset (turned off). If file size is a consideration it may be specified via SET FILE CREATE-SIZE or with the syntax FILENAME[siz] where "siz" is the desired size expressed as a decimal number of blocks. Kermit-11>LOG TMP CON ; default type is .LOG, logs CONNECT Kermit-11>LOG ABC[99] CON ; ABC.LOG will be 99 blocks Kermit-11>LOG LP: ALL ; LP MUST be spooled, or very fast.. Kermit-11>LOG ; close file, off disk based debugging Check HELP Debug for a brief list or HELP SET DEBUG for detailed descriptions of debugging modes. See HELP PRINT for info on use of other print devices. 1 LOGOUT Tells a remote server to log out your process on the remote system. If the remote doesn't hang up the phone the HANGUP command will, if the interface permits, cause the line to be dropped. 1 Long-Packets Kermit-11 supports the use of packet lengths greater than 94. This is particularly useful in file transfers over links with delays exceeding one second, or whenever transmission errors are sufficiently low that time saved in ACK packets (as opposed to time lost in resending longer data packets) improves efficiency. The main restriction on the packet size is the link, a given circuit may not pass a given number of chars in a single packet. Also, BOTH Kermits must support this extension to the protocol, it is always negotiated before any file transfer. Long packets are enabled by setting the receive packet length on the Kermit which will be receiving the transfer: Kermit>SET RECEIVE PACKET-LENGTH nnnn ; use max packets Kermit>SET BLO 3 ; CRC error checking Here the above may also be accomplished in one command with: Kermit-11>SET LONG ON ; max packets, CRC error tests It is highly recommended you use the CRC block check, as the default type one checksum is inadequate for such packet lengths. Please note it may be necessary to preset this on both sides, before invoking the server. The maximum packet size possible here may be determined with SHOW PARAMETERS. You may disable long packets at this end via SET NOLONG. When talking to VMS Kermit or C-Kermit you will probably need to also SET SEN PAC nnnn on them before long packets will function. 1 MILNET-TAC The following conditions must be met to successfully use Kermit-11 on a MILNET Terminal Access Controller. 2 Binary-Files The TAC (which implements the DDN Telnet Protocol) normally provides just a 7-bit path. To pass 8-bit data enable the binary mode in the TAC: @Binary Input Start (@b i s) @Binary Output Start (@b o s) Some hosts allow engaging the binary mode from the host. The binary mode has the side effects of disabling the intercept character means of controlling the TAC, and XOFF flow control. Refer to HELP MILNET Flow-Control for additional info. Eight-bit prefixing in Kermit may also be used to move 8-bit data in a 7-bit path. This is enabled via SET PARITY SPACE on both Kermits. 2 Flow-Control The buffer size (a configurable parameter) for a terminal port on a TAC is typically about 64 bytes. Since the default packet length in Kermit is usually 94 bytes it is quite likely that buffer overflow will occur. There are two possible solutions. 1. Enable flow control on the TAC by giving it these commands: @Flow Input Start (@f i s) @Flow Output Start (@f o s) Note flow control isn't compatible with binary mode. It is possible to set binary mode in only one direction. For example you can set Inbound binary and retain flow control in the opposite direction. You probably won't need Outbound (input to Kermit-11) flow control at 2400 or below. 2. Make the Kermit packet length small enough to not overflow the TAC: Kermit-11>SET REC PAC 60 You will probably get the best throughput for ASCII files by keeping the packet size as large as possible and using flow control. This Kermit also provides a means to wake up the TAC by sending two ^Qs to it when the CONNECT command is given: Kermit-11>SET CONSOLE [NO]MILNET 2 Intercept-Character The default TAC intercept character is "@", which is also used by Kermit, so one of the following must be done or Kermit packets won't pass through the TAC. 1. Change the TAC's intercept character: @Intercept For example, "@I 6" sets the intercept character to ^F. 2. Use the TAC's Binary mode, which has the side effect of disabling the intercept character. 2 Time-Outs When going through satellite hops or multiple gateways the occasional very long delay may result in Kermit timing out waiting for a packet. See HELP SET REC TIME-OUT or HELP SET SEND TIME-OUT as appropriate. 1 Modems Check HELP SET MODEM for pre-defined modem types and HELP SET DIAL for information about entering your own USER-DEFINED modem type. SET MODEM ? provides a brief list of pre-defined modems. See HELP Install Modems for hardware and cabling information. 1 MOUNT Logical disks are used to partition a physical device into smaller units which can themselves be treated as directory structured devices. To access the contents of a logical disk, one must first mount it: Kermit-11>MOU LDn file ; .DSK,.DEV are default types Kermit-11>MOU LDn dev:file ; file is not on DK (default) Kermit-11>MOU LDn file DK ; makes LDn the default disk It's then referred to by its logical name LDn: where n=unit number. Up to eight (LD0-LD7) logical disks may be mounted at any one time. Any new mount overwrites an existing mount for any particular unit. Nested logical disks can only be mounted in ascending unit number order. The only logical assignment supported is DK (default disk). MOUNT within Kermit is only available under TSX-Plus V6.2 and up. 1 Parity Sometimes what appears to be valid packet is constantly rejected. This usually happens when the requesting Kermit asks a server for a file and then rejects the server's first packet until the retry limit is reached. This may be caused by parity being introduced somewhere, as when a modem is generating parity, or by a private or public net. If the communications link is at fault a simple fix is to SET PARITY SPACE on each Kermit, forcing removal of bit seven from the incoming data. Normally this will not stop binary transfers since most Kermits can do eight bit prefixing, a method of sending eight bit data over a seven bit link. You MUST use parity (even if MARK or SPACE) when using Kermit-11 with the IBM CMS Series/1 or 7171 3270 emulator. See HELP SET PARITY for info about specific options. If you are calling into a TSX+ system, you may need to: .SET TT 8BIT to be able to transfer binary files to your local system without incurring the overhead of the Kermit protocol known as eight bit prefixing. You may also need to SET TT BITS=8, however this is a hardware function and should ONLY be done from a primary line, otherwise garbage might be written into the line-parameters word, rendering it useless. If this isn't a solution because something in the path or the far end requires parity, then SET PARITY SPACE on both Kermits. Under RT-11 parity will default to SPACE. If need be you may SET PARITY NONE in the init file or from the keyboard after Kermit is running and AFTER a link device has been set. 1 PRINT Copies a single (non-wildcarded) file to LP. This device name is hard-coded in Kermit, but you may assign anythng you'd like as LP from the monitor before starting Kermit. Attempting to print via any other device direct (such as LS) may cause Kermit to hang, so you should ASSIGN xxx LP (where xxx is the desired print handler) from RT-11 or TSX first. LP is the only print device name Kermit supports. 1 PWD Displays the current default device (DK), home directory and, if running under TSX-Plus V6.2 or above, mounted logical disks. 1 QUIT Synonym for EXIT. 1 RECEIVE The RECEIVE command tells Kermit-11 to receive a file or file group from the other system. File names are taken from the incoming file headers - that is, files to be sent are specified on the other system with its SEND command (wildcarding may be used if sender supports it): Kermit>SEND afile ; a single file Kermit>SEND *.MAC ; all .MAC files Then one escapes back to one's local machine and initiates receive: Kermit-11>RECEIVE ; note no file name argument is used As files are created, their names will be displayed on your screen. If a file arrives that you don't really want, you can try to cancel it by typing Ctrl-X which sends the request to the remote Kermit. If the remote understands it (some Kermits may not) it will comply, otherwise it will continue to send. If a file group is being sent, you can bomb the entire group by typing Ctrl-Z. These control chars are checked at the end of each DATA packet. Use Ctrl-C to abort when the need arises before receiving the beginning of the first file. If the first file arrives too soon, use SET DELAY on the sending side. If an incoming file has the same name as an existing file Kermit-11 by default will create a new file. To preserve existing files check HELP SET FILE PROTECT. When receiving text files from a non RT-11 system this Kermit will add 25% to the received file size as record terminators are often excluded from what is reported, or are of a different size (Unix). Files close to the maximum free space may be accommodated by SET FILE CREATE-SIZE, which overrides any passed size attribute. If you are trying to receive binary files from a Kermit which does not support attribute transmission SET FILE TYPE FIXED and SET BLOCK-CHECK on BOTH ends first, or the transmission may appear fine while all high bits are actually being tossed. Normally it is much easier to run the remote Kermit as a SERVER. When that isn't possible, the RECEIVE command is useful. 1 REDIAL After having dialed a number, if the phone you're calling is busy, doesn't answer or whatever the problem, you may REDIAL n where "n" is the number of retries desired, up to 65,535 - which is also the default when "n" is omitted. When the call succeeds your terminal will be connected to the remote system automatically. REDIAL only acts on the last phone number DIALed. This number may be seen via SHOW PHONE (if it exists). Dialing may be aborted by striking any key after the process has begun, as long as that's before actually connecting to the remote. SET DIAL TIME-OUT n (in seconds) determines the time spent waiting for a response before assuming the call has failed. It is usually set 30 to 45 seconds in the modem definition. On modems which can detect a busy signal, retries will occur as fast as it's reported. The generic Hayes modem definition here supports extended response modes, see HELP SET PHONE XMODE. Please note these are the only parameters settable for pre-defined modem types (those selectable by SET MODEM as opposed to SET DIAL) as well as the USER-DEFINED. 1 Release-Notes Kermit-11 for RT-11/TSX-Plus V03.63 27-Sep-1997 The following work was done primarily to support the use of Kermit-11 on a public bulletin board system under TSX-Plus, and then expanded to make a reliable, general purpose comm program. Numerous bugs have been fixed and several new routines added. All major differences between this work and Kermit-11 V3.62 are listed by module in the following extracts, from the edit history in KRTCMD.MAC. Check HELP Binary-Files for information regarding compatibility with previous Kermit-11s and other Kermits. See KRTHIS.DOC for an in-depth narrative of modifications made. 2 KRTCDF.MAC modify optional prompt arg to use address of prompt string allows longer strings to be used and eliminates redundancy drop $CMGLOBAL 2 KRTCMD.MAC convert "-" to "_" in getcm0 move most of SHO VER here so the server can call it too.. call INCSTA on ^C abort of file xfr so stats don't blow up 2 KRTCM1.MAC moved sph$xmode after set$modem so it will prevail.. fixed problem caused by using errtxt buffer to store desired xmode where a "?" in a error message acted like SET PHONE XMODE ? 2 KRTCOM.MAC consolidate local data.. add DAYTIME allow CD, CWD and REMOTE CD, CWD to operate without an argument 2 KRTCON.MAC marktime (scheduler) completion routines are now more efficient fix SET CON 8 test for emulator command chars 2 KRTCVT.MAC fixfil now fixes unix leading dot ".file" names, also ".x.", etc. cleaned up chkext move unfmts to KRTSUB so KRTMDM can use this overlay ... 2 KRTDAT.MAC add rem.ack dpmumber conformed to its current 16-bit max value 2 KRTDIA.MAC use opentt in place of ttyini to set linksts flag move the modem definitions to a separate module KRTMDM.MAC SET$DTR and SET$MODEM back here from KRTDSP 2 KRTDIR.MAC buffil back to root (KRTPAK), for speed and room now available add support for SET WILDCARDS 2 KRTEDI.MAC fixed all possible sign extension problems now the LN$MAX > 127. but keep it under 255. or you'll have to fix some other stuff! 2 KRTERM.MAC use hi-efficiency print emt in T.BINWRITE under TSX 2 KRTERR.MAC strip trailing blank from prompt string when making error message add er$wpe (write past EOF), er$dna (bad device name) 2 KRTHLP.MAC translate "_" to "-" which searching for topics move index data to separate file KRTIDX.MAC solving a size problem increase text line and terminal input buffers to 132. bytes 2 KRTIDX.MAC moved help index into a module of its own as KRTHLP was > 4096. words 2 KRTKM.MAC Add SPFUNs to support Xmodem compatibly with the TSX CL handler: CLSET <250> Set CL options (binin and binout only) CLRSET <251> Clear CL options (binin and binout only) CLIPND <261> Get number of input chars pending CLWBYT <263> Write with byte count CLCHAR <266> Get CL characteristics (options flags only) Enabling binin or binout does not in itself bypass XOFF flow control processing in the input or output routines here, one must explicitly set RTS/CTS flow control as well, or uncomment the appropriate lines in the kiint (binin) and kmint/koint (binout) routines. This driver does not currrently support "no flow control" -- RTS/CTS must be enabled when binin or binout is used. Flow control may then be ignored if desired by using a cable that doesn't connect pins 4 & 5. Added .br macro for clarity. 2 KRTMAC.MAC add support for SET ATTRIBUTES add flag to suspend logging to a disk file make $LN$MAX 132. bytes for EIS assembly pulled message macro, no longer used.. 2 KRTMDM.MAC created this module as KRTDIA had become too large there are now 1793. words free in which more modems may be defined defined T3000X.42 modem (it's the T3000V.42 but with XOFF restraint) convert T3000 (DTE falls back to DCE) definition to XOFF flow control 2 KRTOSI.MAC fix test for running LTC to accomodate QED's fast PDP-11s 2 KRTPAK.MAC make .TOGO = 16, fixing a (harmless) typo (was 26).. dump ^A = restart a packet for SET CONTROL UNPREFIX 1 operation BUFFIL back to root (KRTPAK), for speed and room now available ERROR: now sends error packet when link is open and xfr in progress modify BUFFIL to do BUFPAK too, for repeated char encoding 2 KRTREC.MAC support gets to LP display file size in "created file" messages fix unpopped stack on error exit from bufemp display file type in file create message display file name sent back by remote Kermit 2 KRTRMS.MAC add support for SET WILDCARDS add support for specifying file size as in "file.nam[siz]" use er$wpe (write past EOF) instead of er$eof for .writw error reporting move getnxt, getcr0, tgetcr here from KRTPAK add REWIND routine 2 KRTSEN.MAC sdat$$ now rewinds instead of close/reopen to get back to top of file undo repeated char encoding before dispaying remote ACK packet display file size and type in "sending file" messages display contents of SEND FILE ACK packet, if any.. redo data packet at sdat$$ when resizing due to first one failing so the next retry is actually done with the smaller sized packet 2 KRTSER.MAC disallow gets to TT gen.h now displays the real version data ala SHO VER clean up remote command response code, display reasons for retries move C$BYE and REMFIN into now improved REMOTE command processor on error resend REMOTE command packet before listening again dump BUFPAK, use BUFFIL instead for repeated char encoding 2 KRTSHO.MAC enhanced SHOW CL individually display attributes, ala C-Kermit add SHOW CONTROL-CHARACTER add SHOW WILDCARDS moved SHO VERSION to KRTCMD so the server can also call it.. add SHO DAYTIME SHO ALL now shows all, moved to KRTCMD so it can call everything 2 KRTSTD.MAC consolidate local data.. add SET WILDCARDS 2 KRTST0.MAC add SET CONTROL-CHARACTER consolidate local data.. add file name to when logging to LP so later OS versions are happy 2 KRTST1.MAC allow attributes to be individually set, ala C-Kermit modify SET FLOW XON to force quoting of XOFF and XON chars consolidate local data.. add SET FILE WILDCARDS cd with no arg defaults to home dir, shows default after executing /E64/ 05-May-96 John Santos Fix bug in SET TERM which always set NOSCOPE 2 KRTSUB.MAC move unfmts here so KRTMDM can live in KRTCVT's overlay ... 2 KRTXMO.MAC disallow sends from TT (not supported, makes Kermit hang).. 1 REMOTE Send the specified command to a Kermit server. If the server can not execute the command (these are all optional features of Kermit) it'll reply with a error message, otherwise the returned data are displayed on your screen. Note that any arguments given will be converted to upper case or left as input according to the state of SET FILE NAMING [NO]LOWER-CASE. Kermit-11>REM command [argument(s)] 2 CD Makes the specified directory the default for the remote server. If no device/directory is given some Kermits, including this one and C-Kermit, will default to the home (login) directory. 2 COPY The server is asked to make a copy of the specified file within its own system. Both file specs must be correct for the remote system. Kermit-11 doesn't parse or validate the file names. Leading spaces will be stripped. Case conversion is controlled by SET FILE NAMING [NO]LOWER-CASE. Wildcards are unsupported under RT-11 or TSX-Plus. Note this command simply provides for copying a file within the server's system - it does not cause a file to be transferred. Kermit-11>REM COPY filespec newfilespec 2 CWD Synonym for REMOTE CD. 2 DELETE Tells the server to delete the specified file. The entire command name "DELETE" must be given as some small protection against accidents. 2 DIRECTORY The names of the files that match a given file specification will be displayed on your screen, perhaps with size and date info for each. If no file specification is given all files in the current directory will be listed. Kermit-11>REM DIR *.MAC 2 HELP List commands the server can execute. 2 HOST Pass the given command to the server's host command processor, and display the resulting output on your screen. Not all Kermit servers support this function. In the case of Kermit-11 only the RSTS/E server can execute a REMOTE HOST command. 2 LOGIN Ask a remote server to log into a different account or username. The support for this command is rarely implemented as many systems layer login/logout support over the executive. Of the various PDP-11 operating systems only RSTS/E V9.0 or above makes the necessary system calls available. Kermit-11>REM LOG username [optional-password] 2 RENAME Renames a file on the remote system. Both file specifications must be valid on the remote system, they are not checked here. Kermit-11>REM RENAME oldname newname 2 SPACE Returns a summary of the amounts of space available and in use on the remote host. A device or files argument is optional. 2 TYPE Types a file from a remote Kermit server. This Kermit doesn't support wildcards for this method of typing files. Kermit-11>REM TY FUBAR.MAC 2 WHO Returns a list of who's logged on the remote system. Arguments are passed to the remote and may be used if the remote supports them. 1 RENAME Renames a single, local (only) file. Kermit-11>RENAME oldname newname 1 SEND Sends a file or group of files to the other system. Wildcards may be used, in which case files are sent in order of their directory entries in the device containing them. If you're SENDing on Kermit-11 running in its remote mode, SET DELAY governs the time allowed to escape back to one's local Kermit to initiate the RECEIVE mode (default = 6 secs). If you miss the first packet Kermit will retry it after timing out. If you're running Kermit-11 locally, for instance dialing out from the PDP-11 to another system, you must first run Kermit on the remote then issue either a RECEIVE or SERVER command and escape back to Kermit-11. Once you give the SEND command the name of each file will be displayed on your screen as its transfer begins. As the transaction progresses packet statistics are updated and displayed. See the SET TERMINAL and SET UPDATE commands for more information. Once the actual data transfer has begun, you may type Ctrl-X to cancel the current file, Ctrl-Z to bomb the whole file group, or Ctrl-E to abort the transfer by sending an "error" packet to the other Kermit. If you have a problem BEFORE the first data packet can be sent, Ctrl-C is the only abort possible. If the automatic binary file select is on (SET FILE AUTO, the default) the transmission mode is determined by searching the binary types list for each file. If it is not possible to exchange attributes you will need to SET FILE TYPE and SET BLOCK-CHECK as required on both sides before starting. If parity is in use (see HELP SET PARITY) Kermit-11 will ask the other Kermit to use a special kind of "prefixing" notation for binary files. This is an advanced feature and not all Kermits have it. If the other Kermit can't accommodate this feature, binary files can not be sent correctly. This includes executable programs, object modules, and any text file containing characters with the high bit set. Kermit-11 will also check the other side for a special prefix encoding for repeated characters. If supported, files with long strings of the same character will be transmitted very efficiently. Columnar data, highly indented text and binary files are the primary beneficiaries of this technique. SEND Command Summary: Sends files to another Kermit. If that Kermit isn't a server the transmission begins after the number of seconds specified by SET DELAY. This allows time to escape back to your local Kermit and issue a receive command. The server is far easier to use, unless your Kermit can't do remote commands. Wildcarded renaming is not supported, except an optional output device (only) may be used to place a single file where desired. Kermit-11>SEND *.MAC Kermit-11>SEND afile dev: ; put afile on dev: Kermit-11>SEND afile asfile ; rename to asfile Kermit-11>SEND afile,b*,cfile ; comma delimits file names 1 SERVER The SERVER command puts a remote Kermit into a server mode, so that it expects further commands as packets from your own local client Kermit, allowing various things to be done at the remote without the bother of first connecting back to it. This Kermit-11 when run as a server will handle these commands: BYE, CD, COPY, DELETE, DIRECTORY, FINISH, GET, HELP, RENAME, SEND, SPACE and TYPE. If Kermit-11 is in the local mode, the server will connect to the comm handler. The speed will be the last used, including possible fallback to accommodate a called system. However, Kermit-11 doesn't attempt to determine if such a session remains active before starting the server. If the speed reported is not what you need you must exit and reset it. Upon exiting, the server returns control to the terminal which ran it. Under TSX-Plus access and privileges will be those of the job starting Kermit-11. The normal logon security is NOT present, and care must be taken regarding who can access the other end of the line. Kermit-11 will use the client's block check scheme, packet length and such as long as nothing affecting any of that has been shut off before invoking the server. The BINARY-TYPE list will be used to select text or image mode when sending unless specific file type has been set. If your local Kermit doesn't support exchanging attributes, SET FILE TYPE and SET BLOCK-CHECK as needed on BOTH ends before running the server. When running in local mode, Kermit-11 allows you to send a broad range of commands to a remote Kermit server. There is no guarantee that the remote server can process them, since they are all optional features of the protocol. Commands for servers include the standard SEND, GET, BYE and FINISH as well as REMOTE versions of many local commands. See HELP REMOTE for details. SERVER Command Summary: BYE Logs off the system REMOTE COPY Copy a file to another REMOTE CWD Changes server default REMOTE DELETE Erases specified file REMOTE DIR Prints a directory FINISH Exit server, reconnect GET Send file(s) to remote REMOTE HELP Prints this help text REMOTE RENAME Rename old file to new SEND Send file(s) to server REMOTE SPACE Shows blocks used/free REMOTE TYPE Types a specified file 1 SET The SET command is used to modify various parameters in Kermit. Multiple arguments, including spaces between them, for the same parameter may be delimited with commas. Kermit-11>SET parameter keyword[, key words-1, keyword-2, ..] 2 ATTRIBUTES Part of the Kermit protocol is the support of file attributes. Connected Kermits that support this can send information to each other about size, date/time of creation, protection and other useful things. Due to potential problems with incompatible implementations attributes may be disabled. In this case, Kermit will not send them, even though the receiver may have indicated that it supports them. The default is attributes enabled. Kermit-11>SET ATTR OFF Kermit-11>SET ATTR ON You may also exercise control over each attribute individually, all of which are documented in the following subtopics. For example: Kermit-11>SET ATTR TYPE OFF Kermit-11>SET ATTR TYPE ON ATTRIBUTES (overall control) must be set ON (the default), regardless of their individual settings, before anything is actually processed. Note the determination of whether to send a file in the image mode is by the state of SET FILE, and it may be necessary to select something specific (besides AUTO, which defaults to text) for it when disabling ATTRIBUTES processing. When receiving text files from a non RT-11 system this Kermit will add 25% to the received file size as record terminators are often excluded from what is reported, or are of a different size (Unix). Files close to the maximum free space may be accommodated by SET FILE CREATE-SIZE, which overrides any passed size attribute. 3 ALL Provides simultaneous control of the DATE, EXACT-LENGTH, LENGTH, PROTECTION, SYSTEM-ID, SYSTEM-INFO and TYPE attributes. 3 DATE The "#" (oct 43) date attribute. Creation dates from 1972 to 2099 only. Versions of RT-11 prior to V5.5 limit the maximum date to 2034, or 1999. Under TSX the time is included, which is truncated to TSX's three second resolution. 3 EXACT-LENGTH The "1" (oct 61) exact file length in bytes attribute. Useful to move a file of an odd number of blocks length in a hole of exactly the same size. 3 LENGTH The "!" (oct 41) file length in 1kb blocks attribute. 3 OFF Disables all attribute processing regardless of each's individual status. Does not alter the state of any individual attribute control flag. 3 ON Enables attribute processing for those which have been individually selected. Does not alter the state of any individual attribute control flag. 3 PROTECTION The "-" (oct 55) file protection attribute. Used here within RT-11's limits. That is, a file is considered protected when it has no write, append or delete access. 3 SYSTEM-ID The "." (oct 56) machine and operating system of origin attribute. 3 SYSTEM-INFO The "0" (oct 60) special system-dependent parameters attribute. Here this carries the '"' (oct 42) file type attribute extended to include DEC-Multinational (8-bit text) files. 3 TYPE The '"' (oct 42) file type (ASCII, Binary, Image) attribute. 2 BAUD Synonym for SET SPEED. 2 BINARY-TYPE Kermit-11 maintains a list of file types that's scanned to decide if a file should be sent in the binary mode. This list includes commonly used binary file types, may be displayed with SHO BINARY and appended up to 31 total types, one type per command line. Kermit-11>SET BIN xyz The state of SET FILE determines whether the binary list test will be used to control the transmission mode for files. Use SHOW FILE to display it. 2 BLOCK-CHECK-TYPE Determines the block checking scheme to be used during transmission to to detect errors. There are three types available: the one character checksum (default), the two character checksum and the three character CRC (cyclic redundancy check). Both Kermits involved in the transfer must agree on the block check type. Kermit-11 will request the block check set by this command be used for a transfer. If the other Kermit can't recover this from the init packet then the block check type must be manually set on BOTH sides, otherwise the single character checksum will be used. Binary files should be sent with CRC block checking. Kermit-11>SET BLO 1 ; one char checksum Kermit-11>SET BLO 2 ; two char checksum Kermit-11>SET BLO 3 ; three char CRC 2 CL: You may attach a CL unit to a port known to TSX-Plus using the same syntax as when doing it from the monitor: Kermit-11>SET CL1 LINE 12 Here this also allocates the device and assigns it as the link used for file transfers (as if you SET LINE CL1). If the line has an auto-answer modem on it, one should SET SPEED if needed and SET MODEM immediately afterwards to make sure an incoming call is not answered when TSX can't respond. The CL handler's default speed is 9600. Under TSX when data are actually passing though the CL handler priority may be raised to avoid dropping chars by performing a SET CL PRIORITY nn command from within Kermit. This is better than from the monitor as priority is only elevated when really necessary, and is otherwise restored to its original value. A suggested starting point is 71 for 9600 on a moderately loaded system. Be aware placing Kermit into the real-time mode isn't nice to other users, nor should it ever be needed (80 or above when using TSX's defaults). The cross-connection may be released, the TSX line restored to its normal state and the CL unit deallocated by: Kermit-11>SET CL1 LINE 0 This includes placing the modem on said port back in its idle, auto-answer state if you had SET MODEM earlier (taking it off- line) in the session. After assigning a CL unit to a TSX line the above and SET LINE TT are functionally equivalent, and any other line assignment made from within Kermit resets any prior arrangement if it's successful, with the exception that if you did not attach to a TSX port from Kermit then that will not be dropped. The device is deallocated in all cases. Under TSX on a PRO/3xx Kermit-11 will try to assign CL0 or CL1 to Line 3. On other hardware you may define lists of CL units and ports then have Kermit scan through them seeking the first available combination: Kermit-11>SET CL PORTS 11 9 8 7 6 Kermit-11>SET CL UNITS 0 1 2 Kermit-11>SET CL LINE * ; assign from the above Placing it all on the same command line is more efficient when doing this from the initialization (KRT.INI) file: Kermit-11>SET CL POR 11 9 8 7 6,UNI 0 1 2,LIN * Port (TSX time-sharing and/or CL line) numbers may be 2 to 40. Only CL units 0 to 7 are supported here. Additionally, one may specify a SPEED, MODEM-TYPE and XMODE to be set for each port, should one be successfully acquired: Example>> SET CL PORTS TSX-LINE#/SPEED/MODEM-TYPE/XMODE Kermit-11>SET CL PORTS 9/19200/T25/3 11/2400/H/6,UNI .. Here as parameters are nested, each requires everything before it, though everything after any particular item (to its right) may be omitted. The "/" is used as a parameter delimiter and space separates the individual argument for each port. Speeds and Hayes-style extended result code option (XMODE, the number following "X" in its command string) values must be entered in full. Modems need specify only the minimum chars necessary to render the string non-ambiguous. See HELP SET MODEM, HELP SET PHONE XMODE and HELP SET SPEED for detailed info about exactly what is currently supported by this Kermit. This is best done in a system-wide init file, allowing several users to access modems without any worry about details such as which are currently in use. If KRT.INI can't be shared the individual initialization files may include the above. With a rotary (hunt group) the PORTS are usually best done in reverse order of how incoming calls are handled, and dialing done from a TAKE file wherein the line is set just before dialing. This minimizes the potential for an incoming call arriving between grabbing the port and actually going off-hook. Ports and units are tried in the order specified. Up to eight CL units and 128 bytes of PORTS data may be defined. SHOW CL displays the current contents of these strings. A complete reset of everything engaged from within Kermit will be done when exiting the program, except the CL unit is always deallocated regardless of how or when it was allocated. SHOW LINE displays the current status of CL, when it's in use. 2 CONSOLE This pertains to Kermit's terminal emulator (the CONNECT mode). Use SET TERMINAL to alter your terminal parameters. SHOW CONSOLE to display the status of all these except priority, which is part of SHOW LINE. 3 7-BIT The default mode is 7-bit unless the terminal is detected or set as a VT-200, in which case one may need to set the 7-bit mode to avoid displaying extraneous hi-bit data. Kermit-11>SET CON 7 ; strips hi bits 3 8-BIT Useful only under TSX-Plus or with the KM handler. Kermit-11>SET CON 8 ; pass data with hi bits intact 3 BREAK Break length may be set SHORT (.283 sec, the default) or LONG (3 secs). 3 MILNET If you are working with a MILNET Terminal Access Controller or other device which needs XONs to wake it up, Kermit may be set to send a couple automatically when CONNECTing: Kermit-11>SET CON MILNET ; send wakeup XONs Kermit-11>SET CON NOMIL ; don't XON, the default 3 PRIORITY Under TSX when data are actually passing though a non-multiplexed serial line interface (one which generates an interrupt for every character) priority may be raised to avoid dropping characters by using KRT's SET CONSOLE PRIORITY nn command. This is better than doing it from the keyboard monitor as KRT's priority will only be elevated when actually necessary and otherwise is returned to its original value. A suggested starting point is 65 for 9600 and a moderately loaded system (if the normal priority remains the default 50). Be aware placing Kermit into the real-time mode isn't nice to other users, nor is it ever necessary for this type of problem. 2 CONTROL-CHARACTER The purpose of the SET CONTROL UNPREFIX command is to UNILATERALLY configure Kermit to skip prefixing and printable encoding of selected control characters to achieve higher performance when sending files. This feature takes advantage of the fact that most Kermit programs will accept control characters within packet data-fields literally, provided they get through at all, and provided they don't have a special meaning to the receiving Kermit. There is no automatic negotiation between Kermits to determine a safe set of control characters because often some of the info needed won't be available. For example, there might be a terminal server or PAD between them that is sensitive to a particular control character, even though the two Kermits are not. If you SET CONTROL UNPREFIXED one or more control characters that are unsafe any of several things may happen: 1. Transfer of any file containing these characters will fail. 2. The receiving Kermit program might be interrupted or halted. 3. Your connection might become hung, stuck or broken. For instance a particular control character might cause a PAD, terminal server or similar device to go from its on-line mode to a command mode. The set of safe control characters depends on the two Kermit programs, their settings, the host operating systems and their settings, communication and flow control methods, and all the devices, drivers, and protocols that lie between the two Kermit programs. The optimal safe set must be determined experimentally. Create a short file containing all 256 possible bytes in in sequence and also in pairs, as well as several text strings surrounded by CR-LF pairs - for example, run the following BASIC program: 1 OPEN "DK:KRTTST.DAT" FOR OUTPUT AS FILE #1 2 PRINT #1,"256-byte singles test pattern:" 3 FOR X=0 TO 255 \ PRINT #1,CHR$(X); \ NEXT X 4 PRINT #1,"256-byte doubles test pattern:" 5 FOR X=0 TO 255 \ PRINT #1,CHR$(X)+CHR$(X); \ NEXT X 6 PRINT #1,"End of test patterns" \ CLOSE #1 To send the test file to MS-DOS Kermit from KRT the following chars are the minimum requiring prefixing - you may need to add to this: Kermit-11>SET CONT UNP ALL ; Off all prefixing but NULL, XOFF/XON Kermit-11>SET CONT PRE 1 ; Turn it back on for packet-start char Kermit-11>SET CONT PRE 129 ; and 8-bit version thereof Or to send the test file to KRT Kermit, the other Kermit must at least: Kermit>SET CON U ALL ; Turn prefixing off for all chars Kermit>SET CON P 0 ; If NUL was off'd, turn it back on Kermit>SET CON P 3 ; and for Ctrl-C Kermit>SET CON P 131 ; as well as Ctrl-C + parity bit Note well that all character values for the SET CONTROL-CHAR command must be specified as DECIMAL numbers (delimited by spaces) or the word ALL may be used to specify the entire range of values (1-31, 127-159, 255). Try to send the test file in the BINARY mode. If it works, fine. If not try prefixing some of the other likely control characters (see below). Some care is necessary if you are running the KRT server from an RT-11 system's console port, as it is not possible to disable special character processing, but this is no problem under TSX-Plus. Once you've found the minimum set of prefixed control characters for the test file, it's likely they will also work for any other file. Try sending a large binary file to confirm all is well. If the mininum set doesn't work, this list of control characters and problems they are apt to cause may help to more efficiently determine what's possible: set con p 0 ; Ctrl-@ = NUL, internal string terminator in Kermit ; Also, often discarded as padding set con p 1 ; Ctrl-A = Packet-start character set con p 3 ; Ctrl-C = Packet breakout for remote-mode C-Kermit, MS-Kermit ; and above all, for KRT Kermit too! set con p 13 ; Ctrl-M = Carriage return, always prefix on TELNET connections set con p 14 ; Ctrl-N = Shift Out of graphics mode set con p 15 ; Ctrl-O = Shift In to graphics mode, or abort TT output set con p 16 ; Ctrl-P = Commonly-used X.25/X.3 PAD escape character set con p 17 ; Ctrl-Q = XON ) must prefix with set con p 19 ; Ctrl-S = XOFF ) XOFF flow control set con p 27 ; Ctrl-[ = ESC, prefix if transiting some kind of ANSI device set con p 28 ; Ctrl-\ = CONNECT-mode escape for KRT Kermit set con p 29 ; Ctrl-] = CONNECT-mode escape for Unix TELNET set con p 30 ; Ctrl-^ = Cisco terminal server escape, MultiNet telnet escape set con p 127 ; Ctrl-? = DEL, often discarded as padding ; Also becomes TELNET IAC if parity bit is added set con p 128 ; NUL + 128 } set con p 129 ; Ctrl-A + 128 } these four should track set con p 131 ; Ctrl-C + 128 } their 7-bit counterparts set con p 141 ; CR + 128 } set con p 145 ; XON + 128 ) must prefix with set con p 147 ; XOFF + 128 ) XOFF flow control set con p 255 ; TELNET IAC, prefix on TCP/IP TELNET connections NOTES: 1 and 129 need not be prefixed when sending files to KRT Kermit, but must be prefixed when sending files to MS-DOS Kermit. 13 normally needn't be prefixed when sending files to either C-Kermit or MS-DOS Kermit, except on a TELNET connection (because TELNET servers are likely to change CR-LF into CR) or with VMS where C-Kermit can not be made to ignore CR as the EOL character. Kermit will not let you unprefix XON (17), XOFF (19), XON+128 (145), or XOFF+128 (147) if its FLOW-CONTROL setting is XOFF/XON. If you want to unprefix these, make sure *both* Kermits have been told to SET FLOW RTS/CTS (or NONE) and that XOFF flow control is not in effect anywhere along the communication path between the two Kermits. NUL (0) should always prefixed. When sending files to C-Kermit, you should normally SET CONTROL PREFIX 3 131 because C-Kermit (by default) takes two Ctrl-Cs in a row as a cancellation of packet-mode. You can UNPREFIX these if the files to be sent do not contain two Ctrl-Cs in a row. Or, you may tell C-Kermit to SET TRANSFER CANCELLATION OFF, or SET TRANSFER CANCELLATION ON when you know that copies of do not occur in a row in the data. 3 PREFIXED Use to restore prefixing for the control characters specified or the argument ALL may be used. Multiple arguments must be delimited by spaces. By default all control characters (0-31, 127-159, and 255) are prefixed. See HELP SET CONTROL-CHARACTER for detailed information. 3 UNPREFIXED Causes Kermit to transmit the specified control characters literally, without the usual prefixing and translation to a printable value. Characters must be speficied as decimal numbers separated by spaces (1-31, 127-159, 255 or ALL). Kermit-11>SET CONTROL UNPREFIXED ALL Kermit-11>SET CONTROL UNPREFIXED 2 4 5 18 20 See HELP SET CONTROL-CHARACTER for detailed instructions and information. 2 DEBUG Used to specify the type and level of debugging written to a disk file, which must first have been created via the LOGFILE command, or may be optionally specified as an additional argument for this command. There are also options to display debugging data on the terminal with or without writing to a disk file. When a logfile is closed all disk based debug modes are reset (turned off). Kermit-11>SET DEBUG mode [logfile] 3 ALL Synonym for SET DEBUG ON. 3 CONSOLE Turns on logging for input received from the remote in the CONNECT mode to the disk file specified by LOGFILE. While you're actually CONNECTed logging may be controlled by the escape character followed by Q to suspend, or R to enable. Cancels any other disk based debug option(s) then in use. 3 CONNECT Synonym for SET DEBUG CONSOLE. 3 NONE Turns off ALL debugging, including TT, RPACK and disk based, and closes the logfile. Individual items are controlled by SET DEBUG ON, CONSOLE, PACKET, RAW, OFF, [NO]RPACK, [NO]TT. 3 NORPACK Turns off the display of received packet chars on the terminal. Note this is a completely separate function from DEBUG's PACKET routine, which delivers a similar display but with headers. It is also independent of SET DEBUG TT. 3 NOTERMINAL Turns off debugging display on the terminal. This is completely separate from any disk based logging, as well as received packet data displayed via the RPACK option. 3 NOTT: Synonym for SET DEBUG NOTERMINAL. 3 OFF Turns off all disk based debugging, and closes the logfile. To turn off RPACK logging SET DEBUG NORPACK. Debugging sent to TT may be offed via SET DEBUG NOTT. The entire world of debugging may be dumped with SET DEBUG NONE. 3 ON Enables CONSOLE and PACKET logging to the disk file specified by the LOGFILE command. 3 PACKET Logs all packets sent and received to the file specified with LOGFILE using headers indicating packet number, type and length. An asterisk "*" displayed as the packet type indicates a received checksum error. If the type itself is bad (not A-Z) a "?" is substituted. The packet data are saved to the logfile as-is, that is for binary files or when control chars are unprefixed a text editor may be more convenient for viewing the result. REC.SW = STA.DAT Data <<< RPACK - Paknum 54 Type * Length 82 40!100!200>,curatr; hose bits 0,2,5 and unused biuc 6,7#M#J#Ibeq#I10$#M# J#Iclr#Ipr BAD Checksum: RCV,CALC = 24670, 3312 >>> SPACK - Paknum 54 Type N Length 0 TOD 18:53:07.05 60Hz Elapsed-Time: 00:00:00.33 Numeric overflow is indicated by a "*" (in the most significant digit's column) preceding the remainder of the value, which is also displayed. Received and calculated values of bad checksums are displayed following any data present in the packet. The current time of day along with the time used to process the packet is included at the end of the entry for each in hours, minutes, seconds and ticks. Severe telephone line noise and/or retraining of modems may cause a bad packet length value, in which case data logged are truncated to fit the maximum available ($ALLSIZ-2) buffer space. Selecting this option cancels any other disk based debug option(s) then in use. 3 RAW Logs all packet chars received and sent as 8-bit data to a binary logfile. This option is mutually exclusive of all other disk based debug functions. 3 RPACK Dumps each received packet character to the local terminal, independently of all other debug functions. May be enabled while anything or even everything else is selected but it's best used on its own. All chars except the current SOH and EOL (and TSLICH if running TSX+) are passed directly to the terminal. TIMOUTs are also displayed as they occur. SET DEBUG NORPACK turns this off. Note that SET DEBUG TT is a different routine, if both are used at the same time packets will be displayed twice. RPACK types out each character to your terminal immediately as received. PACKET decodes the SEQ, TYP and LEN then adds a newline after each 72. bytes of packet data displayed. 3 TERMINAL Enables display on the terminal of the PACKET option. It is not necessary to open a logfile first unless one wishes these same data saved in one, in which case it'll also be necessary to SET DEBUG PACKET. SET DEB NOTERM to turn off this debugging display. This is completely separate from any disk based logging, as well as received packet data displayed via the RPACK option. 3 TT: Synonym for SET DEBUG TERMINAL. 2 DEFAULT Makes the specified device the default disk, directing to it file operations for which no device is explicitly specified. 2 DELAY Sets the number of seconds to wait before beginning sending a file while in the remote mode. This is the time allowed to escape back to your local Kermit and issue a RECEIVE command. Kermit-11>SET DELAY number-of-seconds 2 DIAL Kermit-11 contains operating parameters for several of the more common auto-dial modems. To find out if your modem is directly supported use the SET MODEM ? command. If it is not, you'll need to use SET DIAL to load the data used to control the modem and implement the various DIAL routines. These involve formatting commands to the modem, and what to expect in the way of modem responses. As an example the Vadic VA212PA modem is awakened from an idle state by the character sequence (octal) 005 015 which is Ctrl-E followed by carriage return. The modem responds with HELLO: I'M READY * Thus Kermit needs to know when it sends the wakeup sequence it should wait for the asterisk to be returned by the modem, after which it may presumed the modem is awaiting further commands, such as that to dial a phone number. Suppose we had to tell Kermit about the Racal Vadic VA212PA (though in reality Kermit already knows this modem). Checking the owner's manual for it, we find that: To wake the modem up, we type a Ctrl-E followed by a return. To dial a number, we type the letter D followed by a return. At this point, the modem prints a NUMBER? prompt and we then type in the desired number. The number is then reprinted and the modem waits for a return from us to confirm it's correct. When it completes dialing it will print "ON LINE" or "ONLINE" for a successful call, otherwise it may return "BUSY", "FAILED CALL", "NO DIAL", "VOICE" or "TIME OUT". While it is waiting for its call to be answered it may print the line "RINGING" several times to tell you it's working on the call. The Kermit commands required would be: Kermit-11>SET DIAL WAKE-STRING \005\015 Kermit-11>SET DIAL ECHO Kermit-11>SET DIAL WAKE-ACK * Kermit-11>SET DIAL INITIATE D\015 Kermit-11>SET DIAL FORMAT %P%S\015 Kermit-11>SET DIAL DIAL-PAUSE 9K Kermit-11>SET DIAL CONFIRM \015 Kermit-11>SET DIAL SUCCESS ONLINE Kermit-11>SET DIAL SUCCESS ON LINE Kermit-11>SET DIAL RINGING RINGING Kermit-11>SET DIAL FAILURE BUSY Kermit-11>SET DIAL FAILURE FAILED CALL Kermit-11>SET DIAL FAILURE NO DIAL Kermit-11>SET DIAL FAILURE TIME OUT Kermit-11>SET DIAL FAILURE VOICE The notation "\005\015" indicates a Ctrl-E followed by a return. 5 is octal for Ctrl-E, 15 is octal for return. Octal numbers may also be specified by placing the value inside of inequality characters as in SET DIAL WAKE <005><015> though the former is preferred. Octal values may be obtained from HELP ASCII. If for any reason you need to pass a "\" or "<" to your modem, simply prefix the character with another "\" or "<" as in "\\" or "<<". "%P%S\015" indicates the phone number from the DIAL command is to be followed by a return. "%S" is a format effector for the phone number string itself, which causes it to be inserted in the dial string sent to the modem. "%P" inserts the dial pause string, as in this case we need to dial 9 and wait for a second dial tone. The "K" is the Racal Vadic code to get the modem to pause. If you are dialing on a direct line or your modem supports pausing via something embedded in the dial string itself, the DIAL-PAUSE command is unneeded. Many modems require only WAKEUP, WAKE-ACK, FORMAT and result strings. The Digital DF112 is a good example. Its definition would look like: Kermit-11>SET DIAL WAKEUP \002 Kermit-11>SET DIAL WAKE-ACK READY Kermit-11>SET DIAL FORMAT %S# Kermit-11>SET DIAL SUCCESS ATTACHED Kermit-11>SET DIAL FAILURE BUSY Kermit-11>SET DIAL FAILURE DISCONNECTED Kermit-11>SET DIAL FAILURE ERROR Kermit-11>SET DIAL FAILURE NO ANSWER Any undefined result string is considered informational only thus this class of response does not need to be expressly defined. If you are using a "Hayes" style modem, its extended response mode may be set by using the %X format effector in the WAKE-STRING. The number desired is then specified by SET PHONE XMODE n, where n is 0 to 14, or "OFF" to disable it. %X may also be used in the FORMAT (dial) string, allowing modification without re-initializing the modem. Here's a sample Hayes definition: Kermit-11>SET PHONE TONE,XMODE 4 Kermit-11>SET DIAL COMMENT Generic Hayes Command Set Kermit-11>SET DIAL TIME-OUT 45 Kermit-11>SET DIAL WAKE-ACK OK Kermit-11>SET DIAL WAKE-STRING AT E1 Q0 V1 S0=0 S7=255 %X \015 Kermit-11>SET DIAL ECHO Kermit-11>SET DIAL INIT-ONCE Kermit-11>SET DIAL FORMAT AT %X %A D%M %S \015 Kermit-11>SET DIAL ABORT \015 Kermit-11>SET DIAL CON19200 CONNECT 19200 Kermit-11>SET DIAL CON19200 CONNECT 14400 Kermit-11>SET DIAL CON9600 CONNECT 9600 ; fallback only works with Kermit-11>SET DIAL CON4800 CONNECT 4800 ; the CL or KM handlers.. Kermit-11>SET DIAL CON2400 CONNECT 2400 Kermit-11>SET DIAL CON1200 CONNECT 1200 Kermit-11>SET DIAL CON9600 CONNECT FAST Kermit-11>SET DIAL CON300 CONNECT ; embedded, must be last! Kermit-11>SET DIAL FAILURE BUSY Kermit-11>SET DIAL FAILURE ERROR Kermit-11>SET DIAL FAILURE NO ANSWER Kermit-11>SET DIAL FAILURE NO CARRIER Kermit-11>SET DIAL FAILURE NO DIALTONE Kermit-11>SET DIAL FAILURE NO DIAL TONE Kermit-11>SET DIAL FAILURE VOICE Kermit-11>SET DIAL RINGING RING ; includes RINGING Kermit-11>SET DIAL RINGING RRING ; Telebit style.. Kermit-11>SET DIAL PULSE P Kermit-11>SET DIAL TONE T Kermit-11>SET DIAL ANSWER S0=1 Kermit-11>SET DIAL NOANSWER S0=0 Kermit-11>SET DIAL IDLE AT Z \015 Some modems are unable to accept data at the line speed, in which case one must employ SET DIAL WAKERATE and SET DIAL DIAL-RATE. These two functions accept a delay time in clock ticks, which are 1/50 or 1/60 second units depending on where in the world this program is running. If your modem has a settable timer it should be either disabled or set to the maximum possible (example: the Hayes wakeup string contains S7= 255) to allow Kermit-11's internal TIME-OUT to prevail. If your modem hangs, see HELP SET DIAL SETTLE-TIME. This and TIME-OUT are two special parameters here in that they are global, and used even with Kermit's internal modem definitions. However, default values are loaded by SET MODEM, thus these must be altered AFTERWARDS, except for the USER-DEFINED modem where what is set BECOMES the default. This is also the case for SET PHONE XMODE. NOTE: This program toggles DTR to reset the modem thus the modem must have this option enabled in its default configuration. If the modem echoes command strings sent to it SET DIAL ECHO to enable display of anything output by it. Once all pertinent data have been entered, it is then necessary to SET Kermit's modem-type: Kermit-11>SET MODEM USER-DEFINED If a line (and speed if necessary) has been previously set this causes Kermit to try initializing the modem, the result of which is reported. If successful, you may then use the DIAL command to call out. 3 ABORT Defines a string to force the modem to stop dialing. This is passed to the modem by the strike-any-key abort function of Kermit-11 while waiting for a dialed call to complete. Non-printing chars must be specified in octal notation. Kermit-11>SET DIAL ABORT \003 ; use ^C to stop modem 3 ANSWER Defines a string the %A format effector will insert in the dial FORMAT string when it contains said %A effector and you have SET PHONE ANSWER to allow answering a call back from a security modem requiring it. Kermit-11>SET DIAL ANSWER S0=1 ; Hayes does it thusly SHOW MODEM to display its current setting and status. 3 BINARY-RESPONSE If your modem responds with single character result messages (sans any terminator ala a return) set this so Kermit will as well. The default may be restored with SET DIAL NOBINARY-RESPONSE, which enables testing of strings of more than one character. 3 BLIND Defines a string to force the modem to dial regardless of its detecting a dial tone or recognizing tone dialing capability on the line. Actual use of this string in dialing is enabled by SET PHONE BLIND. Kermit-11>SET DIAL BLIND string 3 COMMENT Specifies a brief description of the modem definition which is included in the SHOW MODEM display. Embedded blanks are ok, but multiple spaces will be reduced to a single blank. Kermit-11>SET DIAL COMMENT Hayes-MNP with DTE speed locked 3 CON300 Define a message from the modem which, as a result of a dialed call will cause Kermit-11 to set its DCE port (ONLY when using the CL or KM handler) to 300 baud and then CONNECT to it: Kermit-11>SET DIAL CON300 CONNECT ; Hayes defaults to 300 3 CON1200 Define a message from the modem which, as a result of a dialed call will cause Kermit-11 to set its DCE port (ONLY when using the CL or KM handler) to 1200 baud and then CONNECT to it: Kermit-11>SET DIAL CON1200 CONNECT 1200 3 CON2400 Define a message from the modem which, as a result of a dialed call will cause Kermit-11 to set its DCE port (ONLY when using the CL or KM handler) to 2400 baud and then CONNECT to it: Kermit-11>SET DIAL CON2400 CONNECT 2400 3 CON4800 Define a message from the modem which, as a result of a dialed call will cause Kermit-11 to set its DCE port (ONLY when using the CL or KM handler) to 4800 baud and then CONNECT to it: Kermit-11>SET DIAL CON4800 CONNECT 4800 3 CON9600 Define a message from the modem which, as a result of a dialed call will cause Kermit-11 to set its DCE port (ONLY when using the CL or KM handler) to 9600 baud and then CONNECT to it: Kermit-11>SET DIAL CON9600 CONNECT 9600 ; Hayes Kermit-11>SET DIAL CON9600 CONNECT FAST ; Telebit 3 CON19200 Define a message from the modem which, as a result of a dialed call will cause Kermit-11 to set its DCE port (ONLY when using the CL or KM handler) to 19,200 baud and then CONNECT to it: Kermit-11>SET DIAL CON19200 CONNECT 19200 Kermit-11>SET DIAL CON19200 CONNECT 14400 3 CON38400 Define a message from the modem which, as a result of a dialed call will cause Kermit-11 to set its DCE port (ONLY when using the CL or KM handler) to 38,400 baud and then CONNECT to it: Kermit-11>SET DIAL CON38400 CONNECT 38400 3 CONFIRM Some modems use a command syntax wherein the number to be dialed is echoed back to the user, after which the user must confirm it is ok by returning an appropriate string: Kermit-11>SET DIAL CONFIRM \015 ; usually just a return 3 CONFIRM-ACKNOWLEDGE If your modem issues some sort of confirmation to the DIAL CONFIRM sent to it, and there is some reason to test that in fact said confirmation has actually been received by Kermit, you may specify what to expect thusly: Kermit-11>SET DIAL CONFIRM-ACK string For example, older Vadic modems would say "DIALING" here. 3 DIAL-ACKNOWLEDGE Specifies a string issued by the modem to acknowledge it is dialing. Use of this may be required for error detection with some older modems, but it's normally not necessary. Kermit-11>SET DIAL DIAL-ACK \015 ; usually just a return 3 DIAL-PAUSE Defines the string for dial tone pause, which string is passed to the modem by placing the %P format effector in the actual dialing string, which in turn is defined with the SET DIAL FORMAT command. Kermit-11>SET DIAL DIAL-PAUSE string If you are dialing on a direct line or your modem supports pausing via something embedded in the dial string itself the DIAL-PAUSE command is unnecessary. As long as the first char is numeric, commas and similar tokens will be passed to the modem as part of the number from the DIAL command. 3 DIAL-RATE Allows pacing of chars in the dial string sent to the modem. There is an inherent wait of one clock tick (1/50 or 1/60 second, per your LTC) to ensure an echo is not missed. If this remains too fast for a modem additional delay between each char may be specified in ticks: Kermit-11>SET DIAL DIAL-RATE 3 3 ECHO If the modem echoes command strings, SET DIAL ECHO causes the display during DIALing to be driven directly from the modem's output. If the modem doesn't support this, SET DIAL NOECHO forces display of what is sent, regardless of what may be received from the modem. 3 FAILURE Define a message from the modem which, as a result of a dialed call, indicates failure to complete the connection. More than one message may be defined if necessary to include all possibilities. Kermit-11>SET DIAL FAILURE BUSY Kermit-11>SET DIAL FAILURE NO ANSWER 3 FORMAT This defines the actual DIAL string sent to the modem. In addition to specifying the entire thing verbatim several format effectors are provided to make life easier. Most notable of these is %S, which is the number to dial taken from the argument to the DIAL command. See HELP SET DIAL Format-effectors for detailed info. Kermit-11>SET DIAL FORMAT %P%S\015 Kermit-11>SET DIAL FORMAT AT %X D%M %S \015 Most modems will require %S be the last item in the list (other than the return as an input terminator), as otherwise a following command will be taken as a request to abort dialing. If blanks are embedded they will be passed to the modem, although contiguous blanks will be reduced to a single space. 3 Format-effectors FORMAT (dialing) string format effectors supported: %A - SET PHONE [NO]ANSWER string %B - Dial blind %M - Mode, pulse or tone %P - Insert pause string %S - Phone number string, passed by DIAL command %X - Insert Hayes xmode string, unless set off WAKE-STRING (initialization) string format effector supported: %X - Insert Hayes xmode string, unless set off See HELP SET DIAL ANSWER, NOANSWER PULSE, TONE and HELP SET PHONE * for info concerning exactly what each of these does. If you are using a "Hayes" style modem, its extended response mode may be set into the init string via SET PHONE XMODE n, where n is a number between 0 and 14, or the word "OFF". The format effector for XMODE is %X. It may also be used in the dial string, allowing modifications without re-initializing the modem. Strings to be inserted will be displayed in SHOW MODEM when the format effectors (SET PH BLIND,PULSE,TONE,XMODE) for them are enabled, except for the phone number string, which is not built until DIALing. 3 IDLE Defines the string used to return the modem to idle state, which is sent to the modem upon exiting Kermit-11 or dropping the connection (ala SET LINE) to it. If the modem was preset to auto-answer, this restores it to that state. Kermit-11>SET DIAL IDLE ATZ \015 3 Important-Notes! The SUCCESS, CONnnnn, RINGING and FAILURE fields are built as linked lists thus you can have as many as necessary. At least one SUCCESS or CONnnnn message must be defined or any call is going to fail! NOTE: Where a modem response string (SUCCESS, CONN, FAILURE) is a sub- string of another response string the substring MUST FOLLOW the string containing it as the comparison scheme used here ignores the return at the end of the result string from the modem. Thus, when you are using CONNECT 1200 and CONNECT, "CONNECT 1200" MUST be defined first, BEFORE "CONNECT" on its own. All tests are done without respect to case. Use of CONNECT messages to conform the speed of the DCE port (the one on the PDP-11) to that of the modem (DTE port) is only possible using the CL (TSX-Plus) or KM (RT-11/TSX-Plus) handlers. These are for use with modems which alter the speed of their data port to the connected (telephone port) speed. The old speed will be restored when the next call is placed, unless SET otherwise first. See HELP SET DIAL CONnn, where nn=300 ,1200 ,2400 ,4800 ,9600 ,19200 or 38400. Once you have established a working set of parameters for your user defined modem, you may include them in KRT.INI, Kermit's startup initialization command file. If memory runs out before everything you need can be entered, increase the value of ALSIZE in KRTMAC.MAC. This same buffer is used to store phone numbers. Also note malloc as it is here does not deallocate anything, thus while re-entering data updates pointers to them the superseded data's memory is NOT recovered. The following pseudo code was extracted from the dialer source module, with the hope of clarifying the functions of and relationships between the seemingly excessive number of parameters available here. Anything that can modified by SET DIAL is shown in UPPER CASE. Items listed as optional should only be used when really necessary, or performance may not remain as fast as it could be. format_dial_string ; build the modem's dial_command_string using FORMAT string and %B BLIND dial string ; if set phone blind has also been done %M PULSE or TONE string ; set phone pulse,tone selects which %P DIAL-PAUSE string ; used if defined %S the_phone_number ; as passed by the dial command %X XMODE ; depending on set phone xmode call tty_initialize ; open the link device call fix_speed ; restore set speed (b4speed) if need be test INIT-ONCE ; need to re-init modem? if <>, goto do_dial send WAKE-STRING ; ya, send it an init string pace WAKE-RATE ticks ; pause between chars if <> call check_abort ; check strike any key to abort loop wait_for WAKE-PROMPT ; now wait 2 secs for an ack on error, loop a maximum of three times then give up do_dial: ; try to dial a number ; these two are optional and only for modems which need them send INITIATE ; dump the string to initiate dialing out wait_for INITIATE-PROMPT; if defined, wait up to 4 secs for a response send dial_command_string ; this is from FORMAT, et.al. above pace DIAL-RATE ticks ; pause between chars if not zero test DIAL-ECHO ; does it echo? if not, Kermit will do it call check_abort ; strike any key to abort loop ; these three are optional and only for modems which need them wait_for DIAL-ACK ; wait up to 4 secs for numb to echo perhaps send CONFIRM ; stuff a confirm wait_for CONFIRM-ACK ; if defined, wait up to 5 secs for the string get_response: ; get the modem's response wait_for SUCCESS ,RINGING ,FAILED ,CON300..CON19200 test BINARY-RESPONSE ; exit loop on a single character? call check_abort ; strike any key to abort loop wait_until TIME-OUT secs call_fails_or_was_aborted: send ABORT ; get the modem to STOP wait SETTLE ; let modem recover from abort! call_succeeds: ; if under TSX-Plus with CL handler and a CONnnnn result message call b4speed ; save speed before fallback.. call set_speed ; then set it to what modem wants it to be jump c$connect ; and connect automatically.. 3 INITIATE Some modems use a command syntax wherein the number to be dialed must be preceded by a command to first initiate the dial mode itself. Normally these modems will also require using a DIAL CONFIRM string after sending the number string. Kermit-11>SET DIAL INITIATE D\015 3 INITIATE-PROMPT If after use of the DIAL INITIATE option for some obscure reason you find it necessary to check for proper response to it from your modem the desired string may be specified thusly: Kermit-11>SET DIAL INITIATE-PROMPT string 3 INIT-ONCE If once initialized your modem remains in that state (some such as the Concord 224 will time out and return to an idle mode) you may skip any further unnecessary and time consuming inits by calling this function. This is tested when dialing, and will speed up the redial looping time if your modem allows its use. Kermit-11>SET DIAL INIT-ONCE To restore Kermit-11's default operation where the modem is re-initted before trying anything and everything else SET DIAL NOINIT-ONCE. 3 NOANSWER Defines a string the %A format effector will insert in the dial FORMAT string when it contains said %A effector and you've SET PHONE NOANSWER to disable the modem from answering an incomming call. Kermit-11>SET DIAL NOANSWER S0=0 ; Hayes does it thusly SHOW MODEM to display its current setting and status. 3 NOBINARY-RESPONSE Enables testing modem result messages consisting of strings greater than one character. If your modem responds via single character result codes SET DIAL BINARY-RESPONSE so Kermit will as well. 3 NOECHO If the modem echoes command strings, SET DIAL ECHO causes the display during DIALing to be driven directly from the modem's output. If the modem doesn't echo, SET DIAL NOECHO will force Kermit to display what is sent to the modem in place of what would be echoed back. 3 NOINIT-ONCE If your modem, once initialized for dialing out, doesn't remain in such a state, particularly after a dial out call fails, SET DIAL NOINIT-ONCE will force Kermit-11 to re-initialize the modem before each dial/redial attempt. This is the default operation. 3 PULSE Defines a string to force the modem to use pulse dialing regardless of its recognizing tone dialing capability on the line. This string is passed to the modem by the %M format effector (which must in the DIAL FORMAT string) when one has SET PHONE PULSE to enable it. Kermit-11>SET DIAL PULSE P ; "Hayes" uses this 3 RINGING Defines a ring response, as returned by the modem to report the status of a call in progress. Kermit-11 maintains a count of received RINGS, after seven of which the call will be considered failed due to no reply. Kermit-11>SET DIAL RINGING RING ; "RING" includes "RINGING" Kermit-11>SET DIAL RINGING RRING ; Telebit style.. Multiple messages may be defined as required to cover all possibilities. 3 SETTLE-TIME Allows modifying the delay between sending a reset string to a modem and dumping the handler connected to it, which also drops DTR. If the modem doesn't recover in time to resume its auto-answer mode, increase this to something beyond the 20 tick default by setting a new value as a decimal number of ticks. One tick is 1/50 or 1/60 second (hardware dependent). Kermit-11>SET DIAL SETTLE 30 IMPORTANT NOTE: This is a global function effective for ANY modem type, not just USER-DEFINED, but for KRT's built-in modem types this will only prevail when this is done AFTER setting the MODEM-TYPE. 3 SUCCESS Define a message from the modem which, as a result of a dialed call, indicates successful completion and a data path has been established between modems, and which will force Kermit to CONNECT your terminal to it. More than one message may be defined if necessary to include all possible responses. Kermit-11>SET DIAL SUCCESS CONNECT Kermit-11>SET DIAL SUCCESS ON LINE NOTE: This particular function neither checks nor changes speed. If this is something you need, see HELP SET DIAL Important-Notes. 3 TIME-OUT Defines the period in seconds after which if there is no conclusive response (excluding informational messages) from the modem the call will be considered to have failed. Kermit-11>SET DIAL TIME-OUT 60 ; for overseas calling.. IMPORTANT NOTE: This is a global function effective for ANY modem type, not just USER-DEFINED, but for KRT's built-in modem types this will only prevail when done AFTER setting the MODEM-TYPE, and the modem's internal time out is set to something greater than the desired time period here. 3 TONE Defines a string to enable the modem to use tone dialing regardless of its recognizing tone dialing capability on the line. This string is passed to the modem by the %M format effector (which must in the DIAL FORMAT string) when one has SET PHONE TONE to enable it. Kermit-11>SET DIAL TONE T ; "Hayes" uses this 3 WAKE-ACKNOWLEDGE Defines the expected response to the WAKE-STRING (initialization to dial out) sent to the modem. This is tested three times over a period of six seconds, after which the init will be considered to have failed. Kermit-11>SET DIAL WAKE-ACK * Kermit-11>SET DIAL WAKE-ACK OK 3 WAKE-RATE Allows pacing of chars in the init string sent to the modem. There is an inherent wait of one clock tick (1/50 or 1/60 second, per your LTC) to ensure an echo is not missed. If this remains too fast for a modem additional delay between each char may be specified in ticks: Kermit-11>SET DIAL WAKE-RATE 5 3 WAKE-STRING Defines the wakeup (initialization) string sent to the modem to place it in the ready-to-dial-out state: Kermit-11>SET DIAL WAKE-STRING \005\015 Kermit-11>SET DIAL WAKE-STRING AT E1 Q0 S0=0 S7=255 V1 %X \015 2 DTR Synonym for HANGUP. May also be used to raise DTR. 2 DUPLEX Permits local echo in the CONNECT mode, which is useful when the system to which you're connected doesn't return what's typed at it (not likely in the present era). The options here are HALF (local echo on) or FULL (echo from the remote, the default). SHOW CONSOLE displays its status. 2 END-OF-LINE The END-OF-LINE parameter is the ASCII character used as a line terminator for all packets sent to and received from the other Kermit. This is normally not changed. See HELP ASCII for octal values. Kermit-11>SET END octal-value-of-char 2 EOF Determines action taken at the end of a command file, or when an error occurs after Kermit-11 has been run with UCL. SET EOF EXIT terminates Kermit-11 and exits to the monitor, and NOEXIT (the default) keeps the program active. SET EOF is ignored for the init (KRT.INI) file. 2 ESCAPE This sets the escape character used to prefix commands while in the CONNECT mode. The default is Ctrl-\ (octal 34). It is a good idea to set this to something which is not used (at least not very much) on the system to which you'll be connecting. Check HELP ASCII for a list of octal values. Kermit-11>SET ESC octal-value-of-char 2 FILE-TYPE When it's started Kermit-11 defaults to automatically getting a file type from the BINARY-TYPE list when sending or incoming attributes if receiving. Some Kermits may not accommodate this, in which case it's necessary to manually SET a particular FILE-TYPE, and match the BLOCK-CHECK as well, on both Kermits before continuing. The file type ASCII should be used to for text files which are to be used as text files. The file type BINARY should be used for binary files, such as save images, in which bit 7 must not be stripped when transferred. The file type DEC-Multinational may be used for text files containing 8-bit chars if it is supported on the other end. RT-11 text uses the line terminator which makes it possible to set the binary mode on KRT and text mode on the foreign Kermit so 8-bit text may be exchanged. A file with unexpected 8-bit data will make itself known when the first packet containing it is NAKed until the transfer fails. HELP Binary-Files contains additional useful info of a more general nature. Once a FILE-TYPE is SET that aspect of exchanging file attributes is superseded by the designated type regardless of whatever remains on with the rest of attribute processing. SET FILE AUTO to restore the default. SHOW FILE displays the current type. Kermit-11>SET FILE ASCII Kermit-11>SET FILE BINARY Kermit-11>SET FILE DEC-MULTINATIONAL Kermit-11>SET FILE AUTO 3 ASCII Force the file type to ASCII, for 7-bit text files. For text files containing 8-bit chars use DEC-MULTINATIONAL, if supported by the other Kermit, or if not, use BINARY. You must explicitly set the text mode on the other end. SET FILE AUTO restores automatic ASCII/Binary selection. 3 AUTO Decide if a file should be sent in the binary mode as determined from an internal list of binary file types and use any type data found in an incoming file's attributes. Setting the FILE-TYPE to any particular value overrides both the send and receive automatic type selection. 3 BINARY Force the file type to BINARY, for non-text files. If parity is set to anything besides NONE, the other Kermit must support eight bit quoting. SET FILE AUTO restores automatic ASCII/Binary selection. 3 CREATE-SIZE The largest file RT-11 can open without specifying a particular size is half the biggest piece of contiguous free space. When talking to a Kermit that doesn't support passing the file size with attributes, SET CREATE-SIZE may be used to get a file that otherwise wouldn't be possible. If your largest free space is 3000 blocks and you need to get a 2499 block file: Kermit-11>SET FIL CRE 2499 Note that a SET size supersedes a received attribute value. Kermit-11>SET FIL CRE 0 ; default, restores size attribute This parameter is cleared (reset to its default) after the next open (.enter) of ANY kind, and thus may also be used to set the size of a log file. Conversely, if meant to be used otherwise it shouldn't be be set until AFTER a log file has been opened. One may also explicitly specify a size via the FILENAME[size] syntax where "size" is expressed as a decimal number of blocks. This takes precedence over a SET FILE CREATE value, which will still be cleared on the next open regardless if it is then ignored because the CSISPC parameter was passed and used instead. Kermit-11>LOG TST[77] PACK ; allocates 77 blocks to TST.LOG 3 CSI-PARSING Determines whether multiple file specs provided to the local GET and SEND commands delimited by commas are parsed by the real CSISPC call (limit is six arguments) or by a software emulation (limited only by command line length) useful when the other Kermit chokes on commas. Kermit-11>SET FILE CSI EMULATED Kermit-11>SET FILE CSI REAL ; the default Directory listings and remote file name strings are always parsed by the real RT-11 Command String Interpreter. 3 DEC-MULTINATIONAL Under RT-11 this is functionally the same as the BINARY type, and is provided here for compatibility with other systems where it serves a useful purpose. DEC-Multinational is for text files (using carriage control) with 8-bit records. SET FILE AUTO restores automatic ASCII/Binary selection. 3 FIXED Synonym for SET FILE BINARY. 3 IMAGE Synonym for SET FILE BINARY under RT-11. 3 NAMING Determines the action taken on received and sent file names with respect to node names, devices and directories contained in them. This includes upper case conversion for REMOTE command arguments. 4 CONVERTED Allows removal of node names, devices and directories from file names so as not to bomb when receiving files from VMS, Unix, networks, etc, and also strips the same from a name sent. This is the default. 4 FULL Pass entire file specification, including node names and directories. It's not a good idea to use this mode when connected to a VMS or Unix system due to the relatively limited nature of RT-11 file names. 4 LOWER-CASE Pass file names to the remote system exactly as typed, sans conversion of alphabetic characters to upper case only, including REMOTE command arguments. This is most useful when it's Unix on the other end. 4 NOLOWER-CASE Convert all alphabetic characters in file names passed to the called system to upper case (the default). This is provided to restore the default operation after having SET FILE NAMING LOWER-CASE. Includes arguments to REMOTE commands. 3 NOPROTECT Allows Kermit-11 to accept files regardless if the file then exists on the receiving system, the default. See HELP SET FILE PROTECT if you wish to retain existing files. In no case will Kermit ever zap a file protected via PIP (rename/protect). 3 NOREPLACE Synonym for SET FILE PROTECT. 3 NOVOLUME-VERIFY Normally Kermit-11 checks the directory header of a disk to verify it most likely contains a valid file structure before trying to read the directory. If for some reason your disk doesn't contain the standard data at offset 760 in the header, Kermit will not read the directory. SET FILE NOVOL bypasses this test. 3 PROTECT Forces Kermit-11 to bomb a incoming file when one of the same name then exists. The main use of this is to resume getting a group of files (as in KRT*.*) having lost the connection after transferring some of them. If protection is set, any files already gotten won't be again. This assumes the sending Kermit can reject a single file in a possible group. When using long packets be advised the create is not attempted until the first data packet has been received, and this may take several seconds at slower speeds. Files protected by PIP (ren/prot) can not be deleted by Kermit. SHOW FILE displays the status of Kermit's file protection. 3 REPLACE Synonym for SET FILE NOPROTECT. 3 TEXT Synonym for SET FILE ASCII. 3 TYPE SET FILE TYPE xxx is the same as the SET FILE xxx, the keyword TYPE is ignored but provides compatibility with other implementations of Kermit. 3 VOLUME-VERIFY Check the directory header of a disk to verify that it contains a valid RT-11 file structure before trying to read it (the default). DECRT11 and DECVMSEX are acceptable headers, otherwise you may SET FILE NOVOL to disable this check (for "foreign" floppies). 3 WILDCARDS This does not alter the operating system parameter of the same name, but does control how Kermit evaluates file names, and is provided to allow getting files having names with a leading dot as are common in Unix. In particular this permits renaming such files, by specifying an output file name in the GET command. Example - Kermit-11>GET .bash_profile bash.pro ?KERMIT-11-E-Multiple files or wildcarding not supported here ?KERMIT-11-E-Syntax is GET file.typ [dev:][asfile.new] Kermit-11>SET WILDCARDS EXPLICIT Kermit-11>GET .bash_profile bash.pro Kermit: X.BASH_PROFILE renamed to BASH.PRO [...] Kermit-11>SET WILDCARDS IMPLICIT ; restore the default 2 FLOW-CONTROL Ordinarily RT-11 does not support hardware flow control, however it has been added to (and is available ONLY with) the KM handler. You then have two choices: Kermit-11>SET FLOW-CONTROL RTS/CTS ; do it in hardware Kermit-11>SET FLOW-CONTROL XOFF ; do it in software Kermit-11>SHOW LINE ; display what it is Selecting software flow control forces on control character quoting for ^Q, ^S and their 8-bit counterparts. Note: Your modem, port and cable must all accommodate AND be set up to actually use which ever type of flow control is selected. 2 HANDSHAKE One may use a quoted literal character, as in SET HAN '? or SET HAN "?, or select one of the following options. See HELP SEND XON if you need to prefix outgoing packets with a ^Q. 3 CR Use the carriage return as the handshaking character. 3 NONE Cancels any active handshaking. 2 HOME Modifies the home directory name to the specified device. 2 INCOMPLETE-FILE-DISPOSITION Allows determination of what is done with a file that is not completely received. If the disposition is KEEP, all files received will be kept, even if only some fraction of the file is received. If the disposition is DISCARD (the default) anything not completely received is discarded. If the other Kermit supports the "D" (discard) byte in the "Z" (EOF) packet, a file skipped or aborted when sending from this Kermit will be treated according to this parameter as SET on the OTHER Kermit. Kermit-11>SET INCOMPLETE-FILE-DISPOSITION action Where 'action' is either DISCARD or KEEP. 2 LD: The only option available is SET LD EMPTY, which dismounts all mounted logical disks, under TSX-Plus V6.3 and above only. 2 LINE Selects a default device for transfers and CONNECT. SET LINE TT places Kermit-11 in its Remote Mode where packet I/O will be via the controlling terminal line. Besides TT only the following physical devices or an assigned or equivalent logical name, such as CL vs. CL0, are supported: CL0, CL1, CL2, CL3, CL4, CL5, CL6, CL7, KM, XC, XL Under RT-11 you should LOAD the handler before running Kermit. WARNING: It is impossible to bomb a KM, XC or XL read completion routine, so once it has been assigned as the link the only way to deassign KM, XC or XL is to exit Kermit. The PRO/3xx with TSX-Plus attempts to attach CL0 or CL1 to Line 3 when Kermit is started. Check HELP SET CL for a detailed description of using CL units on other hardware, particularly in a multi-user environment. If you intend to use a modem on the line you should SET SPEED and SET MODEM immediately afterwards so as to init the modem and stop it from answering a possible incoming call. It will be restored to its idle state when exiting Kermit or modifying the line. 2 LOCAL-ECHO Synonym for SET DUPLEX. You may SET LOCAL-ECHO ON if the remote system won't echo what you type while CONNECTed to it. SET LOCAL-ECHO OFF restores the default operation. 2 LOGFILE Synonym for the LOGFILE command. 2 LONG-PACKETS Options are ON, OFF, or you may SET NOLONG-PACKETS. This may be used to disable use of long packets regardless of packet length set locally or received from a remote system. Setting the packet length greater than 94 on this end restores long packet operation if set off via this command. In the past, SET LONG ON merely restored use of long packets if they'd first been enabled by SET REC PAC nnn, and wouldn't in itself actually alter the packet length. Here, it has been enhanced to accomplish and is equivalent to this: Kermit-11>SET BLOCK-CHECK-TYPE 3 You may need to SET BLO 3 on the other Kermit Kermit-11>SET RECEIVE PACKET-LENGTH max-possible See HELP Long-Packets for more info. SHOW PACKET to check the maximum available buffer length. 2 MODEM-TYPE The SET MODEM command is used to establish the type of modem you are using for the DIAL command. Enter SET MODEM ? for a current list of of pre-defined modem types. See HELP SET DIAL for information about entering a USER-DEFINED modem structure. If a link device has been set first Kermit-11 will try to initialize the modem, taking it out of the auto-answer mode so it remains ready for calling out whilst Kermit is running. This may involve a slight delay if the init string is long and/or the speed is slow, up to six seconds spanning three retries after which it times out. If for any reason DTR is dropped while a modem is on-line Kermit-11 will reinit the modem immediately afterwards (except in the CONNECT mode when it waits until exiting) to preclude answering a possible incoming call. 2 NOATTRIBUTES Disables automatic exchange of file attributes during transfers. Does not alter the state of any individual attribute control flag. 2 NODEBUG Turns off all disk based debugging, and closes the logfile. To turn off RPACK logging SET DEBUG NORPACK. Debugging sent to TT may be offed via SET DEBUG NOTT. SET DEBUG NONE dumps ALL debugging. 2 NOLONG-PACKETS Disables use of packets longer than 94 bytes. 2 NOREPEAT-QUOTING Disables compression of repeated characters during file transfers. 2 NOUPDATE Disables displaying packet statistics during transfers. You'll need to do this if you've FRUNed Kermit and want do to any work in the background during file transfers. 2 PARITY Specifies the type of parity on the remote link. It defaults to NONE and can also be ODD, EVEN, MARK or SPACE. Parity generation is done via software, no special hardware is used. Software parity generation is restricted to 8-bit links only. The format, if parity is set to anything besides NONE, will be 7 bits of data with the high bit set or cleared per the parity scheme in use. SPACE parity is essentially nothing in the hi bit and thus may be used to work around bottlenecks such as XL (a 7-bit handler). When parity (other than NONE) is used Kermit-11 will be forced to use 8-bit prefixing for binary files, which increases transfer time. This modified Kermit checks the need to prefix before each transaction, so one need not exit the program to turn it off. See HELP Parity for application info. 2 PAUSE Specifies number of seconds to wait before each packet is sent. This may be useful under situations of heavy system load. 2 PHONE Sets various parameters concerning dialing out via a modem. SHOW MODEM to display parameters other than phone numbers. 3 ANSWER Causes the %A format effector to insert in the dial FORMAT string the command string to cause the modem to answer an incomming call as is required when call back security is in use at the remote. %A is included in the Hayes and Telebit modem definitions and may be used in the USER-DEFINED modem along with SET DIAL [NO]ANSWER. The other pre-defined modems here either revert to the idle state when carrier is lost, or the idle command must be issued manually from the terminal emulator (it can't be preset). When done SET PHONE NOASNWER will restore the default and prevent Kermit from inadvertently answering an incomming call. 3 BLIND May be used if an appropriate dial formatting string and character sequence for selecting BLIND dialing are present in the definition for the modem in use. The format effector for BLIND is %B. Check SHOW MODEM to see if it's present. This is cleared when the modem type is set, and thus must be (re-)enabled AFTERWARDS. 3 NOANSWER Causes the %A format effector to insert in the dial FORMAT string a command string to prevent the modem from answering an incomming call. Use to restore this default after having SET PHONE ANSWER. If you have a modem on-line when issuing this command Kermit will then re-initialize the modem so it actually becomes effective. 3 NUMBER The SET PHONE NUMBER command allows you to associate a phone number with a symbolic name for later use with the DIAL command. These definitions may be placed in KRT.INI, and then referenced later: Kermit-11>SET PHONE NUMBER WORK 537-4411 This allows Kermit to associate a tag name with a phone number for the DIAL command, as in the above example: Kermit-11>DIAL WORK This would cause Kermit to translate WORK to 537-4411, then dial it. Tag names must not begin with a 0 to 9 digit. The number buffer is shared with the USER-DEFINED modem. If memory is insufficient, the value of ALSIZE in KRTMAC.MAC may be increased. SHOW PHONE displays a list of numbers set with this command. 3 PULSE May be used if the required dial formatting effector and character sequence for selecting PULSE dialing are present in the definition for the modem in use. The format effector for PULSE/TONE is %M. Check SHOW MODEM to determine its status. SET MODEM-TYPE will NOT alter this (as it's expected this depends on the site) but it must be also included in the modem's definition or for the USER-DEFINED specified via SET DIAL PULSE . 3 TONE May be used if the required dial formatting effector and character sequence for selecting TONE dialing are present in the definition for the modem in use. The format effector for PULSE/TONE is %M. Check SHOW MODEM to determine its status. SET MODEM-TYPE will NOT alter this (as it's expected this depends on the site) but it must be also included in the modem's definition or for the USER-DEFINED specified via SET DIAL TONE . 3 XMODE If you are using a "Hayes" style modem, its extended response mode may be altered or disabled via SET PHONE XMODE n, where n is a number from 0 to 14 (or the word OFF), corresponding to the extended mode desired. The format effector for XMODE is %X. SHOW MODEM displays its current status if enabled. IMPORTANT NOTE: This is a global function effective for ANY modem type but for the built-in modem types (as opposed to USER-DEFINED) this will only prevail when done AFTER setting the MODEM-TYPE. 2 PROMPT Useful if you are using two Kermit-11s to talk to each other. By using the SET PROMPT command, you can change the prompt on either or both Kermits to something indicative of the systems in use. The prompt string also prefixes error messages, sans the last byte if it is a ">". Prompts may be up to 30 chars. A trailing space may be embedded by quoting the prompt string. Kermit-11>SET PROMPT "Kermit-11> " 2 RANDOM Allows Kermit-11 to randomly generate checksum errors for testing error recovery of an attached Kermit. SET SEED value is used to start the pseudo random number generator at a different point. This is used for debugging only. Kermit-11>SET SEED 1234 Kermit-11>SET RANDOM ON Kermit-11>SET RANDOM OFF 2 RECEIVE Alters various parameters concerning receiving packets. Kermit-11>SET REC parameter value 3 PACKET-LENGTH This serves two purposes. The first is to reduce incoming packet length in the event normal sized Kermit packets can not be passed through the communications circuit. There could be, perhaps, some "black box" some- where in the link that has a very small buffer size. This command would be used to reduce the size that the SENDING Kermit will use. Long-packets are also enabled by setting the receive packet length. See HELP LONG-PACKETS for specific operational information. 3 START-OF-PACKET Modifies the character used for the RECEIVE (only) start of packet to the specified octal-value from the default Ctrl-A. Both sides must support the new value as it can't be negotiated in transfers. The only reasons this should ever be changed are some piece of gear somewhere between the two Kermit programs will not pass through the Ctrl-A, or something similarly placed is echoing its input. In the latter case, the recipient can change the packet outbound packet prefix to be different from that of arriving packets so the echo will be ignored. See HELP ASCII for octal values. 3 TIME-OUT This is the wait in seconds for a packet from the other Kermit, after which it will be considered missing and appropriate action taken. If system loads are high or you are using a MNP protocol you may need to increase this (and the SEND TIME-OUT on the other Kermit). To disable SET RECEIVE TIME-OUT 0 (actually 65535. ticks). 2 REPEAT-QUOTING One may SET REPEAT OFF or ON (default) to control character compression during packet transmission. This might be necessary with older Kermits that do not support this part of the protocol. 2 RETRY Sets the maximum number of times Kermit will try to send specific packets. There are two retry parameters, one for the initial connection (the SEND-INIT or REC-INIT), the other comes into play after this init succeeds, governing all further data packets. The default value for the initial connection is 5, and 16 for all other packets. Kermit-11>SET RETRY type nn Where "type" is either INITIAL-CONNECTION (for initial connection packet) or PACKET (for all other packets), and "nn" is the number of retries (decimal) to attempt. Legal values are 3 to 30. SHOW RETRY to check the current settings. 2 SEED Seeds a random number generator used to create packet errors for debugging. Kermit-11>SET SEED 4321 ; decimal number from 1 to 32767 2 SEND Alter various parameters concerning packets sent. Kermit-11>SET SEND parameter value 3 NOXON Disables prefixing packets with a ^Q (the default). 3 PACKET-LENGTH This command may be used to reduce packet lengths in the event that normal sized Kermit packets will not pass through the data circuit. When Kermit-11 is started it defaults to the maximum possible size. Once set, it limits sent packets to the specified length regardless of what the other Kermit may request. SHOW PACKET displays its SET or default value. LONG-PACKET operation is a completely separate function and must be enabled at and requested by the receiving Kermit. More information is available via HELP LONG-PACKETS. 3 PADCHARACTER The character used to delay the beginning of actual packet data. See also SET SEND PADDING. See HELP ASCII for octal values. Kermit-11>SET SEN PADCHAR 3 PADDING The number of pad characters used to delay the beginning of each packet sent. One must first SET SEN PADCHAR . Kermit-11>SET SEN PADDING 3 START-OF-PACKET Modifies the character used for the SEND (only) start of packet to the specified octal-value from the default Ctrl-A. Both Kermits must support the new value as it can't be negotiated in transfers. The only reasons this should ever be changed are some piece of gear somewhere between the two Kermit programs will not pass through the Ctrl-A, or something similarly placed is echoing its input. In the latter case, the recipient can change the packet outbound packet prefix to be different from that of arriving packets so the echo will be ignored. See HELP ASCII for octal values. 3 TIME-OUT This is the wait in seconds for a result from the other Kermit, after which it will be considered missing and appropriate action taken. If system loads are high or you are using a MNP protocol you may need to increase this (and the RECEIVE TIME-OUT on the other Kermit). When a slow speed and long packets are in use be aware that the timer starts after the write is queued, which may be a few seconds before the last byte of data is actually shipped out. A longer time-out value should be used if this presents a problem. To disable SET SEND TIME-OUT 0 (actually 65535. ticks). 3 XON Prefixes packets with ^Q. SET SEN NOXON returns to non-prefixed operation. 2 SERVER Controls the period at which an idle server times out and sends a NAK. Kermit-11>SET SER TIME-OUT secs ; default is 60 secs, max is 1092 Kermit-11>SET SER NOTIME-OUT ; the max, 21.8/18.2 mins at 50/60Hz 2 SL Allows control of the Single-Line Editor: Kermit-11>SET SL ON,KED ; turns SL on, enables Keypad mode Kermit-11>SET SL NOKED ; offs Keypad mode Kermit-11>SET SL OFF ; turns SL off See HELP SL-Editor for operational details. 2 SPEED Sets the line speed for the device specified with the SET LINE command if the hardware allows it, but is supported only via the CL and KM handlers. If a modem is on-line when the speed is altered, Kermit will then try to re-initialize the modem at the new speed, unless a carrier is present, in which case no further action is taken. Supported speeds (hardware dependent): 75, 110, 134 ,150, 300 ,600, 1200, 1800, 2000, 2400, 3600, 4800, 7200, 9600, 19200, 38400. Kermit-11>SET SPEED 2400 2 START-OF-PACKET Modifies the start-of-packet to the specified octal-value from the default Ctrl-A for BOTH send and receive operations. Both Kermits must support the new value as it can't be negotiated in transfers. Send and receive SOHs may also be SET individually. 2 TERMINAL Controls display formatting. Kermit checks RT-11 for its SET TT [NO]SCOPE status or TSX-Plus for a terminal type and uses it for the default terminal. This may be changed from Kermit's command line: Kermit-11>SET TT NOSCOPE ; printing terminal Kermit-11>SET TT TTY ; tube terminal, but not a VT-xxx Kermit-11>SET TT VT100 ; itself Kermit-11>SET TT SCOPE ; here same as VT100 Kermit-11>SET TT VT200 ; itself SET CONSOLE alters terminal emulator (the CONNECT mode) parameters. Informational messages may be offed by SET TERM QUIET. The default is NOQUIET, allowing everything to be displayed. See also HELP SET UPDATE. An init file is not usually echoed. Check HELP INSTALL if you wish to change this. 2 TT: Synonym for SET TERMINAL. 2 UPDATE Controls the frequency at which the packet count display is updated. The default is 1, displaying each packet. SET UPDATE 0 will disable all packet count logging, whereas SET UPDATE n updates the display every "n" packets. SET NOUPDATE is a synonym for SET UPDATE 0. Use this when Kermit is FRUNed and you want to work in the background. 2 VLSWCH Determines the operation of ^W during the CONNECT mode under TSX-Plus. SET VLSWCH LOCAL to control one's own machine (the default), or REMOTE to pass ^W as a normal character, and suspend local window processing. The TSX-Plus print window key (^B) will track the operation of ^W. 1 SHOW The SHOW command will display the parameters Kermit uses to interpret and process commands and data, some of which are modifiable with SET. Kermit-11>SHOW parameter Kermit-11>SHOW ; defaults to "SHOW ASSIGNS" 2 ALL As the name implies, displays everything that can be shown. 2 ASSIGNS Displays the current home directory and default device. 2 ATTRIBUTES Displays the current status of attribute packet processing. Note that ATTRIBUTES must be set ON (default) regardless of the individual status of each before they will be processed by this program, including their display here. 2 BAUD Synonym for SHOW LINE, which includes the baud rate when available. 2 BINARY-TYPE Lists file types which are considered to be binary (8-bit). 2 BLOCK-CHECK-TYPE Displays the type of checksum in use. 2 CL: Displays current contents of PORTS and UNITS strings. SHOW LINE displays the current status of CL, if it is then in use. 2 CONSOLE Displays parameters asscoiated with Kermit's terminal emulator (the CONNECT mode). Use SHOW TERMINAL to see your terminal parameters. 2 CONTROL-PREFIXING Displays the current control prefix and a table of all control-character values showing 1 for each that will be prefixed and 0 for each that will not. 2 DATE Displays today's date. This program supports dates through 31-Dec-2099. 2 DAYTIME Displays the current date and time. 2 DEBUG Shows debugging and logging status, and random error generation parameters. 2 DEFAULT Displays the default disk device. 2 DELAY Displays the number of seconds delay before SEND begins when invoked in the remote mode. 2 DIAL Displays the modem type selected and its associated parameters. Unused or unset options aren't listed which renders the display easier to behold. Dial or wakeup string format effectors may be included, current strings for which (if enabled) are displayable via SHO MODEM: %A - SET PHONE [NO]ANSWER string %B - Dial blind %M - Mode, pulse or tone %P - Insert pause string %S - Phone number string, passed by DIAL command %X - Insert Hayes xmode string, unless set off 2 DTR Synonym for SHOW LINE, which includes DTR status when available. 2 DUPLEX Synonym for SHOW CONSOLE, which includes local echo status. 2 END-OF-LINE Synonym for SHOW PARAMETERS, which includes the EOL chars. 2 EOF Displays action taken at the end of a command file, or when an error occurs after Kermit-11 has been run with UCL. HELP SET EOF explains the available options. 2 ESCAPE Shows the escape character used to prefix commands when in the CONNECT mode. 2 FILE-TYPE Show the current file mode (ASCII, AUTO or BINARY) and various file options. 2 FLOW-CONTROL Synonym for SHOW LINE, which includes the flow control type when available. 2 HANDSHAKE Displays the current handshaking character. 2 HOME Synonym for SHOW DEFAULTS, which includes the home disk. 2 INCOMPLETE-FILE-DISPOSITION Shows what will be done with an arriving file when the transfer fails before finishing. When this Kermit is the remote your local Kermit must support the "D" (discard) byte in the "Z" (EOF) packet if a file skipped or aborted there is to be actually discarded when this is set to discard here. 2 LD: Synonym for SHOW SUBMOUNTS (TSX-Plus V6.2 and up only). 2 LINE Displays operating parameters for the current link device. If the current SET speed has been modified (as might occur via fallback) it's listed as CURRENT/SET, as in 2400/9600. The SET speed is restored if another call is initiated. 2 LOCAL-ECHO Synonym for SHOW CONSOLE, which includes the local echo status. 2 LOGFILE Synonym for SHOW DEBUG, which includes the log file status. 2 LONG-PACKETS Synonym for SHOW PACKETS, which includes long packets parameters. 2 MEMORY Display amount of memory free to load handlers under RT-11. 2 MODEM-TYPE Synonym for SHOW DIAL. Note that SET DIAL is for a USER-DEFINED modem type, and SET MODEM selects from a pre-defined database. 2 PACKETS Displays current SOH, EOL and packet lengths. 2 PARAMETERS Displays various send, receive and packet parameters. 2 PARITY Shows the software parity scheme in use. 2 PAUSE Displays the pause time before sending each packet. 2 PHONE Displays the current list of numbers entered via SET PHONE NUMBER, and the last number dialed (if one exists). Other SET PHONE parameters may be displayed via SHOW DIAL, as they are all modem-related. 2 RANDOM Synonym for SHOW DEBUG, which includes the random error generator status. 2 RECEIVE Synonym for SHOW PARAMETERS, which includes receive data. 2 REPEAT-QUOTING Displays the current status of repeated character quoting. 2 RETRY Lists the current INITIAL-CONNECTION and PACKET retry limits. 2 SEED Synonym for SHOW DEBUG, which includes the 16-bit seed. 2 SEND Synonym for SHOW PARAMETERS, which includes send data. 2 SERVER Displays the current server time-out. 2 SL Displays the SL (Single Line, the command line) editor status. 2 SPEED Synonym for SHOW LINE, which includes the speed when available. 2 START-OF-PACKET Displays the current SOH (start-of-packet) character. 2 SUBMOUNTS Lists currently mounted logical devices, under TSX-Plus V6.2 and up only. 2 TERMINAL Displays the current Kermit terminal type and associated parameters. Use SHOW CONSOLE for terminal emulator (CONNECT mode) details. 2 TIME Displays the current time of day as hours, minutes, seconds and ticks past midnight. This program supports either 50Hz or 60Hz clock rates, and will include which it thinks is in use immediately following the time. 2 TIME-OUTS Displays the current packet time-out in seconds. 2 TT: Synonym for SHOW TERMINAL. 2 UPDATE Displays number of packets between display updates of counts of same. 2 VERSION Displays current version and edit of this program. 2 VLSWCH Displays the operation of ^W during the CONNECT mode under TSX-Plus. See HELP SET VLSWCH for details of its use. 1 SL-Editor A basic Single Line Editor is available at the command line. Most operations require a VT-100 terminal, although SL may be enabled regardless of terminal type. Kermit-11>SET SL ON,KED ; turns SL on, enables Keypad mode Kermit-11>SET SL NOKED ; offs Keypad mode Kermit-11>SET SL OFF ; turns SL off The last 10 command lines are stored. This editor flips direction when hitting either end of the line. Note the undelete-word and undelete-line routines share a common buffer, and with the non-EIS assembly the number of stored commands is limited to 3. A list of currently defined function keys is available at any time during entry of a command via the PF2 key, and the contents of your command line buffer will be restored and retyped afterwards. 2 Function-Keys Left arrow = cursor left Right arrow = cursor right Up arrow = recall previous command lines Down arrow = move back after up arrow use Delete = delete char to left of cursor Line Feed = delete word to left of cursor PF1 = prefix to undelete char, word, or line PF2 = prints this list then retypes command line PF4 = delete line, from cursor to end Ctrl-A = toggle insert mode off/on Ctrl-B = recall previous command lines Ctrl-C = cancel command Ctrl-D = cursor left Ctrl-E = recall previous command lines Ctrl-F = cursor right Ctrl-R = retype line Ctrl-U = delete line, from top to char left of cursor Ctrl-V = move back after up arrow/^B/^E use Ctrl-W = retype line 2 KED-Mode-Functions Left arrow = cursor left Right arrow = cursor right Up arrow = recall previous command lines Down arrow = move back after up arrow use Tab = toggle insert mode off/on Backspace = delete char to left of cursor Delete = delete char to left of cursor Keypad Enter = return Keypad 0 = goto start of line Keypad 1 = move one word Keypad 2 = goto end of line Keypad 3 = move one char Keypad 4 = set ADVANCE mode Keypad 5 = set BACKUP mode (default) Keypad , = delete char Keypad - = delete word starting from cursor Line Feed = delete word to left of cursor PF1 = prefix to undelete char, word, or line PF2 = prints this list then retypes command line PF4 = delete line, from cursor to end Ctrl-C = resets recall pointer Ctrl-R = retype line Ctrl-U = delete line, from top to char left of cursor 1 SPACE Shows a summary of used and free disk space available. A device or files argument is optional. 1 STATUS Displays packet transaction statistics. Packet types are - A = Attributes K = Kermit (remote) command B = Break transmission (EOT) N = Negative acknowledgment (NAK) C = Host (remote) command R = Receive file init D = Data packet S = Send file init E = Error T = Time out (internal) F = File header (name) X = Extended reply G = Generic (remote) command Y = Acknowledgment (ACK) I = Server init Z = End of file (EOF) 1 TAKE The TAKE command tells Kermit-11 to execute commands from the specified file. The RT-11 syntax "@file" may also be used: Kermit-11>TAKE file Kermit-11>@file "File" is any normal RT-11 file specification. The default type is .COM and if no device is given the logicals TAK, KRT, DK and SY will be tried in that order. "!" or ";" may prefix comments in Kermit TAKE files, and all commands except control characters are supported. Maximum command line length is 132. bytes. 1 TIME Displays the current time of day as hours, minutes, seconds and ticks past midnight. This program supports either 50Hz or 60Hz clock rates, and will include which it thinks is in use immediately following the time. 1 TRANSMIT Sends a file sans any protocol byte by byte, and echoes response to each. Speed is locked at 1 byte/tick. This is useful to upload text files into a called system's message editor. Line feeds (which cause an unwanted newline as most systems append one to a return) are not sent. When done, if the file was successfully transmitted Kermit reconnects to the remote, at which time the bell sounds but CONNECT's sign-on message is suppressed in order to leave the display and cursor position intact. 1 TYPE Types files to your terminal. Switches (/opt) are not implemented. When typing a binary file most non-printing characters are filtered to prevent possible interference with one's terminal attributes. If the terminal type is VT100 or lower, the hi bit will be stripped from everything typed. Use VT200 to see all eight bits. Kermit-11>TY GUIDE ; default type is .LST Kermit-11>TY .MAC ; type all .MAC files Kermit-11>TY * ; type all .LST files Kermit-11>TY *.* ; types the world.. 1 Upgrades This special version of Kermit-11 (for RT-11 and TSX-Plus) may be from time to time updated/upgraded, or various bugs may be found and fixed. New versions may be obtained from kermit.columbia.edu by anonymous ftp (kermit/b/krt*.*) or by calling the system on which the work is done: Host: Billy's Place, Culver City, California, USA Available: 24 hours, 3 lines, immediate access Phone: +1.310.837.0892 Logon (username): 1000 Password: moving_target Modem speeds: 9600 (V.32) and down, or PEP (modems are T-2500s) Protocols: Kermit, VTCOM/TRANSF, Xmodem Access is free other than whatever it costs to place the call. Any bug found will be fixed, send mail to billy@MIX.COM detailing your problem. Also on-line here are the complete Kermit-11 T3.60 sources along with a massive amount of RT-11 SIG and other public domain/gratis software. 1 XMODEM Xmodem here supports either checksum or CRC error detection, however it only does so one file at a time, using 128 byte blocks, under TSX-Plus. Transmission is presently only on the controlling terminal (this Kermit must be the remote system) and is also SEND-only from here to the other system, because the TSX-Plus terminal handler does not pass nulls (zero bytes) to a running program. The Xmodem protocol requires an 8-bit path. If this isn't the system's default, you must from KMON issue the command SET TT 8BIT,BITS=8 before running Kermit. "BITS=8" is a hardware parameter and must be done on a primary line only. Setting it on a subprocess may write garbage in the line-parameters word, rendering the line useless. Xmodem doesn't work under RT-11 because RT strips all terminal I/O data of the high order (parity) bit, thus preventing an 8-bit data path from being used.