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 area on CU20B, for those who need them. 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.