From: Leo C Date: Fri, 4 Dec 2015 19:51:23 +0000 (+0100) Subject: Import of "Kermit 80 for CP/M-80 and CP/M-85" from http://www.columbia.edu/kermit... X-Git-Tag: original-source X-Git-Url: http://cloudbase.mooo.com/gitweb/kermit-80.git/commitdiff_plain/c25f6a44a6e2266617af2f326fa5dc0c4864035f Import of "Kermit 80 for CP/M-80 and CP/M-85" from http://www.columbia.edu/kermit/ftp/archives/cpm80.tar.gz --- c25f6a44a6e2266617af2f326fa5dc0c4864035f diff --git a/cpaaaa.txt b/cpaaaa.txt new file mode 100644 index 0000000..2d48bc4 --- /dev/null +++ b/cpaaaa.txt @@ -0,0 +1,195 @@ +CPAAAA.HLP 23 April 1991 + + +Version 4.11 of Kermit-80 is a development of the previous release 4.09, +changed to add more features. Much of the system-dependent code is as it +was in Version 4.09. The names of the files for Version 4.11 follow a fixed +convention. They all have the form + + CPaxxx.bbb + +In these names: + + "a" is one of + + A for general information + K for documentation and beware files + S for system independent files + X for system-dependent source files + V for system-dependent hex files + + "xxx" is used to identify unique files used + + "bbb" is the file extention, usually one of: + + ASM for source files + HEX for pre-assembled modules or completeprograms (eg + LASM.HEX is the assembler) + HLP for help files + BWR for beware files + ANN for notes + TXT for pure text files + DOC as for TXT + MSS SCRIBE sources files (for document files.) + +CPKFET.* is a bootstrapping procedure that can be used if you have no other +way to download the new files. + +Version 4.11 may be assembled and linked with LASM and MLOAD, respectively, +or it may be assembled with the M80 assembler. + +It is also possible to assemble the source files on an IBM PC or clone using +the Z80MU CP/M V2.2 and Z80 emulator, itself running the LASM or M80 +assembler. (Using Z80MU is very useful if your target systems does not have +enough disk space for all the source files.) + +CP/M Kermit Version 4.11 is built from the sources in the same manner as was +CP/M Kermit Version 4.09. LASM and MLOAD may be found in the Kermit +distribution. + +The M80 assembler is a Microsoft product, and you have to pay good money for +it. + +**Note** The overlay address has been moved to 7000H to make room for the +added code in this version of CP/M Kermit. + +Currently, the code for a number of systems has been upgraded from version +4.09. The particular system is indicated in filenames by the "xxx" part: +codes currently in use are: + +APP Apple II with Z80 card + - with Micromodem in slot 2 + - with 6551 and 6850 UARTs + - with CP Multifunction card + +BBI Kaypro, Bigboard, Xerox 820 and Ampro Little Board systems + +CIF Cifer 1886 using the VL: or AL ports as TTY:Line. (Use &set + to set ttyi: and ttyo: to the VL: or AL:port) Choice of + CP/M V2.2 or 3.0 ("PLUS") + +HEA Heath systms (Heath 8 with quad IO interface board) + Telcon ZORBA + +PCW Amstrad PCW 8256 and 8152 as well as CP/M-plus on CPC 6128 + +NOR Northstar Advantage + Northstar Horizon (Several: labels in CPXTYP are: + BASICNS + NORTHS + HORIZON + Comart Communicator. This is included as it is somewhat + similar to the Northstar Horizon. + +TOR Superbrain (Main and Aux port versions.. assumes MicroMods + add-ons) + Torch systems (runs ok on Unicorn-5 under CP/M) + Ithaca Intersystems series machines using the VIO card. (PCI + 2651 USARTS) + NCR DecisionMate V systems + +as well as another half dozen single system only family files. The total +list of systems supported so far is: + + +System supported in CP/M-80 Kermit V4.11 (and growing!) +Label .HEX File For system +============================================================================ +ACCESS CPVACC Access Matrix +ADVANT CPVADV Northstar Advantage +AMPRO CPVAMP Ampro Little Board (terminal required) +AP6551 CPVAPL Apple II, Z80 Softcard, 6551 ACIA in serial Interface +AP6850 CPVA65 Apple II, Z80 Softcard, 6850 ACIA in Serial Interface +APMMDM CPVAPM Apple II, Z80 Softcard, Micromodem II in slot 2 +APCPS CPVCPS Apple II, Z80 Softcard, with CPS multifunction card +BASICNS CPVBNS Northstar Horizon (terminal required) +BBC CPVBBC Acorn "BBC" computer with Acorn Z80 second processor +BBII CPVBB2 BigBoard II (terminal required) +MBEE CPVBEE Microbee Systems Ltd Microbee (56K, 64K, 128K & 256K) +BRAINM CPVBRM Intertec Superbrain using the main port +BRAINA CPVBRA Intertec Superbrain using the Aux port +CIFER2 CPVCIF Cifer 1886 using the VL: Serial port and CP/M V2.2 +CIFER3 CPVCI3 Cifer 1886 using the VL: Serial port and CP/M V3.0 +CIFER2 CPVCA2 Cifer 1886 using the AUX: Serial port and CP/M V2.2 +CIFER3 CPVCA3 Cifer 1886 using the AUX: Serial port and CP/M V3.0 +CMEMCO CPVCRO Cromemco with TU-ART card. Terminal required) +COMART CPVCOM Comart Communicator (terminal required) +COMPRO CPVPRO Compupro with Interfacer 4 (or 3). Terminal required. +CPC CPVCPC Amstrad CPC 664 and 6128 and CP/M 3 +CPM3 CPVCP3 "Generic": CP/M 3.0 (CP/M Plus) systems (terminal req'd) +CPT85XX CPVCPT CPT-85xx wordprocessor with CP/M +DELPHI CPVDEL Digicomp Delphi 100 (terminal required) +DISC CPVDIS Action Computer Enterprises "Discovery" (terminal req'd) +DMII CPVDM2 DECmate II with CP/M option +GENER CPVGEN "Generic": CPM 2.2 systems with IOBYTE (terminal req'd) +GENIE CPVGNI Video Genie +H8QUAD CPVH8Q Heath-8 with Quad 8 i/o board +HEATH CPVH89 Heath/Zenith H89 +HORIZON CPVHOR Northstar Horizon (terminal required) +HP125 CPVHP1 Hewlett-Packard HP-125 Business Assistant +KPII CPVKPR Kaypro-II (and 4; probably supports all Kaypro systems) +LOBO CPVLBO Lobo Max-80 +M2215 CPVMRL British Telecom Merlin/Rair Black Box (terminal required) +MDI CPVMDI Morrow Decision I (terminal required) +MIKKO CPVMIK MikroMikko +MMATE CPVMM PMC 101 Micromate (terminal required) +MMDI CPVUD Morrow Micro Decision I (terminal required) +NCRDMV CPVDMV NCR Decision Mate V. (Terminal required?) +NORTHS CPVNS Northstar Horizon with HSIO-4 card (terminal req'd) +OSBRN1 CPVOSB Osborne 1 +OSI CPVOSI Ohio Scientific +PCI2651 CPVPCI Ithaca Intersystems with VI0 card (terminal required) +PCW CPVPCW Amstrad PCW 8256/8512 with serial interface +PX8 CPVPX8 Epson PX-8 +RM380ZM CPVRMM Research Machines 380Z with MDS (5.25" discs) +RM380ZF CPVRMF Research Machines 380Z with FDS (8" discs) +ROBIN CPVROB DEC VT180 +S1008 CPVUSM US Microsales S-100-8 (terminal required) +SANYO CPVSAN Sanyo MBC-1100 +SB6 CPVSB6 Micromint SB-180 with 6Mhz CPU (terminal required) +SB9 CPVSB9 Micromint SB-180 with 9Mhz CPU (terminal required) +SCNTPR CPVSCN Screentyper +TELCON CPVTEL TELCON Zorba portable +TELETEK CPVTET Teletek Systemaster (terminal required) +TORCH CPVTRC Torch computers BBC-B with Z80 second processors +TRS80LB CPVTLB TRS-80 model II with Lifeboat 2.25C CP/M Display +TRS80PT CPVTPT TRS-80 model II with Pickles + Trout CP/M Display +TRSM4 CPVTM4 TRS-80 model IV +VECTOR CPVVEC Vector Graphics +XER820 CPVXER Xerox 820 +Z100 CPVZ00 Z-100 under CP/M-85 +Z80MU CPVZ80 Z80MU development system on a PC + + +Terminals supported in CP/M-80 Kermit V4.11 (and growing!) +Label Terminal +======================================================================== +CRT Does not do cursor addressing +ADM3A Lear Seigler ADM 3A +ADM22 Lear Seigler ADM 22 +AM230 Ampro 230 +H1500 Hazeltine 1500 +SMRTVD Netronics Smartvid +SOROQ Soroq IQ-120 +TVI912 Televideo 912 +TVI925 Televideo 925 or Freedom 100 +VT52 Dec VT52 or equivalent (H19) +VT100 Dec VT100 or equivalent +WYSE Wyse 100 + +More systems and families are always coming in, so this list and the source +files are all likely to change sometime in the near future. + +Any comment, suggestions etc send them in. I will not guarentee that your +suggestions will be implemented, but maybe.... + +Cheers ES 73's/88's, Mike Freeman K7UIJ +Bonneville Power Administration +P.O. Box 491 +Vancouver, WA 98666 +(206)690-2307 +301 N.E. 107th Street +Vancouver, WA 98685 USA +(206)574-8221 + +E-Mail: freeman@watsun.cc.columbia.edu on Internet diff --git a/cpk409.ann b/cpk409.ann new file mode 100644 index 0000000..4c9def0 --- /dev/null +++ b/cpk409.ann @@ -0,0 +1,354 @@ +Following is the announcement of CP/M-80 Kermit version 4.09, the first +new release of CP/M Kermit since 4.05 since February 1985. + +Kermit files may be obtained over networks and by mail order. On the +Internetwork, use FTP to log in to host CU20B, CU20B.COLUMBIA.EDU, or +CU20B.CC.COLUMBIA.EDU (a DECSYSTEM-20), as user ANONYMOUS, using any password, +and GET (or MULTIPLE GET, or MGET) the desired files from logical device KER:, +e.g. MGET KER:CP*.* for the new CP/M files. You can also get Kermit files over +BITNET/EARN; to get started send a message with text HELP to KERMSRV, the +Kermit file server, at host CUVMA. For detailed instructions, read the file +KER:AANETW.HLP (AANETW HLP on KERMSRV). To order by mail, request a complete +list of Kermit versions and an order form from Kermit Distribution, Columbia +University Center for Computing Activities, 612 West 115th Street, New York, NY +10025 USA. + +Date: 8 Jan 88 0:00:00 +From: Bertil Schou, Loughborough University, UK +Via: SYSKERMIT%vax1.central.lancaster.ac.uk@NSS.Cs.Ucl.AC.UK +Subject: Announcing Version 4.09 of Kermit-80 for CP/M-80 +Keywords: CP/M-80 Kermit 4.09 + +After an incredibly long gestation period, here is hopefully an updated +version of Kermit-80 V4.05. Kermit-80 V4.08 is issued for testing purposes +only. Version 4.09 is the release issue of version 4.08. I still, however, +want any feedback about problems generated in this revision, or others +desperately want fixing. + +Superficially, there is little real change in operation of Kermit-80, version +4.05, but there have been some major jobs tackled like trapping BDOS calls and +multiple FCB buffering... + +New bits for this version include: + SET {SEND/RECEIVE} START-OF-PACKET character + SET DIRECTORY-FILE-SIZE (Shows or hides file sizes on + DIRectory displays) + SET TERMINAL to OFF, VT52, DUMB, EXTERNAL, QUIET, REGULAR. + SET USER to set other user spaces + RECEIVE to collect a file from a remote SENDer + GET to collect a file from a remote SERVER + SEND {local filename} {remote filename} + TAKE to take command files from disk (including other take files!) + FCOPY Copy CP/M files from within Kermit (no wildcard) + TYPE Type a file to the console from within Kermit + PRINT Print a file to the printer from within Kermit + - Updated TRANSMIT command that waits for a string of characters + from the host (default is CR). + - Command line commands, eg: + KERMIT ;SET FILE BINARY;SEND FOO.BAR + - Automatic TAKE KERMIT.INI on default disk on + loading KERMIT-80 (useful for SET BAUD etc.) + - Much improved speed on DIRECTORY + - Automatic CLOSE-ing of a terminal connection if the line is + DROP-ped (currently only for an Apple, and Torch has a dummy + test for cntrl-] D in connect state) + - Improved printer handling. + +On the negative side, only LASM and Microsoft M80 assemblers can be used to +assemble the source files. I personally see no point in being able to support +several assemblers if LASM can do the job, but then again, I have not used the +MAC80 cross assembler... Comments on assembler compatabilities, please! + +All source files have been renamed, and there are a few additions. All source +files are named in the form CPaxxx.ASM, where: + + a=A for general information + a=S for system independent source files and hex file + a=X for system dependent source files + a=V for system-dependent hex files + +The system dependent code has changed a litle too, hopefully bringing the +CPXSYS.ASM (formerly CP4SYS.ASM) file a bit more toward a manageable size. +There is now the possibility for FAMILIES of systems, like APPLE and NorthStar +(also Comart), which contains code for computers of a single type. I have +immediately gone against all this by creating a family with the code for +Torches, Cifers, Ithacas and Superbrains (this because we have these systems +here at Loughborough.) + +Bertil Schou. + +[Ed. - Many thanks, Bertil! And also to Alan Phillips and Steve Jenkins at +Lancaster University for sending this new version to us via transoceanic +magnetic tape, and to the many others in the UK who contributed to this new +release. This version supports all the systems supported by version 4.05, +with the exception of the HP-125, and with the addition of many more, for a +total of something like 52 systems. The new files have been installed in +KER:CP*.*, and the old ones moved (on CU20B, anyway) to KO:CP*.*. CP/M +users, please get this new version and try it out, so we can make sure it's +safe to distribute. And this is also the time to plead ONCE AGAIN for +volunteers to distribute CP/M Kermit on 5.25-inch diskette for different +kinds of systems, and also in "universal" 8-inch diskette format. Please +come forward if you can do it, or know of a user group that can!] + + +CPKERM.MSG 08 Jan 1988 +********** + +After an incredibly long gestation peroid, here is hopefully an +updated version of Kermit-80 V4.05. Kermit-80 V4.08 is issued for +testing purposes only. Version 4.09 is the release issue of +version 4.08. I still, however, want any feedback about problems +generated in this revision, or others desperately want fixing. + +Superficially, there is little real change in operation of +Kermit-80, version 4.05, but there have been some major jobs +tackled like trapping BDOS calls and multiple FCB buffering... + +New bits for this version include: + SET {SEND/RECEIVE} START-OF-PACKET character + SET DIRECTORY-FILE-SIZE (Shows or hides file sizes on + DIRectory displays) + SET TERMINAL to OFF, VT52, DUMB, EXTERNAL, QUIET, + REGULAR. External is for those wanting to write + their own drivers, DUMB passes only printing + characters and sone control characters (eg CR/LF). + QUIET/REGULAR permits brief/verbose screen + displays during transfers. + SET USER to set other user spaces + RECEIVE to collect a file from a remote SENDer + GET to collect a file from a remote SERVER + SEND {local filename} {remote filename} + TAKE to take command files from disk (including other + takes files!) + FCOPY Copy CP/M files from within Kermit (no wildcard) + TYPE Type a file to the console from within Kermit + PRINT Print a file to the printer from within Kermit + - updated TRANSMIT command that waits for a string + of characters from the host (default is CR) + - Command line commands, eg: + KERMIT ;SET FILE BINARY;SEND FOO.BAR + - automatic TAKE KERMIT.INI on default disk on + loading KERMIT-80 (useful for SET BAUD etc.) + - much improved speed on DIRECTORY + - automatic CLOSE-ing of a terminal connection if + the line is DROP-ped (currently only for an Apple, + and Torch has a dummy test for cntrl-] D in + connect state) + - improved printer handling. (Kermit-80 sends an + XOFF to the host if the characters are comming in + faster than they are printed. This does not work + in this version, as another option, SET FLOW- + CONTROL has not been fully implemented - also, I + did not have a printer to test this out on a + Torch...) + +On the negative side, only LASM and Microsoft M80 assemblers can +be used to assemble the source files. I personally see no pont in +being able to support several assemblers if LASM can do the job, +but then again, I have not used the MAC80 cross assembler... +Comments on assembler compatabilities, please! + +All source files have been renamed, and there are a few +additions. All source files are named in the form: + + + + + + + +CPaxxx.ASM + +where: + + a=A for general information + a=S for system independent source files and hex file + a=X for system dependent source files + a=V for system-dependent hex files + +The system dependent code has changed a litle too, hopefully +bringing the CPXSYS.ASM (formerly CP4SYS.ASM) file a bit more +toward a manageable size. There is now the possibility for +FAMILIES of systems, like APPLE and NorthStar (also Comart), +which contains code for computers of a single type. I have +immediately gone against all this by creating a family with the +code for Torches, Cifers, Ithacas and Superbrains. (This because +we have these systems here at Loughborough) + +CPXSYS.ASM is the "left over" systems not having a family to go +to (poor things), but is very much smaller than the original +CP4SYS.ASM. + +All VDU and terminal information is now held in CPXVDU.ASM. This +is really the last section in the older CP4SYS.ASM file. + +A quick "schematic" of what happens at assembly time... (assuming +LASM is being used) + +LASM CPXTYP... this then assembles the following: + +CPXTYP + | + v +CPSDEF + | + v +CPXLNK + | + v +CPXCOM (Common code for most systems) + | + v +CPXSWT-------+----------+-----------+-----------+---- File selector + | | | | | + v v v v CPXTOR CPXAPP CPXNOR CPX??? one of + | | | | | several + | | | | | Families + +<----------+----------+-----------+-----------+---- + | + v +CPXVDU (if a terminal is required) + | + | + v + + + + +Users should be aware of the change both to the linking + + + + + + +information and start of the overlay address. Since Version 4.05, +four new entries have been added to the overlay table. First of +all, family (offset +6), which is a two byte poiter to a text +string in the family file. The remainder are two byte pointers +(in the usual JMP 0 format) to a print status routne, (lptstat +offset 20h), an optional VDU driver, and a reverse entry back to +the system independent BDOS routines (which does a lot more than +simply pass on the BDOS request to BDOS) + +There have also been some bugs fixed in some of the system +dependent code, so you would be wise pulling all the source files +across. + +The overlay address is now 6000h, and will probably change before +this revision is complete. The speeding up of multiple file +handling takes its toll on memory, as there are now 64-ish FCBs +buffered. This speeds up the DIRECTORY command no end. + +With the overlay address at 6000h there is still a lot of space +free for more things to be added, so unless there is a big hash +made to Kermit, this will not change. + +Most of the Version 4.05 documentation still holds for this +version of kermit-80. Note however the changes in the number of +system dependent files used, and the use of FAMILY files. + +The new commands are (hopefully) self-explanatory. The TAKE +command requires files TAKE-n to be pure ASCII text, with a +control-z as the end of file marker. Most editors will probably +do this for you. + +LASM and Microsoft M80 assembles are the only ones supported. I +suggest LASM be used by default for all further development work, +though I DO know that there are others requestin M80 +comaptability. + +How to get V4.09 onto your system. +********************************** +If you alread have a Kermit running on your system, you should be +able to pull the CPSKER.HEX and suitable system file to yopur +system, then MLOAD the two together. If you dont have kermit, +see if you cannot get a copy from somewhere - it saves a lot of +frustrating work. Failing that, refer to the REAL manuals! + +If you want to assemble the sources from scratch, pull all +CPS*.ASM files, and CPX(TYP LNK COM SWT).ASM files, and +CPXVDU.ASM if you use a terminal. You will have to pluck +either CPXSYS./ASM or another family file. You will also need +loads of disk space. If you run short, but have a handy IBM PC +or clone with a Mbyte or two free, use the public domain Z80 +emulator Z80MU to develop the .HEX files required. Also aquire a +copy of LASM. Use LASM it to assemble CPSKER and CPXTYP after +editing CPXTYP and selecting a suitable system. This generates +CPSKER.HEX and CPXTYP.HEX. + +MLOAD the two .HEX files together, eg: + +MLOAD NEWKER=CPSKER,CPXTYP + +After this, you will hopefully have a runnable copy of KERMIT-80 + + + + + + +Version 4.09 on your system. + +Disclaimer: No responsibilty can be assumed by anyone as to the +suitabilty etc.etc. In otherwords, you are the one responsible +for your implentation of Kermit-80, any version. I will give help +where I can, but no guaranttes will be given. Note that not all +systems and facilities have been tested (thats why you are +getting involved!) so make sure you have a copy of 4.05 Kermit +before trying this one! + +Things yet to be done - lots! + +There have been moves trying to add other independent modules for +other terminal emulators other than the VT52. Demands for SERVER, +REMOTE HOST..., file compression, better TRANSMIT, % of file sent +and/or Kbytes sent/received as part of the display diring +transfers, a lot of cosmetic tidying up as well as even more +systems to be added. CP/M-80 is a slowly dying DOS, and I feel +inclined to leave some bits out, like SERVER (how many use really +large Winchesters in CP/M-80 systems, and want true servers?). +Does anyone have a burning desire for these facilities? And if +so, will YOU be willing to take on the job of implementing them? + +If you have any comments, please E-mail them to OBSchou (me) at +Loughborough. If you really must, try (0509) 222313, but I share +a phone, so use the phone only if you cannot mail me. + +Best of luck, + +Bertil Schou. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/cpk411.ann b/cpk411.ann new file mode 100644 index 0000000..92df86e --- /dev/null +++ b/cpk411.ann @@ -0,0 +1,90 @@ +Date: 24-May-1991 + +Announcing: CP/M Kermit Version 4.11 + +Just to prove that the CP/M world still exists, here is CP/M Kermit -80 +Version 4.11. + +Features added since version 4.09 include: + +o SET COLLISION {BACKUP/DISCARD/OVERWRITE/RENAME} +o SET INCOMPLETE-FILES {DISCARD/KEEP} +O Many REMOTE commands, including some REMOTE SET commands +o RENAME command to rename CP/M files from within Kermit-80 +o SET RECEIVE/SEND PACKET-LENGTH nn (nn <= 94) +o SET AUTORECEIVE ON now implies that Kermit-80 ALWAYS tries to + receive more files when a RECEIVE transaction has completed. The + user can abort with ^C. +o QUIT is now a synonym for EXIT. +o STAY is now a synonym for SET NO-EXIT. +o CONNECT, RECEIVE and SEND may be abbreviated to C, R and S, + respectively. +o Processing of commands from a file via a TAKE command may now be + aborted by entering a Control-C at the console. +o The TYPE and PRINT commands are now immediately aborted if a + Control-C is entered at the console. If a Control-X is entered at + the console, typeout/printout of the current file is aborted and + typeout/printout of the next file, if any, begins. These actions + also occur if any other key has been pressed to halt typeout/printout + and Control-C or Control-X is pressed. Pressing any other key resumes + the typeout/printout. +o Many bug fixes +o Kermit-80 Version 4.11 now supports the Microbee family of + computers (56K, 64K, 128K and 256K) manufactured by + Microbee Systems, Ltd, of Australia. +o Kermit-80 now supports the Ampro Little Board system. + +Technical changes: + +o An "I" packet is now tried before the request for files is sent + in a GET command +o The overlay address is now 7000H +o The overlay (CPXLNK.ASM) has an added INCFLG variable to handle + INCOMPLETE-FILES status +o The COPY, TYPE and PRINT commands now use the large buffer + (8K bytes default size) for file I/O + +Syntax hints: + +In REMOTE commands such as REMOTE COPY, REMOTE MESSAGE, REMOTE RENAME, +REMOTE WHO etc., where two arguments are required, the syntax is as for Vax +VMS Kermit, i.e., +REMOTE +Prompt: +For example: +REMOTE COPY +New file: + +The REMOTE LOGIN command has three arguments, of which the last two are +prompted for an entered on new lines. Arguments are optional. + +In commands such as REMOTE SET FILE BLOCK-SIZE which take a numeric +argument, Kermit-80 does not check the argument for validity. Whatever is +typed is what the host sees. + +The FCOPY command has been renamed to COPY. + +The syntax for the RENAME command is as for the COPY command, that is: +RENAME + +More rigorous checking for wildcards is now done by both of these +commands. + +The STRING command has been renamed to OUTPUT. + +SET BAUD-RATE is now SET SPEED. + +The option SET FILE DEFAULT has ben re-enabled. Use a TAKE-file to set the +initial file-mode to ASCII or BINARY. + +Building Kermit-80 ver. 4.11: + +Kermit-80 ver. 4.11 is built using the same procedure as for ver. 4.09. + + +Many thanks to those who have contributed bug fixes, and, in particular, +to Mr. Russell Lang of Monash University, Australia, for contributing +a bug-fix and the family file for the Microbee systems and to Mr. +Jay S. Rouman of Mt. Pleasant, MI for contributing the code for the Ampro +Little Board. Thanks are also due to Lance Tagliapietra of the University +of Wisconsin at Platteville for finding several bugs. diff --git a/cpkerm.bw2 b/cpkerm.bw2 new file mode 100644 index 0000000..ae3d6de --- /dev/null +++ b/cpkerm.bw2 @@ -0,0 +1,131 @@ +Re: Problems with CP/M Kermit Version 4.09 + +Following is a list of problems and their solutions for CP/M Kermit +Version 4.09. Bear in mind that the latest version of CPSPK1.ASM I have is +edit (11) and of CPSPK2.ASM is edit (4). + +Problem: When the terminal is in "quiet" mode, initiation of file-transfers + causes lots of garbage to appear on the screen which is distracting + and which raises havoc with voice output devices. +Diagnosis: In the module CPXCOM.ASM, the routine "prtstr" has two flavors: + one for machines which cannot display control-characters via BDOS + function 9 and one which can display such characters via function 9. + In this latter case, only register pair BC is saved around the BDOS + call. This is insufficient as BDOS also clobbers register pairs + DE and HL during the call. In "quiet" mode, at least one of these + pairs is expected to remain constant. +Solution: Save register pairs DE and HL around the function 9 BDOS call. + +Problem: When GETting a file, the initialization routine "init" is executed + twice. This doesn't harm anything and may not be noticeeable in + print but is most annoying when using voice output as "init" types + out the Kermit version and screen initialization strings and thus + one hears them twice. +Solution: In the module CPSPK1.ASM, move the label "read0a" down one line + so that the common code for the "receive" and "get" commands starts + just *after* the call to "init" is made in "receive" mode. + +Problem: With "auto-receive" set to "off", after a RECEIVE has completed, + Kermit waits for Console input; then looks for more data to receive + when there is none. +Diagnosis: In the module CPSPK1.ASM, when the status of "auto-receive" is + checked, the wrong label is branched to if "auto-receive" is OFF. +Solution: Change the instruction "jz read5c" to "jz read5b". + +Problem: Files whose filenames are less then 8 characters in length have + ASCII zeros ("0") appended to them. +Diagnosis: In the module CPSPK2.ASM, after label "gofi7b", where the status + of "file-warning" is checked, the code for the appending of "&" + characters to filenames if the file already exists on disk has been + commented out and new code putting numeric suffixes on filenames + in this case has been substituted. In the process, the code for + checking for a file's existence has been accidentally commented out. + Thus, if "file-warning" is "on", *every* file is assumed to have + a duplicate and a numeric suffix is added to each filename. In + addition, no warning of this is given on-screen. +Solution: (1) Uncomment the code which checks for the existence of each file. + (2) Uncomment the code which prints the file-warning error message + and put a "lxi d,fnbuf" instruction between the "stax d" shown in + CPKERM.BWR and the call to "prtstr" so that routine can print the + filename of any file whose existence has been detected. + + +With these changes, Kermit-80 performs like a champ. +Following are file comparisons showing the changes noted above. + +************ +File DISK$USER:[OGRFJMF.KERMIT.CPM]CPXCOM.ASM;1 + 418 push b +****** +File DISK$USER:[OGRFJMF.KERMIT.CPM.HP125]CPXCOM.ASM;1 + 418 PUSH H + 419 PUSH D + 420 push b +************ +************ +File DISK$USER:[OGRFJMF.KERMIT.CPM]CPXCOM.ASM;1 + 422 ret ; all done for good machines +****** +File DISK$USER:[OGRFJMF.KERMIT.CPM.HP125]CPXCOM.ASM;1 + 424 POP D + 425 POP H + 426 ret ; all done for good machines +************ + +Number of difference sections found: 2 +Number of difference records found: 4 + +DIFFERENCES /IGNORE=()/MERGED=1/OUTPUT=DISK$USER:[OGRFJMF.KERMIT.CPM.HP125]CPXCOM.DIF;1- + DISK$USER:[OGRFJMF.KERMIT.CPM]CPXCOM.ASM;1- + DISK$USER:[OGRFJMF.KERMIT.CPM.HP125]CPXCOM.ASM;1 + +File 1) DSKE:CPSPK1.ASM[10,50,KERMIT,CPM] created: 1940 26-Aug-89 +File 2) DSKE:CPSPK1.ASM[10,50,KERMIT,CPM,HP125] created: 2247 27-Aug-89 + +1)1 read0a: call init ;clear line, initialise buffers +1) lxi d,remnam ;[gnn] save local name here +1) mvi a,cmtxt ;[gnn] +**** +2)1 call init ;clear line, initialise buffers +2) read0a: lxi d,remnam ;[gnn] save local name here +2) mvi a,cmtxt ;[gnn] +************** +1)2 jz read5c ; no autoreceives, so drop out +1) lxi d,anymes ; load up Press any key to continue +**** +2)2 jz read5b ; no autoreceives, so drop out +2) lxi d,anymes ; load up Press any key to continue +************** + +File 1) DSKE:CPSPK2.ASM[10,50,KERMIT,CPM] created: 0829 28-Aug-89 +File 2) DSKE:CPSPK2.ASM[10,50,KERMIT,CPM,HP125] created: 2259 27-Aug-89 + +1)1 ; mvi c,openf ;See if the file exists. +1) ; lxi d,fcb +1) ; call bdos +1) ; cpi 0FFH ;Does it exist? +1) ; jz gofil9 ;If not create it. +1) ; lxi d,infms5 +1) ; call error3 +1) ; lda temp2 ;Get the number of chars in the file name. +**** +2)1 mvi c,openf ;See if the file exists. +2) lxi d,fcb +2) call bdos +2) cpi 0FFH ;Does it exist? +2) jz gofil9 ;If not create it. +2) lxi d,infms5 +2) call error3 +2) ; lda temp2 ;Get the number of chars in the file name. +************** +1)1 call prtstr ; write string to console +**** +2)1 lxi d,fnbuf ;[MF]Point to string +2) call prtstr ; write string to console +************** + + +I may be reached on BITNET by E-mail to mailer@uwalocke with the subject-line +containing the phrase . +-- Mike Freeman; Bonneville Power Administration; Vancouver, Wa; +Telephone (206)690-2307 -- diff --git a/cpkerm.bw3 b/cpkerm.bw3 new file mode 100644 index 0000000..dc144e2 Binary files /dev/null and b/cpkerm.bw3 differ diff --git a/cpkerm.bw4 b/cpkerm.bw4 new file mode 100644 index 0000000..9d7c7ff --- /dev/null +++ b/cpkerm.bw4 @@ -0,0 +1,50 @@ +Date: Tue, 14 May 91 11:46:47 EDT +From: Mike Freeman +To: info-cpm@wsmr-simtel20.army.mil, fdc +Subject: Kermit-80 Version 4.11 + +Dear Mr. Mills: + In a recent Info-cpm digest, in article <26697@hydra.gatech.EDU>, +you asked how to get Kermit-80 version 4.11. going. Lance +Tagliapietra's answer was a good one. You also might want to get +cpaaaa.hlp from watsun's ~kermit/a/ directory; this gives the machines +that Kermit-80 currently supports along with the filenames of the Intel +hex files for those machines. As Mr. Tagliapietra says, you probably +won't have to rebuild the system-independent part of Kermit-80. If your +CP/M machine is one of those currently supported by Kermit-80, you need +only get the system-dependent hex file and combine them with MLOAD, DDT, +DDTZ or whatever (MLOAD and DDTZ are my preferences since they don't +require you to calculate image length for a CP/M SAVE). If your system +is not supported, pick up cpxtyp.asm, cpxcom.asm, cpxlnk.asm and +cpxswt.asm. Currently, systems are organized into "families", as, for +example, Amstrad machines. If you were going to recompile Amstrad +Kermit's system-dependent file, you'd also get cpxpcw.asm. Some systems +(as, for example, the HP-125) are in the files cpxsys.asm and +cpxsy2.asm, which you'd get. In any case, if your system isn't +supported, get a "family" file that's close or create one yourself. If +your system doesn't have a built-in terminal, you'll also need +cpxvdu.asm (which contains terminal drivers). Set the appropriate +switch in cpxtyp.asm to true (or put one in for your system if it isn't +supported), set a terminal-switch to TRUE (or select Generic CRT if +nothing's listed for your terminal or put your terminal's codes into a +family file or cpxvdu.asm), get LASM or M80 and compile away. L80 can be +used to link the system-dependent file but you must be sure to do a +/P:7000 as the first part of the L80 command tail so the REL-file has +the proper absolute address. You still need MLOAD, DDT, DDTZ or +whatever to combine the files, so why not get LASM and use it, too. +Hope this message along with Mr. Tagliapietra's message helps you. Feel +free to ask either him or me any Kermit-80 queries you'd like. + By the way, I think you'll like Kermit-80 4.11. It's got support +for many REMOTE commands (advanced server commands). It's only drawback +is that it doesn't support repeat-prefixing or extended-length packets +yet -- get QTERM version 43E (along with my bug fix for it) to get those +features. + Cheers! + -- Mike Freeman K7UIJ -- + 301 N.E. 107th Street + Vancouver, WA 98685 + (206)574-8221 (home) + (206)690-2307 (work) +P.S. If your system isn't supported, you'll also need to (a) create a +family switch in cpxtyp.asm or (b) set sysfam TRUE and put your code in +cpxsys.asm/cpxsy2.asm. Then compile and link. -- Mike Freeman K7UIJ -- diff --git a/cpkerm.bwr b/cpkerm.bwr new file mode 100644 index 0000000..538cea4 --- /dev/null +++ b/cpkerm.bwr @@ -0,0 +1,565 @@ +From: Vace Kundakci +To: Frank da Cruz +Subject: Something in my rdr + +Dear VVVCU AT CUVMBA + +Yesterday I tried to contact OBSchou@Loughborough.Multics +on JANET, for this was the address I found in the file +CPAAA TXT on KERMSRV AT CUVMBA. I wanted to report a bug +in CP/M kermit and to ask him a question about two source +files on KERMSRV. Would you please be so kind to forward +this message below to the one who is responsible for the +files CP???? ASM on KERMSRV AT CUVMBA. Thanks a lot. + +While assembling a new KERMIT 4.09 for my good old CP/M 3 +computer I found a bug in the system independent part of +the KERMIT source. The routine PAUSIT in the file +CPSUTL.ASM doesn't end with a ret. As a result of this the +program enters the routine GETFIL and falls trough it every +time PAUSIT is executed: the disk drive is activated. +This ends in an error when PAUSIT is executed after a +wildcard operation. +The bug is fixed by placing a ret instruction at the end of +the PAUSIT routine. + +After creating a new CPSKER.HEX it appeared, that the file +CPSKER.HEX on KERMSRV AT CUVMA used the files CPSPK1.ASM +update 12 of 1-feb-88 and CPSPK2.ASM update 5 of 1-feb-88. +The file CPSPK1.ASM on KERMSRV AT CUVMA is update 11 of +28-jul-87, whereas CPSPK2.ASM is update 4 of 27-oct-87. +Would you please be so kind to get the two files updated +on KERMSRV ON CUVMA, so I can build an updated version of +my KERMIT without the bug in CPSUTL.ASM. + +Thank you in advance! Hans Petri + +WINFPET AT HDETUD1 on EARN +/Vace +------ + +Date: Sun, 12 Mar 89 03:22:57 EST +From: Mark W. Eichin +Subject: Bug report, CP/M kermit (and other notes) +Keywords: CP/M Kermit + +The latest kermit from ~ftp/kermit/a/cp[sx]*.asm has a minor (but +visible) bug. In cpspk2.asm, line 341 is + + mvi a,'$' ; dollar terminate string + call prtstr + +(these are after the label gofi7g.) + +The problem is that the '$' has to be actually moved into the string +to terminate it. Adding the line + + stax d + +between the above two solves the problem. + +The bug manifests itself when doing a "receive": as soon as the remote host +sends the filename, it gets displayed on the local screen, followed by +arbitrarily large amounts of garbage (whatever code followed the filename +buffer up to the first '$', which for me tended to be about 4-5 lines of +garbage...) + +On a related note: I have successfully ported kermit to TurboDOS (a CP/M-like +operating system written by Software 2000) so that it uses the "T-functions", +a set of standard extensions to CP/M, particularly a set of generic serial +routines. I have only tested it on my personal system, a custom port of +TurboDOS to the Radio Shack Model 4P, but it is likely to work on any TurboDOS +system. Are you interested in adding this to your collection? Are there any +stylistic constraints you require on submitted code? (I would like to see it +included, if only because there have been "people working on" TurboDOS +versions, according to your list, for at least 4 years now.) + +Also, I have patches to the Simtel20 PD2:XASM.SHAR[12], an 8080 +assembler which runs under UNIX, which add a LINK command, that enables it to +assemble the entire CP/M Kermit release. I will be submitting them to the +Simtel20 people, but I can send them to you as well if you are interested. + +Thanks for providing such a good *FREE* system! + + Mark Eichin + + + +------------------------------ + +. From BPA +. Postmark:30-Aug-89:09:32:15 +. To MAILER +. Expires:29-Sep-89:09:31:49 +. Subject: bitnet%"fdccu@cuvma" +Re: Problems with CP/M Kermit Version 4.09 + +Following is a list of problems and their solutions for CP/M Kermit +Version 4.09. Bear in mind that the latest version of CPSPK1.ASM I have is +edit (4) and of CPSPK2.ASM is edit (11). + +Problem: When the terminal is in "quiet" mode, initiation of file-transfers + causes lots of garbage to appear on the screen which is distracting + and which raises havoc with voice output devices. +Diagnosis: In the module CPXCOM.ASM, the routine "prtstr" has two flavors: + one for machines which cannot display control-characters via BDOS + function 9 and one which can display such characters via function 9. + In this latter case, only register pair BC is saved around the BDOS + call. This is insufficient as BDOS also clobbers register pairs + DE and HL during the call. In "quiet" mode, at least one of these + pairs is expected to remain constant. +Solution: Save register pairs DE and HL around the function 9 BDOS call. + +Problem: When GETting a file, the initialization routine "init" is executed + twice. This doesn't harm anything and may not be noticeeable in + print but is most annoying when using voice output as "init" types + out the Kermit version and screen initialization strings and thus + one hears them twice. +Solution: In the module CPSPK1.ASM, move the label "read0a" down one line + so that the common code for the "receive" and "get" commands starts + just *after* the call to "init" is made in "receive" mode. + +Problem: With "auto-receive" set to "off", after a RECEIVE has completed, + Kermit waits for Console input; then looks for more data to receive + when there is none. +Diagnosis: In the module CPSPK1.ASM, when the status of "auto-receive" is + checked, the wrong label is branched to if "auto-receive" is OFF. +Solution: Change the instruction "jz read5c" to "jz read5b". + +Problem: Files whose filenames are less then 8 characters in length have + ASCII zeros ("0") appended to them. +Diagnosis: In the module CPSPK2.ASM, after label "gofi7b", where the status + of "file-warning" is checked, the code for the appending of "&" + characters to filenames if the file already exists on disk has been + commented out and new code putting numeric suffixes on filenames + in this case has been substituted. In the process, the code for + checking for a file's existence has been accidentally commented out. + Thus, if "file-warning" is "on", *every* file is assumed to have + a duplicate and a numeric suffix is added to each filename. In + addition, no warning of this is given on-screen. +Solution: (1) Uncomment the code which checks for the existence of each file. + (2) Uncomment the code which prints the file-warning error message + and put a "lxi d,fnbuf" instruction between the "stax d" shown in + CPKERM.BWR and the call to "prtstr" so that routine can print the + filename of any file whose existence has been detected. + +Problem: In the files CPXSY2.ASM and CPXSYS.ASM, various conditionals are + ignored. +Diagnosis: In many places, a semicolon is followed by a form-feed which is + immediately followed by an "IF" conditional. My copy of LASM in- + terprets the "IF" as a comment. +Solution: Make the "IF" into ";IF". + +With these changes, Kermit-80 performs like a champ. +Following are file comparisons showing the changes noted above. + +************ +File DISK$USER:[OGRFJMF.KERMIT.CPM]CPXCOM.ASM;1 + 418 push b +****** +File DISK$USER:[OGRFJMF.KERMIT.CPM.HP125]CPXCOM.ASM;1 + 418 PUSH H + 419 PUSH D + 420 push b +************ +************ +File DISK$USER:[OGRFJMF.KERMIT.CPM]CPXCOM.ASM;1 + 422 ret ; all done for good machines +****** +File DISK$USER:[OGRFJMF.KERMIT.CPM.HP125]CPXCOM.ASM;1 + 424 POP D + 425 POP H + 426 ret ; all done for good machines +************ + +Number of difference sections found: 2 +Number of difference records found: 4 + +DIFFERENCES /IGNORE=()/MERGED=1/OUTPUT=DISK$USER:[OGRFJMF.KERMIT.CPM.HP125]CPXCO +M.DIF;1- + DISK$USER:[OGRFJMF.KERMIT.CPM]CPXCOM.ASM;1- + DISK$USER:[OGRFJMF.KERMIT.CPM.HP125]CPXCOM.ASM;1 + +File 1) DSKE:CPSPK1.ASM[10,50,KERMIT,CPM] created: 1940 26-Aug-89 +File 2) DSKE:CPSPK1.ASM[10,50,KERMIT,CPM,HP125] created: 2247 27-Aug-89 + +1)1 read0a: call init ;clear line, initialise buffers +1) lxi d,remnam ;[gnn] save local name here +1) mvi a,cmtxt ;[gnn] +**** +2)1 call init ;clear line, initialise buffers +2) read0a: lxi d,remnam ;[gnn] save local name here +2) mvi a,cmtxt ;[gnn] +************** +1)2 jz read5c ; no autoreceives, so drop out +1) lxi d,anymes ; load up Press any key to continue +**** +2)2 jz read5b ; no autoreceives, so drop out +2) lxi d,anymes ; load up Press any key to continue +************** + +File 1) DSKE:CPSPK2.ASM[10,50,KERMIT,CPM] created: 0829 28-Aug-89 +File 2) DSKE:CPSPK2.ASM[10,50,KERMIT,CPM,HP125] created: 2259 27-Aug-89 + +1)1 ; mvi c,openf ;See if the file exists. +1) ; lxi d,fcb +1) ; call bdos +1) ; cpi 0FFH ;Does it exist? +1) ; jz gofil9 ;If not create it. +1) ; lxi d,infms5 +1) ; call error3 +1) ; lda temp2 ;Get the number of chars in the file nam +e. +**** +2)1 mvi c,openf ;See if the file exists. +2) lxi d,fcb +2) call bdos +2) cpi 0FFH ;Does it exist? +2) jz gofil9 ;If not create it. +2) lxi d,infms5 +2) call error3 +2) ; lda temp2 ;Get the number of chars in the file nam +e. +************** +1)1 call prtstr ; write string to console +**** +2)1 lxi d,fnbuf ;[MF]Point to string +2) call prtstr ; write string to console +************** + + + + + + + + + + +I may be reached on BITNET by E-mail to mailer@uwalocke with the subject-line +containing the phrase . +-- Mike Freeman; Bonneville Power Administration; Vancouver, Wa; +Telephone (206)690-2307 -- + +------------------------------ + +Date: Thu, 31 Aug 89 13:07 PST +From: +Subject: Re: Inconsistency in CP/M Kermit Version 4.09 + +Problem: Comments in the source-files indicate that the routine which + processes the "Set Port" command, "prtset" in CPSCOM.ASM, returns + the port value in the register pair DE for the system-dependent + routine to process. In fact, the value is returned in the HL + register pair. +Solution: Either (1) put a "xchg" instruction after the "shld port" + instruction in "prtset" and modify all port-setting routines which + expect the port parameter in HL, e.g., that for those systems using + iobyte redirection, to get the value from DE (this would be, I + suppose, philosophically correct since this would correspond to + the way the baud-rate-setting routine handles things) or + (2) change the comments in CPSDAT.ASM and CPXLNK.ASM to show the + return value from "prtset" in HL and modify the "sysprt" routines + which expect the port value in DE to get it from HL. I chose this + approach as it appeared that this would involve less code changes + (the only system I saw getting port values from DE was the Lobo). + Below are FILCOMs of the appropriate files showing these changes. + +File 1) DSKE:CPSDAT.ASM[10,50,KERMIT,CPM] created: 1925 26-Aug-89 +File 2) DSKE:CPSDAT.ASM[10,50] created: 1202 31-Aug-89 + +1)4 ; called with value from table in DE +1) sysscr: jmp $-$ ; screen setup for file transfer +**** +2)4 ; called with value from table in HL +2) sysscr: jmp $-$ ; screen setup for file transfer +************** + +File 1) DSKE:CPXLNK.ASM[10,50,KERMIT,CPM] created: 1826 26-Aug-89 +File 2) DSKE:CPXLNK.ASM[10,50] created: 1157 31-Aug-89 + +1)1 ; called with value from table in DE +1) jmp sysscr ; screen setup for file transfer +**** +2)1 ; called with value from table in HL +2) jmp sysscr ; screen setup for file transfer +************** + +File 1) DSKE:CPXSY2.ASM[10,50,KERMIT,CPM] created: 0743 28-Aug-89 +File 2) DSKE:CPXSY2.ASM[10,50] created: 1210 31-Aug-89 + +1)4 mov a,e ;[hh] get the data port value and store +at +1) sta outmd3+1 ;[hh] the two places we use... +**** +2)4 mov a,l ;[hh] get the data port value and store +at +2) sta outmd3+1 ;[hh] the two places we use... +************** +1)4 mov a,d ;[hh] now get the baud rate port value +1) sta getbd+1 ;[hh] store it in the two places we use. +.. +**** +2)4 mov a,h ;[hh] now get the baud rate port value +2) sta getbd+1 ;[hh] store it in the two places we use. +.. +************** + +E-mail replies may be sent to me via Bitnet at mailer@uwalocke. +Please place on the subject line the phrase (less the angle- +brackets). +-- Mike Freeman (routing MORF); Bonneville Power Administration; P.O. Box +491; Vancouver, Wa 98666; Telephone (206)690-2307 -- + +------------------------------ + +Date: Sat, 25 Nov 89 08:16:41 pst +From: holmes@well.sf.ca.us (Tim Holmes) +To: jrd@watsun.cc.columbia.edu +Subject: Re: Kermit for Epson + +The Epson PX-8, also known as the Geneva, is a CP/M 2.2 machine. It is +a portable. It is listed on the list of Kermit versions by machine as +Epson Px-8; program version 4.09. This version I have never been able +to do anything but get the machine to freeze up. An earlier version, +4.05, basically works, but with some problems, such as handshaking +and flow control (I think). The PX-4, better known as the HX-40, is +a similar computer with an even smaller screen. + +The PX-8 version comes on the "A" tape. By the way, I cannot get the +"Generic" kermit versions to work on the HX-40, whereas they basically +work on the PX-8. + +Thanks again. + +------------------------------ + +Date: Thu, 1 Mar 90 16:48 PST +From: +Subject: dec10%"BPA" originated mail follows:- +To: fdccu@cuvma +Original_To: JNET%"fdccu@cuvma" + +. From BPA +. Postmark:26-Feb-90:09:36:20 +. To MAILER +. Expires:28-Mar-90:09:35:00 +. Subject: bitnet%"fdccu@cuvma" +Re: Problem with CP/M-80 Kermit + + I have come up with a better, more general solution to the problem +involving Kermit's interpretation of characters at the beggining of the CP/M +command-line than the one I sent you a few days ago. This more general +solution and the description of the problem/diagnosis appear below: + + PROBLEM + +B>A:KERMIT ;SET FI B;SET BL 3;SET TER Q +Kermit-80 v4.09 configured for HP-125 Series 100 + +For help, type ? at any point in a command +Kermit-80 0B:> +?Ambiguous +Kermit-80 0B:>SET FI B +Kermit-80 0B:>SET BL 3 +Kermit-80 0B:>SET TER Q +B> + + DIAGNOSIS + + + CP/M begins the buffer containing the tail to the command-line with +the count of characters in the buffer, followed by the characters in the +command- tail, beginning with the space(s) immediately following the +transient program name (in this case, Kermit). Kermit does not ignore +leading spaces when reading command input from the CP/M command-line. +Kermit therefore interprets the leading space(s) as part of the first +command to be executed, leading to the "?Ambiguous" message. + + + SOLUTION + + + Rewrite Kermit so that leading spaces in input from the CP/M +command-line are ignored. This is done by adding code just prior to +label CMINB1 in the module CPSCMD.ASM and adding a label a few lines +following the label CMINB1 in the same module. This gives, as a +side-effect, the advantage that a leading semicolon is not required +before the commands Kermit is to execute from the command-line, so that +a command-line like: +A>KERMIT SET FILE-MODE ASCII;SET TERMINAL QUIET;SET NO-EXIT +executes without errors. A Vax DIFFERENCES output showing the changes +in CPSCMD.ASM follows: + + +************ +File DISK$USER:[OGRFJMF]CPSCMD.ASM;1 + 981 cminb1: lxi h,cmccnt ;Increment the char count. +****** +File DISK$USER:[OGRFJMF]CPSCMD.ASM;2 + 981 lda takflg ;[JMF]See if chars from file or command- +line + 982 ora a ;[JMF]... + 983 jz cminb1 ;[JMF]No + 984 ani 1 ;[JMF]Yes, char from command-line? + 985 jnz cminb1 ;[JMF]No + 986 cminb0: mvi c,conin ;[JMF]Yes, get a character + 987 call bdos ;[JMF]... + 988 cpi 40o ;[JMF]If leading characters are spaces + 989 jz cminb0 ;[JMF]Ignore them, else + 990 lxi h,cmccnt ;Increment the char count. + 991 inr m + 992 jmp cmin1a ;[JMF]and proceed with command buffer + 993 cminb1: lxi h,cmccnt ;Increment the char count. +************ +************ +File DISK$USER:[OGRFJMF]CPSCMD.ASM;1 + 985 lhld cmcptr ;Get the pointer into the buffer. + 986 mov m,a ;Put it in the buffer. +****** +File DISK$USER:[OGRFJMF]CPSCMD.ASM;2 + 997 cmin1a: lhld cmcptr ;Get the pointer into the buffer. + 998 mov m,a ;Put it in the buffer. +************ + +Number of difference sections found: 2 +Number of difference records found: 13 + +DIFFERENCES /IGNORE=()/MERGED=1/OUTPUT=DISK$USER:[OGRFJMF]CPSCMD.DIF;1- + DISK$USER:[OGRFJMF]CPSCMD.ASM;1- + DISK$USER:[OGRFJMF]CPSCMD.ASM;2 + + + I can be addressed via E-mail on Bitnet at address +MAILER@UWALOCKE. Place the following as the subject of the message: + (less the angle-brackets). Thanks. +Michael Freeman (Routing MORF) +Bonneville Power Administration +P.O. Box 491 +Vancouver, WA 98666 +Telephone (206)690-2307 + +------------------------------ + +Date: Mon, 14 May 90 10:26:54 EDT +From: rochester!ames!claris!voder!nsc!thoreau.nsc.com!rtodd@columbia.edu + (Ron Todd) +To: fdc@watsun.cc.columbia.edu +Subject: My kermit problem( Kermit-80 to Kermit-32) + +Frank, + + I finally got my Kermit-80 (v4.09) on the Kaypro II to work with our +Kermit-32 (v3.1.066) (the problem had to do with the protocol timing out +during disk sector writes on the Kaypro). The fix is some where in the +combination of sets I am using, I tried your suggestion of turning off the +timeouts on the mainframe. The significant sets I am using are: + +Kermit-80 + set flow on + +Kermit-32 + set server_time 0 + set send time 0 + +VMS + set term/readsync/ttsync + +DEC-Server + set session pasthru + + So far I have only tried ascii file transfer but will be testing binary +soon, I have a feeling that that should work also. I am mostly using the +GET command with Kermit-32 running in server so I may not need to do the +"set send time". I am sure I need to use the "set session pasthru" on the +server and probably atleast one of the "sync" options on the "set term" +of the VMS side. + + Thanks for your help, I'll e-mail the final minimum set to you and also +post it to the net as a followup to help anyone else who may be running +into the same or similar problems. + +Regards, + Ron Todd, K3FR + +------------------------------ + +Subject: Kermit-80 4.09 ported to new system, bug report +From: Russell Lang +Date: Tue, 19 Jun 90 11:04:47 +1000 +Sender: eln272v@monu1.cc.monash.edu.au + +Frank, + I have ported Kermit-80 4.09 to an Australian CP/M computer, + the Microbee. I have created a new system dependent file + CPXBEE.ASM for this computer. + I sent some mail to Bertil Schou, but he informs me that he is + no longer maintaining CP/M kermit. + Could you please tell me who is currently working on CP/M Kermit? + + + During the testing of kermit-80 on the Microbee, I found a bug + in the system independent part of kermit. + +Bug report for Kermit-80 4.09. + +Problem: When receiving a file with WARNING ON, kermit-80 will avoid + overwriting an existing file by creating a unique file name. + This unique file will have the attributes of the file being avoided. + If the created file is opened with Read-Only attribute, kermit-80 is + unable to write to the file, and crashes with the message: + BDOS Err on A: File R/O + +Diagnosis: Kermit checks for the existence of a file by attempting + to open it. If the file exists, its directory entry is copied + into the FCB. Kermit then modifies the file name in the FCB + in an attempt to find a unique name. The name in the FCB has + the attributes of the previously existing file, so when kermit + eventually finds a unique name, it creates a file with the + attributes of the most recently opened file! + +Solution: + Clear bit 7 (attribute bit) of all file name and type characters + before opening/creating file. + A Unix context diff for CPSPK2.ASM (4) 27-Oct-87 is at the + end of this mail. + + +-- +Russell Lang Email: rjl@monu1.cc.monash.edu.au Phone: (03) 565 3460 +Department of Electrical and Computer Systems Engineering +Monash University, Australia + +diff -c cpspk2.asm cpxpk2.asm.new +*** cpspk2.asm Tue Jun 19 10:48:54 1990 +--- cpspk2.asm.new Tue Jun 19 10:52:30 1990 +*************** +*** 299,305 + ; + ; Part 2) open the file (if success, then it exists) + +! gofi7d: lxi d,fcb + mvi c,openf + call BDOS + inr a ; if 0ffh returned, error (ie does not exist) + +--- 299,315 ----- + ; + ; Part 2) open the file (if success, then it exists) + +! gofi7d: +! ;zero the attribute bits. [rjl@monu1.cc.monash.edu.au] +! lxi h,fcb+1 ;[rjl] +! mvi c,11 ;[rjl] +! gofi7z: mov a,m ;[rjl] +! ani 07fh ;[rjl] +! mov m,a ;[rjl] +! inx h ;[rjl] +! dcr c ;[rjl] +! jnz gofi7z ;[rjl] +! lxi d,fcb + mvi c,openf + call BDOS + inr a ; if 0ffh returned, error (ie does not exist) + +------------------------------ diff --git a/cpkerm.mss b/cpkerm.mss new file mode 100644 index 0000000..2318208 --- /dev/null +++ b/cpkerm.mss @@ -0,0 +1,2616 @@ +@Part(CPKERM,root="kuser") +@string(-cpmversion="@q<4.11>") +@Chapter +@index + +@case(device,file="********@* +This document is formatted as an ordinary, plain text ASCII disk file. +Typeset copies are available in the Kermit User Guide from Columbia +University. Changes should be made to CPKERM.MSS.@*********") + +@Begin +@i(Program:)@\Mike Freeman, Bonneville Power Administration, Vancouver, WA, +USA, with contributions from many others. + +@i(Language:)@\8080 Assembler, LASM, M80, or MAC80 + +@i(Version:)@\@value(-cpmversion) + +@i(Date:)@\April 1, 1991 + +@i(Documentation:)@ @ Christine Gianone, Columbia University, with +contributions from many others. + +@end +@label<-k80> + +@i +@begin +@tabclear()@tabset(3.5inches,4.0inches) +Local operation:@\Yes +Remote operation:@\Partial, Auto-receive only +Login scipts:@\Yes, limited +Transfer text files:@\Yes +Transfer binary files:@\Yes +Wildcard send:@\Yes +File transfer interruption:@\Yes +Filename collision avoidance:@\Yes +Can time out:@\Yes +8th-bit prefixing:@\Yes +Repeat count prefixing:@\No +Alternate block checks:@\Yes +Terminal emulation:@\Yes, VT52 and others +Communication settings:@\Yes +Support for dial-out modems:@\No +Transmit BREAK:@\Yes; most versions +IBM communication:@\Yes +Transaction logging:@\No +Debug logging:@\No +Session logging:@\Yes +Raw file transmit:@\Yes +Act as server:@\No +Talk to server:@\Yes +Advanced commands for servers:@\Yes +Command/init files:@\Yes +Command macros:@\No +Local file management:@\Yes +Handle file attributes:@\No +Long packets:@\No +International Character Sets:@\No +Sliding Windows:@\No +Printer control:@\Yes, limited +@end + +@Section + +CP/M Kermit is the first of all the Kermit programs. It was originally +written by Bill Catchings of Columbia University in 1981. Over the years, +contributions have been added by many people, including +Charles Carvalho (ACC), +Bernie Eiben (DEC), Nick Bush (Stevens Institute of Technology), +John Bray (University of Tennessee), Bruce Tanner (Cerritos College), +Greg Small (University of California at Berkeley), +Kimmo Laaksonen (Helskini University of Technology), +Brian Robertson (Aberdeen University), A.J. Cole (Leeds University), +John Shearwood (Birmingham University), +Tony Addyman (Salford University), Godfrey Nix and Martin Carter +(Nottingham University), Ian Young (Edinburgh University), Chris Miles +(Manchester University), Richard Russell, Dave Roberts, +and many, many others. + +Version 4.11 is the work of Mike Freeman of the Bonneville Power +Administration in Vancouver, WA, USA, with assistance from Russell Lang of +Monash University in Australia, Jay S Rouman of Mt Pleasant MI, and others. + +@section + +Features added since version 4.09 include: +@begin +SET COLLISION {BACKUP/DISCARD/OVERWRITE/RENAME} + +SET INCOMPLETE-FILES {DISCARD/KEEP} + +Many REMOTE commands, including some REMOTE SET commands + +RENAME command to rename CP/M files from within Kermit-80 + +SET RECEIVE/SEND PACKET-LENGTH nn (nn <= 94) + +SET AUTORECEIVE ON now implies that Kermit-80 ALWAYS tries to +receive more files when a RECEIVE transaction has completed. The +user can cancel with ^C. + +QUIT is now a synonym for EXIT. + +STAY is now a synonym for SET NO-EXIT. + +CONNECT, RECEIVE and SEND may be abbreviated to C, R and S, +respectively. + +Cancellation of TAKE, TYPE, and PRINT commands from the keyboard. + +Many bug fixes. + +Kermit-80 Version 4.11 now supports the Microbee family of +computers (56K, 64K, 128K and 256K) manufactured by +Microbee Systems, Ltd, of Australia. + +Kermit-80 now supports the Ampro Little Board system. +@end + +@section + +Use the SET command to establish necessary communication parameters like +SPEED and PARITY. Use the CONNECT to establish a terminal connection to +the remote computer. If you are dialing out with a modem, type the necessary +dialing commands to the modem first. The dialing process can be automated +to some extent using a TAKE command file containing INPUT, OUTPUT, and PAUSE +commands. Then log in to the remote computer or service and conduct a session. + +To transfer a text file, start the Kermit program on the remote computer and +tell it to SEND the desired file (if uploading) or to RECEIVE (if +downloading). "Escape back" to CP/M Kermit, usually by typing Ctrl-] (hold +down the Control key and press the right bracket key) and then type the letter +C. At the CP/M Kermit prompt type RECEIVE (if you gave a SEND command to the +remote Kermit) or SEND @i (if you gave a receive command to the +remote Kermit). + +To transfer a binary file, give the command SET FILE TYPE BINARY to the remote +Kermit and SET FILE-MODE BINARY to CP/M Kermit before issuing any SEND or +RECEIVE commands. + +Multiple files of the same type (text or binary) can be transferred in a +single operation using "wildcard notation" (including special characters like +asterisk in the filename). + +When file transfer is complete, CONNECT back to the remote computer, +use the EXIT command to exit from the remote Kermit program, finish your work +on the remote computer, log out from it, escape back to CP/M Kermit again, +and EXIT from CP/M Kermit. + +The remote Kermit may also be put into "server mode" to simplify these +operations. Give the SERVER command to the remote Kermit, escape back to CP/M +Kermit, and then issue SEND commands to send files (upload), GET @i +commands to receive (download) files, REMOTE commands to request various other +services (like directory listings) from the remote Kermit. When you are done, +give a BYE command to terminate your remote session, or a FINISH command to +tell the remote Kermit to return to its prompt so you can CONNECT back and +conduct further business. + +That's all there is to it. + +@Section + +There are essentially two versions of CP/M - Versions 2.2 +and 3.0 (sometimes also called CP/M PLUS.) + +CP/M-80 Version 2@q<.>2 is run in +a single 64 Kbyte "page", usually the largest amount of memory on +Z80 or 8080 systems. The BIOS (Basic input/output system), +BDOS (Basic Disk Operating System) and CCP (Command console processor) +all share memory with any transient program the user may wish to run. +Some basic commands are +available through the CCP, like DIR, ERA etc,while others are loaded +from disk into the transient program area and run as a program, +like PIP or STAT. + +CP/M Version 3@q<.>0 (or CP/M PLUS) effectively removes the requirement +of having the CCP and BDOS along with a chunk of the BIOS code being +resident in the single 64k byte page of memory. This allows even more +space for programs in the TPA, but still a little less than the maximum +of 64k. It is substantially different from CP/M version 2@q<.>2, with +lots of added features. Kermit-80 uses very few additional version +3@q<.>0 features, and only where absolutely necessary. + +CP/M file specifications are of +the form @q(DEV:XXXXXXXX.YYY), where +@begin + @q(DEV:)@\is a @i, +normally the A:@ or B:@ floppy. If omitted, the device name defaults +to your connected diskette. + +@q(XXXXXXXX)@\is a @i of up to 8 characters. + +@q(YYY)@\is the @i, up to 3 characters. + @end + File names and file types may contain letters, digits, and some +special characters, including dash, dollar sign, and underscore, but +no imbedded spaces. Upper and lower case letters are equivalent. + + "Wildcard" file-@|group specifications are permitted in file names +and file types (but not device names) within certain contexts; a "@q(*)" +matches a whole field, a "@q(?)" matches a single character, including +space. Examples: "@q(*.F??)" specifies all files whose @i start +with F and are 1, 2, or 3 characters long; "@q(F?.*)" specifies all +files whose names start with F and are no more than two characters +long (before the trailing spaces). + +The five CP/M commands are: + @Begin +DIR @i@\Lists the the names of the specified files. The +default file specification is "*.*". Example: @w<"@q(DIR B:*.FOR)">. + +ERA @i@\Erases (deletes) the specified file(s); wildcards allowed. + +REN @i @i@\Changes the name of a file from @i to +@i, e.g.@* +@w<"@q(REN NEW.FOR=OLD.FOR)">. + +SAVE@\Saves the specified number of memory blocks into a file. +(Not on CP/M Plus systems) + +TYPE @i@\Types the specified file on the screen, e.g. +@w<"@q(TYPE FOO.TXT)">. + @End +The most important programs are: + @Begin +STAT@\Gives statistics on disk usage; sets and displays IOBYTE. +(Not on CP/M Plus systems) + +PIP@\@u

eripheral @unterchange @u

rogram. Copies files. In +response to the "@q(*)" prompt, give a command of the form + @example + Wildcards ("@q(*)" for a whole field or "@q(?)" for a letter) can be used. +Examples: "@q(A:=B:*.*)" to copy a whole disk, "@q(A:=B:*.FOR)" to copy all +the Fortran programs from disk B to disk A. If the disk specification +is omitted, your "connected" disk is assumed. Command line arguments +are also accepted, e.g. "@q(PIP A:=B:*.*)". + +@End + +There are equivalent commands for CP/M Version 3.0, but are not loaded into +memory in the same way as for CP/M Version 2.2. +For further information on CP/M, consult your microcomputer manual or +a CP/M handbook. + +@Section + +Since Kermit-80 runs on a standalone micro, it is always in control of the +screen -- it is always in "@i@index mode". It includes a +terminal emulator for establishing a connection to a remote computer or +service, and during file transfer, it keeps the screen updated with the +file name and the packet number, whether sending or receiving. + +@index Kermit-80 is capable of an imprecise or "fuzzy" timeout on an +input request, and can break deadlocks automatically. In most cases, this is +not important, because the Kermit program on the other side is most likely +able to handle the timeouts. The timeouts done by Kermit-80 are fuzzy because +they depend on the speed of the processor and other factors that can vary from +system to system. + +If, despite the timeout capability, the transmission appears to be stuck (and +you can tell that this has happened if the screen fails to change for a while) +you can type carriage return to have the micro do what it would have done on a +@Index[Timeout] timeout, namely NAK@Index[NAK] the expected packet to +cause theforeign host to send it again (or, if the micro is sending, to +retransmit the last packet). Micro/@|micro or micro/@|IBM-@|mainframe +transfers could require this kind of manual intervention. + +File transfers may be interrupted in several ways. +@begin +@Index[Control-C] +Control-C@\This will return you to Kermit-80 command level immediately, so that +you can connect back to the remote system, or take any other desired action. + +@Index[Control-X] +Control-X@\When sending a file, this will terminate the sending of the current +file with a signal to the KERMIT on the other side to discard what it got so +far. If there are more files to be sent, KERMIT-80 will go on to the next one. +When receiving a file, KERMIT-80 will send a signal to the remote KERMIT to +stop sending this file. If the remote KERMIT understands this signal (not all +implementations of KERMIT do), it will comply, otherwise the file will keep +coming. In any case, the remote KERMIT will go on to the next file in the +group, if any. + +@Index[Control-Z] +Control-Z@\Like Control-X, except if a file group is being transmitted, this +will stop the transmission of the entire group. If only a single file is being +transmitted, it works exactly like Control-X. + +@Index[Carriage Return] +@Index[CR] +Carriage Return@\If you type a carriage return Kermit-80 will resend the +current packet. You may do this repeatedly, up to the packet retry limit +(somewhere between 5 and 16 times) for a particular packet. +@end + +@heading + +Kermit-80 is an interactive program. It issues a prompt, you type a command. +The process repeats until you give the EXIT command to leave the program. + +Commands consist of keywords, filenames, and numbers. Keywords may be +abbreviated to minumum unique length. "?" may be typed to request a menu of +the available options for the current field at any point in a command. ESC +may be typed at any point in a command to fill out the current keyword or +filename; if sufficient characters have not been typed to identify the current +field uniquely, Kermit-80 will sound a beep and allow you to continue from +that point. Here are Kermit-80's commands: +@begin +@Index[Break] +BREAK@\Send a BREAK condition to the remote computer. This is only possible +if your system is capable of sending breaks. It is intended to be used with +PAUSE, OUTPUT, etc and the TAKE command to do wierd and wonderful things, like +automatic logging on to a remote host. + +@Index[Bye] +BYE@\When talking to a remote Kermit Server, this command shuts down +the server and logs it out, and also exits from Kermit-80 to CP/M command +level. + +@Index[Virtual Terminal]@Index[Escape Character]@Index[Connect] +CONNECT@\Establish a terminal connection to the computer, service, or device +that is +connected to the serial port, i.e.@ pass all typein to the serial port and +display all input from the serial port on the screen. Also, emulate a DEC VT52 +to allow cursor control, screen clearing, etc., if VT52-EMULATION is ON (see +below), in which case you should also set your terminal type on the remote host +to VT52. (Some versions emulate other terminals.) The CONNECT command may +be abbreviated by the single letter C. + +@\Warning: VT52 emulation is only successful if your system or its +attached terminal can do the same sort of functions as a genuine +VT52. Things to beware of are cursor addressing, clear to end of page +and end of line, clear screen, home cursor, and clear-and-home +functions. The useability of VT52 emulation depends entirely on +how many of the VT52 functions can be emulated by your micro or terminal. + +@\The escape character differs from micro to micro; when you issue +the CONNECT command, the micro will print a message telling you how +to get back. The escape sequence is generally an uncommonly-@|used +control character, like CTRL-backslash or CTRL-rightbracket, followed +by a single letter "command": +@begin +C@\Close Connection, return to @q(Kermit-80>) command level. + +S@\Display Status of connection, but maintain remote connection. + +@q@\List available single-character commands. + +0@\(zero) Send a null (0) character. + +B@\Send a BREAK signal. Most systems provide this function. + +D@\Drop the line. Used on the Apple with modem. Automatically +closes the connection after dropping the line. The TORCH system +acknowledges this command but does nothing. + +P@\Toggle printer on or off. Allows you to copy whatever goes +to the screen to the printer. + +S@\Temporarily suspend logging to the log file. + +Q@\Restart logging to the log file + +@q<^]>@\(or whatever - a second copy of the escape character) Send the +escape character itself to the remote host. + @end + +@Index[Copy] +@Index[File Copying] +COPY @i @i +@\Copy a named file to another file, either on the same drive or another +drive. + +@Index[Directory] +DIRECTORY@\This provides a directory listing of the specified files. +If no files are +specified, all files on the default disk are listed. File sizes, in K, are +included. You may interrupt the listing at any time by typing any character. +The listing (even if interrupted) concludes with a display of the amount of +free storage left on the disk. You can inhibit the display of file sizes by +SET DIRECTORY OFF. + +@Index[Erase] +ERASE @i@\This executes the CP/M ERA command on the specified +file(s). The names of the files being erased are not displayed. + +@Index[Exit] +EXIT@\Quit back to CP/M. The return is made by a JMP 0 (Warmstart). QUIT +is a synonym for EXIT. + +@Index[FINISH]FINISH@\Like LOGOUT, but shuts down the remote server without +logging it out. Leaves you at Kermit-80 command level; subsequent CONNECT +commands will put you back at host system command level. + +@Index[GET]GET @i [@i] +@\When Kermit-80 is talking to a Kermit Server on +the host, you should use the GET command to request the server to send +files to you, for example: +@example +You may specify a local filename if you want to save the remote file +under a different filename. +Limitation: If you request an alternate block check type using the SET BLOCK +command, the GET command will not communicate it to the remote server. If you +want to have type 2 or 3 block checks done when getting files from the server, +you have to issue the appropriate SET BLOCK command to the remote KERMIT before +putting it in server mode. + +@Index[Help]HELP@\List all these commands, with a short description +on what the commands do. A question mark will do the same. If you have +already typed a command but do not know what the parameters are, type a +space (to indicate the end of the command) and a question mark. You will +be informed of what Kermit can expect at that stage. + +@Index[Input]INPUT @i @i@\Setup a text line and time delay +for your CP/M system to expect from the host, then wait up to the given number +of seconds (approximately) for text to be sent to your CP/M-80 system. + +@Index[LOG]LOG @i@\When CONNECTed to a foreign host as a terminal, +log the terminal session to the specified diskette file. This functionality +depends to some extent on the remote host's ability to do +@Index[XON/XOFF]XON/XOFF flow control, and does not guarantee a complete +transcript (after all, that's what the KERMIT protocol is for). The log file +is closed when the connection is closed by typing the escape character followed +by the single-@|character command "C". + +@Index[Append] +@\It is possible to temporarily suspend logging during connect +state. Typing an escape sequence can turn file logging on +( R for Resume) or off ( Q for quiet). + +@\Re-entering connect state will re-open the previously opened +log file and append to that file. + +@Index[LOGOUT]LOGOUT@\Like BYE, but leaves you at Kermit-80 command level. + +@indexOUTPUT @i@\Send the text to the remote computer as if +you had typed it. + +@Index[Pause]PAUSE @i@\If this command is issued your CP/M +system will wait a while before proceeding with another command. +This is intended for use in TAKE commands, where you may want to pause +for a while before proceeding with the rest of the TAKE file. The +actual delay is very variable between systems, and values should +be determined on a trial and error basis. + +@Index[Print]PRINT@\Print a file to the console and printer. Output to +the printer is buffered by the Kermit-maintained printer buffer. +This routine is identical to TYPE but characters are echoed to the printer +as well as to the screen. Suspending and canceling output is as +described in TYPE. + +QUIT@\Synonym for EXIT. + +@Index[RECEIVE]@Index[File-Warning] +RECEIVE @i@\Receive file(s) from the remote +Kermit, and save them under the names provided in the file headers +supplied by the remote host. If a local filespec is given, the file is +saved under the given filename. If the names aren't legal, use as +many legal characters from +the name as possible (see the description of SET FILE-WARNING below). If +there's a conflict, and FILE-WARNING is ON, warn the user and try to build a +unique name for the file by adding "@q<&>" characters to the name. RECEIVE +can be abbreviated to the single letter R. + +@indexREMOTE @i@\Send a command to a remote Kermit server. +The results are sent back to your CP/M screen. When two arguments are +required and specify less than two in the command, you will be prompted for +the missing arguments. REMOTE commands include: +@begin +REMOTE CD [directory]@\Ask the remote server to change its default directory. +If no directory is specified, the server changes to its login directory. + +REMOTE COPY file1 file2@\Ask the remote server to copy file1 to file2. + +REMOTE RENAME file1 file2@\Ask the remote server to rename file1 to file2. + +REMOTE DELETE filespec@\Ask the remote server to delete the named file or +files. + +REMOTE DIRECTORY [filespec]@\Ask the remote server to display a directory +listing of the given files or, if the filespec is omitted, all the files in +the current device or directory. + +REMOTE DISK-USAGE@\Ask the remote server to display information about its +disk usage (such as free or used space). + +REMOTE ERASE filespec@\Same as REMOTE DELETE. + +REMOTE FINISH@\Same as FINISH. + +REMOTE HELP@\Ask the remote server to display a list of the commands it +can respond to. + +REMOTE HOST command@\Ask the remote server to have its operating system +execute the given command. + +REMOTE KERMIT command@\Ask the remote server to execute the given Kermit +command, given in the server Kermit's command syntax. + +REMOTE LOGIN user password@\Log in to a remote Kermit server which has been +set up to require a username and password. + +REMOTE MESSAGE text@\Send the text to the remote server for display on its +screen (useful with MS-DOS Kermit servers). + +REMOTE SET parameter value@\Ask the remote server to set the given parameter +to the given value, for example REMOTE SET FILE TYPE BINARY. Type REMOTE SET +? to see a list of the REMOTE SET options. + +REMOTE SPACE@\Same as REMOTE DISK-USAGE. + +REMOTE STATUS@\Ask the remote server to provide a status report. + +REMOTE TYPE file@\Ask the remote server to display the named file on +the micro's screen. + +REMOTE WHO [user]@\Ask the remote server for a list of users who are logged +in, or if a user is specified, for a report on the named user. +@end + +RENAME file1 file2@\Rename local CP/M file1 to file2. + +@Index[SEND]SEND @i@\Send file(s) specified by @i to +the remote Kermit. The @i may contain CP/M wildcards. SEND may +be abbreviated to the single letter S. + +@Index[SET]SET @i [@i]@\Set the specified parameter to +the specified value. Possible parameter settings: + +@begin + +@Index[Autoreceive]AUTORECEIVE@\ON (or OFF). Allows several files to be +received without having to type RECEIVE on the receiving machine. The routine +simply looks for activity on the serial line, and if so fudges a RECEIVE +command. The packet sent by the sender will be lost. + +@Index[Block Check]BLOCK-CHECK-TYPE @i