SY.FDC@CU20B.COLUMBIA.EDU (Frank da Cruz) (09/15/86)
Info-Kermit Digest Mon, 15 Sep 1986 Volume 5 : Number 8 Today's Topics: Prerelease Version of MS-DOS Kermit 2.29A Available for Testing New Release of Kermit for Concurrent (nee Perkin-Elmer) 3200 New Kermit for Burroughs 7800 and A Series Glut of Kermit Files (A Plea) MS Kermit use of COM3 CMS Kermit under VM/XA/SF Clarifications Distributing TAKE scripts. Kermit 2.29 for Tandy 2000? ---------------------------------------------------------------------- Date: Fri 12 Sep 86 13:45:15-EDT From: Frank da Cruz <SY.FDC@CU20B.COLUMBIA.EDU> Subject: Prerelease Version of MS-DOS Kermit 2.29A Available for Testing Keywords: MS-DOS Kermit 2.29A, IBM PC, Rainbow Cross-Ref: DEC Rainbow, see Rainbow A prerelease test version of MS-DOS Kermit 2.29A is available for testing on the IBM PC,XT,AT and compatibles, and the DEC Rainbow. This test version is being released at this time mainly to help those who must use the program for file transfer in half-duplex environments (e.g. with IBM mainframes or certain HP or Harris minis) where line turnaround handshaking must be used; version 2.29 has a bug that prevents this from working, and 2.29A fixes the bug. 2.29A also includes some new features. These are not necessarily completely developed or polished in this test release, but they appear to be mostly functional and usable: . Performance improvements, particular on the IBM PC family. . Support for extended-length packets, up to 1000 bytes long. . A script facility, almost identical to the one in DEC-20 Kermit. . A TRANSMIT command, for raw uploading. . An ECHO command. . VT102 ANSI printer control support (IBM PC family only). Extended-length packets may be enabled using the SET SEND/RECEIVE PACKET-LENGTH command, and will be used if the other Kermit program supports them. So far, only Kermit-11 (for PDP-11's with RSX, RT, RSTS, etc) does, but version 3.1 of IBM VM/CMS mainframe Kermit, which will be announced shortly (next week?) will also support long packets. The script facility allows you to write "programs" of Kermit commands to interact with the remote system. Scripts are typically used for dialing modems, logging in on remote systems, or performing other routine and/or complicated interactive jobs. The Kermit script is not a full-fledged programming language (with variables, conditional branching, etc), but differs from other popular script facilities by not differentiating script commands from other program commands, so that all Kermit commands may be freely intermixed in a script. The commands that were added specially to support script execution include INPUT, OUTPUT, PAUSE, ECHO, plus various SET options. The Kermit User Guide chapter for the DEC-20 (KER:K20MIT.DOC) may be consulted for a complete description of the script facility. Raw uploading is accomplished using the TRANSMIT command, which sends a file "raw", a line at a time. It works like DEC-20 Kermit's TRANSMIT command, and may (like any other Kermit command) be used in conjunction with scripts. The ECHO command includes \ooo escape sequence recognition for including arbitrary characters in octal notation. This allows all sorts of fancy special effects on the Rainbow by including VT100 commands in strings to be echoed, and also on IBM PCs that have ANSI.SYS or similar console drivers loaded. ANSI printer support allows the PC to respond to host escape sequences for printing selected regions of the screen, turning the printer on and off, etc. Version 2.29A is being put together by Joe Doupnik at Utah State University (JRD@USU.BITNET), who also was responsible for version 2.29. The performance improvements, bug fixes, and long packet support were done by Joe, and the script facility came from James Sturdevant at AC Nielsen in Minneapolis, and Joe integrated it into the new release. The files are in KER:MSTIBM.BOO for the IBM family and KER:MSTRB1.BOO for the Rainbow. Use any of the BOO-file decoders, KER:MSBPCT.*, to decode into runnable .EXE files. A brief guide to the new features of 2.29A is in the file KER:MST29A.HLP. No additional major functionality is intended for 2.29A, so please restrict your comments and suggestions to features that are already in the program. Note that the MST*.BOO files may be replaced from time to time as bugs are reported and fixed, up until the final release of this version. ------------------------------ Date: Thu 11 Sep 86 10:29:15-EDT From: Frank da Cruz <SY.FDC@CU20B.COLUMBIA.EDU> Subject: New Release of Kermit for Concurrent (nee Perkin-Elmer) 3200 Keywords: Concurrent Kermit Cross-Ref: Perkin-Elmer Kermit (see Concurrent Kermit) This is to announce version 2.1 of Kermit for the Concurrent Computer Company (formerly called Perkin-Elmer) 3200 series under OS/32 7.2.1 and up, by Paul Mamelka, Southwest Foundation for Biomedical Research, San Antonio, Texas. The major changes from version 2.0 of June 1985 are: . Name change from Kermit-PE to Kermit-CO . Horrible bug fixed caused by typo (RECKPT instead of RECPKT) . Minor bugs also fixed . First 3 letters of command or set option now sufficient for abbreviation . SYSIO style now controlled by parity setting . Selection of text, binary, contiguous file types . End of record selection for text file transmission . "File Warning" added (filename collision avoidance) . Initialization file . Automatic error logging The new files replace the old ones as PERKIN.* in the Kermit distribution (even though Paul sent them to us with the new prefix CON to denote the company name change). ------------------------------ Date: Thu 11 Sep 86 11:44:59-EDT From: Frank da Cruz <SY.FDC@CU20B.COLUMBIA.EDU> Subject: New Kermit for Burroughs 7800 and A Series Keywords: Burroughs Kermit This is to announce Kermit for the Burroughs 7800 and other Burroughs large systems (5000/6000/7000 and A series), written in Algol by Larry Johnson, Dave Squire, and Katie Stevens at the Computer Center, University of California at Davis. The program and user manual are in the Kermit Distribution as B78*.*, alongside the other Burroughs mainframe Kermits, B68*.* (for the 6800, from Quest Research, Inc), and B79*.* (for the 7900, from THE--Technische Hogeschool Eindhoven). If any Burroughs aficionados out there know if this new program makes either or both of the other two redundant, please let us know so we can move them to a less critical area. UC Davis has indicated willingness to supply this version of Kermit directly to other Burroughs sites that request it directly from them. The address is: David Squire Senior Programmer, ID-1023 Systems Group, Computer Center University of California, Davis Davis, CA 95616 USA ------------------------------ Date: Fri 12 Sep 86 14:45:15-EDT From: Frank da Cruz <SY.FDC@CU20B.COLUMBIA.EDU> Subject: Glut of Kermit Files (A Plea) Keywords: Kermit Distribution As Kermit's popularity escalates, more and more contributions of Kermit programs show up on our doorstep. We know what to do with many of them: new ones simply get installed (though often a good deal of file renaming is necessary to avoid conflicts), etc. But what do we do when there are multiple versions for the same system, or similar systems? In some cases, we can't really tell when a version is redundant, because we don't know enough about the systems involved (like the Burroughs mainframes mentioned in the previous message). In other cases, two different people submit totally different Kermit programs for the same system; should we keep both (sometimes there are more than two!)? It would be most helpful if we could get some feedback from the people who actually use these programs. Here are a few items we could use some help with, as we try to clean up our Kermit collection: Apple II DOS - Does anybody use the native 6502 assembler version that was based on an old release of the CROSS version? (By the way, a new, native assembler version is under development at the U of Maryland, and work is also being done on a new release of the CROSS version.) Burroughs - Are all 3 versions (prefixes B68, B78, B79) necessary, or can one or two of them be eliminated? CDC - We have two CDC Cyber Kermits, one in Fortran, one in Compass. Do we need both? Is one more portable, or clearly better in other ways, than the other? Commodore 64 - The "major" version is in CROSS, based on the Apple DOS version. CROSS only runs on DEC-10s and DEC-20s, most of which are not long for this world. Does anybody care enough about the C-64 to translate this into a native assembler (if there is such a thing)? And what about the other C-64 Kermit written in FORTH? Data General MV Series with AOS, AOS/VS - We have several Kermits for these systems. Most of these are quite old, primitive, buggy, and undocumented. There are at least 3 or 4 separate efforts underway to replace them. I have urged the various people or groups to get together and settle on a single replacement. Watch Info-Kermit for news, or read the file KER:AAWAIT.HLP in case you're interested in contacting any of these people directly (this file contains a list of all the Kermit programs that we know to be under development). DEC PDP-11 - We have a main version (Brian Nelson's Macro-11 version) that runs on all the DEC operating systems, but there's also an old OMSI Pascal version just for RT-11. Does anyone use the Pascal version any more? DEC Rainbow - Does anyone out there run QNX on the Rainbow? Have they tried QNX Kermit? How about on the IBM PC? DEC VAX/VMS - The main version is the Stevens Inst. of Tech. version written in Bliss, but also distributed in Macro-32 source form. But there's also an old Pascal version. Does anyone use the latter? Also, is anyone using the VMS implementation of C-Kermit? Gould/SEL 32 MPX-32 - We have two separate versions, both in Fortran, for this system, prefixes GM1 and GM2. Do we need both? Can GM1 be retired? Honeywell - All this Honeywell stuff is a mystery to me. In addition to Multics Kermit (we have one version of this, but have heard that there are several others floating around), there are two separate versions for GCOS (one in B, one in C, prefixes HDP and HG, respectively), and two for CP-6 (one in Pascal and one one in PL/6, prefixes HCP and HC6). Do we really need all of these? How about "Level 6" or DPS-6? Can anyone who really knows the Honeywell world recommend a consistent, minimal set of good Kermit programs for the Honeywell line? IBM 370 MVS/TSO - We have a couple different versions of Kermit for this system, but they will all soon be replaced by a new comprehensive release from the National Institutes of Health. ICL/Perq - Does anybody still have Perq workstations? If so, can they tell us if we really need two different Kermit programs for the Perq, both in Pascal? (Prefixes PQK and PQ2.) If not, which one is better? Intel - There are literally dozens of Kermit programs for Intel micros, many of which we haven't either bothered to install. Some are for RMX (or iRMX), some for ISIS. Can anybody who knows about Intel development systems take a look at these and tell us which ones are redundant? In addition to the MS-Kermit 2.29 Intel support modules, we have specific Intel Kermit programs with prefixes RMX, I86, MDS, and MD2. Software Tools - We have a version of Kermit written in Ratfor for use with the Software Tools library. It reportedly runs on at least the HP-3000 and the Sperry 1100. Is anyone actually using it? Does anyone know if it runs on any other systems? Univac (oops, I mean Sperry (oops, I mean Burroughs)) 1100 - We have 3 Kermits for this one: prefixes ST (Software Tools), UN (Assembler), and another UN (Pascal). Can any of these be sacrificed? At least, can one of them (say, the assembler version) be considered the "main" one? Victor 9000/Sirius 1 with MS-DOS - In addition to the support in MS-Kermit 2.29 for this system, there's also a C language version. Is anyone using it? Comments, comparisons, reviews, suggestions will be appreciated. The more redundant material we can retire, the more room we have for new Kermit programs, and the less often we have to add new tapes to the Kermit distribution. Meanwhile, anybody who's considering writing a new Kermit program or upgrading or fixing an old one, please contact Kermit Distribution at Columbia before proceeding to make sure that your work will not be duplicating someone else's. Thanks! ------------------------------ Date: 10 SEP 86 12:12-MDT From: JRD@USU Subject: MS Kermit use of COM3 Keywords: MS-DOS Kermit, COM3 In response to queries about use of more than two communication ports with MS-DOS Kermit, I have compiled a few pointers. MS Kermit, internally, does allow many serial ports: four directly and as many as wished through rebuilding. As we all realize MS Kermit tries to connect directly to the serial port hardware (the UART chip, if possible so that characters can be read by an interrupt procedure. Hardware details differ greatly among MSDOS machines so code for serial port specifics is located in the system dependent module MSX---.ASM. The number of ports visible on the Status screen is adjusted to match the kind of machine (model) being used. The system independent part of Kermit has a standard table of four named ports, expandable to whatever size is needed, which hold nine bytes of information for each port. That information is the baud rate index, flag for local echo on/off, parity type flag, flow control bytes and on/off flag, and handshake (line turn around) character and on/off flag. Expansion thus uses little space. The system dependent module(s) examine this table to decide how to setup the particular port. The table is found in file MSSCOM.ASM. For IBM PCs and clones MS Kermit knows the hardware addresses of COM1 and COM2, which have been specified by IBM. Higher comms port addresses have not been standardized and thus are not mentioned in MS Kermit. However, it is a simple matter to add new addresses to the list in MSXIBM and to readjust the couple of tables which support the Set Port command (performed in MSXIBM). The most recent (September) issue of PC Tech Journal has an article on boards offering many serial ports, together with the range of addresses provided by each board. It is unfortunate that the addresses near standard comms ports are frequently used by other add-in hardware so that no consensus exists for COM3 et seq. and hardware conflicts are common. ------------------------------ Date: Thu, 11 Sep 1986 13:47:00 EDT From: Nick Gimbrone <NJG@CORNELLA> Subject: CMS Kermit under VM/XA/SF Clarifications Keywords: CMS Kermit To clarify my question concerning CMS Kermit under VM/XA/SF. We currently have and are running this operating system. The CMS we are running under it is esentially identical to CMS R4 under an HPO system (we don't yet have FILELIST and that ilk of commands up and we have a small mod to XEDIT to address an LDEV problem). VM/XA does NOT support any TTY access. VM/XA/SF only supports 3270s (real, or fake as with the 7171). When attempting to run Kermit over a 7171 or Passthru (which works under VM/HPO and VM/SP systems) under VM/XA/SF I get an addressing exception. I will eventually be looking at this, but if anyone has already solved the problem I'd appreciate hearing from them via the net. Thank-you. ------------------------------ Date: Thu, 11 Sep 1986 02:17 PDT From: "Jeffrey Sicherman" <JAJZ801%CALSTATE.BITNET@WISCVM.WISC.EDU> Subject: Subject: Distributing TAKE scripts. Keywords: TAKE command, Script Since one of the problems of using micro KERMITS with unfamiliar mainframes is not knowing the necessary protocol parameters that may be required to interface through front-ends and operating system peculiarities, a standard way of distributing appropriate TAKE scripts on a system or site specific basis would be desireable. Why not bootstrap them? In particular, I would propose a CONNECT TAKE [filename] command for the local system. This would have the effect of CONNECTing to the the host which should be running KERMIT in non-server mode (by definition of the problems, we are not ready to send packets yet). The user would then enter a new command: GIVE [systemname] on the host. Ignoring the optional name arguments for moment, the effect of this would be that the local micro would interpret the lines coming from the host not only as displayable data but as local commands, just as though a local TAKE had been performed. Most likely these would be SET commands: (almost) anything that would be valid in a local TAKE file (it would not be wise to switch ports or line parameters at this point or invoke any transfers or change of mode). [Ed. - Well... It's a good idea, but complicated. The first pitfall is that neither the host Kermit program nor the local one necessarily know what parameters are really necessary -- for instance, if the connection goes through an X.25 network, or bounces off a satellite, or is very noisy. The user is the only one who really knows.] Of course, a minimal subset of all possible commands would probably be most appropriate for consistency across a broad range of micro implementations; such a list would be sent when the GIVE is issued with no systemname argument. It would establish the minimum conditions for a usable and reasonably efficient exchange. Where differences are significant with respect to different local systems, especially with regard to reliability or efficiency, a systemname specification would send SETtings appropriate to that combination. I have stated this as systemname rather than filename since there is no reason that the responses could not be built into the program rather than increasing the number of distribution files. This makes it somewhat inflexible though, so there are good arguments on each side (maybe I'm only arguing with myself) and I don't think the choice is critical; either way will serve the purpose. [Ed. - The problem here is that there are hundreds of programs to deal with, and, because Kermit is a volunteer, cooperative, loosely organized effort (at best), each program's syntax has its peculiariarities, despite the efforts that have been made to settle on consistent terminology (e.g. in the User Guide and Protocol Manual). Does this mean we have to change 50 or 100 programs to make them conform? Or does it mean that every mainframe Kermit should have explicit knowledge of the variations in syntax used by all the other Kermit programs? Unfortunately, both alternatives are impractical.] The optional filename on the CONNECT TAKE command would cause the received commands to be stored into a local file that could be TAKEn locally for subsequent uses. Admittedly, this is not an error-free exchange but the errors are likely to be noticeable to the operator when rejected by the command processor and the process can be repeated. By saving an error-free transmission, it need only be performed once or infrequently. For this reason, a remote KERMIT implementation should probably announce the existence of new values at initialization time when changes of significance are made. If random (non-syndromatic) single character changes in transmission are of concern (such as for decimal specifications of block-check options, maximum lengths, framing character specifications) I propose the following mechanism: Define a new command called VERIFY which takes all the same operands as SET but merely compares its target value to the current setting. If a discrepancy exists, display an error message. By inserting SETs and VERIFYs in the same GIVE transmission at appropriate intervals, most such errors should be operator detectable. The implementation seems rather straightforward to me since the same parsing could be used with a global mode switch telling low level logic whether a store/call or compare/error is to be invoked. A final possibility to minimize the possibility of an erroneous transmission being used would to, either by default or command variation, cause the commands in the take to be checked (and verified), but only put into effect if no errors occur. This could be accomplished by having an edit-only pass on initial receive and rereading the take destination file if error-free. If the no-file-name variation were used, the take stream could be stored in a temporary file and/or an internal buffer. [Ed. - Kermit already has an automatic way for each Kermit program to "configure" the other one with respect to settings for buffer size, packet terminator, padding, timeout, etc., namely the Send-Init negotiation. These packets provide a common intermediate representation for these parameters and their values, something you don't get with textual SET commands, which can vary from program to program (in fact, some programs don't have command parsers at all, but use menus instead). Unfortunately, not everything can be negotiated in these error-checked packets. Most notable are physical or datalink settings like baud rate, parity, and flow control, because these must already be set correctly before the Send-Init negotiation can take place. And, still more unfortunately, these parameters are often unknown (and sometimes unknowable) to the programs themselves. However, it is possible to adopt some heuristics to get around some of the other problems, and these can be fairly simple. One example would be automatic parity detection -- when the program gets the first packet (S, I, Y, G, etc, which will never contain 8-bit data), it can figure out what the parity is, if any, and then adjust itself accordingly. This kind of trick seems more practical and reliable than the proposed method of exchanging SET commands.] ------------------------------ Date: 11-Sep-1986 0946 From: g_hafner%wookie.DEC@decwrl.DEC.COM (Gary Hafner, DEC Littleton) Subject: Kermit 2.29 for Tandy 2000? Keywords: Tandy 2000 Kermit 1) Does anyone out there know of a version of MSKERMIT V2.29 that's been modified for the Tandy 2000? If not, could someone take a minute and explain what it would take to do such a thing? Being a mainframe-type of user rather than a PC user, I don't really know a heck of a lot about MS-DOS, but I have a relative that could use this program if there were some way to come up with it (who knows, between the 2 of us we might even be able to come up with it ourselves...). [Ed. - The version of Kermit we have for the Tandy 2000 was based on an ancient version of IBM PC Kermit, namely 1.20, when it was still a single-module program just for the PC, adapted by Steve Padgett at the U of Texas in Feb, 1984. The Tandy-specific code is under T2000 assembly conditionals. It would be great if somebody could look at this code and churn out MSX, MSY, and MSZ modules from it, to fit in with the current multi-module MS-DOS Kermit.] 2) I understand there's already 2 files for the Tandy 2000, and one of them, a file with a ".FIX" extension, appears to be in a form similar to the "MSxxx.BOO" formats for other machines. Could someone jot down the names of the programs that both create AND 'unscramble' this format? I'm not familiar with it at all. [Ed. - The .FIX file was a precursor to the .BOO file. It was a simple 4-for-3 (or was it 3-for-2?) encoding, but with no compression. The program to decode the .FIX file (this was the only survivor of the species) was in TA2EXE.BAS. However, as of now, both the .FIX file and the TA2EXE.BAS program have been removed and replaced by a TA2000.BOO file, which you can "un-boo" in the normal way, as described in MSBAAA.HLP. The .BOO file is only about 18K long, compared with the 30K .FIX file (and 15K .EXE file). The 8-bit binary .EXE file is now available in KB:TA2000.EXE, for those who can FTP it directly from CU20B.] ------------------------------ End of Info-Kermit Digest ************************* -------