K E R M I T - 1 1   f o r   R T - 1 1 / T S X - P L U S


	I N S T A L L A T I O N   a n d   R E L E A S E   N O T E S


		V  0  3 . 6  3        2 7 - S E P - 1 9 9 7






KRTTSX is  a  special  version  of  Kermit-11 (PDP-11 Kermit written by Brian
Nelson of the University of Toledo) enhanced for use with TSX-Plus.  This was
begun primarily to support its use on a public bulletin board system and then
was expanded to produce a  reliable,  general purpose communications program.
Numerous bugs have been fixed and several  new  routines  added.  All changes
are documented in the edit history in KRTCMD.MAC,  or may be read from within
Kermit by HELP Release-Notes.  Please note not only has KRTTSX's on-line HELP
text been greatly enhanced and expanded, lookups in it now execute at maximum
speed, thus this document is rather short.  Use HELP for operating info.  You
may use HPRINT to generate hard copy of anything needed for handy reference.

For an in-depth discussion of Kermit fundamentals there's no substitute for:

   "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

This Kermit does not yet offer character set translation, labeled file types,
sliding windows, a script programming language or command macros, but it does
provide everything else one would expect after reading the above.

This program is for use with RT-11 V4.0 or TSX-Plus V5.0 and up, though a few
new features use EMTs added in slightly later releases.   KRTTSX runs what it
can with earlier releases of either RT-11 or TSX.   Debugging was done on TSX
V6.5 and RT-11 V5.5, under which its operation has been thoroughly tested and
is extremely reliable.  All RT-11 V5.6 and above monitors are also supported,
including separate I&D space.

Thanks for some of the ideas, additions, fixes and above all, bugs eliminated
in this program are due to Tim Clarke, Tom McCoy, Bill Walker, Roger Wallace,
Jim Whitlock and Chester Wilson.  Additionally,  appreciation is owed all who
contributed  to  VMS-Kermit  and C-Kermit, from which many other new features
were derived, and to Brian Nelson, author of the original Kermit-11.  Some of
the most  obscure  yet  serious  bugs  were  discovered by Bill Walker, Roger
Wallace and Jim Whitlock, without  whose  help this Kermit would hardly be as
bullet-proof as it now is.


	Billy Youdelman				billy@MIX.COM
	PO Box 1207
	Culver City, California  90232-1207
	USA


Installation and Release Notes	KRT V03.63			Page Two





		   T A B L E   O F   C O N T E N T S
		   ---------   ---   ---------------




	I N S T A L L A T I O N				Three


	K R T . I N I   E x a m p l e s			Five


	R T - 1 1   S p e c i f i c   I n f o		Six


	A   "K e r m i t   M o d e m"   H a n d l e r	Eight


	T S X - P l u s   S p e c i f i c   I n f o	Ten


	M O D E M S					Thirteen

		Anchor Automation MK24			Fourteen

		Telebit T2500/T3000			Fifteen

		US Robotics "Courier" 2400/2400e	Seventeen

		USER-DEFINED MODEM			Eighteen
			SET DIAL Commands		TwentyOne


	R E S T R I C T I O N S				TwentyNine


	O b t a i n i n g   U p g r a d e s		TwentyNine


	F i l e s   R e q u i r e d			Thirty



Installation and Release Notes	KRT V03.63			Page Three


			I N S T A L L A T I O N
			-----------------------

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, KRTTSX
is built for EIS processors.  These monitors and handlers are supported:

 RT-11SJ   V5.0 + up   TT  KM  XL	; SYSGEN for TIMER support
 RT-11FB   V4.0 + up   TT  KM  XL	; SYSGEN for..
 RT-11XM   V5.1 + up   TT  KM  XC  XL	;  ..SPCPS support
 RT-11 all V5.6 + up   TT  KM  XC  XL	; including separate I&D space
 TSX-Plus  V5.0 + up   TT  CL  KM  XL	; see HELP INSTALL TSX

 NOTE:  XL first appeared in RT-11 V5.1.  Prior releases must use either
 TT (the console terminal port) or KM (a "Kermit Modem" handler supplied
 with this program) for communicating with the outside world.

KRTTSX.SAV uses extended memory overlays for XB,XM,ZB,ZM,TSX and KRT.SAV
low memory overlays for  FB,SB,SJ,TSX  to accommodate small systems.  FB
is the ONLY RT-11 V4 monitor which can run this program.  VBGEXE or VRUN
may be used under mapped RT-11 monitors.  It's best to load any handlers
required first, even for a background task.  KRT's maximum packet-length
is 600., KRTTSX's is 1920., this is determined by the NONEIS conditional
code for MAXLNG in KRTMAC.MAC.

KRTTSX requires 166kb of memory to load, KRT only needs 41kb.  Under TSX
it's 172kb and 47kb for V6.5 or 171kb and 46kb with V6.4.  KRT increases
disk I/O as its overlays are not kept resident.  When none of these will
load KRTMIN (sometimes distributed separately) is a special version that
uses less memory by only communicating through the console terminal port
(see KRTMIN.DOC for details).

If you already have some form of Kermit on your system, you may try this
one out by copying to a disk containing no other Kermit files, assigning
that disk DK, deassigning HLP, INI and KRT, and running the new program.
Assuming LD0 is a scratch disk and you have an 8" floppy:

	.COP DY0:*.(SAV,HLP,INI) LD0:
	.ASS LD0 DK
	.DEA HLP
	.DEA INI
	.DEA KRT
	.SET USR SWAP	! if running RT-11
	.RU KRTTSX	! use KRT if KRTTSX won't load

To dial out, edit the copy  of  KRT.INI  on LD0 as needed for your site.
It is not necessary to use a command file for such things as attaching a
CL unit to a TSX line before running this Kermit - everything may now be
easily handled during its initialization.  At this point it is suggested
you use the running Kermit to read through its own HELP,  especially the
SET LINE and SET CL topics.  If you opt to use any sort of indirect .COM
file to actually run  KRT/KRTTSX,  please  note that under TSX using the
^>R KRT.. option to force command file input to the running program will
cause the test for TT input during the strike any key abort when dialing
to hang and you won't be able to dial out from the command file.  Kermit
does process indirect command (take) files as well as arguments from the
command line used to run it, either of which may be used instead of ^>R:


Installation and Release Notes	KRT V03.63			Page Four


	.KRTTSX DIAL TOMMY  ! dials a phone number defined 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.

KRTTSX.SAV/KRT.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.


Installation and Release Notes	KRT V03.63			Page Five


		K R T . I N I   E x a m p l e s
		- - - - - - -   - - - - - - - -

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


Installation and Release Notes	KRT V03.63			Page Six


			    R T - 1 1
			    ---------

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


Installation and Release Notes	KRT V03.63			Page Seven


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.

   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

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.


Installation and Release Notes	KRT V03.63			Page Eight


			The KM Handler

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

To build KM under RT-11 V5 (KRTSYS.COM):
MAC/OBJ:KM KRTSJ.CND+KRTKM
LINK/NOBIT/EXE:KM.SYS KM
MAC/OBJ:KMX KRTXM.CND+KRTKM
LINK/NOBIT/EXE:KMX.SYS KMX
MAC/OBJ:KMTSX KRTTSX.CND+KRTKM
LINK/NOBIT/EXE:KM.TSX KMTSX

To build KM under RT-11 V4 (KRTSV4.COM):
MAC/OBJ:KM KRTSJ.CND+KRTKM	! KRT will only run under RT-11FB if V4
LINK/EXE:KM.SYS KM
MAC/OBJ:KMTSX KMTSX.CND+KRTKM
LINK/EXE:KM.TSX KMTSX

NOTE:  Comments must be stripped to run these command files under RT-11.


Installation and Release Notes	KRT V03.63			Page Nine


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.

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.


Installation and Release Notes	KRT V03.63			Page Ten


			    T S X - P l u s
			    ---------------

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


Installation and Release Notes	KRT V03.63			Page Eleven


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.

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.


Installation and Release Notes	KRT V03.63			Page Twelve


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


Installation and Release Notes	KRT V03.63			Page Thirteen


			    M O D E M S
			    -----------

Generally, connecting a modem requires an appropriate interface such
as a DL-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 who's DTE
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.


Installation and Release Notes	KRT V03.63			Page Fourteen


	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 sec 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


Installation and Release Notes	KRT V03.63			Page Fifteen


		    Telebit T2500/T3000 Modems

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
the command mode.  While this is not normally a problem with result
messages it does make listing the modem's status impossible at high
speeds.


Installation and Release Notes	KRT V03.63			Page Sixteen


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
if you prefer to force display of the carrier speed and protocol in
all cases, even when an error correcting path is not established.

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.


			    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


Installation and Release Notes	KRT V03.63			Page Seventeen


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.


                   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.


Installation and Release Notes	KRT V03.63			Page Eighteen


		U S E R - D E F I N E D   M O D E M
		-----------------------   ---------

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 is 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


Installation and Release Notes	KRT V03.63			Page Nineteen


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!


Installation and Release Notes	KRT V03.63			Page Twenty


	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 WAKE-RATE 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.

SET DIAL -- Additional information is available on:

     ABORT             ANSWER            BINARY-RESPONSE   BLIND
     COMMENT           CON300            CON1200           CON2400
     CON4800           CON9600           CON19200          CON38400
     CONFIRM           CONFIRM-ACKNOWLEDGE                 DIAL-ACKNOWLEDGE
     DIAL-PAUSE        DIAL-RATE         ECHO              FAILURE
     FORMAT            Format-effectors  IDLE              Important-Notes!
     INITIATE          INITIATE-PROMPT   INIT-ONCE         NOANSWER
     NOBINARY-RESPONSE NOECHO            NOINIT-ONCE       PULSE
     RINGING           SETTLE-TIME       SUCCESS           TIME-OUT
     TONE              WAKE-ACKNOWLEDGE  WAKE-RATE         WAKE-STRING


Installation and Release Notes	KRT V03.63			Page TwentyOne


SET DIAL 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

SET DIAL 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.

SET DIAL 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.

SET DIAL 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

SET DIAL 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

SET DIAL 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

SET DIAL 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


Installation and Release Notes	KRT V03.63			Page TwentyTwo


SET DIAL 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

SET DIAL 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

SET DIAL 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

SET DIAL 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

SET DIAL 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

SET DIAL 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

SET DIAL 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


Installation and Release Notes	KRT V03.63		      Page TwentyThree


For example, older Vadic modems would say "DIALING" here.

SET DIAL 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

SET DIAL 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.

SET DIAL 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

SET DIAL 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.

SET DIAL 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

SET DIAL 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


Installation and Release Notes	KRT V03.63		       Page TwentyFour


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.

SET DIAL 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.

SET DIAL 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

SET DIAL 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


Installation and Release Notes	KRT V03.63		       Page TwentyFive


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


Installation and Release Notes	KRT V03.63			Page TwentySix


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

SET DIAL 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

SET DIAL 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

SET DIAL 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.

SET DIAL 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.

SET DIAL 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.


Installation and Release Notes	KRT V03.63		      Page TwentySeven


SET DIAL 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.

SET DIAL 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.

SET DIAL 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

SET DIAL 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"

Multiple messages may be defined as required to cover all possibilities.

SET DIAL 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.

SET DIAL 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

 NOTE:  This particular function neither checks nor changes speed.
 If this is something you need, see HELP SET DIAL Important-Notes.


Installation and Release Notes	KRT V03.63		      Page TwentyEight


SET DIAL 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.

SET DIAL 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

SET DIAL 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 OK

SET DIAL 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

SET DIAL 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


Installation and Release Notes	KRT V03.63		       Page TwentyNine


			R E S T R I C T I O N S
			-----------------------

A problem was found with versions of Kermit-11 prior to  3.49  regarding
the  sending and processing of attribute packets.  Basically, two of the
attribute types were improperly implemented.  The support for  attribute
packets  was  added  back  in April 1984, at a time when testing against
other implementations was not possible.  At this writing, in March 1986,
some problems have been found.

The corrected version of Kermit-11 is V3.49.  This version will  NOT  be
able  to exchange attribute packets with previous versions.  In order to
make an initial download of Kermit-11 V3.49 to a host running  an  older
version, you must explicitly disable attribute support, as in:

        Kermit-11>SET NOATTR

and then force both ends to binary mode, as in:

        Kermit-11>SET FILE TYPE BINARY

The best way to accomplish the updating of remote sites is to use a pre-
3.49 version of Kermit-11 at both sides,  transfer the image appropriate
to your system, then replace the old executable image on the remote side
and your own side and transfer the help text and other needed files.


			   U p g r a d e s
			   ---------------

This special version of Kermit-11 (for RT-11 and TSX-Plus) may be from
time to time updated/upgraded, or various bugs may be found and fixed.
New versions may be obtained from kermit.columbia.edu by anonymous ftp
(kermit/b/krt*.*) or by calling the system on which the work is done:

    Host:             Billy's Place, Culver City, California, USA
    Available:        24 hours, 3 lines, immediate access
    Phone:            +1.310.837.0892
    Logon (username): 1000
    Password:         moving_target
    Modem speeds:     9600 (V.32) and down, or PEP (modems are T-2500s)
    Protocols:        Kermit, VTCOM/TRANSF, Xmodem

Access is free other than whatever it costs to place the call.  Any bug
found will be fixed, send mail to billy@MIX.COM detailing your problem.
Also on-line here are the complete Kermit-11 T3.60 sources along with a
massive amount of RT-11 SIG and other public domain/gratis software.  


Installation and Release Notes	KRT V03.63			Page Thrity


The following files comprise everything required for KRT/KRTTSX:

KRT   .BWR	"Beware" file, known bugs and possible things to come..
KRT   .COM	Links low memory overlays image, KRT.SAV
KRT   .DOC	Installation and Release Notes
KRT   .IND	Bob Schor's Kermit-11 init file manipulator, an IND process
KRT   .INI	Sample initialization file
KRT   .MAP	Link map of low memory overlays image, KRT.SAV
KRT   .SAV	Low memory overlays image, for RT-11FB,SB,SJ and TSX+
KRTAIL.MAC	Tailgating protection for TSX+ V6.31 and below
KRTASM.COM	Assembles all source modules for an EIS CPU
KRTASM.NON	Assemble all sources for a non-EIS CPU using macros in KRTNHD
KRTATR.MAC	Attribute packet processing
KRTCDF.MAC	Command macro definition .INCLUDE file
KRTCMD.MAC	Main program loop, commands calling APR4
KRTCM1.MAC	APR4 overlay for the rest of the commands
KRTCOM.MAC	Main loop commands data table
KRTCON.MAC	CONNECT terminal emulator
KRTCVT.MAC	File name conversion routines
KRTDAT.MAC	Global read/write data
KRTDEB.MAC	EXAMINE command, display memory by symbol or address
KRTDEF.MAC	Packet definition .INCLUDE file
KRTDIA.MAC	DIAL command, also SET MODEM and SHOW DIAL
KRTDIR.MAC	Directory operations
KRTDSP.MAC	I/O dispatching to handler or terminal
KRTEDI.MAC	SL command line editor
KRTERM.MAC	I/O support for the controlling terminal line (TT)
KRTERR.MAC	Error messages
KRTHIS.DOC	Narrative in-depth edit history
KRTHLP.HLP	HELP text file
KRTHLP.MAC	HELP command processor
KRTIDX.BAS	Builds KRTIDX.MAC from KRTHLP.HLP
KRTIDX.MAC	HELP text file index for high speed lookups
KRTINI.MAC	Initialization, packet logging
KRTKM .MAC	"Kermit Modem" handler
KRTLNK.COM	Links extended memory overlays image, KRTTSX.SAV
KRTMAC.MAC	Macro definitions .INCLUDE file
KRTMDM.MAC	Pre-defined modems database
KRTNHD.MAC	MUL, DIV, SOB, ASH macros for non-EIS CPU
KRTOID.COM	Link for RT-11 V5.6 separate I&D space, low memory overlays
KRTOSI.MAC	One-shot initialization at program start
KRTPAK.MAC	Low level packet processing
KRTREC.MAC	Incoming file protocol processing
KRTRMS.MAC	File access, RMS emulation
KRTSEN.MAC	Outgoing file protocol processing
KRTSER.MAC	Server support
KRTSHO.MAC	SHOW, COPY, DELETE, PRINT, RENAME commands
KRTSJ .CND	RT-11FB,SB,SJ conditional assembly file for KM handler
KRTSJ .MAC	Root module for low memory overlays image
KRTSTD.MAC	SET command data table
KRTST0.MAC	SET command overlay 0
KRTST1.MAC	SET command overlay 1


Installation and Release Notes	KRT V03.63			Page ThrityOne


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

Billy Y..
27-Sep-1997
-eof-