CP/M-86 8086/8088-based KERMIT ------------------------------ V 2.1: 4 Jan 84 Adds missing commands, wildcard sends; Ron Blanford, U Wash. V 0.2: 19 Dec 83 Corrects problem with RTS and DTR; Brian Orr. V 0.1: 2 Dec 83 Adds interrupt driven i/o, GET command; Bill Catchings. V 0.0: 21 Oct 83 Initial coding and pre-release; Bill Catchings, Columbia. This version of KERMIT is written in Digital Research CP/M-86 assembler, ASM86. It is designed to support any CP/M-86 system. So far it supports: DEC Rainbow-100 NEC Advanced Personal Computer (APC) Features and restrictions: . Performs all standard KERMIT functions. . Has commands to talk to KERMIT servers. . Runs up to 9600 baud on all systems tested. . No local CP/M functions (ERA, DIR, SET DEFAULT disk) as in KERMIT-80 3.6. . No 8th-bit prefixing. . No repeat-count prefixing. . No 2- or 3-character block checks. . No protocol to interrupt a transfer (^X/^Z in other KERMITs), but ^C during file transfer gets back to Kermit-86 command level. Known Problems: . Can not communicate with IBM mainframes (SET IBM doesn't work right). . Buffer clearing is not done often enough, so that if long intervals pass between issuing server commands, there may be some confusion. . SET has no effect at all. . There's no way to simulate a timeout during file transfer, for instance by typing carriage return (as other microcomputer KERMITs allow). The known problems will be fixed in forthcoming releases. CP/M-8 KERMIT is broken up into several source modules: 86KERCMD.A86 Command parser 86KERFIL.A86 File handler 86KERIO.A86 System Dependent I/O 86KERMIT.A86 Main Program 86KERPRO.A86 Protocol Module 86KERUTL.A86 Utilities The main program module, 86KERMIT.A86, contains INCLUDE directives for the other files. The program may be built on the CP/M-86 system by obtaining all the source files listed above, storing them on the current disk with the names indicated, setting the appropriate conditional assembly parameters (RAINBO or NECAPC) in 86KERMIT.A86 to TRUE or FALSE, and doing: ASM86 86KERMIT $PZ (this takes about 6 minutes on the Rainbow) GENCMD 86KERMIT (takes less than a minute) and, if desired, REN KERMIT.CMD=86KERMIT.CMD Note: all system-dependent code should be in the i/o module; currently there is some system-dependent code in the main (86KERMIT) module which should be moved. This includes error message text and command tables (which may be feature dependent), version header text, the DTR code.