Icon The Kermit Project   |   Now hosted by Panix.com
New York City USA   •   kermit@kermitproject.org
since 1981

C-Kermit 4.0, 5 February 1985

Frank da Cruz
April 23, 2020
Last update: Sat Apr 25 11:07:37 2020

[~] ./wermit
C-Kermit 4.0(025) 5 Feb 85, for 4.2 BSD UNIX
Type ? for help
C-Kermit>help

Type ? for a list of commands, type 'help x' for any command x.
While typing commands, use the following special characters:

 DEL, RUBOUT, BACKSPACE, CTRL-H: Delete the most recent character typed.
 CTRL-W: Delete the most recent word typed.
 CTRL-U: Delete the current line.
 CTRL-R: Redisplay the current line.
 ?       (question mark) display help on the current command or field.
 ESC     (Escape or Altmode) Attempt to complete the current field.
 \       (backslash) include the following character literally.

From Unix command level, type 'kermit -h' to get help about command line
args.

C-Kermit>exit
[~]
This was the first public release of C-Kermit, version 4.0, announced Tuesday, February 5, 1985, in the Info-Kermit Digest V2 #1. Although it was called version 4.0, it was a completely new program. Its predecessor was called Unix Kermit and was not interactive at all; it was driven purely by command-line options. The last Unix Kermit version was 3.0 from 1984, and since C-Kermit was to replace it, continuity of versioning was preserved. In the screenshot above you can see some anachronisms like the reference to an "Altmode" key (that's Teletype talk) and the non-"Y2K-compliant" date.

Method Gzipped Tar archive Zip file Indivdual Source files
FTP ftp://ftp.kermitproject.org/kermit/archives/ck0025.tar.gz ftp://ftp.kermitproject.org/kermit/archives/ck0025.zip ftp://ftp.kermitproject.org/kermit/ckermit40/
HTTP http://www.kermitproject.org/ftp/kermit/archives/ckc025.tar.gz    http://www.kermitproject.org/ftp/kermit/archives/ckc025.zip  
Unfortunately it can't be added to the archive at Columbia University because the Columbia Kermit website was closed and frozen in 2011; it's housed instead at the new Open Source Kermit Project (kermitproject.org) and listed in the up-to-date archive page at that site.

The C-Kermit 4.0 code was exhumed in March/April 2020 by Warner Losh, who found it on an ancient DECUS tape. It had been lost for 35 years. Warner has written up a detailed history of this and other old C-Kermit versions here:

https://bsdimp.blogspot.com/2020/04/finding-kermit-4x.html

I tried to build the C-Kermit 4.0 code on both NetBSD and Linux, and failed in both places because modern C compilers are super-strict but the code was written before ANSI C appeared. The build almost worked after I made the following adjustments:

But because terminal i/o APIs have totally changed since 35 years ago, there's no way to completely build it without writing a ckxbsd.c replacement that uses termios function calls rather than setting ioctl bits. Alternatively, the work could be done to #ifdef out the code that makes serial port and modem connections (the CONNECT and DIAL commands and related SET commands), and then you'd have a compact remote-end-only version (like a more modern version of C-Kermit built with -DNOLOCAL).

C-Kermit 4.0 code consists of 9 modules and 3 header files, a total of 7252 lines of code. Compared to C-Kermit 9.0 with about 462000 lines of code and somewhere between 50 and 100 modules, depending on the desired configuration.


  C-Kermit 4.0 from 1985 / kermitproject.org / 23 April 2020