|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T m
Length: 15712 (0x3d60) Types: TextFile Names: »mskerm.bwr«
└─⟦9ae75bfbd⟧ Bits:30007242 EUUGD3: Starter Kit └─⟦71044c191⟧ »EurOpenD3/misc/kermit.ms-2.32.tar.Z« └─⟦31f2d420d⟧ └─⟦this⟧ »mskerm.bwr«
MSKERM.BWR, MS-DOS KERMIT 2.32 "BEWARE FILE" -*- Text -*- -------------------------------------------- Last update: Tue Jan 10 16:52:09 1989 INCOMPATIBILITIES BETWEEN 2.29 AND 2.30 AND LATER INCLUDE: SET KEY and SHOW KEY commands use different key identifications and syntax (see manual for details). Some key combinations are no longer supported, e.g. arbitrary combinations of Shift, Ctrl, and Alt applied to non-Function keys. A new program, SCANCHEK, is supplied to help with keycodes. This program is distributed as MSUCHK, read MSUCHK.HLP for further information. There is also a file, MSVIBM.KEY, that lists the old and new scan codes. LOCAL command prefix has been removed from 2.30. Now, just use "DEL" rather than "LOCAL DEL", etc. CLEAR now means clear serial port buffer rather than key and macro definitions. Key and macro definition string space is now garbage collected, so a CLEAR command for them is no longer necessary. SET KEY CLEAR removes all key definitions, and macros may be undefined individually. The CLRINP command is gone (replaced by CLEAR). Numbers of the form \nnn now default to decimal rather than octal. A radix can also be specified: \Onnn (octal), \Xnnn (hex), \Dnnn (decimal). LOG <filespec> replaced by LOG SESSION <filespec> and LOG PACKET <filespec>. LOG TRANSACTION <filespec> is added in version 2.31. CLOSE in version 2.31 requires the type of LOG file to be closed, such as CLOSE SESSION or CLOSE ALL. Because of these incompatibilities, old MSKERMIT.INI and other MS-Kermit command files and macro definitions may not work under 2.30 and later. However, version 2.30 includes a new feature to allow a different name for the initialization file to be specified on the command line. This will let you run your old and new Kermits on the same system without having to rename the init file each time. For instance, keep your old init file as MSKERMIT.INI, and name your new one something else, like MS231.INI. Then when you run the new Kermit, invoke it like this: "kermit -f ms231.ini". You can also run the new Kermit with no init file at all: "kermit -f nul". In addition to the user interface differences, there are also some changes in the IBM PC's VT102 emulation. For instance, previous releases did not home the cursor upon receipt of the DECOM sequence (ESC [ ? 6 h/l), as a real VT100/VT102 does. The current release behaves correctly. However, various software (such as Unix termcaps, sysline programs, etc) may depend on the old behavior. This software should be changed. The correct sequence for putting a message at a particular place on the screen and then restoring the cursor to its previous location is: ESC 7 (save current origin mode and cursor location) ESC [ 6 l (set origin mode to absolute) Not required in v2.30. ESC [ 25 ; 1 H Hi there (write message on 25th line) ESC 8 (restore cursor and origin mode) Here is a sample UNIX termcap entry for the VT100 and VT102: d0|vt100|vt100-am|vt100pc|vt101|dec vt100:\ :cr=^M:do=^J:nl=^J:bl=^G:co#80:li#24:cl=50\E[;H\E[2J:\ :le=^H:bs:am:cm=5\E[%i%d;%dH:nd=\E[C:up=\E[A:\ :ce=3\E[K:cd=50\E[J:so=\E[7m:se=\E[m:us=\E[4m:ue=\E[m:\ :md=\E[1m:mr=\E[7m:mb=\E[5m:me=\E[m:is=\E[1;24r\E[24;1H:\ :rf=/usr/lib/tabset/vt100:\ :rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:ks=\E[?1h\E=:ke=\E[?1l\E>:\ :ku=\EOA:kd=\EOB:kr=\EOC:kl=\EOD:kb=^H:\ :ho=\E[H:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:ta=^I:pt:sr=5\EM:vt#3:xn:\ :sc=\E7:rc=\E8:cs=\E[%i%d;%dr: dz|vt102|vt-102:im=\E[4h:ei=\E[4l:al=\E[1L:dl=\E[1M:dc=\E[1P:\ :pc=\177:tc=vt100: INCOMPATIBILITIES BETWEEN 2.30 AND 2.31 INCLUDE: New commands added in 2.31 include GOTO, IF, MAIL, POP, REINPUT, STOP, and WAIT. Some of these commands may cause the minimum abbreviation acceptable to recognize other familiar commands (like GET and INPUT) to grow from one to two characters. For instance, "g" was sufficient to specify GET, but now you need at least "GE" because of the new GOTO command. Input still may be abbreviated "i" (a special case). Some new SET options were also added, but these don't cause any abbreviation conflicts. Long Kermit commands (e.g. in TAKE files) can now be continued onto subsequent lines by hyphenating them. This means that if you had lines in your old TAKE or initialation files that ended with dash (like "set key \330 -"), you should change them by adding a comment or changing the dash to \45, as in "set key \330 - ; keypad dash", or "set key \330 \45". ** LIMITATIONS AND RESTRICTIONS OF MS-KERMIT: On IBM PCs and PS/2s with IBM asynchronous adapters, Kermit can be used at speeds up to 57600 bps. In most cases, 115200 bps will not work, and might even hang the machines. The IBM PC implementation of VT102 emulation has several restrictions: no smooth scroll, no ENQ/Answerback, no alternate character ROMs (the alternate Read Only Memory chip is mapped to be the same as the regular chip), no hardware confidence tests (parsed but ignored). Double height/width characters are simulated. 132 column mode is available to users of several EGA boards, and Kermit is able to set them to that width upon host command. As of version 2.31, MS-Kermit's reply to the ESC Z "what are you?" query has been changed from "ESC [ ? 6 ; 2 c" to "ESC [ ? 6 c", which is what a VT102 actually reports. There is currently no way to make it say it is a VT100 (ESC [ ? 1 ; x c), short of patching the code (for which purpose some patch space has been allocated). Interaction between MS-Kermit and various terminate-and-stay-resident (TSR) programs is necessarily unpredictable, depending upon how "well behaved" they are. Certain console, mouse, or graphics drivers might interfere with file transfer, etc. Caution should be used when invoking certain TSR programs while PUSHed from Kermit (e.g. using the PRINT command for the first time), as not all of these programs observe proper etiquette for allocating and freeing memory, and more importantly the TSRs will be loaded above Kermit into the middle of memory where they may prevent large programs from loading later. As a concrete example of the above, certain mouse drivers may prevent Kermit from transferring files, and possibly also from recovering from timeouts during script execution, or even from XOFF deadlocks during terminal emulation. This is because Kermit and the mouse driver are competing for the same interrupt, and the mouse driver might not be playing by the rules. Possible workarounds include: (1) remove the mouse driver from your CONFIG.SYS file; (2) if your mouse driver can be turned off and on (e.g. if you have MOUSE OFF and MOUSE ON commands), turn the mouse off during Kermit execution; (3) give the MS-Kermit command SET TIMER OFF. When you type the escape character while in Tek mode, the screen goes back to text memory. Then when you type the argument character, the screen goes back to Tek (unless the argument was C or P). This causes your graphics screen image to be lost if your adapter doesn't have enough display memory. Shift-Printscreen can cause the PC to hang if there is no attached printer. This is a BIOS feature, Kermit never receives the command. It occurs most frequently with a printer interface that has nothing plugged into it. When used in remote mode, e.g. as a server, a REMOTE HOST command can invoke the DOS critical error handler, which has issued its familiar "Abort, Ignore, Retry?" message on its screen, and is waiting for a response from its own keyboard. This is a DOS feature. MS-Kermit does not attempt to monitor the communication line for carrier loss during terminal emulation or file transfer (but now you can SHOW MODEM or SHOW COMMUNICATIONS to inquire about CD, DSR, and CTS). The absence of carrier monitoring is actually a design decision. Interactive users will notice when carrier drops, and timeouts will catch the situation during file transfer or script execution. The new script command WAIT permits sensing carrier presence while doing scripts or macros. The benefits are not having to wire a direct RS-232 plug to simulate a modem's carrier being present and being able to talk to the local modem before a carrier is detected from the other modem. In VT102 emulation on the IBM family, receipt of the ESC [ 4 m (turn on underscore) command results in reverse video rather than underscore on IBM CGA, EGA and other color monitors. This was done to avoid showing underscoring as the IBM specification of non-bold blue on black. On early (original motherboard & BIOS) PCs, and on systems that mimic them (e.g. early Compaqs), the cursor may assume a strange shape upon return from CONNECT. This is caused by a bug in the early BIOS, which stored cursor attributes incorrectly. See message below for a way to fix this. On systems that support a CONNECT mode status line, there is no way to have Kermit start up without a status line, yet still retain the ability to turn it on at a later time. SET DEST DISK does not redirect output of REMOTE commands to disk -- they still come to the screen (there's currently no syntax for specifying a file name). During file transfer, MS-Kermit does not show the current disk and directory on the screen, which makes it hard to know whether complicated command files that change directories a lot are working correctly. If the host requests video attributes be turned off then brightness, being one of them, is returned to IBM-normal (i.e., dim). DEC and IBM differ markedly about representing brightness (IBM means foreground only, DEC refers to illuminated dots whether foreground or background). It's something we have to live with if brightness is to be used by the host. MS-Kermit does an implicit SET PORT COM1 on startup. Part of this process involves interacting with the port hardware, including clearing the hardware parity setting (because Kermit does parity in software). If you have something connected to COM1 besides the communication line you will be using Kermit with, Kermit's sensing of COM1 may cause problems. For example, if you have a serial printer on COM1 that uses (say) even parity, and intend to use Kermit over COM2, you will find that Kermit has cleared COM1's parity, and the printer might not operate correctly while Kermit is active. Kermit does, however, restore the port's parity upon exit. As of 2.32, MS-Kermit saves not only scrolled lines, but also cleared screens in the rollback buffer. However, cleared screens are saved only if they were cleared via ESC [ 2 J. Some applications use other sequences, like ESC [ H, ESC [ J. MS-Kermit has to be assembled with MASM 4.0 or later, because the symbol tables are too big for earlier MASM versions. Unlike version 2.31, it should also be assemblable by MASM 5.1. Reportedly, the program can also be built using Borland TASM (although several harmless warning messages appear) and TLINK. ** IDEAS FOR NEW FEATURES: These are collected simply for future consideration, with no commitment implied... Sliding windows transport protocol. Dynamic packet sizing to adapt to noise conditions, as in Kermit-370. A way to send files with their full path names. Possibly also dynamic creation of directories when receiving. Backing up a directory tree with a single SEND command is an example. (There is a program XSEND - stored as MSIXSE - that will build Kermit command files to do this.) This makes sense only for the same operating system on both ends and is an invitation to trouble otherwise. Since MS Kermit now supports file attributes packets the type of operating system can be known on both sides. Permission is needed to allow creation of directories on the remote system. Display of current disk and directory on the file transfer screen. Also perhaps display of other parameters like parity, block check type, etc. Regular file transfer display should show Kbytes per file and per batch. Substitutable parameters for TAKE commands as we have now for DO commands. A better built-in help facility, and perhaps even an optional menu-driven user interface. A byte-stuffing mechanism during file transfer to get past devices that are not transparent to all printable ASCII characters (this may need to be defined in the Kermit protocol itself). A way to play session logs back through Kermit's terminal emulator directly from the disk log file. A PLAYBACK command will probably be added to a future release. A way to dump graphics screens to a file or a printer. A way to pass script input text through the terminal emulator. SET HANGUP-ON-EXIT {ON, OFF} (default OFF). Increased storage for macro definitions. ------------------------------ Date: 7 FEB 86 10:51-MST From: JRD@USU Subject: Dashed Cursor Problem on IBM PC On early (original motherboard & BIOS) PCs, and on systems that mimic them (e.g. early Compaqs), the cursor may assume a strange shape (e.g. minus sign) upon return from CONNECT. This is caused by a bug in the early BIOS, which stored cursor attributes incorrectly. The PC Tech Journal article discussing the problem is "The Dashed Cursor", by Paul Pierce, PC Tech J., Dec. 1985, page 47. His code goes like this: ; ; Program FIXCURS.ASM by Paul Pierce, PC Tech Journal, Dec 1985, page 47. ; code segment public 'code' assume cs:code, ds:code, es:nothing ; ; This program is set up to be made into a COM file ; org 100H ; ; First check for the monochrome adapter. ; start: int 11H ; set ax = equipment flag and al,30H ; mask off all but video bits cmp al,30H ; test for monochrome adapter jne exit ; jump if not monochrome ; ; Now check for incorrect cursor mode returned from the Bios ; mov ah,3 ; call bios to get cursor type int 10H ; cmp cx,0607H ; check for invalid (color) type jne exit ; jump if not a bad value ; ; At this point we know that the monochrome adapter is in use and that ; the bios cursor mode is incorrect. ; Call the bios to set the cursor type correctly. ; mov cx,080cH ; use correct cursor type mov ah,1 ; call bios to set cursor type int 10H exit: mov ah,0 ; exit back to DOS int 21H code ends end start ------------------------------ KNOWN BUGS IN VERSION 2.32 The text sent by REMOTE MESSAGE between two PCs sometimes gets lost (e.g. if the message is exactly 3 characters long). Kermit works in remote mode via CTTY COM1, but apparently not with ports other than COM1. When you type "SET ?", SET SPEED is not shown, and DEFAULT-DISK and DEBUG are reversed alphabetically. The ASSIGN command does not accept backslash codes in the prompt. For instance, "ASK \%x \27[1mPrompt:\27[0m" will print literally, rather than interpreting the escape codes. This prevents the use of special effects in ASK prompting during script execution through ANSI.SYS, etc. Before 2.32, only lines that scrolled off the top during terminal emulation were saved in the screen rollback buffer. In 2.32, also screens that are cleared using ESC [ 2 J are also saved. However, 2.32 does not save screens that were cleared using ESC 1 ; 1 f ESC J or ESC [ 0 ; 0 H ESC [ J. This restriction will probably be lifted in the next release. DISABLE MESSAGE erroneously performs DISABLE SEND, and MESSAGE cannot be disabled. Also in the manual, REMOTE SEND should be listed as REMOTE KERMIT. ------------------------------