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 c

⟦f6d0d3626⟧ TextFile

    Length: 49596 (0xc1bc)
    Types: TextFile
    Names: »ckmker.doc«

Derivation

└─⟦9ae75bfbd⟧ Bits:30007242 EUUGD3: Starter Kit
    └─⟦3da672b63⟧ »EurOpenD3/misc/kermit.tar.Z« 
        └─⟦126dd3ca0⟧ 
            └─⟦this⟧ »ckmker.doc« 

TextFile

















                          MACINTOSH KERMIT USER GUIDE


                 FOR THE APPLE MACINTOSH 512, PLUS, II, AND SE



                       Christine Gianone, Frank da Cruz

              Columbia University Center for Computing Activities
                           New York, New York 10027


                                 Paul Placeway

                Department of Computer and Information Science
               Ohio State University, Columbus, Ohio 43210-1277


                                 May 26, 1988



                           Copyright (C) 1985, 1988
            Trustees of Columbia University in the City of New York

     Permission is granted to any individual or institution to use, copy,
    or redistribute this document so long as it is not sold for profit, and
                  provided this copyright notice is retained.



1. MACINTOSH KERMIT

--------
This  document  is  formatted  as an ordinary, plain text ASCII disk file, from
SCRIBE text formatter source.   Typeset  copies  are  available  from  Columbia
University.
--------

Program:        Bill   Catchings,   Bill   Schilit,  Frank  da  Cruz  (Columbia
                University),
                Davide Cervone (University of Rochester),
                Matthias Aebi (ECOFIN Research and Consulting, Ltd., Zuerich),
                Paul Placeway (Ohio State University).
Language:       C (MPW)
Documentation:  Christine Gianone, Frank da Cruz, Paul Placeway
Version:        0.9(40)
Date:           May 26, 1988


MacKermit Capabilities At A Glance:

  Local operation:                   Yes
  Remote operation:                  Yes (server mode only)
  Login scripts:                     No
  Transfer text files:               Yes
  Transfer binary files:             Yes
  MacBinary transfers:               No
  Wildcard send:                     Yes (whole HFS folders)
  File transfer interruption:        Yes
  Filename collision avoidance:      Yes
  Can time out:                      Yes
  8th-bit prefixing:                 Yes
  Repeat count prefixing:            Yes
  Alternate block checks:            Yes
  Terminal emulation:                Yes (VT100,VT102)
  Communication settings:            Yes (Speed, Parity, Echo)
  XON/XOFF:                          Yes
  Transmit BREAK:                    Yes
  IBM mainframe communication:       Yes
  Transaction logging:               Yes
  Session logging:                   Yes
  Debug logging:                     No
  Packet logging:                    No
  Act as server:                     Yes
  Talk to server:                    Yes
  Advanced server functions:         Yes
  Local file management:             Yes
  Command/Init files:                No
  Key redefinition/macros:           Yes
  File attributes packets:           No
  Command macros:                    No
  Raw file transmit:                 No
  Long packets:                      Yes
  Sliding windows:                   No


1.1. Introduction

Macintosh Kermit, or "MacKermit", is  an  implementation  of  the  Kermit  file
transfer protocol for the Apple Macintosh family of computers. It was developed
at Columbia University, based on C-Kermit (which also forms the nucleus of Unix
Kermit  and  many other Kermit programs).  Version 0.9 of MacKermit runs on the
Macintosh 512, XL (Apple Lisa running MacWorks), 512e, Plus, SE, and II,  under
the regular Finder and the Multifinder, with which it can transfer files in the
background.  MacKermit 0.9 probably does not run on a 128k (original,  classic)
Macintosh,  due  to lack of sufficient memory, but should run OK on a "fat Mac"
(a 128K Mac upgraded to 512K).  Version 0.8 should be retained for 128K Macs.

This manual assumes you are acquainted with your Macintosh, and  that  you  are
familiar with the general ideas of data communication and Kermit file transfer.
A very brief overview is given here, but for details consult the early chapters
of  the  Kermit  User  Guide (of which this document is a chapter), or the book
Kermit, A File Transfer Protocol, by Frank da Cruz, Digital Press (1987).   For
further  information  about  Kermit  documentation,  updates,  lists of current
available versions, and ordering information, write to:

    Kermit Distribution
    Columbia University Center for Computing Activities
    612 West 115th Street
    New York, NY  10025  (USA)


1.2. Installation

Before you can use Macintosh Kermit or any other communication program on  your
Mac,  you must have a way to connect it to the other computers you wish to com-
municate with.  This means either a direct cable connection  (usually  using  a
"null  modem" cable), or a modem connected to your Mac and to a telephone.  The
Macintosh poses two special problems at this level.  First, its connectors  are
not the standard 25-pin RS-232 style, but either 9-pin or 8-pin special connec-
tors which you need special adapters for.    Second,  the  Macintosh  does  not
supply a Data Terminal Ready (DTR) signal, which is required by most modems be-
fore they will operate.  To use your Mac with a  modem  that  is  not  designed
specifically  for the Mac, you have to either (a) configure the modem to ignore
the DTR signal, or (b) feed some other active signal into the modem's  DTR  in-
put.  The former is usually done with DIP switches on the modem, the latter can
be done in the connector that plugs into the modem by installing a jumper  wire
between  DTR  (pin  20) and DSR (pin 6), or by connecting the Mac's +12V output
(pin 6 on the Mac's 9-pin connector) to DTR (pin 20) on the modem end.

If you have received a Macintosh  Kermit  diskette  from  Columbia  University,
there's no special software installation procedure -- just insert the diskette,
double-click on the appropriate start-up file, or on MacKermit itself, and  go.
If  all  the  communication  and  other  settings agree with your requirements,
there's nothing else you need to do.  This process is illustrated in  the  next
section, just below.

MacKermit is not copy-protected, and nothing out of the ordinary is required to
make copies onto other diskettes, or onto your hard disk if you have one.  Just
use the ordinary Macintosh methods of copying files, folders, etc.

Later, you may wish to create settings files tailored to your communication en-
vironment, and you might also want to  customize  the  keyboard  configuration.
Use  the  various Settings options for this, and then select Save Settings from
the File menu.  Settings and settings files are explained in Sections 1.10  and
1.11.


1.3. Getting Started

Kermit programs perform two major functions, terminal emulation and file trans-
fer.  Before transferring files between two systems you must establish  a  ter-
minal  connection  from  your  system  to  the other one, either direct or else
dialed up using a modem.  Then to transfer files, login to the remote system if
necessary,  start  up  a  Kermit  program  there,  and then tell the two Kermit
programs which files to transfer, and in what direction.

Most Kermit programs present you with a prompt, in response to which you type a
command, repeating the process until you exit from the program.  If you want to
establish a terminal connection to another system, you must  give  the  CONNECT
command.    Unlike  these programs, MacKermit is always connected, and whatever
keystrokes you type are sent to the other system.  To give  commands  to  MacK-
ermit  itself, you must use the mouse to pull down menus from the menu bar that
overlays your terminal session, or type special Command-key equivalents.

The following example shows how to transfer a file with MacKermit.  The  remote
computer is a Unix system, but the method is the same with most others.

   - First  insert the MacKermit diskette.  It should appear on the screen
     as a diskette icon titled Kermit 0.9(40).  Click on it twice to  open
     if it did not open automatically when you inserted it in the drive.

   - Once  the  disk  is opened, you will see three MacKermit icons across
     the top of the screen.  For the Unix system and most others  you  can
     use  the  "Normal Settings" icon -- to start the Kermit program click
     twice on it.  For linemode connections to IBM mainframes,  you  would
     click twice on the "IBM Mainframe Linemode Settings" icon.

   - You  will  see a white backround with menus stored under the headings
     File, Edit, Settings, Remote, and Log.

   - Move  the  mouse  pointer   to   the   Settings   menu   and   select
     Communications... by clicking on it once.

   - MacKermit  normally  sets  the  communication  speed to 9600 bits per
     second.  Click on the circle in front of 1200 (or whatever speed  you
     need  to  match  the  baud  rate of your modem and/or remote system).
     Check to see that the other communication settings like parity are as
     required, and make any necessary changes.

   - Click on the "OK" box to accept the settings.

   - If you have a Hayes-like dialout modem, follow the next two steps:

        1. Type  AT  (uppercase)  and then press the Enter key.  The modem
           should respond with "OK" or  the  digit  "0"  (zero).    If  it
           doesn't,  check  the  cable, the modem, etc (consult your modem
           manual for details).

        2. Now type ATDT 7654321 followed by Enter (replace 7654321 by the
           actual phone number).  If the connection succeeds, you'll get a
           message like CONNECT (or the digit "1"), otherwise  you'll  see
           an error message like NO CARRIER, ERROR, etc, or a digit like 3
           or 4 (see your modem manual).

     For non-Hayes-compatible modems,  follow  the  instructions  in  your
     modem manual.  For direct connections, skip this step altogether.

Now  you  should  be talking to the Unix system.  Type a carriage return to get
its attention, and it will issue its login prompt.  In the examples below,  un-
derlining is used to show the parts that you would type.

    Login: christin          Login to the host.
    password:                (Passwords normally don't echo.)

    % kermit                 Run Kermit on the host.

    C-Kermit>receive         Tell it to receive a file.

Now tell MacKermit what file to send:

   - Use  the  mouse to point to the File menu and select the Send File...
     option.  You can either type in the name of the file (if you know the
     name)  or  select  the  alternate  drive to see what files are on the
     disk.  Once you see the file you want to send, click on the  filename
     and then click on the SEND option (or you can just click twice on the
     filename).

   - A "File Transfer Status" box will appear to report  the  progress  of
     the  transer.    NOTE: If the number of retries is increasing but not
     the number of packets, you should check your  Communications...  set-
     tings under the Settings menu.

   - When  the  file transfer is completed, the "File Transfer Status" box
     should disappear and the C-Kermit prompt should reappear.

You have just transferred a file from the Macintosh to the  Unix  system.    To
transfer a file in the other direction, use the "send filename" command on Unix
instead of "receive", and click on "Receive File..."  from the Mac's File menu,
instead of "Send File...".

After  the  file  is  transferred,  your  terminal  connection is automatically
resumed.  Once your Unix session is complete, you can log out,  and  then  exit
from MacKermit:

    C-Kermit>exit

    % ^D                     Logout from Unix by typing Ctrl-D.

   1. Select the Quit option in the File menu by clicking on it.

   2. Select the Close option in the File menu by clicking on it (assuming
      you want to close the current folder).

   3. Select the Eject option in the File menu by clicking on it (assuming
      you ran Kermit from a diskette that you want to eject).

That's  the  easiest  and  quickest way to use Kermit.  If this simple scenario
does not work for you, look for any obvious incorrect settings (speed, parity),
fix them, and try again.  Otherwise, read on.


1.4. The Macintosh File System

The  Macintosh  file system consists of one or more disks, each disk containing
files.  There are actually two Macintosh file systems, which work slightly dif-
ferently.

Disks  formatted  for  the  older  Macintosh  File System (MFS) are essentially
"flat".  All files on one of these disks must have a unique name.  Files may be
collected together into "folders", but folders are not analogous to directories
on other file systems, and no two folders on the same disk may contain files of
the  same name; the folders exist only to make things look nicer in the Finder.
All Macintoshes have support for MFS.

Disks formatted with the newer Hierarchical File System (HFS) are  not  "flat";
each  folder is a directory.  There may not be more than one file with the same
name in a single folder, but there may be identically named files in  different
folders.

Macintosh  file names may contain practically any printable characters, includ-
ing space and punctuation -- but colon (":") may not be used;  it  is  used  in
device names and as the HFS path element separator.


1.5. Menus

The  major  menus  are Apple, File, Edit, Settings, Remote, and Log.  The Apple
menu gives some information about the program, including the MacKermit  version
number  and  the  C-Kermit  protocol mudule version number (useful in reporting
bugs).  It also shows statistics about the most recent file transfer.

The File menu invokes Kermit's file transfer functions, Send, Get, and Receive.
It  also  allows settings to be saved and restored, and like most Macintosh ap-
plications, includes a "quit" entry for leaving the program, and  a  "transfer"
entry for transferring to another program without going through the Finder.

The Edit menu provides support for Macintosh desk accessories that need to have
this menu to do cut and paste.  This menu does not  currently  do  anything  in
MacKermit.

The  Settings menu provides dialog boxes for file, communications, and protocol
settings; these will be discussed below.

The Remote menu has the commands that can be sent to Kermit servers, as well as
an option to turn Macintosh Kermit itself into a server (also discussed below).

The  Log  menu contains commands to start and stop session and transaction log-
ging.  It also has an entry to dump the current screen  image  to  the  session
log, which is only enabled when the session log is open.


1.6. Terminal Emulation

Before you can transfer files, you have to establish a terminal connection with
the other computer.  You don't have to give MacKermit any special command to do
this,  just  start  the program.  Assuming you have a physical connection, then
the software will use it.  If you think you have  a  physical  connection,  but
don't  see any results, click on the Settings menu and select Communications to
make sure you have the right speed and parity.  If you have to dial out to make
the  connection,  you  must do this yourself -- Mac Kermit won't do it for you.
Depending on the type of modem, you must either type  dialing  commands  to  it
directly  (like  the Hayes ATDT command in the example in section 1.3), or else
dial the phone manually, wait for an answer and a carrier tone,  and  then  put
the modem in data mode.

Once  you've  made  the  connection, you can use MacKermit's terminal emulator,
which conforms to ANSI standard X3.64, providing a subset of  the  features  of
the DEC VT102 terminal (a VT100 with line and character insert and delete func-
tions added).  The functions provided are sufficient to allow MacKermit to  act
as a terminal for the EMACS full-screen editor as it exists on most timesharing
systems, and for most host-resident display-oriented applications  that  expect
to  do cursor positioning and editing on the VT100 or VT102 screen, such as VAX
TPU.  MacKermit does not currently support the following VT100/102 functions:

   - Double height or double width lines
   - Blinking
   - 132 columns
   - DEC-style line wrapping
   - Control characters embedded in escape sequences
   - VT52 mode

(this is not an exhaustive list)

The keyboard is set up by default as follows: If your Macintosh has  a  Control
key  (ie.  an  SE or II), Kermit uses it, and the Command (Fan, Cloverleaf) key
can be used for keyboard equivalents for menus.  If your Mac does  not  have  a
Control  key,  then  the Command key is used as the Control key.  The CAPS LOCK
key forces all alphabetic characters to upper  case.    The  terminal  emulator
sends  ESC  (escape) when the "`" (accent grave) key is pressed unshifted (even
if your keyboard has an ESC key).  The character "`" can be sent by typing Con-
trol  (or Command) and the same key.  The Backspace key sends a Delete (Rubout)
and Control-Backspace sends a Backspace.  On the original  Mac  keyboards,  the
main  keypad Enter key sends a "short" (250ms) BREAK signal.  The Mac+, Mac SE,
and Mac II do not have a main keypad Enter key, so the BREAK function  must  be
reassigned to another key.

You  can modify the keyboard layout any way you like, defining keyboard macros,
defining or moving  the  Control  and  Escape  keys,  etc.,  using  MacKermit's
built-in  key  configuration  features.    Older  MacKermits  (version  0.8 and
earlier) came with a separate key configuration program called  CKMKEY.    This
should  not  be  used, because it does not understand the format of the 0.9 and
later keyboard configuration software.

MacKermit includes a mouse-controlled cursor positioning feature for use during
terminal emulation.  If the "Mouse -> Arrow Keys" feature is turned on (via the
Terminal entry of the Settings menu), then when the mouse  button  is  pressed,
the  program  acts as if you typed the VT100 keypad arrow keys to move the ter-
minal cursor to where the mouse cursor is.  MacKermit does this by sending  the
absolute strings for arrow keys, independant of what is bound to the actual ar-
row keys of the keyboard.

MacKermit sets the Mac hardware to do 8-bit data communication with no  parity,
and then correctly sets the parity bit of each character itself in software, as
requested in the Communication settings menu.  This has the benefit of avoiding
the  problem of a machine which requires a different input parity than it sends
back.  MacKermit will correctly receive all of the characters sent  to  it,  no
matter which parity they are.

To allow useful coexistence of desk accessories and Kermit, the terminal emula-
tion window may be dragged using the drag bar.  If a  desk  accessory  overlays
the  emulation  window,  the emulation window can be clicked upon to move it in
front of the DA, and later dragged to reveal the hidden desk accessory so  that
it can be restored to the foreground.  The same thing can be done with Kermit's
own remote response window as well.  Note that Kermit's terminal emulation win-
dow does not accept input when any other window is in the foreground.

MacKermit  uses XON/XOFF (control-Q and control-S) flow control during terminal
emulation and file transfer.  If the other system does not understand XON/XOFF,
problems may result at high speeds.  The terminal emulator can normally keep up
at 9600 baud, and has a very large input buffer, but after  several  continuous
scrolling  screens at this speed, some characters may be lost.  When running at
high baud rates on a system that does not understand XON/XOFF flow control, ei-
ther  keep  your  terminal in page mode, use a text paging program such as Unix
"more", or view text with a non-scrolling screen editor.  Also, don't drag  the
terminal emulation window while characters are arriving; if you do, the charac-
ters may be lost and the display may become confused.

During terminal emulation, the characters displayed on the screen may  also  be
saved on the disk.  This allows you to record interactions with the remote sys-
tem, or to "capture" files that you can't transfer with  Kermit  protocol,  for
example  when  the  remote  system does not have a Kermit program.  Use the Log
menu, and choose session logging to activate this feature.    The  result  goes
into  a file called "Kermit Session" in the current folder, which is always ap-
pended to, rather than overwritten.  To create a new  session  log,  delete  or
rename the old one first.

The  following  features  are missing from the MacKermit terminal emulator, and
may be added in subsequent releases:

   - Restoration of character attributes such as underlining or highlight-
     ing.
   - Cutting text from screen to clipboard.
   - Transmission of raw text to host (e.g. pasting to screen).
   - Screen rollback.
   - Screen resizing.
   - Explicit modem or dialer control.
   - Login scripts.
   - Printer support.
   - Ability to use the printer port for terminal emulation.
   - A  way  to  disable  XON/XOFF flow control, or select other flow con-
     trols.


1.7. File Transfer

Like most Kermit programs, MacKermit allows you to send and receive text or bi-
nary  files singly or in groups.  It will interact with a remote Kermit server,
and it can act as a server itself.  However, due to the unique  nature  of  the
Macintosh file system, there are some special considerations:

   - Mode - Text or Binary.  Binary means the data is sent or stored with-
     out modification.  Text means that every  carriage  return  character
     (CR)  in a Macintosh file is translated to a carriage-return-linefeed
     (CRLF) sequence when sending, and every CRLF in an incoming  file  is
     turned  into  a  CR  when  stored  on  the  Mac disk.  A text file is
     produced when you save a file from  MacWrite  or  other  applications
     using  the "text only" option; text files are not associated with any
     particular Macintosh application and can be sent in a useful  fashion
     to other kinds of computers.

     A  word of caution about Macintosh text files: The Macintosh supports
     an extended version of ASCII, with characters like accented  and  um-
     lauted vowels in the 128-255 range.  These characters allow represen-
     tation of Roman-based languages other than English, but they  do  not
     follow any of the ISO standards for extended character sets, and thus
     are only useful on a Mac.  When transferring text files,  you  should
     ensure  that  either there are no extended characters in the file, or
     that the other system can understand the Mac's 8-bit characters.

   - Fork - Data or Resource.  Macintosh files may have two "forks".   The
     data  fork  contains  data for an application; the resource fork con-
     tains icons, strings, dialog boxes, and so forth.   For  instance,  a
     MacWrite  document  contains  text  and formatting information in the
     data fork, and fonts in the resource fork.  For applications, the ex-
     ecutable code is stored in the resource fork.

File  transfer  is  initiated when you select Send file..., Receive File..., or
Get file from server... from MacKermit's File menu.

File transfers can be canceled by clicking on the Cancel File or  Cancel  Group
buttons.   These will always work when sending.  When receiving, they will work
if the opposite Kermit honors this (optional) feature of the protocol.    There
is  also an "emergency exit" from any protocol operation, which can be taken at
any time by typing  "Command-."  --  that  is,  hold  down  the  Command  (Fan,
Cloverleaf) key and type period.

The  progress  of  file transfer operations can be logged into a Macintosh file
called a "transaction log".  This log will show the names of the  files  trans-
ferred,  the  date and time, and the completion status.  This feature is useful
with long unattended transfers -- you can come back later and read  the  trans-
action  log  to  find out what happened.  The transaction log is called "Kermit
Log".

The current version of Mac Kermit can only send one fork of a file at  a  time.
When  a  file  has  two  forks,  there  is  no provision for sending both forks
together.  This restriction may be lifted in future releases of MacKermit,  for
example by converting applications to MacBinary format during transmission.


1.7.1. Sending Files

To  send files, first put the remote Kermit in server mode, or else give it the
RECEIVE command.  Then use the mouse to select Send file... from the File menu.
This  will  give  you  a  MacKermit  file-open box, which includes the standard
Macintosh dialog items -- a file list, Disk and Eject buttons, etc.    You  can
either  send  one  file at a time, by clicking on its name in the file list, or
send the entire contents of the current HFS folder  (for  HFS  disks  only,  of
course).   Clicking the Disk button will switch the file list to another physi-
cal disk.  If desired, you can type an alternate name to send the  file  under.
When  you select a file, MacKermit examines its type; if the type is APPL, then
MacKermit expects to send the resource fork in binary mode, otherwise the  data
fork in text mode.  The Mode and Fork radio buttons will display these choices;
you may change them before clicking the Send button.


1.7.2. Receiving Files

You can receive or get multiple files, providing the opposite Kermit is capable
of  sending  multiple  files  in  a  single transaction (most are).  To receive
files, first give the remote Kermit a SEND  command  and  then  select  Receive
file...  from  the File menu.  To get files from a server, first put the remote
Kermit into server mode, then select the Get file from  server...  option  from
the  File menu, and type in the name of the file you want to get, or a wildcard
designator for multiple files, in the remote system's filename syntax.

As each file arrives at the Mac, it will be decoded according  to  the  current
mode  (text or binary), and stored in the default fork (data or resource).  The
file names will be either the names the files arrive with (overwriting existing
files  of  the same names) or new unique names (when name conflicts occur), ac-
cording to the current default for name collisions.  You may also elect to per-
form  an  "attended" receive, in which you have an opportunity to override file
defaults on a per-file basis (do this in the Protocol section of  the  Settings
menu).    But  attended  operation must be used with caution -- if you take too
long (more than about a minute) to execute an incoming file's dialog  box,  the
opposite Kermit could time out and terminate the transaction.  If this happens,
tell the opposite Kermit to send again and try again with the receive dialog.

The folder for new files is the same as the location of the settings  file,  or
if  no settings file was used then the new files appear on the desktop.  If you
are transferring a lot of files and  want  to  keep  them  together,  create  a
folder,  drag the settings file into it, and double click on the settings file;
all created files will appear in that folder.


1.8. Remote Commands

When connected to a Kermit server, MacKermit is capable of issuing special file
management  and other commands to it.  The Remote menu contains these commands.
You may request directory listings, you can delete files,  change  directories,
etc,  on  server's  machine.  The response from these commands (if any) is dis-
played in a special pop-up window.  Responses to multiple Remote  commands  are
separated  by  a  dashed line.  The response window can be scrolled, sized, and
positioned, and can be hidden by clicking the menu item "Hide Response" or  the
window's  go-away box; all text remains intact and will be appended to the next
time you do a Remote command; it can also  be  brought  to  the  foreground  by
clicking  the  Show  Response  menu  item.    Note  that typein to the terminal
emulator will not take effect when the response window -- or any  other  window
(such as a desk accessory) -- is up front.  This is not a bug, but a feature of
the Macintosh user interface guidelines.

If the response buffer gets too full (greater than  30,000  characters),  MacK-
ermit  will  remove  enough  text from the beginning of the buffer, in 512 byte
chunks, to make it less than 30,000 characters again.

A Remote command can be canceled by taking the Emergency Exit (Command-.).   To
disengage  from  the remote Kermit server, click on Bye or Finish in the Remote
menu.


1.9. Server Operation

MacKermit may itself act as a Kermit server.  Just set the  desired  parameters
in  the Settings menu, then click on Be a Server in the Remote menu.  The MacK-
ermit server can respond to SEND, GET, REMOTE DIRECTORY, FINISH, and  BYE  com-
mands.    You  can send single or multiple files to a MacKermit server, and you
can get a single file from it by name.  You can also get all the files  in  the
current folder by using a colon (":") as the file specification in the GET com-
mand:  

    GET :

If you give the FINISH command, MacKermit will return to terminal mode.  If you
give the BYE command, the Macintosh will reboot itself.

You  can  take MacKermit out of server mode from the Mac keyboard by typing the
emergency exit sequence, Command-dot.


1.10. Settings

You can change File, Communications, Protocol, Terminal, Keyboard  macros,  and
Keyboard  modifier settings by using the Settings pull-down menu.  You can save
and load these settings by invoking the appropriate selection in the File menu.
If  the  "bundle  bit"  has been correctly set on your version of MacKermit (it
should be), then you can double-click on the resulting document to start  MacK-
ermit with those settings.

The File settings establish the defaults for file transfer:

   - Attended versus Unattended operation for incoming files.

   - Naming:  When doing unattended file reception, whether incoming files
     should supersede existing files of the same name,  or  a  new  unique
     name  should  be  assigned  to  them.  If the latter, the new name is
     formed by adding a dot and a number to the end.  For instance,  if  a
     file  called FOO exists and a file called FOO arrives, MacKermit will
     store the arriving file as FOO.1; if FOO.1 exists, then FOO.2, etc.

   - Mode: text or binary.  Used for received files only.   When  sending,
     MacKermit  tries to figure out an appropriate mode for the file being
     sent (but then lets you override it the Send File dialog).

   - Fork: which fork -- data or resource -- to send, or to store  an  in-
     coming file into.

The  Communications  settings  allow you to set the baud rate (anywhere between
300 baud and 57.6K baud, except 38.4K  baud),  and  parity  (odd,  even,  mark,
space,  or  none).    When  the  parity  is  set  to none the Macintosh uses an
8-bit-wide connection.  All other parity settings tell the Macintosh to  use  a
7-bit-wide connection, and to request 8th-bit prefixing when transferring 8-bit
data.  If the remote host or the communication path uses any  kind  of  parity,
then you won't be able to transfer files successfully unless you tell MacKermit
(and in most cases also the Kermit on the other  end)  about  it.    Duplex  is
selected in the Terminal settings.

The  Protocol settings allow you to set packet parameters for both incoming and
outbound packets.  These include the block check type (1 or 2 character  check-
sum,  3-character  16-bit  CRC-CCITT), line turnaround handshake character (for
file transfer with half duplex systems), packet start and end characters,  pad-
ding,  packet  length,  timeout  interval,  and  packet length.  Characters are
specified by entering their ASCII value in decimal, e.g. 1  for  Control-A,  13
for  Control-M  (Carriage Return), etc.  The RECEIVE parameters are conveyed by
MacKermit  to  the  other   Kermit.      For   instance,   if   you   set   the
receive-packet-length  to  500,  MacKermit  will  tell the other Kermit to send
500-character packets.  The SEND parameters are  used  to  override  negotiated
values, and need rarely be used.

Long packets are selected by setting the RECEIVING packet length between 95 and
1000.  Normally, you should not change the sending  length  because  MacKermit,
and  most  other  Kermits, will configure themselves correctly.  Note also that
the fastest file transfers will happen  with  long  packets  in  the  range  of
300-500.    Very  long  packets  actually end up being much slower, because the
operating systems in both the Mac and the other machine have to do more work to
cope  with  such  long  inputs, and, under noisy conditions, the probability is
higher that a longer packet will be struck by noise, and will  take  longer  to
retransmit.

The Terminal settings let you modify the characteristics of the VT102 emulator,
such as auto-linefeed, autowrap, autorepeat keys, block  vs  underline  cursor,
blinking  vs steady cursor, inverted screen (reverse video), and smooth scroll-
ing.  There is also a "visible bell" for those who can't hear the audible  bell
produced  upon receipt of a Control-G, and an option to display control charac-
ters visibly by showing their numeric ASCII values (in  decimal)  in  a  single
character  cell.   If local echo is needed, as in half-duplex connections, that
must be specified here also.


1.11. Settings Files

You can start MacKermit with all its "factory settings" by double  clicking  on
the  MacKermit  icon.    Factory settings are designed for direct communication
with most other microcomputers, DEC minis and mainframes,  etc:  9600  bps,  no
parity,  XON/XOFF,  remote  echo,  etc.    You  can  change  the communication,
protocol, file, keyboard, and terminal settings by going through the options in
the  Settings  menu.  Once you have set all parameters as desired, you can save
your settings in a "MacKermit settings file"  by  selected  "Save  Settings..."
from the File menu.  A settings file is, in Macintosh terminology, a "MacKermit
document".  You'll recognize it because it looks  like  a  dog-eared  piece  of
paper  with  the  MacKermit icon superimposed.  You can have more than one set-
tings file.

There are two ways to use a settings file.  First, you can double-click on  it,
just  as  you  can  double-click on a MacWrite document to start up MacWrite to
edit a particular file.  This method starts up MacKermit  with  all  the  saved
settings.  The other method is to click on the "Load Settings..." option in the
File menu from inside MacKermit.  This lets you change settings without leaving
and  restarting  the  program.   Load Settings...  shows all MacKermit settings
files in the selected folder.  Opening one of  them  loads  all  its  settings,
removing all current settings.

You  can "edit" a MacKermit settings file by loading it, going through the Set-
tings menu, and then saving the settings either in a new file,  or  overwriting
the same file.

As  distributed  by Columbia, Mac Kermit comes with two settings files.  One is
called "Normal Settings", and is pretty much identical to Mac Kermit's  factory
settings.    The  other  is "IBM Mainframe Linemode Settings".  It selects mark
parity, local echo, XON half-duplex line turnaround handshake.    You  can  use
these  files as-is, customize them for your own environment, or create new set-
tings files for all the different kinds of systems that you use.


1.12. Reconfiguring the Keyboard

Beginning with version 0.9,  MacKermit  has  keyboard  configuration  functions
built  in.  These are accessed through the Set Key Macros and the Set Modifiers
entries in the Settings menu.

The Macintosh keyboard is composed of normal keys and modifier keys.   Modifier
keys are those keys that, when held down, change the meaning of other keys.  On
the Mac these are: SHIFT, CAPS LOCK, OPTION, CONTROL (only on the  Mac  II  and
SE),  and  COMMAND  (also known as APPLE, CLOVER, or FAN).  Normal keys are the
letters, numbers, special symbols, arrow keys, space bar,  and  function  keys.
Only  one  normal key can be typed at a time, but one or more modifier keys can
be pressed down along with it.

When  you  type  a  key,  Kermit  reads  both  the   ASCII   value,   and   the
keyboard-independent  scan code for that key.  Kermit looks in its table of key
macros to see if there is a macro for this combination of  key  and  modifiers,
and  if  so  sends  the  macro.  If there is no macro, Kermit then looks in its
modifier table to see if any of the modifiers do special things to the  charac-
ter;  if so, it does these to the character.  Finally, Kermit sends the charac-
ter.  In the normal case when there is no macro and  no  modifiers  apply,  the
character sent is simply the ASCII value for that character.

It  is  important to keep in mind that if the parity setting is something other
than none, the high (8th) bit will be stripped off of the characters when  they
are  transmitted.  Since most systems do not understand characters in the range
128 -- 255 (decimal), you should avoid  using  the  Apple  extended  characters
(accented vowels, for example) during terminal connection.


1.12.1. Defining Key Macros

To  define  a new key macro, select the Key Macros entry.  A dialog window will
appear, asking you to press the key to define.  Type the key (including any  of
the  modifiers).   A new dialog will appear, with an editable text field in it.
Enter the definition for the key here.   Your  definition  may  be  up  to  255
characters long, and can include all of the control characters (including NUL).
Special characters can be included in the macro by entering a "\"  (backslash),
followed  by  up  to  3 octal (base 8) digits for the value (just like in the C
programming language).  For example, an ASCII NUL (value 0) would be written as
"\000",  carriage  return  (ASCII 13) would be written "\015" (1 x 8 + 5 = 13).
Also, control characters may be entered with a backslash, followed by  a  caret
(or  circumflex,  "^"), followed by the corresponding letter.  Thus a Control-G
(value 7) could be entered as "\007", "\^G", or "\^g".  To  include  a  literal
backslash in a definition, type in two of them: "\\".

BREAK  conditions  are  also  programmable  as macros.  If the entire macro the
string is "\break", then typing the defined key will send a short (1/4  second)
break.    A  long (3.5 second) BREAK is defined with "\longbreak".  Note that a
macro can define either a BREAK, or a string  of  normal  characters,  but  not
both.


1.12.2. Defining Key Modifiers

Skip  ahead  to  the  next section if you already know about things like SHIFT,
CAPS LOCK, CONTROL, and META.

On a typewriter the only modifier key is SHIFT.  Typing  a  character  with  no
modifier  key  depressed selects a lowercase letter or the character printed on
the lower face of the keytop (say, the digit "4").   Typing  a  character  with
SHIFT depressed selects an uppercase letter or the character printed on the up-
per face of the keytop (say, a dollar sign).  Some keyboards also have a  SHIFT
LOCK key, which stays down once pressed and pops up the next time it's pressed;
its operation is equivalent to holding down SHIFT.  And some keyboards  have  a
CAPS LOCK key which operates like SHIFT LOCK, but only upon letters.

Computer  terminals  also  have  a  modifier key called CONTROL (or CTRL).  Its
function is a little less obvious: it is intended to  produce  one  of  the  33
characters  in  the  "control range" of the ASCII alphabet.  Control characters
are not graphic -- they are intended for use as format effectors (like carriage
return, formfeed, tab, backspace), for transmission control, or for device con-
trol.  The remaining 95 characters -- letters, digits, punctuation,  and  space
--  are  the  graphic  characters.   When a character is typed with the CONTROL
modifier pressed, its "control equivalent" (if any) is transmitted.  By conven-
tion,  the control equivalent of A is Control-A, B is Control-B, etc, and there
are also seven special control characters generally associated with punctuation
characters  or special keys.  For the "alphabetic" control characters Control-A
through Control-Z, SHIFT or CAPS LOCK modifiers are ignored;  for  the  others,
operation varies from terminal to terminal.

The  SHIFT and CONTROL modifiers allow all 128 ASCII characters to be sent from
a normal typewriter-like keyboard that has about 50  keys.    However,  certain
host-resident  computer  applications  --  notably  the full screen text editor
EMACS and its descendents -- can be  used  to  greater  advantage  with  a  256
character  8-bit alphabet (EMACS responds to single-character commands, and the
more characters a terminal can send, the more commands are directly available).

For this purpose, some terminals also provide a META modifier key.    This  key
simply  causes  the high-order ("8th") bit of the selected 7-bit ASCII value to
be set to 1 upon transmission.  This can  only  work  when  the  connection  is
8-data-bits-no-parity.    When parity is in use, EMACS allows a sequence of two
7-bit ASCII characters to represent a single meta character.  The advantage  of
having  a  real  META modifier key is that it can be held down while the actual
key is struck repeatedly or even autorepeats, whereas a use of a "meta  prefix"
such  as  <escape> requires much more typing.  To illustrate, suppose META-F is
the command to go forward one word.  If you  want  to  execute  this  operation
repeatedly, just hold down META and F and let it autorepeat.  If you don't have
a META key, then you'd have to type <escape>F<escape>F<escape>F..., etc.

A common problem faced by computer users who switch from one terminal or PC  to
another  is  the  placement of the modifiers and other special keys.  DEC, IBM,
Apple, and other manufacturers consistently  move  these  keys  around  on  new
models of their keyboards.  MacKermit allows you to assign any of various func-
tions to any of the Mac's modifier keys, and to assign any desired character or
character  sequence  to  the regular keys, so that you can tailor the layout of
your Mac's keyboard to suit your taste.


1.12.3. Modifiers Dialog

To change the action of any of the modifier keys,  select  Modifiers  from  the
Settings  menu.  A dialog will appear that looks roughly like the one in Figure
1-1 (the "%" represents the Apple or Clover key).

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


         Modifier Pattern:  -->   Modification:

      Ctrl Opt Lock Shift  %      Unmodify Caps Ctrl Meta Prefix string:
                                                           ____________
      [X]  [ ] [ ]  [ ]   [ ]   |   [ ]    [ ]  [X]  [ ]  [____________]
      [ ]  [ ] [ ]  [ ]   [X]   |   [ ]    [ ]  [X]  [ ]  [____________]
      [ ]  [X] [ ]  [ ]   [ ]   |   [x]    [ ]  [ ]  [ ]  [\033        ]
      [ ]  [ ] [ ]  [ ]   [ ]   |   [ ]    [ ]  [ ]  [ ]  [____________]

                    (Cancel)   (Help)   ( OK )

                  Figure 1-1:   MacKermit Key Modifier Dialog

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

The check boxes are divided into rows, each one describing a modification.  The
left half of each row describes the modifier combination to look for; a checked
box means that this key is down, and an unchecked box means "don't care".  Note
that  there is no way to specify a key being up, and lines with nothing checked
on the left side will be ignored; the character will be modified in the  normal
Macintosh way.

The  right  half  describes what modification to do to the characters.  The Un-
modify modification says "make this the character that would be sent  from  the
same  key  with  no modifer keys pressed".  In other words, un-Option, un-Caps,
un-Control, and un-Shift this character.  The Caps modification translates  all
letters  to upper case, Ctrl makes the letter a contol character, Meta sets the
high (8th) bit on the character, and if a Prefix string is present, it is  sent
before the character is.

Hints about modifiers:
   - Beware of the Option key.  It changes the value of any characters you
     use with it.  If you type Option-F, the Mac will send  a  D,  if  you
     type  Option-B, the Mac will send a ":", etc.  If you want to use the
     option key as a modifier, be sure to check the "Unmodify" box.

   - To use MacKermit with a version of EMACS that does not  accept  8-bit
     Meta  characters, define a key, like Option, to be unmodified, with a
     prefix string of \033 (ASCII Escape), as in Figure 1-1.  Then you can
     hold  down Option and type F (or any other key) repeatedly, or let it
     autorepeat, and MacKermit will send the correct prefix-Meta sequence.

   - When interpreting a keystoke, MacKermit checks the list of  modifiers
     from  top to bottom, applying the first one that matches.  This means
     that if you want a different modifier  for  Command-Option  and  just
     plain  Command,  you must put the definition for Command-Option first
     in the list.


1.13. Bootstrapping

This section applies if you do not have a MacKermit diskette, but MacKermit  is
available for downloading from some other computer.

MacKermit  is  distributed  in source form for building on a Macintosh, running
Apple's Macintosh Programmers Workbench (in MPW C), in  .HQX "BinHex  4"  form,
and  sometimes also as a binary resource file.  Those who want to work from the
source are referred to the file CKMKER.BLD for instructions.

If you're downloading, it's best to work with CKMKER.HQX, a textual encoding of
the  MacKermit application.  Download this using any technique available to you
-- an old release of Kermit, an Xmodem implementation, even raw screen capture.
Then  run   BinHex (version 4) to convert it into a working application (select
Upload -> Application from the File menu).  Eveything will be set up  correctly
-- icons, forks, etc.

If you don't have the .HQX file available, but you do have access to the binary
resource  file  (its  name  will  be  CKMKER.RSRC,   ckmker.rsrc,   CKMKER.RSR,
ckmker.rsr,  %ckmker  or some variation on these, depending on what system it's
stored on and how it got there), AND if you have "MacPut" on  your  system  and
MacTerminal  on  your  Mac, AND if you have an 8-bit-wide (no parity) data path
between your Mac and your system, then you can use MacPut to download  the  bi-
nary  resource  file  to  your  Mac  using  MacTerminal's "MacBinary" format (a
variant of XMODEM).  After doing this you must use a program such as    SetFile
or  ResEdit on the Mac to set the author to KR09, the type to APPL, and turn on
the bundle bit.  Do not bother with the CKMKEY program, as it is not used  with
newer  MacKermits.  If you have an earlier release of MacKermit, you may use it
in place of MacTerminal and MacPut.


1.14. Differences Between Versions 0.8 and 0.9

MacKermit 0.8(34) runs on the 128K Mac, the 512K Mac, and the Mac Plus, but not
on  the Macintosh II or SE.  MacKermit 0.9(40) runs on all Macs except the 128K
original.  You should use version 0.9 unless you have a 128K Mac.

The second major difference is that the program is has been translated into Ap-
ple  MPW  C, so that it can be edited, compiled, and built on the Macintosh it-
self.  This was done originally by Jim Noble of Planning Research  Corporation,
who converted MacKermit from SUMACC C (which had to be cross compiled on a UNIX
system) to Megamax C. Jim's version was converted to MPW C  by  Matthias  Aebi,
who also added most of the new features listed below.  Paul Placeway integrated
the program with the current (long packet) version of C-Kermit  and  added  ad-
ditional new features.

Besides these important differences, there were many other changes from version
0.8 to version 0.9, including:

   - The Cursor with open desk accessories now works correctly
   - Long packet support
   - New program icon
   - New settings files are no longer TEXT
   - Settings can now be written back to an already existing settings file
   - Key redefinition function built in to Kermit, no more CKMKEY
   - Server mode directory listing feature
   - Multifile (folder) send
   - Server "Delete" file command
   - Server "Space" command
   - Get whole folder content from the server with filename ":"
   - Recognition of all the different Mac keyboards
   - Support of menu command keys (key macros)
   - Terminal settings dialog separated from communication settings
   - Non-transparent terminal mode
   - Display of statistics and protocol version to "About Kermit" dialog.
   - Parity problems fixed
   - Session logging
   - Transaction logging
   - Multifinder support
   - Additions to the VT102 emulator (smooth scrolling, etc)
   - Rearrangement of menus and displays
   - Program no longer hangs if remote response window gets too full
   - Program now works correctly on 64K ROM machines
   - A new manual

This manual applies in large part to version 0.8(34),  except  that  the  older
version  is  missing the new features listed above, and it comes in two pieces:
CKMKER and CKMKEY.  The CKMKEY program is used to program the  keys,  like  the
Set  Key  Macros...  and  Set Modifiers described in this manual, and creates a
settings file which Kermit itself uses.  The old version only works  well  with
early Macintosh keyboards.



                                List of Figures

   Figure 1-1:   MacKermit Key Modifier Dialog                                4