SY.FDC@CU20B.COLUMBIA.EDU (Frank da Cruz) (12/24/85)
Info-Kermit Digest Tue, 24 Dec 1985 Volume 3 : Number 35 Departments: MS-DOS KERMIT - Kermit 2.28 jrd Bug Report Fast Kermit for AT? IBM-PC Kermit v2.28 Display Problems Kermit for Victor MISCELLANY - Kermit for Apples with StarCard Request for KERMIT binary for Radio Shack 6000 Xenix Set File 8-Bit in Kermit-20 ---------------------------------------------------------------------- Date: 23 DEC 85 13:15-MST From: JRD@USU.BITNET Subject: Kermit 2.28 jrd Bug Report 1. Thanks for the mail messages and nice words. Using Bitnet here is magic of a rather dark hue, alas. Given that you seem to have a shortage of MS-DOS folks perhaps I can get the mail via Bitnet and help solve the sundry bugs as they arrive and then send responses to you for editing. 2. Bugs of various kinds in "MS Kermit 2.28 jrd" are discussed below. 3. Rare computer hangups when engaging IBM mode and then entering the Connect state. Peering at the interrupt level code in file MSXIBM shows several places of difficulty if the mainframe were to have sent a char before Kermit was ready to accept one. Some changes were made to hopefully avoid problems; all involve completing work before interrupts can interfere. The hangup problem seems to be like a corrupted segment register (ds?), which could happen I suppose if a char arrived during serial port initialization. Actually, I or someone needs to have a hard look at the code in SERINT to see if all UART conditions are properly serviced and if the 8259 interrupt controller chip is attended to in an manner consistent with both IBM PCs and ATs. ISRs are such fun! My quick changes are as follows. Procedure SERINI: - flush UART received character BEFORE turning on interrupts, - change allowable UART interrupting conditions to avoid interrupts on TX Holding Buffer Empty (a nonsense interrupt for us) but allow them on Data Available, RX Line Change, and Modem Change, - move push/pop es to allow quicker procedure exit, - replace call to proc Clrbuf with separate code since Clrbuf turns on interrupts within the body of SERINI (a likely culprit). Procedure SERRST: - move push/pop es to allow quicker procedure exit. Procedure SERINT: - send 8259 chip End-of-Interrupt signal as almost last item in the proc, - remove strange Enable Interrupts (sti) instruction within proc body; after all, we got here via an interrupt. 4. Data overrun when turning around line between IBM mainframe and IBM PC/AT. An obvious thing to do here is insert a small wait interval before sending a packet (sending filler chars could still upset the host during line turn around); this is usually called pacing. In terms of fast micros and sluggish mainframe terminal handlers, pacing seems to be one of the solutions. I added a 3 millisecond wait routine at the very beginning of procedure OUTPKT in file MSCOMM; it may not be enough, but the delay is easily adjusted. If it's too long then we will lose the time slice, if too short then mainframe loses the first part of a packet. 5. Files sent while in server mode do not use repeat prefixing. My goof due to misunderstanding the non-standard protocol of setting the prefix char. Two lines of code were added in procedure SERVER (in file MSSERV) to force the default prefix char into the active prefix after each server command. 6. Items not clearly explained in original read.me file for 2.28 jrd. -- GET allows both file names to be on the same line; ex. GET theirs mine. -- GET allows ? chars in filenames after the first char, but I forgot to invoke the # --> ? translation. I think earlier versions omitted this also. Similarly, I parse both file names on whitespace (can be fixed) which is probably painful for IBM users. 7. All these changes affect three files: MSXIBM, MSCOMM, and MSSERV. Below is the output of MSDOS utility FC on the new and original "2.28 jrd" files. The complete files, with extension of .NEW, are being sent as well. 8. Happy holidays. Joe [Ed. - Now that we have established network connection with Joe, we can send files back and forth rather quickly. There may well be a few more contributions from him in the coming weeks. I've put the new files in PS:<KERMIT-MS> on CU20B, in case anybody wants to check them out -- feedback solicited and appreciated!] ------------------------------ Date: Thu 19 Dec 85 16:51:47-PST From: Ed Pattermann <PATTERMANN@sumex-aim.arpa> Subject: Fast Kermit... Does anyone have a patch for MS-KERMIT that allows it to work with IBM AT's that have faster crystals installed, like a 18MHZ crystal? Kermit fails to work after installing the new crystal. [Ed. - Some of the changes mentioned in the previous message might go a long way towards helping here.] ------------------------------ Date: 19 Dec 85 16:39:48 PST (Thu) From: Mike Iglesias <iglesias@UCI.EDU> Subject: IBM-PC Kermit v2.28 Display Problems I've seen the display problems that Kathleen Connors has seen with the original v2.28 Kermit on both a IBM PC-I and a Compaq. It appears to only happen on the old motherboard PCs (we have only one of those here) and the Compaq (which must do something the same way that the PC-I does). It does not happen on the newer PCs (PC-II; 256k motherboard) or a Compaq 286, so I suspect it may have something to do with the ROM BIOS. Mike Iglesias University of California, Irvine ------------------------------ Date: 20 Dec 85 02:13:23 +0100 From: XBR1YD14%DDATHD21.BITNET@WISCVM.WISC.EDU (YD14@BR1.THDNET) Subject: Kermit for Victor? I'm using a Vicky with "BIOS Version 2.9 February 4,1984 for V9000" and MSDOS 2.11. I've tried to run the SIRIUS ASM available from KERMSRV at CUVMA but it doesn't work. The CONNECT corrupts a lot of keys (I'm using a German keyboard) and the RECEIVE doesn't work at 2400 baud. The generic MSDOS kermit is running up to 2400 baud. Has anyone a special kermit version for the Vicky (Victor 9000) PC? Thanks Reinhard Goeth (Techn. Univ. of Darmstadt/Fed. Rep. of Germany) P.S. I wish you a merry chrismas and a happy new year. ------------------------------ Date: Fri, 20-DEC-1985 08:53 MST From: Eric Zurcher <REHABIV@USU.BITNET> Subject: KERMIT for Apples with StarCard I thought I'd pass along a few things that I've learned while trying to implement KERMIT on an Apple ][+ with a StarCard CP/M board. All of this may already be familiar to you, but I provide it to you on the chance that it may keep someone else from having to reinvent the wheel. "Official" versions of KERMIT exist for Apples using the SoftCard CP/M board, but I could not locate any for the StarCard. The SoftCard versions do not work, since the two CP/M boards use quite different approaches in gaining access to the Apple's ports. I have found that the "generic" CP/M KERMIT can be made to work quite well with the StarCard, but only after making a minor alteration in the BIOS of the operating system provided with the card. In its standard configuration, the BAT: device is identical to the CRT: device, both refering to the Apple's monitor and keyboard. However, changing a single byte in the BIOS will cause the BAT: device to refer to a serial card in slot 2 of the Apple, which is of course the sort of arrangement that generic KERMIT needs. The byte in question is located at an offset of 63H from the start of the JMP tables of the BIOS (that is, it can be easily located by adding 60H to the address pointed to by the JMP instruction at address 0). This address normally contains the value CC - changing it to C8 will result in the definition of the BAT: device being changed to slot 2 of the Apple. (I have not seen this "feature" documented anywhere, though I have not requested technical documentation from the manufacturers of the StarCard.) Once this change is made, generic KERMIT works quite well. I'm currently working (though not very hard) on the rather simple task of developing a KERMIT that will handle the task of modifying this byte, if necessary. At present, I get around the problem by booting the system with a disk that contains a version of the BIOS in which I have already modified the byte. I've also managed to combine a few features of the SoftCard KERMITs with the generic KERMIT, to allow VT52 emulation to work and to "tidy up" the display during file transfers. It works reasonably well. If you wish, I will send a version to you once I get everything working the way I'd like. There are a few caveats (aren't there always?): (1) an 80-column display enhancer is almost a necessity for reasonable terminal usage; the StarCard can try to produce a 70-column display using software, but this is too slow to keep up at even 1200 baud. (2) I have not thoroughly tested this, but I suspect that a DC Hayes MicroModem II will not work with this arrangement - the problem is that you can't dial a number. It does appear to be possible to first dial and establish the connection under Apple DOS, then reboot the machine to run CP/M. In any case, whatever serial interface is used must be in slot 2 of the Apple. (3) I have not tested this arrangement at speeds above 1200 baud, but I suspect that faster speeds will not work well. (4) Most of the VT52 emulation features work as they should, but the "home and clear screen" operation is a bit slow - at 1200 baud I usually lose the next dozen or so characters received after this operation. (5) It appears that data is restricted to 7-bit, and not 8-bit bytes. For transfer of non-ASCII files, parity should be set to space. I hope somebody, somewhere, finds some of this useful. In the long run, it would be preferable to have a KERMIT for this system which accesses the serial port a bit more directly, rather than through twiddling the IObyte, but I will leave that task to someone else. Regards, and Merry Christmas! Eric Zurcher Dept. of Biology Utah State University Logan, Utah 84322-5305 REHABIV@USU [Ed. - Thanks for the information; I've added your message to the APPLE.BWR file for the time being. USU seems to be a beehive of Kermit activity these days...] ------------------------------ Date: Sun, 22 Dec 85 11:41:56 EST From: Glenn Ricart <glenn@mimsy.umd.edu> Subject: Request for KERMIT binary for Radio Shack 6000 Xenix I'd like to run KERMIT under Xenix on a Radio Shack 6000 (previously known as the 16B before some magic happened). Unfortunately, this system does not have a C compiler so I can't start from the sources. Could someone contribute the binary? . . . . Thanks! ------------------------------ Date: Sun, 22 Dec 1985 13:29 MST From: Keith Petersen <W8SDZ@SIMTEL20.ARPA> Subject: Set File 8-Bit in Kermit-20 Request for change in next update of Kermit-20: Because I do a lot of uploading to Simtel20 and frequently use SEND *.* to do it, I have my KERMIT.INI do SET FILE BINARY. No problem so far, as I can use ASCIFY later to fix the ascii files - meantime I can go away from the computer and let things transfer automatically (of course my Kermit-80 is set to default to SET FILE BINARY). Now the problem: When downloading from Simtel20, that INI is still in effect and I get garbage on ascii files sent to me. I need to be able to tell Kermit-20 to use SET FILE 8-BIT for sends from me to Simtel20, and SET FILE AUTO for sends from Simtel20 to me. Suggest it might be added as SET FILE SEND AUTO and SET FILE RECEIVE 8-BIT. --Keith [Ed. - Good idea, will probably be added to the next release.] ------------------------------ End of Info-Kermit Digest ************************* -------