This is to announce version 4.03 of CP/M-80 Kermit.  This is a "beta test"
of a major new release, and will not replace the current version (3.9A),
until it has proven to be stable.

The major change is the decomposition of the program into a collection of
modules, a`la MDMxxx, with a new procedure that allows combining custom
"configuration overlays" with the system-independent portions of the program.
This allows fixes or new features to be added to the protocol without requiring
reassembly of the program for each system supported, and conversely, allows
support for new systems to be added (or old ones fixed) without reassembly for
the other systems.  An added benefit of the breakup of the old monolithic
source file into smaller files is managability on systems with limited disk
storage -- at 176K, the version 3.9A source file exceeded the capacity of many
common floppies.

The modular decomposition is not quite complete, however, since the system-
dependent code for all systems is still combined in one module, with
assembly time conditionals for each system.  A future release will break
this module, CP4SYS.ASM, into separate, unconditionalized modules for each
system.

Here are some of the new features of version 4:

* New systems:

Support has been added for several new systems or configurations:

    Apple II, Z80 Softcard, 6551 ACIA
    BigBoard II
    CPT-85xx word processer
    Digicomp Delphi 100
    Morrow Micro Decision I

However, support that was recently added to version 3 of CP/M Kermit for
systems like the Heath H8 and Compupro Interfacer 3/4 is not included;
volunteers are needed to do the conversions.

* Terminal support:

For micros without integral consoles, one of several terminals may be
chosen (among them VT100, VT52, and ADM-3A), as well as the generic "CRT".

* Debugging aids:

SET DEBUG ON will add two fields to the SEND/RECEIVE display, labelled "Spack"
and "Rpack".  These display the last packet sent or received.  Of course, this
slows down the transfer, especially if the console is an external terminal.
SET DEBUG OFF removes these fields.

The VERSION command displays the name, edit number, and edit date of several
of the modules that make up Kermit.

* TAC support:

ARPAnet TACs (and probably some other communication devices like modems,
multiplexers, port contention units) use a printing character (normally "@") as
an intercept character, to allow commands to be issued to the TAC.  In order to
send this character to the host, it must be typed twice.  The command "SET TAC
CHARACTER" to Kermit enables the TACtrap and asks the user to specify the TAC
intercept character.  This character will be automatically doubled when it
appears in Kermit protocol messages (sent by the SEND or RECEIVE commands) or
when it appears in a file being sent with the TRANSMIT command.  It is not
automatically doubled when typed by the user in CONNECT mode.  "SET TAC ON"
enables the TACtrap but does not change the TAC intercept character, which is
initially "@".  "SET TAC OFF" disables the TACtrap.

* File buffering:

Previous versions of Kermit-80 buffered only one sector (128 bytes) at a time
during file transfer operations.  This version buffers 16Kbytes at a time,
reducing the number of times the floppy drive must be spun up and down, and
increasing the effective throughput of the link.  If the disk transfer rate
is too slow, howver, the remote Kermit may time out and retransmit packets.
This will show up on the screen in the "Retries:" field; if this occurs after
disk activity, you may want to increase the timeout value on the remote
Kermit, or reassemble Kermit with a smaller value for MAXSEC (in CP4SYS.ASM).
This buffer is also used by the TRANSMIT command; the log file enabled by
the LOG command is still written a sector at a time.

* Baud Rate Setting:

The format of the SET BAUD-RATE command has been changed for several systems.
Rather than requesting the user to enter a letter for the speed, the desired
baud rate is supplied on the command line (e.g. "SET BAUD 1200").  A list
of supported baud rates may be obtained by typing "SET BAUD ?".  If Kermit
cannot change the baud rate for your system, it will reply "(not implemented)".

* Generic CP/M 2.2 Support:

The "generic" Kermit-80 for CP/M 2.2 (assembly switch GENER) supports six
port selections, to improve the chances of finding one that works.  Kermit
reads from PTR: and writes to PTP: by default;  if this does not work, try
"SET PORT TTY".  The following table lists the CP/M devices used for each
option:

	SET PORT xxx	input from	output to
	    CRT		   CRT:		   CRT:
	    PTR		   PTR:		   PTP:
	    TTY		   TTY:		   TTY:
	    UC1		   UC1:		   UC1:
	    UR1		   UR1:		   UP1:
	    UR2		   UR2:		   UP2:

In all cases, the console (CON:) and list (LST:) devices used are those
selected when Kermit is started.

* How to Get It:

The files are in KER:CP4*.* on CU20B, available via anonymous FTP.  CU20B is
Internet host [192.5.43.128].  The source files have the extension (file type)
.ASM, the hex files .HEX.  There is also a new Kermit User Guide chapter in
KER:CP4KER.DOC and .MSS (Scribe text formatter source).  A list of known bugs
and deficiencies is in KER:CP4KER.BWR (this file will be updated as reports
come in).

Note that a new, somewhat more complicated, installation procedure is required.
Two hex files -- the system-dependent part, and the "configuration overlay" --
must be combined and then loaded.  Detailed instructions are given in
KER:CP4KER.DOC.

The program may be built with the public-domain assembler and linker,
LASM and MLOAD, or on the DEC-10 or DEC-20 with Bruce Tanner's MAC80 and
LINK80.  Unfortunately, it can no longer be built with ASM and LOAD because
multiple files are used (this is the price we pay for modularity).
LASM, MLOAD, MAC80, and LINK80 are all in the <KERMIT-TOOLS> area on CU20B,
for those who need them.  <KERMIT-TOOLS> can be referred to as KT:, as in
KT:MLOAD.HEX.

The following systems are supported:

Symbol  Filename System
------  -------- ------
AP6551  CP4APL   Apple II, Z80 Softcard, 6551 ACIA in serial interface
APMMDM  CP4APM   Apple II, Z80 Softcard, Micromodem II in slot 2
BBII    CP4BB2   BigBoard II (terminal required)
BRAIN   CP4BRN   Intertec SuperBrain.
CPM3    CP4CP3   "generic": CP/M 3.0 (CP/M Plus) systems (terminal req'd)
CPT85XX	CP4CPT	 CPT-85xx word processors with CompuPak CP/M
DELPHI  CP4DEL   Digicomp Delphi 100 (terminal required)
DMII    CP4DM2   DECmate II with CP/M option
GENER   CP4GEN   "generic": CPM 2.2 systems with IOBYTE (terminal req'd)
HEATH   CP4H89   Heath/Zenith H89.
KPII    CP4KPR   Kaypro-II (and 4; probably supports all Kaypro systems)
MDI     CP4MDI   Morrow Decision I (terminal required)
MIKKO   CP4MIK   MikroMikko
MMDI    CP4UDI   Morrow Micro Decision I (terminal required)
OSBRN1  CP4OSB   Osborne 1
OSI     CP4OSI   Ohio Scientific
ROBIN   CP4ROB   DEC VT180
TELCON  CP4TEL   TELCON Zorba portable
TRS80LB CP4TLB   TRS-80 model II with Lifeboat 2.25C CP/M Display
TRS80PT CP4TPT   TRS-80 model II with Pickles + Trout CP/M Display
VECTOR  CP4VEC   Vector Graphics.
Z100    CP4Z00   Z-100 under CP/M-85

The "symbol" is used in CP4SYS.ASM for assembly purposes.  The filename
shows where to find the .HEX file in KER: on CU20B, e.g. KER:CP4Z00.HEX.


Please try out the new version and report any bugs to Info-Kermit@CU20B.
Also, please feel free to add support to CP4SYS.ASM for systems that are
not supported, and to make enhancements to those that are; for instance,
most systems are still not able to send a 250ms BREAK signal.

Version 3.9A of CP/M-80 Kermit continues to be available as KER:CPM*.*
on CU20B, but will eventually be phased out.
