DataMuseum.dk

Presents historical artifacts from the history of:

DKUUG/EUUG Conference tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about DKUUG/EUUG Conference tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download
Index: T m

⟦43b172570⟧ TextFile

    Length: 15712 (0x3d60)
    Types: TextFile
    Names: »mskerm.bwr«

Derivation

└─⟦9ae75bfbd⟧ Bits:30007242 EUUGD3: Starter Kit
    └─⟦71044c191⟧ »EurOpenD3/misc/kermit.ms-2.32.tar.Z« 
        └─⟦31f2d420d⟧ 
            └─⟦this⟧ »mskerm.bwr« 

TextFile

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.

------------------------------