

               KERMIT VERSION 2.28 FOR MS-DOS AND PC-DOS

                             June 10, 1985

Kermit-MS is a program that provides terminal emulation and file trans-
fer for Intel 8088- and 8086-based microcomputers running the MS-DOS or
PC-DOS operating system.  The Kermit file transfer protocol was
developed and the Kermit-MS program were developed at the Columbia
University Center for Computing Activities.


* Program Operation

Kermit-MS can be run interactively, from a batch file, or as an
"external" DOS command.  Commands consist of one or more fields,
separated by "whitespace" -- one or more spaces or tabs.  Upon startup,
the program executes any commands found in the file MSKERMIT.INI in the
current path.

. Interactive Operation:

To run Kermit-MS interactively, invoke the program from DOS command
level by typing its name.  When you see the command's prompt,
"Kermit-MS>", you may type Kermit commands repeatedly until you are
ready to exit the program.  You can use these special characters while
typing commands.

BACKSPACE  Delete the character most recently typed.  May be typed
        repeatedly to delete backwards.  You may also use DELETE,
        RUBOUT, or equivalent keys.

CTRL-W  Delete the most recent "word", or field, on the command line.
        May be typed repeatedly.

CTRL-U  Delete the entire command line.

CTRL-C  Cancel the current command and return to the "Kermit-MS>"
        prompt.

?       Type a brief message describing what you are expected to type in
        the current field.

ESC     If enough characters have been supplied in the current field
        (keyword or file name) to uniquely identify it, supply the
        remainder of the field and position to the next field of the
        command.  Otherwise, sound a beep.

=       Wildcard character for matching single characters in filenames,
        equivalent to MS-DOS "?".

. Command Line Invocation:

Kermit-MS may also be invoked with command line arguments from DOS com-
mand level, for instance:

    A>kermit send foo.bar
or
    A>kermit set port 1, set baud 9600, connect

When invoked with command line arguments, Kermit-MS will behave as if it
were an external DOS command, like MODE.  Note that several commands may
be given on the command line, separated by commas.


* Kermit-MS Commands

Kermit-MS V2.28 has the following commands:

          BYE  to remote server.
        CLEAR  key redefinitions.
        CLOSE  log file and stop logging remote session.
      CONNECT  as terminal to remote system.
          CWD  change local working directory.
       DEFINE  macros of Kermit-MS commands.
       DELETE  local files.
    DIRECTORY  listing of local files.
           DO  a macro expansion.
         EXIT  from Kermit-MS.
       FINISH  Shut down remote server.
          GET  remote files from server.
         HELP  about Kermit-MS.
        LOCAL  prefix for local file management commands.
          LOG  remote terminal session.
       LOGOUT  remote server.
         PUSH  to MS-DOS command level.
         QUIT  from Kermit-MS
      RECEIVE  files from remote Kermit.
       REMOTE  prefix for remote file management commands.
          RUN  an MS-DOS program.
         SEND  files to remote Kermit.
       SERVER  mode of remote operation.
          SET  various parameters.
         SHOW  various parameters.
        SPACE  inquiry.
       STATUS  inquiry.
         TAKE  commands from file.
         TYPE  display a local file.
      VERSION  display Kermit-MS program version number.

The following SET commands are available in Kermit-MS:

            AUTOWRAP  Controls line wrap during terminal emulation
                BAUD  Communications port line speed
                BELL  Whether to beep at the end of a transaction
    BLOCK-CHECK-TYPE  Level of error checking for file transfer
               DEBUG  Display packet contents during file transfer
        DEFAULT-DISK  Default disk drive for file i/o
         DESTINATION  Default destination device for incoming files
         END-OF-LINE  Packet terminator
                 EOF  Method for determining or marking end of file
              ESCAPE  Escape character for CONNECT
        FLOW-CONTROL  Enable or disable XON/XOFF
           HANDSHAKE  Half-duplex line turnaround option
             HEATH19  Heath/Zenith-19 terminal emulation
          INCOMPLETE  What to do with an incompletely received file
                 KEY  Specify key redefinitions, or "keystroke macros"
          LOCAL-ECHO  Specify which host does the echoing during CONNECT
           MODE-LINE  Whether to display mode line in terminal emulation
              PARITY  Character parity to use
                PORT  Select a communications port
              PROMPT  Change the "Kermit-MS>" prompt to something else
             RECEIVE  Request remote Kermit to use specified parameters
              REMOTE  For running Kermit-MS interactively from back port
                SEND  Use the specified parameters during file transfer
           TAKE-ECHO  Control echoing of commands from TAKE files
               TIMER  Enable/disable timeouts during file transfer
             WARNING  Specify how to handle filename collisions

The STATUS command shows the values of parameters which may be SET.  The
SHOW command displays current key or macro definitions.


* Command Macros

Kermit-MS provides a facility for combining commands into "macros."
Command macro definitions may be included in your MSKERMIT.INI file,
TAKEn explicitly from a specified file, or typed interactively, and may
be invoked with the DO command.


* Command Macros

Kermit-MS command macros are constructed with the DEFINE command.  The
syntax is 

    DEFINE macro-name  [command [, command [, ...]]]

Any Kermit-MS commands may be included.  Example:

    define telenet set parity mark, set baud 1200, connect

A Kermit-MS command macro is invoked using the DO command.  For in-
stance, Kermit-MS comes with a predefined macro to allow convenient
setup for IBM communications; to invoke it, you would type 

    do ibm

The IBM macro is defined as "parity mark, handshake xon, local-echo on,
timer on".  You can delete or replace this definition by adding a new
(perhaps null) definition, such as

    define ibm parity even, handshake cr, local-echo on, timer on]
or
    define ibm

Command macro definitions can be displayed with the SHOW MACROS command.


* Terminal Emulation

Here are the terminal emulation options for the systems presently sup-
ported by Kermit-MS:

  System         EscChar   Cabilities   Terminal Service
  IBM PC, XT       ^]      R M P K      Heath19 emulation
  DEC Rainbow      ^]      R   P K      VT102 firmware
  HP-150           ^]      R            HP-2623 firmware
  Wang PC          ^A                   Wang firmware
  Generic DOS      ^]                   Depends on system

Under Capabilities, R means rollback, M means mode line, P means printer
control, and K means key redefinition.

Kermits that use the built-in Heath-19 emulation can disable it with the
SET HEATH OFF command and use an external console device driver like
ANSI.SYS instead.

During terminal connection, the escape character is used to regain the
attention of Kermit-MS.  When you type the escape character, Kermit-MS
waits for you to follow it with a single character command:

  ?   Help -- prints the available single-character commands.
  C   Close the connection and return to Kermit-MS prompt level.
  S   Show the status of the connection.
  B   Send a BREAK signal to the port.
  0   (the digit zero) Send a NUL (ASCII 0) to the port.
  Q   Temporarily quit logging the remote session.
  R   Resume logging the remote session.
  M   Toggle the mode line, i.e. turn it off if it is on & vice versa.
  ^]  (or whatever you have set the escape character to be)
      Typing the escape character twice sends one copy of it to the con-
      nected host.

Typing any other character (except the space bar, which is the "null
command") after the escape character will cause Kermit-MS to beep, but
will do no harm.  The escape character can be changed to something other
than Control-Rightbracket by using the SET ESCAPE command.

Kermit-MS includes several advanced features for use during terminal
emulation, including screen scroll, printer control, and key redefini-
tions.

. Screen Scroll

Kermit-MS provides several pages of screen memory, which may be scrolled
up and down using keys as follows:

  Function            IBM PC/XT   Rainbow           HP-150
  Screen Down         PgUp        PrevScreen        Prev
  Line Down           Ctrl-PgUp   Ctrl-PrevScreen   Shift-UpArrow
  Screen Up           PgDn        NextScreen        Next
  Line Up             Ctrl-PgDn   Ctrl-NextScreen   Shift-DownArrow
  Top of Memory       Home
  Bottom of Memory    End

. Printer Control

A locally attached printer may be controlled in the normal manner, on
most systems.  Pushing the "Print Screen" key (shifted on some systems)
will cause the current contents of the screen to be printed or spooled;
holding down CTRL while depressing Print Screen will start or stop the
spooling of incoming characters to the printer.

CTRL-Print-Screen can be simulated with the Kermit-MS LOG PRN and CLOSE
commands.

. Key Redefinitions

Use SHOW KEY to find out the scan code of the key you want to redefine,
then use SET KEY SCAN xxx to define the new value.  Control characters
are entered in the definition string as \ooo (a backslash followed by 2
or 3 octal digits denoting the ASCII value of the character).
