Y03.63-49 19-Feb-96
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..   V5.6 (all)  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 167kb of memory to load, KRT only needs 41kb.  Under TSX
 it's 173kb and 47kb for V6.5 or 172kb and 46kb with V6.4.  KRT increases
 disk I/O as its overlays are not kept resident.

 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
 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	<KM>,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 <decimal-ASCII-value>

 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.62-8  27-Jul-93

       [See KRTNEW.NEW for data regarding KRT Y03.63-49, 19-Feb-96]

 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 T3.60 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
 KRT.DOC Appendix A for an in-depth discussion of modifications made.

2 KRT.COM

 Edit 61:
 link command file to build minimum memory version of this
 program.  KRT.SAV is disk overlaid, uses 51kb..

2 KRTAIL

 add automatic 50Hz clock rate detection and support for watching
 more than 34. lines, just in case anyone ever achieves this..

2 KRTASM

 Edit 61:
 created KRTASM.NON, assembles Kermit modules for a non-EIS CPU

2 KRTATR

 Edit 62:
 add 25% to rec'd length for text files from non RT-11/TSX systems

 Edit 61:
 modified rx.cdt,sn.cdt to do the "#" date/time attribute
 hosed unused stuff, added rx.pro,sn.pro for protected file attribute

 added support for date/time/prot file attributes
 patched open, close and I/O data table to support it..

 modified w$attr to send all attributes in a single packet
 rx.xle result in at$len no longer overwritten by rx.len
 added send exact file length in bytes
 call binary files "BINARY" not "IMAGE" so MS-Kermit is happy

2 KRTCM1

 Edit 62:
 make type append a LF to CR if CR not followed by one
 hose hi bit and type anyway for VT100 and below in c$type

 Edit 61:
 c$type defaults to .LST, error handling improved, does wildcards
 also sped up, types any size record, binary file filtering added

 c$set - error handling fixed
 c$who, c$pwd, c$cls, c$clx, c$xmodem added..
 c$take parses file name, checks for/disallows wildcards, etc.
 c$conn - disallow connect to TT (since one is there already..)
 mount/dismount logical disks command interface, calls TSX emts
 added RT-11 style assign default device, for DK only
 remote disk_usage passes optional device argument
 make default take file type ".COM"
 reinit modem when exiting if DTR dropped during CONNECT
 added SET CLn LINE x support for TSX-Plus, see HELP SET CL
 added search path for take files
 move sho$line here, added modem type, TSX line # and DCD status
 added call to c$idle in c$exit to reset modem on exit to monitor
 c$set now does multiple args, separated by commas

2 KRTCMD

 Edit 61:
 dumped ttysav/ttyset from opentt - these killed single char
 input under TSX, thus things like the ^A stats didn't work.
 t.ttysav is now part of the init at startup, then ttyrst is
 called as needed.  ttyini no longer turns things on which
 ttysav would have to turn off.  also, with 6 char labels,
 %.ttysav = %.ttyset = the same thing under the present system
 of dispatching I/O with "%." prefixing routine names..

 xmode flag used to clean up xreply display by suppressing packet
 log display when either side's blo <>1 forces a send file init

 send file asfile error handling improved, get file asfile now
 shares some of the above code.  one may GET/SEND [DEV:]FILE DEV:
 to send/receive a single file to/on a device other than the
 default.  wildcards are otherwise not allowed whilst renaming.

 readcmd now displays prompt and input strings for getmcr
 also enables take file echo if/after krt.ini has run
 and will allow ";" and "!" comment delimiters anywhere in
 a line in a command file, not just the first column..

 modified getcm0's response to "?" argument to dump commands
 in 4 columns across the screen ala VMS help

 ^C handler in KRTRMS modified, thus cctrap here is unneeded..
 CONNECT automatically if FINISH succeeds..
 ring the bell at the end of RECEIVE, so one will know it's done
 fixed GET/SEND file asfile to handle node names
 patched to accept "@COMMAND" for take file, ala RT-11
 fixed init/take file error handling in readcmd
 add a "BUG" command ala C-Kermit
 GET/SEND now handle multiple file names delimited by commas
 use DEC method of version numbering

2 KRTCON

 Edit 62:
 correct comments to indicate r3 is not preserved between tasks
 fixed error handling for suspend/resume CONSOLE logging
 added handling for logfile errors
 move senbrk here
 speed up keyboard input processing at high data rates

 Edit 61:
 this module has been extensively modified and will now run fine
 under any monitor including SJ if it's built with TIMER support

 pulled RT-11 multi-terminal and sj monitor w/o twait stuff..

 set/reset a list of "activation" chars under TSX which
 allows non-printing chars input at the terminal, such as ^O,
 to be passed to the remote system during the connect mode

 display handler speed (fixed for 19.2k too) when connecting
 display escape sequence when entering CONNECT
 disallow typing TSX lead-in char to TT when running under TSX
 allow suppression of sign-on text, for use with k11tra
 skip TT input routine once done flag is set
 TT input now uses con8bit ala TT output
 added MILNET option to wakeup (XON) MILNET TACs
 added send a control char via esc_char "^x" ala VTCOM
 added esc_char "Z" command to hose/refresh handler

2 KRTCVT

 Edit 62:
 increase size of fixfil stack buffer to SVID limit

 Edit 61:
 added useful RT-11/TSX+ binary file types
 modified chkext to handle file types of less than 3 chars
 fixfil - parse a device name in filespec, fixed termination bug
 namcvt now catches unix "/" and pc "\" directory delimiters
 fixed namcvt to not output a "." on a null file name input

2 KRTDAT

 Edit 62:
 use erbfsiz to size errtxt buffer
 add pkrate buffer

 Edit 61:
 added a general use buffer, some flags and variables
 SL editor insert mode default is set on here in edists

2 KRTDEB

 Edit 62:
 use erbfsiz to size errtxt buffer

 Edit 61:
 added new variables to data displayable with EXAMINE
 display ascii chars when dumping byte values
 fixed error handling
 fixed addressing bug in pint (displays word values)

2 KRTDIA

 Edit 62:
 add support for call back modems, SET DIAL/PHONE [NO]ANSWER

 add a one-tick pacing delay in DODIAL's loop at 50$ (when modem
 doesn't echo commands) to match what was done for echoing modems

 fix SHO MODEM for changes to SET DIAL [NO]ECHO and [NO]INIT-ONCE
 add initiate_prompt, dial_ack, confirm_ack, [no]binary_response

 added x.result (default "Hayes" xmode) and time.settle defaults,
 and in "Hayes" and Telebit modem definitions

 if DCD is high when exiting program, hang up modem
 add support for 38.4kb
 add Telebit T3000 modem def, needs KM handler and SET FLOW-CONTROL RTS

 double the settle_time value for the wait after dropping DTR,
 as some modems (like the T3000) need more time to recover

 Edit 61:
 set$mo now won't write bad modem name into modem: and will try
 to init (killing auto-answer) when set if a line and speed have
 been set first

 if DIAL/REDIAL succeeds jump to CONNECT automatically
 set linksts when dialing so ^C abort will catch correct ttname
 findmodem now does not try to process an empty string in modem:
 added c$idle, call to reset modem to idle (answer) mode
 findmodem/findnumber will match on partial input string
 added %X format effector for Hayes extended response modes
 added Telebit T2500 modem definitions

 redial loop moved to c$dial, runs faster without initializing
 the modem's lun every pass through the loop, reduces cpu usage too

 load buffer with defmsg after displaying RING, to not overwrite
 the default message with call status stuff

 if DIAL can't translate an alias, say so then die (instead of
 prompting to continue with an empty number buffer)

 added xredial flag word, for keeping return path straight when
 connecting after a successful REDIAL. speed up redial process for
 modems which define init.once by not initting before every retry.
 init.once and mready (status flag) were added to support all this..

 while waiting for a response after dialing modem, check for
 input from keyboard, allowing an easy abort

 .default patched to get/set handler speed from modem response,
 old speed is saved and restored, unless set different after..
 Hayes definition completed and moved to it.  this also renders
 Hayes responses displayable via SHO MODEM.

 diatmo from SET DIAL TIME-OUT gets written into dial.time(r4)
 when either c$dial or sho$dial is called.  it's now usable with
 any modem type (not just user-defined) by setting the modem's
 internal timer to the max (ATS7=255 etc) then letting Kermit's
 timer take action first.

 modified waitfor to test for keyboard input, allowing a "strike
 any char" abort during dialing, now including the init string.
 DTR is dropped to ensure the modem will actually abort the call.

 SHO MODEM expanded to display everything
 result message must match from 1st byte to avoid embedded strings
 save modem init status to drop unnecessary inits
 SET MODEM now inits same, if a line (and speed) have been set
 echo everything from modem (if it echoes) during DIAL
 add CONNECT/nnnn for Hayes to alter DTE speed w/TSX and CL

 add Concord Data Systems 224 Auto-dial modem and make dialer echo
 modem output byte by byte so "..." call progress stuff is echo'd

 moved SET DTR code here, and reinit modem after DTR drop if one
 was on-line before it

2 KRTDIR

 Edit 62:
 reorganized and substantially sped up
 added .csispc comma delimiter parsing
 fixed wildcard "%" match to no longer match on blanks
 moved buffil here, has to be if not in root for getcr0 @sdodir..
 make hd$fir=:6 so badly initted disks don't crash DIR

 Edit 61:
 this module has been extensively modified, please refer to it..
 add TSX+ create time, date slug, prot status, summary lines, etc
 corrected bugs in error handling
 added d$cvtnum for file sizes/sums larger than 32767.
 "DK" now uses defdir, not op system DK, needs fparse in krtrms
 ascdat patched for RT-11 V5.5, now also used for cvtdat
 add dirflg to control embedded blanks in file name
 getnth used to reread until context=diridx, now context saves it
 added summary only flag, for use with SPACE and REM SPACE
 force USR to re-read dir segment, allowing one to swap floppies..

2 KRTDSP

 Edit 62:
 leave comm handler chans open after assigning it as the link device

 Edit 61:
 this module has been extensively modified

 moved kbread here, one copy is sufficient, cleaned up also
 streamlined jsw/nowait/single_char modes/setting/resetting/etc
 added writ1char routine - writes a single character to TT
 add entry for inqdtr, only works with CL handler
 assdev patched for new mapxl in krtxl
 made packet buffer length = $ALLSIZ to match checkpacket buffer
 ttyrst - resume TSX window processing, as after packets, connect
 added cl.dump to clean up CL stuff when exiting/modifying the line
 inqbuf patched to use MAXLNG for TSX+, MAXPAK for RT-11
 added inqcd

 moved binread here so CONNECT can share it and XL can be left
 open under TSX and RT-11SJ where there is no hope of closing it

 I/O is now dispatched this way:
  1) if via the controlling terminal line, use routines in KRTERM
     regardless of operating system.  that is, the t.tty... calls
  2) if via a handler, use routines in KRTXL.  that is, the
     x.tty... calls for CL, XC or XL
  3) RT-11 multi-terminal I/O has been pulled

 moved set$line here, patched to reset modem to idle state and release
 a TSX CL line after SET LINE TT if same was acquired within Kermit

 set$line won't write bad device to ttname
 SET LINE TT now reverts to remote mode

2 KRTEDI

 Edit 62:
 add bells: up arrow when nothing saved yet, down arrow at end

 Edit 61:
 up/dn arrow command scrolling fixed
 command dispatch table patched for VT-100 keypad (KED equivs)
 dup cmds now not saved even when < max cmds are currently stored
 extended keypad for adv, bkup, word, char, line, delete, undelete
 added check for SS3 for VT-220 keypad
 cleaned up various odds and ends..
 WARNING:  If LN$MAX is made greater than 127., fix sxt stuff here

2 KRTERM

 Edit 61:
 this module has been extensively modified, please refer to it
 added SET TT XON (TSX) emt to t.ttxon, uses tsxsav for lnum
 add dummy routines for inqdtr, inqcd
 ttyini - suspend TSX window processing, as in connect, packets
 added support for vlflag under TSX+ to ttyini

 drop TSX hi eff term mode and declare a list of activation chars
 instead, allowing single char input (so packets can be longer
 than TSX's internal I/O buffers) whilst offing ^B, ^T, ^W, etc
 so line noise doesn't trigger various annoying things as when
 using the server via TT, also allows passing to remote when in
 the connect mode

2 KRTERR

 Edit 62:
 add error message for logfile problems

 Edit 61:
 moved error message prefix routine here from KRTPAK
 moved all system error messages here, from various modules

2 KRTHLP

 Edit 62:
 fix a few very small typos and errors
 expand and enhance help text for SET DIAL, particularly its commands
 add dummy file name for HPRINT via RT-11 V5.2/TSX V6.0 LP/LS
 display all subtopic text when wildcarding through nested text

 Edit 61:
 kill extra LF after listing subtopics
 hfind - fixed wildcarding when no subtopics exist for a topic
 help text file updated to reflect mods/additions/omissions
 hindex - display sped up, prompting after it now uses full text,
 also handles topic names greater than 18 bytes ala VMS help
 added fake RMS stuff for RT-11/TSX, and did a general cleanup..
 path for KRTHLP.HLP is now HLP, KRT, SY and DK
 modified to check for correct copy of KRTHLP.HLP
 on topic error nest in as far as possible instead of from the top
 added HPRINT, dumps help text to LP

2 KRTINI

 Edit 62:
 dump FILLOG, as PRINTM now does this
 provide for logfile errors
 add current_block_pointer/size_of file to ^A stats display

 check packet length in dskdmp, don't trap to 4 writing past end
 of buffer due to line noise and/or modems retraining

 major cleanup and maintenance update

 Edit 61:
 prompt set to KRT

 call to an .INI file now tries INI, KRT then DK and finally
 SY.  take file echo is disabled if krt.ini is found, then
 enabled when the init file is closed (in readcmd, in krtcmd)
 name of init file (if found) is displayed while reading same..

 recdsp table fixed to call recvt1 (instead of senvt1 .. ) for
 terminals >VT100

 added warning message when 8-bit quoting is first forced on and
 init stuff in fixchk so the need for 8-bit quoting is tested on
 each xfr, thus one need not exit/restart Kermit to turn it off

 packet length display in log files now accommodates four digit
 numbers, as the max. packet is now 1024. bytes

 allow debugging to TT even with no disk file open..
 reset parity found while set NONE warning before each transaction
 fixed warning messages for unsupported/disabled long packets
 dkname used to home, here it's init'd to physical DK at start-up

2 KRTLNK

 Edit 62:
 move krtstd back to apr6 as apr1 was over the edge..
 fixed virtual segment 1 size in non-EIS version

 Edit 61:
 segments have been combined where possible to reduce memory and
 mapping requirements

2 KRTMAC

 Edit 62:
 move dispatch macro to KRTSER
 move erbfsiz here from KRTPAK
 condense logging (debug) modes
 increase efficiency of incm64 macro
 increase MAXLNG (long-packet size) to 1920.
 reduce MAXLNG to 600. for NONEIS assembly, so pgm loads under FB..
 ditto for ALSIZE (phone # buffer) and LN$CNT (SL # of lines saved)

 Edit 61:
 modified message macro to call .newline instead of saving CR/LF
 and null for each new line, knocking 1042. bytes off the size
 of this version..  also changed ".print" emulation to wrtall,
 for a similar savings in compiled program size.

 dump raw I/O logging from log$al (SET DEB ALL) - too confusing
 also pulled log$rp out and made it a completely separate item..

 added a couple upper case macros

2 KRTNHD

 Edit 61:
 made divide macro double precision

2 KRTOSI

 Edit 62:
 check for indirect command file running program, for error handling
 dump unused BUFDEF stuff
 add Jim Whitlock's VBGEXE fetch pointer fixes

 Edit 61:
 "pic" code dumped
 if TSX, line number saved in tsxsav during init, for t.ttxon
 store clock rate (50/60 Hz) in clkflg, use elsewhere for timers
 add init for TSX activation char list
 call assdev when PRO-350 tries to automatically assign CL or XC
 .SERR is set here and then left on forever..
 VT200 now sets con8bit
 cleaned up init code
 increase ALSIZE to 1024. (user-defined modem and ph numb buffer)
 under RT-11 display memory free for handlers at sign-on

2 KRTPAK

 Edit 62:
 move erbfsiz to KRTMAC
 patch PRINTM to also write to a logfile, when same is in use
 add logfile error handler and provide for logfile errors
 write error messages to logfile
 include file spec in getnxt error messages
 add individual packet exchange duration timer, for debugging
 make BUFFIL limit test max-0 (was max-4), allows bigger packets
 don't log bogus data for timout
 make ERROR send an error packet, use PRINTM elsewhere
 don't modify SET time-out value
 add/enforce SET SEND PACKET-LEN limit
 move bufpak to KRTSER, no one else uses it
 move buffil to KRTSEN, ditto..
 move bufemp to KRTREC
 add passed buffer length to rpack$

 Edit 61:
 added lun.ld == 12 for TSX logical disk support
 added lun.at == 5 for file attributes support
 prefixing error messages with the prompt string moved to KRTERR
 waitsoh - ^Z abort changed to ^C abort, thus not killing the pgm

 spack$ packet length test fixed to determine the true length of
 a packet near or equal to 94 bytes when long packets are used.
 it was possible to generate a "normal" packet with an out-of-
 range LENGTH character (using all eight bits) when reaching the
 the EOF produced a last packet in a long packet series close to
 94 bytes, as the routine filling the packet data input buffer
 is still looking for enough to make a long packet, with no
 consideration for the added SEQ and TYP bytes nor the checksum
 size (up to three more bytes with CRC block checking)..

 rpakst patched to hose link device whenever the "T" (time-out)
 packet count is incremented, or when a NAK xxx NAK series
 (indicating resonating packets) occurs.  this is very helpful
 when telephone line noise crashes/hangs the handler..

 space padding between elements of an error message moved from
 error: to the err msgs themselves as printm doesn't do it, and
 it's too confusing otherwise..

 incsta patched to compensate for crossing midnight, as long as
 there's less than 24 hours between calls to it, thus 32-bit
 time data from incsta are thought to be sufficient here
 note: the display routine in krtsho limits max to 18.2 hours..

 patched bufemp to not output the lead-in char to TT under TSX

 moved RPACK debug stuff to rawio: as when it was in rpakrd: it
 missed the SOH, which is handled by waitsoh: (both call rawio)..
 also cleaned up display at the EOL and added display of TIMOUTs

 fixed non-init'd repeat count reg bug in bufunpack

2 KRTREC

 Edit 62:
 dump FILLOG, as PRINTM now does this
 use log$packets for state logging
 provide for logfile errors
 modify to not NAK unknown packets (noise)
 display any possible contents of "X" packet, for Unix and C-Kermit

 Edit 61:
 rfil.x: put "Remote server response:" here so it displays even
 when blo <>1.  also set image=binary here so typing 8-bit
 files doesn't die on checksum error when clrpar hoses hi bits

 rfil.f: check asname here (instead of rfil.d), also fixed so
 VMS filespecs longer than 66. bytes don't write past end of the
 scratch buffer.  also namcvt strips VMS node::dev:[dir] here..

 kill debug to TT if not running as a local Kermit
 add support for INCOMPLETE-FILE-DISPOSITION

2 KRTRMS

 Edit 62:
 save created (.enter) file size in sizeof entry in data table
 make filtyp entry in same global
 reset SET FILE CREATE-SIZE on successful file open
 moved LOGFIL name buffer here
 dropped NONAME.TMP for a nfs .enter, return "bad file name" error
 move most of ccast to mainline code in KRTCMD.MAC
 moved GETREC here, so HELP via PF2 can't ever crash..

 Edit 61:
 iswild modified to catch implicit wildcarding
 error mapping tables augmented to accommodate new routines
 .rctrlo added to file close routine
 chkdev added, used for bbs device access restriction
 limits: (activation char list for TSX) lives here, also vlflag
 added prewind routine to fake RMS stuff when reading help text
 add er$dev at end of faterr: table to catch non-init'd device lookup

 suspend: patched to wait in one tick increments, allowing ^C to
 abort - also now uses clkflg to accommodate 50 or 60 Hz..

 fixed fparse handling of device name, also disallow a leading
 comma in the arg string, as this will do a nfs lookup..

 ccast - now does trouble-free aborts from anywhere you'd need it
 when talking to the handler or when something is running which
 if aborted would leave virtual addressing in a mess, the bell
 will be rung acknowledging the abort, at which point it's best
 to wait for the program to do it, which it will as soon as it
 can.  further ^C's will ring the bell up to CC$MAX times, then
 a complete abort and return to the main command line via .spcps
 occurs.  if necessary an error packet will be sent, however this
 may not be as effective as using ^E, which waits for the packet
 in progress to complete first..

 added getmcr routine to get arg(s) from KMON passed to chain
 area when Kermit is started.  owing to the way RT-11/TSX+ parse
 the "@" (causes KMON to try to open the file and read the
 first line of it into the command buffer, including the chain
 area) the syntax "KERMIT @TAKEFILE" is not usable under RT/TSX.
 "KERMIT TAKE TAKEFILE" is a poor but functional substitute..
 any other command and args may be passed, ie; .kermit dial tommy

 add fixwild, translates "?" to "%" in file names
 fixed error handling in file close routine
 added getdk, gets physical name of "DK"

 moved direr$ here, moved error messages from various modules to
 krterr, and added calls to them via direrr..

2 KRTSEN

 Edit 62:
 dump FILLOG, as PRINTM now does this
 use log$packets for state logging
 provide for logfile errors
 modified to wait through bad ack packets, noise, etc..
 recpkt buffer back to normal size, now passes same to rpack

 Edit 61:
 increased size of recpkt buffer to $allsiz to avoid writing past
 eob (causing trap to 4 in rpack$ which crashes the program) when
 packets are out of sync and a long packet arrives where an ack
 is expected, or line noise "extends" otherwise ok data..

 kill debug to TT if not running as a local Kermit
 modified to (w/KRTATR) send all attributes in a single packet
 ensure directory search channel is closed on errors/aborts

 display abort message when file skipped due to SET FILE PROTECT
 (by an "X" or "Z" in the ACK packet) on the other Kermit

2 KRTSER

 Edit 62:
 allow server to talk through the comm handler too..
 move dispatch macro here
 add newline in log file at each new process

 Edit 61:
 gen.t filespec more carefully tested, defaults to .LST type
 double prompt on server exit killed by hosing ^M in FIN packet
 remget - now uses srcnam for input file
 no args to server command allowed under RT/TSX
 input file name to serv.r checked by fparse
 gen.c inserts colon after device name if necessary
 gen.w - remote who via xreply added
 upcase incoming remote command args, so mskerm is happy
 gen.d checks for valid device before initiating any output,
 defaults to DK if no arg given, as from MSKermit
 modified gen.u to use krtdir
 remspa accepts optional device argument, gen.u passes to krtdir
 remfin returns error status in r0, to CONNECT if FINISH succeeds
 disallow running server unless link device is TT

2 KRTSHO

 Edit 62:
 added SHO BAUD, DTR, DUPLEX, END-OF-LINE, FLOW-CONTROL, HOME, LD:,
 LOCAL-ECHO, LOGFILE, LONG-PACKETS, RANDOM, RECEIVE, SEED, SEND, SPEED
 cleanup, condense logging (debug) modes display
 display current_block_number and size_of logfile in SHO DEBUG
 conform to major sinit stuff update in KRTINI.MAC
 include last number dialed in SH PHONE
 add SHOW CL, EOF

 Edit 61:
 SHOW command with no args displays assigns ala RT-11
 sho$all - shortened up
 added sho$attributes
 added sho$devices - displays the bbs access permission list only
 added sho$submounts, using TSX emts
 added sho$vl - displays status of vlswch under TSX+
 add DEC-Multinational type to sho$file
 moved release notes to the help text file
 sho$packet - display "^A" notation in addition to octal numbers
 also lists long-packets max length, set length, rec'd length
 add xtime for spiffier transfer time display, other small fixes
 sho$file - indicate if file name conversion disabled, lower case on
 added home directory to sho$default
 fixed display formatting for sho$phone_numbers
 sho$params indicates if SET LONG OFF or SET NOLONG
 added MILNET to SHO CONSOLE
 added c$print
 moved sho$line to krtcm1
 added SHO TERMINAL
 added SHO RETRY, TIME-OUT, made PACKET do parameters, not stats
 add SHOW INCOMPLETE-FILE-DISPOSITION
 add SHO MEMORY, display remaining handler free space under RT-11
 add SHO SL, SHO UPDATE, added LOCAL-ECHO, BREAK to SHO CONSOLE
 add SHO REPEAT-CHAR, SERVER
 pass file date/time/prot to COPY output file
 added SHOW commands for everything else possible..
 SHO VERSION uses DEC method of version numbering

2 KRTST0

 Edit 62:
 add support for call back modems, SET DIAL/PHONE [NO]ANSWER
 report file size (blocks free) when opening a log file
 set binary flag instead of close/reopen file for raw I/O debug
 fix typo causing a new logfile of same name not to get opened
 combine FILE, STATE and PACKET into one DEBUG mode (ON)
 redo SET DIAL ECHO and INIT-ONCE as [NO]ECHO and [NO]INIT-ONCE
 SET SETTLE-TIME is now SET DIAL SETTLE-TIME
 drop SET HAND XON, as RT-11 and TSX eat same..
 drop SET DIAL INFO, as any undefined message defaults to it

 rename SET DIAL PROMPT to WAKE-ACK, add BLIND, PULSE, TONE, DIAL-ACK,
 INITIATE-PROMPT, CONFIRM-ACK, [NO]BINARY-RESPONSE (were missing)..

 Edit 61:
 set$pa - fixed display bug with "?" arg
 enhanced set$speed error handling
 added SET PHONE XMODE n for Hayes extended response mode support
 cleaned up all debug code, allowing debug to TT w/o a disk file
 moved set$line to KRTDSP, so it can call c$idle in an adjacent overlay
 make SET DEBUG NONE off ALL debugging, including TT
 add separate parameter for retrying initial_connection ala VMS Kermit
 add SET INCOMPLETE-FILE-DISPOSITION
 add SET SL
 move [SET] LOGFILE here, integrate with SET DEBUG..
 make logfile default type .LOG, ask before overwriting an existing file
 allow LP as the logfile, please SPOOL this in the op system!
 add optional debug mode to LOGFILE, file name to SET DEBUG mode
 LOGFILE sans args closes an open logfile
 add SET SETTLE-TIME to allow for modem's reset processing time
 add SET SL ON,OFF,[NO]KED

 added SET DIAL RINGING, CONnnnn for supported speeds, ABORT, COMMENT,
 IDLE, PROMPT and INIT.ONCE for user-defined modem

2 KRTST1

 Edit 62:
 moved BREAK, CREATE-SIZE and [NO]VOLUME-VERIFY here ..
 conform sinit-related SETs to major update of KRTINI.MAC
 move SET TIME-OUT to SET RECEIVE TIME-OUT and SET SEND TIME-OUT
 add SET CONSOLE PRIORITY for KM/XC/XL under TSX
 add SET FLOW-CONTROL to support RTS/CTS and KM handler

 Edit 61:
 HOME uses dkname:
 set$df - now calls c$cwd
 set$sn - clear r0 after printing error message, avoid dupe msg
 sts$pl - corrected packet length max test to 94. (maxpak)
 set$attributes - fixed so "?" arg doesn't set to last displayed
 added set ld empty, using TSX emts
 sf$typ - patched to pass proper arg to any routine it calls ..
 added warn message to str$pl if CRC block checking not enabled
 str$pl re-enables long packets if set >94., warns if CRC not on
 set$file - added SET FILE NAMING [NO]LOWER-CASE, for Unix
 SET LONG ON now also does SET REC PAC 1204 and SET BLO 3
 con8bit set/cleared as appropriate by set$tt
 time-out may now be set as low as 1 second
 added SET CL PORTS, UNITS for auto line assign under TSX+
 added SET CONSOLE [NO]MILNET to force 2 XONs when CONNECTing
 cleaned up SET FILE code, see HELP SET FILE for details

 set$bi - modified to be augmented by new entries, not trashed,
 to allow dependence on it for selection of filtering for the
 new improved type routine in KRTCM1, supports types <3 chars

 st$nlp - clr senlng, which is now used to ensure a packet of
 almost or equal to 94 bytes in a long-packet xfr will get the
 correct header.  command dispatch table also patched for this

 added set$vl - sets action on vlswch char ^W and print window
 char ^B in the CONNECT mode under TSX+  see HELP SET VLSWCH

 moved SET [NO]QUIET here, made it SET TT [NO]QUIET, added tests
 for it where missing..

2 KRTSUB

 Edit 61:
 added a couple upper case routines
 moved itoa here
 add support for non-EIS CPUs

2 KRTTRA

 Edit 61:
 after each byte sent the response from the receiver is echo'd
 this makes it handy for reading text files into a called system's
 message editor, etc..  speed is locked at 1 byte/tick, which is
 600 baud in 60Hz land

 added code to echo last char(s) from remote after EOF is reached
 modified action on EOF to reconnect to the remote system, also
 suppresses CONNECT's sign-on message for a cleaner return

2 KRTUTL

 Edit 62:
 modify asctim to output ticks, restored optional time value pointer
 move various items here from root to save space

 Edit 61:
 added logical disk mount using TSX+ emts
 getrec patched to accept passed buffer_length
 50/60Hz test added to asctim
 cleaned up the delete, rename and copy subroutines..
 move copy file name checking to c$copy, now shared with PRINT
 try to mount .DEV logical disk if .DSK default fails
 fix COPY error handling when out file is too small

2 KRTXL

 Edit 62:
 corrected suggested XL BUFSIZ to 256.
 keep XL open even for XM, to accommodate RT-11 V5.6
 add support for KM handler
 add version testing to support RT-11 V4
 add DCDTST for status during file transfers
 skip .ABTIO for XC/XL under ALL RT-11 V5.6 monitors to avoid hang/race/?

 Edit 61:
 DTR drop sped up to a 0.5 second interval..
 dumped waitti as multiple byte reads accomplish the same thing
 CLHOSE defined for use in clearing CL handler, uses spfun 265
 CLSTAT defined and inqdtr added, for CL lines only..
 enhanced set$speed error handling
 mapxl now allocates the handler under TSX
 added inqcd
 SET SPEED reinits modem if one was on-line

 mapxl now uses .cstat to get physical name from logical name
 one may ASS CL0 PHN then run Kermit and SET LINE PHN within it

 dropped TSX hi-eff term mode when data are going through a handler
 allowing use of ^A and etc during transfers under TSX

 allow LFOUT operation of CL handler.  under TSX return is made
 an activation character, thus no LF is appended..

2 KRTXM

 Edit 61:
 added equivalent of SETSIZ KRTTSX/T:64., helps on some TSX systems..

2 KRTXMO

 Edit 61:
 added xmodem..  this is currently send only from here via the
 connected terminal line (no handler support)

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 <char> <numb> when you know that <numb>
 copies of <char> 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 <cr><lf> 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 <string>.

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 <string>.

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 <octal-value>

3 PADDING

 The number of pad characters used to delay the beginning of each
 packet sent.  One must first SET SEN PADCHAR <octal-value>.

	Kermit-11>SET SEN PADDING <decimal-#-of-pad-chars>

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
    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.  Please leave mail regarding same to account #1 on
 the above.  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.  Mail to youdelman@eisner.decus.org or billy@mix.com may also
 be used to report bugs.

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.

