SY.CHRISTINE@CU20B.COLUMBIA.EDU (Christine M Gianone) (07/18/86)
Info-Kermit Digest Fri, 18 Jul 1986 Volume 5 : Number 2 Today's Topics: Additional BITNET Kermit File Access Amiga Kermit Bootstrapping Extra-Long Packets Specification KERMIT Transfer Rates with File Compression MS-Kermit 2.29 Memory Contention Problem Rosetta Stone for MS-Kermit and VT100 A Wish List (long) ---------------------------------------------------------------------- Date: Tue, 15 Jul 86 06:19 EST From: <BRIAN@UOFT02.BITNET> (brian nelson) Subject: Additional BITNET Kermit File Access Keywords: KERMSRV at Uoft02 Usage of kermsrv@uoft02.bitnet There is a bitnet server for Kermit files at the node Uoft02. The 'user' is called KERMSRV and is accessed in the following manner: from VM/CMS: CP SMSG RSCS MSG UOFT02 KERMSRV DIR CP SMSG RSCS MSG UOFT02 KERMSRV SEND K11*.* from VMS Jnet: $ SEND KERMSRV@UOFT02 SEND K11*.* Please note that any filespec containing wildcard characters will be queued for a deferred transmission; please do not override this by submitting multiple requests. Also, there is no point in sending requests that involve CUVMA or CUNYVM in the routing. If the traffic is too high, there is a possibility that requests could be deferred to the next day. We are connected to Ohio State via 9600 line, then to PSUVM which goes to CUNYVM when I send you mail. Most of the european traffic seems to go from PSUVM to GWUVM and then out to EARNET. Anyway, I think we want to avoid routing that involves CUNYVM. Sorry, if we were farther west then this thing would be more useful. The commands are (in Jnet format) $ send kermsrv@uoft02 dir FILESPEC $ send kermsrv@uoft02 send FILESPEC $ send kermsrv@uoft02 vmsdump FILESPEC $ send kermsrv@uoft02 help The 'VMSDUMP' command can be used to avoid EBCDIC translation, thus if you are running jnet on your vax you can request Kermit-11 binary files. brian@uoft02.bitnet [Ed. - Thanks for the information Brian!] ------------------------------ Date: Wed, 16 Jul 86 16:22 N From: <MAESSEN%HWALHW5.BITNET@WISCVM.ARPA> Subject: Amiga Kermit Bootstrapping Keywords: Amiga Kermit, Bootstrapping As I tried to install the Amiga Kermit I found out there was no real solution for the bootstrap procedure: How could I get the CKIBOO.BAS and CKIKER.BOO files on our Amiga? One of the problems was, that if I used a simple BASIC program, buffer overflows occurred and there was no reliable stop criterium. That's why I wrote two programs, one for our Vax and one BASIC program for the Amiga which can do the job. W. Maessen Agricultural University, Wageningen, The Netherlands P.S. I didn't have the time to create a composite program which combines CKIBOO.BAS and this Amiga Basic program, but it sure would save some time. [Ed. - Thanks! The programs are listed in the file KER:CKIBOO.MSG.] ------------------------------ Date: Thu 17 Jul 86 13:19:44-EDT From: Frank da Cruz <SY.FDC@CU20B.COLUMBIA.EDU> Subject: Extra-Long Packets Specification Keywords: Extra-Long Packets, ELP Recent technological advances have brought high-speed, error-correcting asynchronous dialup modems into the marketplace, and it won't be long until they are affordable by ordinary mortals. The first question some people ask when they learn of these of these devices is whether their error-correcting capability has made Kermit obsolete. The answer is an emphatic no, for at least two reasons. First, although error-free transmission may be guaranteed from modem to modem, it cannot be assurred between modem and computer. Second, even when the connection between computer and modem is clean, problems of file delimitation, file representation, and computer-to-computer synchronization are not solved by these modems. When new communication technologies provide high-speed, potentially error-free paths, then file transfer performance is unreasonably hampered by Kermit's short packets and its stop-and-wait operation. But (you ask) won't the long packet extension solve this problem? Perhaps, for some modems. But others, already on the market, will not perform at their peak unless they handle data in bursts even longer than the 9024-byte maximum provided by this extension. One such modem, operating in half duplex, wants data in chunks of at least 16K-20K, and others may need even more. Successful transmission of very long packets, especially at high speeds, requires effective end-to-end full duplex flow control. When modems or other intermediate devices are involved, each device along the chain must be able to control the flow of data from the devices "upstream." For instance, if the receiving computer cannot keep up with arriving data, it must be able to stop the modem, and when the modem's buffers approach fullness, it must stop the other modem, which in turn must be able to stop the sending computer, all without loss of a single byte of data. But given a virtually error-free path with reliable end-to-end flow control, Kermit's maximum packet length can be further increased by employing a second kind of extended header, which is just like the long-packet (LP) header, except with a 3-byte, rather than 2-byte, extended length field. The presence of a 3-byte length field is signalled when the LEN field of the packet indicates (after decoding) a length of one. The DATA field of such a packet begins with an extended header in which the first three bytes are the 3-digit base-95 length, and the 4th byte is the header checksum. This allows for lengths up to 857,374 (95 cubed minus 1). To ensure that this extension is compatible with Kermit programs that are unaware of it, we must include it in the negotiations. Rather than extend the capability mask into a second byte, we take over one of the reserved bits, and assign capability #2 (bit 4 of the first capability byte, corresponding to a value of 16) for extra-long packets (ELP). The rest of the initialization string stays the same, but the interpretation of the MAXLX1 and MAXLX2 fields, which appear at CAPAS+2 and CAPAS+3 respectively, is different. If the ELP capability bit is set (regardless of the setting of the LP bit), then the 2-digit base-95 quantity given by MAXLX1 and MAXLX2 should be multiplied by 95 to obtain the intended length. In other words, MAXLX1 is the "9025's place" (rather than the 95's place), and MAXLX2 is the 95's place (rather than the 1's place). For instance, if the maximum length is to be 30,000, the encoding could be "#>" (3x9025 + 30x95 = 29,925) or "#?" (30,020). As with regular long packets, the file receiver tells the sender the maximum length packet to send. But now there are more possibilities, since either Kermit program may support one or the other or both (or neither) long packet extension. If the receiver does not support LP or ELP, the sender will send only normal packets (NP). If a Kermit program supports ELP, then it should also support LP, so that it can fall back to LP rather than to NP when the receiver supports LP but not ELP. The interesting case arises when the sender supports only LP, but the receiver supports both LP and ELP. If the receiver puts the ELP maximum length in MAXLX1 and MAXLX2, then the sender (which is unaware of the ELP extension) will interpret these numbers as the LP maximum length, 95 times smaller than what the receiver intended. But since the sender goes first in the negotiation, the receiver sees that the sender does not have ELP capability, and in this case it can specify a suitably large LP maximum length (like 9024) in its own initialization string, rather than an ELP maximum length that the sender would misinterpret. Without this trick, fallback would occur to a much smaller size. A few final words of caution are necessary. First, the longer the packet, the more rigorous the required error-checking technique; it would be unwise to transmit packets of thousands of characters guarded by anything less than a 16-bit CRC. Second, extra-long packets are untried as of this writing; even if the technique works, performance might be disappointing if the implementation follows the straightforward path suggested in all the foregoing code. When packets are very long, the transmission line can sit idle for extended periods while packets are being assembled and disassembled. Although idleness is unavoidable while the receiver is checking and processing the packet before ACKing it, the sender can make use of this time to begin assembling its next packet, so that additional idle time after the ACK is received is avoided. This trick requires an additional packet transmission buffer, which, for very long packets, might be hard to find. Finally, users must know the required conditions for successful use of long packets, and must request extended packet sizes explicitly; too many things can go wrong if long packets are used by default. ------------------------------ Date: Tue, 15 Jul 86 13:19 EDT From: CCPHIL@TUCC.BITNET (Phil Julian, SAS Institute) Subject: KERMIT Transfer Rates with File Compression Keywords: Compression We have found that piping Kermit input through a 'compress' program will greatly increase the transmission rate when going between a Sperry 5000 Unix system and an HP 9000 Unix system, using C-Kermit on both ends. Much of the improvement may be due to spaces in the original source, and nulls in the tar format, but the effects of the compression program are much greater than Kermit's internal space compression. The first attempt to send the files was tar cf - . | kermit -i -s - on the HP 9000 kermit -i -k | tar xf - on the Sperry 5000 22 megabytes took 8.5 hours to send, with a 31.4% efficiency rate, at 19.2k baud. The next attempt to send the files was tar cf - . | compress | kermit -i -s - on the HP 9000 kermit -i -k | uncompress | tar xf - on the Sperry 5000 4 megabytes took 1 hour to send, with a 54.6% efficiency rate, at 19.2k baud. The improvement was a 74% over using Kermit alone. The compress program is in the public domain, and uses the Lempel-Ziv algorithm. These figures may add to the argument to add space compression algorithms to the Kermit protocol. Few systems have Unix-like pipes, so the addition to the protocol would be useful. [Ed. - Yep, in fact this technique is suggested in the documentation. There are other problems with Unix Kermit performance too, including excessive copying of data from buffer to buffer, single-character i/o where bulk i/o would suffice, lack of flow control, etc. These will be addressed in future releases.] ------------------------------ From: I. WRENCH <ELRL93@uk.ac.rutherford.prime-f> Date: Wed, 16 Jul 86 09:11:36 BST Subject: MS-Kermit 2.29 Memory Contention Problem Keywords: MS-Kermit 2.29 memory contention In a previous UK newsletter I asked for help with problems using v2.29 of Ms-Kermit to a DEC 10 system. The symptoms were that files sent from the PC contained spurious characters on arrival, always in the same places. Several people replied with sugestions, all of which i tried and seem to have no success. I managed to get access to kermits on non-DEC machines and tried my Ms-Kermit out with them - and got exactly the same problem. This lead me to think that my actual copy of Ms-Kermit (brought down in .BOO form from Lancaster) might have been corrupted somehow. I brought the .BOO file down again using a different terminal capture prog than I originally used, and converted the .BOO file using both the .PAS and .BAS de-hexers - but nothing changed. This seems to suggest that there was something wrong with the set-up on the IBM-XT I was using, and with a lot of playing around I traced down the problem to be a program called INT10 that was being loaded in the AUTOEXEC.BAT file. This program I believe has something to do with the Hercules graphics board and I presume was causing workspace contention problems with Ms-Kermit. I think this was caused as Ms-Kermit was growing in size to the point when the problem was triggered at the release of v2.29. Incidentally the scroll back pages function also just stopped working, it just pulled back rubbish onto the screen. Anyway all is back to perfect working order now, if anyone else was having similar problems to me i.e a perectly good program just stopped working properly, and you can't trace it, then look to see what else is resident in memory. Hope this is of use. Iain Wrench. [Ed. - See next message.] ------------------------------ Date: 17 JUL 86 13:31-MDT From: JRD@USU Subject: RE: MS-Kermit 2.29 Memory Contention Problem Keywords: MS-Kermit 2.29 memory contention Iain's difficulties were appearence of strange characters in transferred files and a trashed roll back screen. In his most recent note he traced both to a Hercules supplied Helpful Utility, INT10.COM. Indeed, Iain. The Hercules display board has characteristics much different than standard IBM boards. Their INT10 program intercepts Bios Int 10h calls (video display) and maps them into Hercules compatible form and might also use memory not belonging to itself. The strange looking characters on the roll back display were graphics images whereas Kermit expects text and attributes. I have a legal copy of INT10 here and get similar troubles. However, Kermit runs well with the EGA boards, in text mode. Thanks for the specific symptoms. I had seen your original note in the UK Kermit newsletter, but have not had time to reply. Regards, Joe D. ------------------------------ Date: Mon, 14 Jul 86 21:51:40 EDT From: Edward_Vielmetti%UMich-MTS.Mailnet@MIT-MULTICS.ARPA Subject: Rosetta Stone for MS-Kermit and VT100 Keywords: VT100 Emulation, Keyboard settings After (too much) hacking around with various other terminal programs and with Kermit, I've come up with a reasonably useful general reference for mapping the vt100 keypad with MS-Kermit. No single keyboard mapping is "best"; it all depends on your particular application. In particular, some keyboards are best mapped logically (f1 corresponds to numeric pad 1) and others are best done physically (the one in the upper corner is the same in both). Instead of trying to please everyone, here's a way to roll your own with a minimum of effort. The first set of diagrams are pictures of the keyboard mappings for all the vt100 implementations I could find. There aren't too many, but these few show the various approaches nicely. The second set of diagrams should save some time when you build an initialization file. In it are the results of SHOW KEY for all the function keys and all the numeric keypad keys. (The numeric keypads shown have an enter key on them, since they were done on a Zenith 158. With that exception they should be generally applicable. I don't have an enhanced AT keyboard to play with.) Edward Vielmetti Computing Center MicroGroup University of Michigan emv%UMich-MTS.Mailnet@MIT-Multics.ARPA +----+----+----+----+ | PF1| PF2| PF3| PF4| This is the layout of a real, live +----+----+----+----+ VT100 keypad. | 7 | 8 | 9 | - | +----+----+----+----+ | 4 | 5 | 6 | , | +----+----+----+----+ | 1 | 2 | 3 | | +----+----+----+entr| | 0 | . | | +---------+----+----+ +----+----+----+----+ | SF1| SF2| SF3| SF4| This is the layout of the VT100 emulation +----+----+----+----+ for Procomm v2.3. | F7 | F8 | F9 | SF5| +----+----+----+----+ | F4 | F5 | F6 | SF6| +----+----+----+----+ | F1 | F2 | F3 | | +----+----+----+ SF8| | F10 | SF7| | +---------+----+----+ +----+----+----+----+ | F1 | F2 | F3 | F4 | This is the layout of the default VT100 +----+----+----+----+ emulation for MS-Kermit v2.29. | F5 | F6 | F7 | F8 | +----+----+----+----+ | F9 | F10| SF1| SF2| +----+----+----+----+ | SF3| SF4| SF5| | +----+----+----+ SF6| | SF7 | SF8| | +---------+----+----+ +----+----+----+----+ | F1 | F2 | SF1| SF2| This is the layout for PC-VT v8.4. Note +----+----+----+----+ the two keys mapped to the same | F3 | F4 | SF3| SF4| VT100 key in the case of 0 and enter. +----+----+----+----+ | F5 | F6 | SF5| SF6| +----+----+----+----+ | F7 | F8 | SF7| SF8| +----+----+----+ | | F9 F10| SF9|SF10| +---------+----+----+ +----+----+----+----+ | OP | OQ | OR | OS | These are the escape sequences sent out +----+----+----+----+ by these emulations. Read "OP" as | Ow | Ox | Oy | Om | <esc>OP. +----+----+----+----+ | Ot | Ou | Ov | Ol | +----+----+----+----+ | Oq | Or | Os | | +----+----+----+ OM | | Op | On | | +---------+----+----+ +----+----+----+----+ | F10| SF1| SF2| SF3| This is the VT100 emulation +----+----+----+----+ defined by PC1:MSKERMIT.INI | F7 | F8 | F9 | SF4| for the University of Michigan's +----+----+----+----+ MTS system. | F4 | F5 | F6 | SF5| +----+----+----+----+ | F1 | F2 | F3 | | +----+----+----+ SF6| | Grey - | SF7| | +---------+----+----+ 1 Show Key for the function keys: +----+----+ +----+----+ +----+----+ +----+----+ | f1 | f2 | | 596| 597| |1118|1119| |2152|2153| +----+----+ +----+----+ +----+----+ +----+----+ | f3 | f4 | | 598| 599| |1120|1121| |2154|2155| +----+----+ +----+----+ +----+----+ +----+----+ | f5 | f6 | | 600| 601| |1122|1123| |2156|2157| +----+----+ +----+----+ +----+----+ +----+----+ | f7 | f8 | | 602| 603| |1124|1125| |2158|2159| +----+----+ +----+----+ +----+----+ +----+----+ | f9 | f10| | 604| 605| |1126|1127| |2160|2161| +----+----+ +----+----+ +----+----+ +----+----+ unshifted shifted with ctrl with alt +----+----+----+----+ +----+----+----+----+ |Home| Up |PgUp|Gry-| | 7 | 8 | 9 |Gry-| +----+----+----+----| +----+----+----+----| |Left| |Rght|Gry+| | 4 | 5 | 6 |Gry+| +----+----+----+----+ +----+----+----+----| | End|Down|PgDn| | | 1 | 2 | 3 | | +----+----+----+----+entr| +----+----+----+----+entr| | Ins | Del | | | 0 | . | | +---------+---------+----+ +---------+---------+----+ cursor pad numeric pad +----+----+----+----+ +----+----+----+----+ | 71 | 72 | 73 | 74 | | 583| 584| 585| 586| +----+----+----+----+ +----+----+----+----+ | 75 | | 77 | 78 | | 587| 588| 589| 590| +----+----+----+----+ +----+----+----+----+ | 79 | 80 | 81 | | | 591| 592| 593| | +----+----+----+----+ 28 | +----+----+----+----+ 540| | 82 | 83 | | | 594 | 595 | | +---------+---------+----+ +---------+---------+----+ unshifted shifted +----+----+----+----+ |1143| |1156| | +----+----+----+----+ |1139| |1140| | +----+----+----+----+ |1141| |1142| | +----+----+----+----+1052| | | | | +---------+---------+----+ with ctrl ------------------------------ Date: Wed, 16 Jul 86 16:17 PDT From: FRIEDMAN%OAVAX.MNET.MFENET@LLL-MFE.ARPA Subject: A Wish List (long) Keywords: MS-DOS Kermit, MS-DOS 2.29 For the last year or so I have been using MS-KERMIT on a PC-XT to connect to a variety of computers. These include the CRAYs here at NMFECC and the local VAX running VMS. I have been collecting a wish-list, and thought it was time to post it and see if some of the items might be added to the "official" list in the BWR file. Here goes: 1) Any new text coming from the host or typed by the user should appear at the end of the last screenful, not at the cursor location. Operator messages from the host, as well as messages from programs I am running, often obscure critical text on the screen while I am examing something I did five minutes earlier. 2) Seven pages (or so) of screen memory is nowhere near enough. I'd like to be able to use as much memory as I want, (say) 30 pages of screen memory. Better still would be an "infinitely" long memory, with simultaneous storage into a disk file that would serve as both a log and the top half of the screen memory. This might also allow you to view the screen memory of your last session simply by paging back during the current session. The present log is awkward since a) it isn't available online, and b) it contains a lot of control characters from backspacing over typing errors, and from screen editing sessions on the VAX when I forget to turn off the logging. 3) Printing and dumping. It would be nice if one could somehow "mark" a section of the screen memory and either print it or save it to a file. 4) The CRAYs do not respond to input characters until the carriage return is pressed (this is also true of many computers accessed through networks). Thus, screen editing is impossible without use of a "co-editing" program which runs on the PC and the CRAY simultaneously. It might be a good project to develop standards for such a system. NMFECC and LCC both support a system called SED which seems to work well. 5) Again because of the above characteristic, editing of input lines is limited to backspacing. A true line-editing capability (as on the VAX, or in the DOS supplement/shareware program CED) could be incorporated into the terminal emulator. This is the natural place for such a capability, since the line could be echoed locally, edited, then sent when the return key was pressed. 6) A related wish is command-line recall, either VMS/CED-style (press a key repeatedly and old command lines reappear in reverse order) or by highlighting text in the screen memory somehow, then bringing the line into the current command buffer for editing by pressing a key, then sending it with a return. On our system, linefeed characters echo as exclamation points, and so a facility for translating exclamation points into linefeeds (and echoing linefeeds as !'s during local pre- transmission editing) would be useful - of course, the mapping should be general enough to support a variety of host computer idiosyncrasies. 7) When I assign a character string to a key, then press the key, often the characters appear too rapidly for our CRAY terminal concentrator to accept them. It would be useful if the speed with which character strings were sent to the host could be selected by the user. Since when I talk to the VAX I press the arrow keys a lot, and these send three-character sequences, I'd like these to be sent at full speed - so some means of specifying the "speed of paste" when each key is defined would be best. (Also, it would be nice if the interactive key definition procedure were streamlined so that the user need only press the key they wished to define - why do we need to know the scan code?). 8) It would be nice to have a "bare bones" mode that used DOS for the keyboard handling. My text editor has a facility whereby one can start a command processor, and use the editor commands to paste old lines, etc. Thus, one gets command line recall and a log when running compilers on the pc. It would be nice if I could run codes on the CRAY this way. Also, I have some questions about what happens when one is not in connect mode and a message comes in over the serial port from the mainframe. When I am at Kermit command level after a ctrl-]c, then I reconnect, data is missing from the screen (if I had been listing my files, the list would be garbled). I have had better luck with ctrl-]p. What I'd really like is a full explanation of what happens - for example, does the disk actually run in a background mode to update the log when an interrupt comes in over the port? Finally, I expect that some of the above wishes might be answered by use of either a) a windowing program, b) a mouse with appropriate driver for cut-and-paste, or c) a keyboard enhancer program, and wonder if anyone has learned any useful tricks. I use SIDEKICK all the time with MS-KERMIT, and find it useful to paste frequently used lines from the notepad; SIDEKICK allows the user to control the speed of pasting, and so I avoid the problem alluded to in (7) above. In general, I'm very pleased with MS-KERMIT; I would appreciate any comments on these ideas from either the KERMIT developers or the user community. Comments can be posted if of general interest; other- wise I can be reached at: friedman%llv@lll-mfe.arpa or some such thing depending on the syntax of your local mail utility; Im on the LLV VAX on the MFENET at Lawrence Livermore National Laboratory. ------------------------------ Date: 16 JUL 86 21:47-MDT From: JRD@USU Subject: RE: Wish List Keywords: MS-DOS Kermit, MS-DOS 2.29 Mr. Friedman (friedman%llv@lll-mfe.arpa), Your long "wish list" arrived in the mail from Columbia and, since I have been doing much of the MS Kermit development recently, perhaps I can comment on some of the points. As I understand things, the bulk of the wishes are closely related to offsetting deficiencies of the mainframe host, full editing facilities in particular. Point 1: While in connect mode incoming text should be placed at the end of previously received text rather than at the cursor position (if the screen has been rolled back manually). True, but. This would require a healthy amount of screen and memory management code and employment of multiple pages of video memory (on what kind of display adapter?) to avoid massive flickering between old and new screens. And, think about what must be done if the regular screen scrolls up. Just telling the host Xoff can work wonders most of the time; exiting connect mode, selecting port 2, and returning to connect mode will also preserve the old screen (but will lose new incoming text from port 1). Point 2: Five screens of roll back are too few, 30..inf would be much nicer. Again, these things can be done, at a stiff price in both runtime code space and programmer effort. An easy work around is to make a hard copy listing as you go (Control PrtSc does the trick). Micros are spoiling us. Point 3: Selectively edit a screen for dumping to a printer. See below. Modern full screen editors on micros have many of the characteristics you wish. They cost $200+ when Sold in large quantities and they just edit. Some serious duty editors of this kind are Brief, Emacs, Epsilon, and Kedit. For capturing program output to a window have a look at Epsilon by Lugaru; I'm using Brief. Some day, "real soon now", mainframe editors will catch up, but at a very hefty price in i/o channel facilities (38 Kbaud+) and scads of real memory for buffers, etc. My students have remarked to me that because I have pronounced ideas on what editors should do then why not write my own. Yes, certainly, but what about all the other interesting things to do? Point 4: Cray editors are line oriented rather than full screen types. Yep! Only Real Programmers use Crays and RPs are happy with card images and patching binaries; I was & did. Try a copy of Emacs. By the way, why are you burning up Cray time doing editing? Don't you fellows at LLL work into a mere-computer front end to handle i/o, scheduling, and other routine chores? (Must be the SDI money.) Point 5: Line editing Helpful Utilities. These still work under Kermit! Mouse menus can be very useful for classes of minor tasks, and Kermit loves the little fellows. Microsoft supplies a very good menu program with their mouse; I have both. Point 6: Command line recall buffer and translation of strange input chars. Kermit already has too many buffers and the command parser is Byzantine trying to do the present command line editing (in system independent fashion). Limited translation is being considered, particularly for European characters. Point 7. Pace sent characters. Either lower the baud rate or have the troops get a concentrator with typeahead buffering. If we were to pace characters then most of the other users would hit the overhead. Also, key redefinition could be much smoother. Sure could, and we are thinking about doing so when time is available; it will not replace Prokey et al. Also, how do you get file transfer packets through a slow concentrator? Point 8: Bare bones keyboard handling (let DOS do it). MS Kermit obtains keyboard info by both DOS calls and Bios calls; it does not go to the keyboard hardware and the like. It is about as bare bones as possible. If you were to use a fancy console handler which passes along scan codes properly then it probably would be compatible with Kermit. Most such utilities do not do so yet. Question: What's with the serial port? Kermit returns the serial port to its original owner when Kermit does not have direct need of it, such as between file transfers. That is a very good safety feature for a program which uses interrupts for reception. As you may notice, between file transfers or Connect sessions there is no implied source/sink for serial port information; thus, Kermit is unaware of the port at such times. If the port were left active then Kermit would have to be prevented from accessing conflicting programs or letting the user Push to DOS, etc just to keep the interrupts from calling a perhaps non- existant interrupt routine (a disaster) or having a buffer overflow. When DOS grows up to be a multi-tasking o/s then we can consider letting Kermit run in the background; WINDOWS/DOS 5.0 does not seem to be there yet. I also run DECnet-DOS on my micro, and it tries to permanently install itself as an extension of DOS plus "own" the serial port most of the time. It runs the port in the background and messes with DOS in a very serious way. Comment added by me. Kermit as a whole is written and improved by volunteers, using an enormous number of man hours, and we earn exactly zero for doing so. Thus, features get added when someone decides to do them (best to let Columbia know first since others may be doing the same thing). Many of the items on your wish list fall into the very sophisticated technique department. Fortunately for all of us, many of the Kermit contributors are adept at such matters, when they have the time. Suggestions such as yours provide a rich menu of interesting things to consider. Like to have a go at one or two? And not least, thanks for the nice words about the existing Kermit; they help. Regards, Joe D. ------------------------------ End of Info-Kermit Digest ************************* -------