File MSVIBM.BWR 4 March 1990 ADDITIONS TO THIS FILE AFTER VERSION 3.0 WAS RELEASED ON JANUARY 16, 1990: Items corrected by distributed Patches. --------------------------------------- See files MSVIBM.PAT (instructions) and MSVIBM.PCH (the Patch file) for information on applying the patches below to the distribution v3.00. Patch Number Description 1. Internal patching mechanism is activated. 2. Avoid Kermit becoming blocked by presence of DOS command MODE COM1...,P. This patch prevents the serial port from being returned to the original owner (DOS) while Kermit's prompt is displayed. The ",P" option above tells DOS to try and retry some more to get control of the port and you might have had to type Control-C or Control-BREAK to regain control. With this patch the problem should disappear and the ",P" may be reinstated. 3. Correct deficiencies in SET DUPLEX HALF, for half duplex hardware RTS/CTS operation of a physical serial port. Do not use this command for IBM mainframe work. 4. Correct accidental truncation of a command line to 17 characters if it follows the command SET PORT DECnet. 5. Prevent loss of the character following the arrival of transparent printing termination escape sequence ESC [ 4 i while in terminal emulation mode. 6. Use correct logging kind if logging is initiated via a macro, such as: MS-Kermit>DEFINE mymac log session monday.log MS-Kermit>mymac 7. Avoid display of the path when command CD or CWD is given while in a macro or Take file, but show the result if SET TAKE-ECHO ON has been stated. Assists quiet-screen scripts. 8. Prevent a test for supplementary keyboard driver MSLK25.COM from occurring on regular PC and XT machines; let this test still occur on AT's and above. This test caused Kermit to hang AT&T 6300 machines running MS-DOS 3.1, but not for other DOS versions. It also occurs on Olivetti M24 PCs with various versions of DOS, including 2.11 and 3.20. This problem can also be fixed using a DEBUG patch listed in MSVIBM.DBG. 9. Make an arriving Control-Z character be displayed while emulating a VT320/VT102/VT52/Heath-19 terminal. It now shows as a right facing arrow. 10. Correct a bug in processing of IF = COUNT and other math expressions using names of key words (ARGC, VERSION, etc). 11. If command SET TERMINAL CHARACTER-SET TRANSPARENT has been given then let the C1 area control codes, 128-159 decimal or 80h-9fh hex, be usable as displayable text rather than as control codes. Assists translation of certain Cryillic and other character sets that put graphcis in the C1 area. Note that SI and SO control codes may be used to shift between ASCII and high bit set IBM-PC characters. 12. Modify the location of SET TRANSLATION INPUT to occur after, rather than before, normal ISO-2022 character set translations and after SI/SO shifting to left and right halves of tables. When used together with SET TERMINAL CHARACTER-SET TRANSPARENT then the right half, the line drawing and greek characters of the IBM display adapter (or whatever other characters you have loaded in your display adapter), are available as either regular 8-bit codes or as a SI (Control-N) followed by 7-bit codes. Single and locking shifts are still active. Limitation: C1 control characters arriving from the host are exempt from translation mechanisms (as they should be in a "standard" 8-bit character set). However, in the real world some host character sets have graphic characters in the C1 positions, e.g. Russian DKOI. SET TERM CHAR TRANSP is the likely best current solution because it uses C1 characters as text. 13. Modify the indentification of the LATIN1 character set for file transfers from I2/100 to I6/100, to be in agreement with our latest understanding of the "proper" ISO reference identifier. If this causes problems between MS-DOS Kermits with and without this patch then use this workaround: SET TRANSFER CHARACTER-SET LATIN1 and SET ATTRIBUTE CHARACTER-SET OFF. 14. Ensure trailing spaces are removed from commands like DEFINE \%a string. 15. Avoid a possible delay in outputting strings as keyboard definitions when operating with a network communications path (without this patch, function keys might have to be struck twice, etc). 16. Correct operation of ESC [ Pn d in text emulator. 17. OPTIONAL. Use different video mode for Orchid Designer Professional VGA board when switching to 132 columns. Substitutes new hexadecimal value of the video mode for the 23h used with the orignial Orchid Designer board. These two boards yield the same presence signature to Kermit but require different video modes. If your Orchid board works with Kermit in 132 column mode, omit this patch. 18. Corrections to character set translation tables. 19. Force EBIOS path to use regular Bios i/o. This should prevent side effects with Rainbow Software's (Edinburgh, Pink Book) PADPORT TSR program which caused it to go into a endless loop, whereas 2.32/A and earlier did not. Full resolution awaits EBIOS information from IBM. 20. Allow server to exit via BYE and LOGOUT. 21. Server: default to block check from I packet. The server would bid to send files with the block check value set by the server's owner rather than that negotiated by the client in an initial session startup. This patch allows the block check value to be increased during a session above the server's startup value if the client says SET BLOCK 2 or 3. Subtle, and usually of no consequence in normal operations. Sounds like a game of Bridge, and it is very similar. 22. Allow single character definitions for DEFINE macro string. 23. Allow files to be written to Novell file server disks, and stop unwanted access of drive A:. The problem was the standard way of asking DOS about space on the destination drive always yielded drive A: if the real drive was a Novell file server. This caused drive A: to power up and yield an incorrect value for the disk space (none if nothing is in drive A:). AT&T STARLAN has no such problems. If the problem occurs on your system the immediate workaround is to say SET ATTRIBUTE LENGTH OFF. 24. Correct screen rollback allocation if machine has more than 508KB of memory free after Kermit loads its main body. Yes, it has happened! 25. Correct erasure of double width lines and ignore command to restore VT340 color palette settings. Items to be fixed in forthcoming maintence release 3.01 ------------------------------------------------------- During Tektronix emulation, the ESC h sequence (draw bold intensity line) is not recognized. Wyse big screens have problems in Tek mode. Hercules and other b/w systems could not write opaquely in Tektronix mode. Restoration of the VT340 color palette by command from the host. The "LEDs" in the mode line are not displayed during VT320 emulation, but they are in VT102 emulation. Reinstated in the 3.01 maintenance update even though real VT320's do not have "LEDs". Many people are using the LED's for status. Some constructions of a DOS command line for Kermit may not recognize the keyword STAY. For example KERMIT define \%a test,stay. The current workaround is to place the word STAY first on the command line. Improved (i.e., working) support for IBM EBIOS with LAN Async Server. Thanks to IBM and Yale University for their help on this topic. Possibility of support for AT&T LAN Async Server with STARGROUP version 3 OSI level protocols in MS-DOS Kermit v3.01 or in the release following that. Informational Items ------------------- Program source file MSZIBM.ASM is too big to be assembled with pre-5.0 Microsoft assemblers. The non-IBM-compatible versions of MS-DOS Kermit 3.0 are not done yet. Some (DEC Rainbow, Heath/Zenith-100, HP, GRiD, Victor) are currently in preparation and will be announced when they are ready. Volunteers are needed for the others (Sanyo, TI, NEC, etc). In the meantime, the new mss*.* source files are incompatible with the old msu, msg, msx, msy, and msz system-dependent source files for the non-IBM systems. The MSKERMIT.INI file on the distribution diskette contains two errors: 1. In the ERRSTP definition, "\%\13" should be changed to "\%1\13". 2. In the COPY definition, second "if < argc 2" should be "if < argc 3". These errors are fixed in the online copy. The last line, STOP, of the file HAYES.TAK on the distribution diskette should be removed. The STOP statement causes immediate return to the MS-Kermit> prompt, which prevents the DIAL command or HAYES.TAK from being used within another macro or TAKE file. Before you can use MS-DOS Kermit 3.00 under OS/2, you must issue the OS/2 command SETCOM40 COM1=ON. This version of MS-DOS Kermit does not support split-speed communications. When using version 3.0 in terminal mode with a DEC operating system (like VAX/VMS) that knows your terminal type is VT320, you should SET DISPLAY 8 in order for Kermit to properly process 8-bit graphic and control characters which certain applications (such as Word-11 and EVE) will send. Although Kermit does not handle REGIS graphics, there is at least one REGIS-to-sixel converter on the market: RETOS, a DEC product for VAX/VMS. So that key translation and macros can work on both IBM and non-IBM compatible PCs, Kermit uses the system BIOS to obtain key scan codes. But the IBM BIOS does not produce scan codes for certain keys, notably Num Lock. Unfortunately, Num Lock happens to be exactly where you would want to put the DEC PF1 (Gold) key for DEC VT keypad-oriented applications. SET LO is no longer a sufficient abbreviation for SET LOCAL-ECHO. Use SET LOC. Reportedly, scrolling does not work correctly on the Zenith 151 and 386SX PCs (also said to be true of earlier versions of Kermit). Most likely a problem with this machine's video BIOS. Reportedly, this only happens when the PC has "too much" free memory, and the workaround is to fill up as much memory as possible with TSRs, etc, leaving enough room for Kermit. Limitation (not bug): SET TERMINAL CHARACTER SET is effective only for text screens, not for graphics screens. This is because the fonts for all the special characters have not been designed yet (and may never be). SET TERMINAL COLOR is effective only for text screens. In version 3.00, graphics screens come out white on black, whereas in 2.32/A and earlier the text screen fore- and background colors were used. This change allows graphics screens to be printed on black-and-white printers. The ANSI coloring escape sequences, ESC [ ... m, may be used to control the colors on the graphics screen. Reportedly, in order for version 3.0 to work properly under DESQview, it must be given at least 160K, even with only one screen of rollback memory. If insufficient memory is allocated for Kermit under DESQview, garbage will appear at the MS-Kermit> prompt upon escaping back from a terminal connection, and then DESQview hangs Kermit. Similarly, reports have been received that under Microsoft Windows/286 v2.03 there may be problems with memory allocated from DOS being corrupted during Windows' operations. This has not occurred under Windows/386 and the real cause is likely in Windows/286. Hint: Kermit allocates memory dynamically for its rollback screen memory, and Windows should be told about this in advance. The .PIF file that is distributed with Kermit should have bigger numbers for memory requirements. When running under any version of MS Windows the user is cautioned that specifying a ",P" at the end of a serial port setting in WIN.INI or in a MODE command may cause loss of characters from the serial port. The reasons are unknown but are tied to Windows. The solution is to remove the ",P" from the setting. The ",P" means that the COM port is to be used for a printer and not for communication. Since you are using it for communication, you should not configure it as a printer port. Reportedly, Kermit does not work well with the IBM EBIOS Async communication server. Many characters are lost. This is being pursued with the help of IBM and Yale. If an INPUT command is interrupted by pressing the Enter key, the status is set to SUCCESS rather than FAILURE because the command SET INPUT TIMEOUT- ACTION defaults to PROCEED. Pressing the Enter simulates a timeout, pressing Control-C does generate a failure. Reportedly on the NESS-286, NESS-88, and Olivetti M24 PCs, it is necessary to type Ctrl-Break after escaping back from terminal mode with Alt-X in order to get the MS-Kermit> prompt. Furthermore, the NESS-88 cannot reconnect after escaping back (this is said to be caused by a BIOS bug, but might also be related to the ",P" problem mentioned above). Reportedly MS-DOS 2.11 for Tandy 1200 machines has an internal problem if a program opens device CON for output, as Kermit does for REMOTE commands. The symptom is cross linkage of files on the current disk. This has not been noted with other versions of MS-DOS 2.11. Since it is not a Kermit problem the solution is to upgrade to a more recent version of DOS. Thanks to Bob Babcock, peprbv@cfaamp.bitnet, for discovering the Tandy problem. Performance: Several people have reported that MS-DOS Kermit 3.00 is slower transfering files than version 2.32/A; this is not true. Local measurements which exclude variable machine and transmission line effects show the two versions are essentially identical in speed. What people measure is frequently a mixture of machines, communication paths, and other factors which emphasize one or another aspect of the entire file transfer process. The same machines on the same wired path transfer the same file in the same overall time for both versions. When sliding windows are used then the speed increases. Be aware that disk drives, video display systems, and resident programs have a marked effect on the overall speed. One user reported that when using Kermit 3.00 under MS Windows/286, it was very much slower than 2.32/A, but then after increasing the memory allocated to Kermit by Windows, the performance went back to normal. The right hand portion (GRight) of the Latin1 terminal character set will not be accessed by SI/SO locking shifts, unless Kermit first receives the escape sequence ESC - A (Escape, dash, uppercase A) from the host. This is in accordance with the way Digital Equipment Corporation designed the VT300 terminals. That is, the initial state is G0 = G1 = ASCII, G2 = G3 = Latin1, and SI (Control-N) shifts the GLeft pointer from the G0 to the G1 set. The escape sequence ESC - A causes G1 to be loaded with Latin1. According to the rules of ISO-2022, SI/SO is NOT the way of making a 7-bit communications channel simulate an 8-bit one. Escape sequence ESC n locks GLeft to G2 and hence shows the right half of the Latin1 character set with 7-bit character codes; SO (Control-O) returns GLeft to G0. Equivalently, ESC N does the same as ESC n but it acts on only the next display character, a single shift rather than a locking shift. None of these techniques influences C1 control codes. Version 3.00 supports only CP437, CP850, CP860, CP863, and CP865. Reportedly other code pages also exist which are not distributed in the USA, such as CP862 for Hebrew, and possibly another one for Icelandic. Also, it's not clear what the DOS code page reporting mechanism would be, if any, for otherwise IBM-compatible PCs custom fitted with special character sets such as Cyrillic, Arabic, etc, so in these cases too Kermit assumes CP437 and again, there is no current method for the user to load the necessary character set translation tables (many). Code page switching is reportedly not possible on old PC/ATs that have small-memory (64K) EGA boards. Chapter 13 of "Using MS-DOS Kermit", International Character Sets, does not mention that in order to use code page switching, you also need to have a statement like: DEVICE=C:\DISPLAY.SYS CON:=(EGA,437,(12,2)) in your CONFIG.SYS file. Refer to your DOS manual for details. When you push to DOS, and you have XON/XOFF flow control enabled, Kermit sends an XOFF (Ctrl-S) to the host when you leave, and XON (Ctrl-Q) when you return, provided that flow control is active. This is good behavior, as it prevents data transmitted by the host while Kermit's back was turned from being lost. However, if you do this while using the EMACS text editor on the host, the Ctrl-S will be interpreted as a Search command, and the Ctrl-Q as a Quote command. When you return to EMACS, type one or two Ctrl-G's to get out of the Search command. EMACS users are strongly reminded to tell MS-DOS Kermit SET FLOW NONE if they wish XON/XOFF to be generated only by the keyboard and not by normal buffering overflow controls. That is, EMACS material sent to the terminal cannot be flow controlled if EMACS is using received XON/XOFF's as EMACS commands. This is a simple logical deduction. Sending BREAK over various network connections via SET PORT BIOS1 + Int 14h interceptor may or may not work, depending upon the actual network and drivers in use. Kermit uses the BREAK facility if the driver and network support it. The DEC VAXmate PC/AT-compatible does not display 8-bit character sets correctly in terminal mode. The VAXmate uses IBM CP437. 7-bit character sets like the German NRC are displayed correctly, so the special characters are available. A puzzle. The host prompt for TRANSMIT is a single character (SET TRANSMIT PROMPT). But if the host echoes the transmitted material, and if linefeed can't be used as the prompt, this method will fail (for example if the host prompt is period (.), but the text being transmitted also contains many periods). In such cases the material should be communicated with regular file transfer methods. LOG SESSION records the characters that arrive at the serial port, before translation by either Kermit's built-in terminal character set translation tables or by user-specified SET TRANSLATE INPUT commands (versions 2.32/A and earlier did apply the SET TRANSLATE INPUT command before logging to disk). This allows the REPLAY command to work correctly, but it prevents special characters from being logged after translation to the PC's own character set. Screen dump (Ctrl-End or Ctrl-]F) and transparent print, however, record the translated characters. PC-NFS apparently has a fault which prevents applications programs such as Kermit from creating a file in the root directory of a PC-NFS disk drive. When the applications program asks if a particular file exists in the root then PC-NFS always responds with "volume label present", whether or not the actual file is present. Thanks to Thomas Dwyer, tomiii@mtus5.bitnet, for this discovery. Users of add-in cpu boards should be aware that the board may not handle UART serial port details properly if the UART is not directly part of the add-in cpu board. One symptom will be Kermit can send but not receive characters. A workaround is to use SET PORT BIOS1. The faults are with the add-in boards and seem to be characteristic of the species. Please send reports of problems to Info-Kermit@watsun.cc.columbia.edu. End of file MSVIBM.BWR.