Path: utzoo!utgpu!attcan!uunet!
From: prindle@NADC.ARPA (Frank Prindle)
Newsgroups: comp.sys.cbm
Subject: Re:  Kermit question
Message-ID: 
Date: 18 Aug 88 13:05:00 GMT
Sender: prindle@NADC.ARPA (Frank Prindle)
Lines: 72

1. Kermit is definitely worth buying considering that it is FREE! Kermit is
not a commercial product, but a series of implementations of a public
domain protocol, where each of the implementations is also public domain.
C64 Kermit was originally developed by Eric Lavitsky and others. It has
recently been refined considerably by Ray Moody. It is available for the
downloading from Columbia University or from many C64 oriented bulletin
board systems. If you order it from Dr. Evil Labs on disk, Ray will charge
$5.00 only for the diskette, postage, and handling; the software itself is FREE.

2. To upload a 4K file from C64 to VAX takes approximately 1 to 2 minutes at
1200 baud, depending on the handshake response time of the VAX system (i.e.
how busy it is), and what kind of file is being transferred.  Downloading is
just a tad faster.

3. There really is only one "official" Kermit package for the C64, though it
is available in several historically subsequent versions, the latest being
version 2.1 (highly recommended for C128 owners because of it's support for
the 80 column chip and it's VT100 emulation).  Older versions (pre 2.0)
supported a 25 line by 40 column, or 25 line by 80 column VT52 emulation on
the C64 40-column screen only.  The Kermit protocol may be embedded in other
commercial terminal packages that are available, but these are not the
"official" kermit implementation.

4. The factors that limit file transfer speed are:

	a. Baud rate: 1200 baud means that the theoretical maximum transfer
	   rate is about 130 bytes/second.

	b. Packet Size: Kermit packets are limited to a maximum length of
	   96 bytes; after each 96 byte data packet is sent by the sending
	   Kermit, the receiving Kermit must validate the packet and transmit
	   either an ACK or NAK packet (about 5 or 6 bytes) back to the sender.

	c. Quoting: To avoid communication problems over a wide variety of
	   networks, Kermit only utilizes the 95 printing ASCII characters
	   and SOH (^A).  A file that contains any other bytes (e.g. a binary
	   file or PRG file) must have each non-printing character quoted by
	   preceeding it with a special printing character.  Thus a file
	   containing many bytes in the ranges 00-1f, 7f-9f hex will take
	   twice as long to transfer as a text file.  Quoting increases even
	   more if the communication path doesn't support 8 bits of data.

	d. Disk Read/Write speed:  We all know what this is on the C64!  Reads
	   or writes to disk cause occasional delays in transmission.

	e. Response time of the remote system: If the remote host is a busy
	   time sharing system, serving many users, it may not be able to
	   validate packets and provide ACK responses quickly.

	f. Communication line delay: Telephone electronics between you and
	   the remote host, if over long distance circuits, can cause noticable
	   slowdown if delays are a substantial fraction of a second.

   All in all, therefore, the Kermit error-correcting protocol reduces a 1200
   baud connection to an effective text transfer speed of typically 60 bytes/
   second; obviously there can be considerable variation, with PRG files
   slowed down by about 25% more due to quoting.

One really nice feature of Kermit protocol is that it supports multiple file
transfers with a single command.  However, C64 Kermit currently supports this
only for downloads: you can start a transfer of 10 files, then go do something
else for a half hour or so and come back when they are all done - you don't
have to babysit each file.  Future versions of C64 Kermit should support this
for uploading too.

For a complete discussion of the Kermit protocol by it's creators, Frank
da Cruz and Bill Catchings, consult the June and July 1984 issues of Byte
magazine.  They have also published a book on Kermit.

Sincerely,
Frank Prindle
Prindle@NADC.arpa