Frank da Cruz
The Kermit Project, Bronx NY.
Most recent update:
Sat Apr 8 14:03:39 2023
New York time
Flip to Kermit-10
|
Bill Catchings in 1984
|
Kermit-20 — Kermit communications and file-transfer software for the
DECSYSTEM-20
— was first written at Columbia University
by
Bill
Catchings in 1981; it is coded in MACRO-20 assembly language. It was
the very first Kermit program and performed its first successful file
transfer on April 29, 1981;
read about it HERE.
It was was actively developed and maintained from then until 1983, about
when Bill left Columbia. After that I took over development, issuing
various releases including some with code from Tom DeBellis starting in 2003
until the 25th anniversary edition,
5.1(186) of January
2006, most notably to support long packets.
|
Me with DEC-20, 1980s
|
The DEC-20 and its TOPS-20 operating system had a huge impact on what was to
become the Internet. As early as 1977 it supported several distinct
networking methods, including ARPANET (which was to become the Internet),
DECnet, and RJE connections with IBM mainframes. Users accessed it with
text terminals via serial ports or modems, or by Telnet or DECnet network
connections. There were no graphical user interfaces yet (except at Xerox
PARC), but the DEC-20 had the most user-friendly command language ever
known; you can see it today in the user interfaces of MS-DOS Kermit,
C-Kermit for Unix and VMS, Kermit 95 (now
called
C-Kermit for Windows), and of course in
DEC-20 Kermit itself. The DEC-20 supported a proliferation of programming
languages, math and statistical packages, etc etc, and email was practically
born on the DEC-20, as were spell checkers, and on and on; for greater
detail see
this page.
NEW: Version 5.3(230)-5 of 2 April 2023
|
Tom DeBellis with DEC-20, 1986
|
In April 2023,
Tom DeBellis — another former Columbia U
Computer Center systems group staffer — released a major new version
that can be used on the many emulated DEC-20s that are still chugging away
as virtual machines within Linux, Windows, and other modern platforms. The
original single module had to split into sixteen modules to accommodate
all the new stuff within the DEC-20s memory model. In Tom's words:
Version 5.3 is the first major release of Kermit-20 in two decades and
represents approximately a year of development for the following
functionality:
- Adaptation to version 7 of Tops-20.
- Adds DECnet NRT transport for connections
to Tops-10, Tops-20 and Ultrix hosts.
- Adds pseudoterminal support.
- Support for batch stream execution, including extensive testing.
- Microsecond timing (limited by Tops-20)
- Efficiency Enhancements
- Symbolic (C) escape sequences and enhanced parsing
- New and enhanced commands
- Revamped and enhanced macro facility
A large amount of restructuring has been done with an eye towards
future development, instrumentation, debugging and overall robustness.
Here's the full announcement:
The source code is available in two archive formats, both compressed with
gzip:
Furthermore the uncompressed individual source and documentation files are
available in the following directories:
Source code
| 20 files (.mac, .ctl, .log)
|
Documentation
| 10 files (testing battery, announcement, 1988 user guide,
1985 Kermit book)
|
Data
| 26 files of different types used by the test suite
|
Testing
| Test suite and logs
|
The previous Kermit-20 release,
version 5.1(186) of 6 January 2006
Bill's last version was revived (by me) in 2001 by the addition of long
packets and buffered packet input for faster file transfer into and out of
emulated DEC-20s, which might not include ARPANET support (in the sense that
they have a TCP/IP stack and FTP or TELNET clients and servers), but might
still be accessible to incoming Telnet connections. Long packets were never
done for Kermit-20 before because the PDP-11/40 RSX20F front end could not
tolerate them. Emulated DEC-20s (and DEC-20 Telnet servers), however, have
no such limitation. (This improvement would, of course, also benefit
file uploads to
real DEC-20s via network connections, but
by 2006 only a couple real DEC-20s were still in operation.)
Kermit-20 5.1(186) is archived at Columbia University.
Since all DEC-20s come with the MACRO-20 assembler,
it is distributed in source-code form. Here are the files you need:
- k20mit.mac
- The DEC-20 Kermit MACRO-20 source file. Transfer this to the DEC-20 in
text mode and rename to KERMIT.MAC, LOAD KERMIT,
SAVE (see
k20mit.txt
for details). NOTE: Your Web browser might not know what to do with a
.mac file; tell it to "Save as...", otherwise it might try to
play it or something.
- k20mit.doc
- The Kermit-20 chapter of the 1988 Kermit User Guide in
plain-text form. Your Web browser might think this is a Microsoft Word
document because its name ends in .DOC. Transfer
in text mode, rename to KERMIT.DOC. (Plain-text files were
.DOC files for decades before MS Word came along.)
- k20mit.ps
- The Kermit-20 chapter of the 1988 Kermit User Guide in
PostScript format. This one can be transferred in either binary or text mode.
Rename to KERMIT.PS.
-
k20mit.pdf
- The Kermit-20 chapter of the 1988 Kermit User Guide in
PDF format. Clicking on this link in any graphical Web browser should
produce the expected results.
- k20mit.txt
- Update notes for Kermit-20 5.1.
-
http://www.columbia.edu/kermit/archivefiles/dec20.html
- Access to individual DEC-20 Kermit files (source, code,
documentation, announcements, etc).
Kermit for MIT's ITS Operating System
In January 2017, Lars Brinkhoff informed me of a version of Kermit in
Maclisp for ITS, MIT's
Incompatible Timesharing System. It was adapted in 1988 from a Common
Lisp version (not sure which one yet) by Jonathan Rees of
Scheme48 fame.
Here are the files:
- kermit.170
- The main Kermit program
- kermit.info
- EMACS Info file for Kermit (original name: kermit.4).
- kermit.dumper
- Kermit dumper (needed for Maclisp)
- mlsub.17
- Library of macros and subroutines for Maclisp
Lars notes, “I don't have the
file AI: MATH; COMMON > which is referred to in
lines 16 and 40 of kermit.170“. If anybody else has a copy,
please let me know.
Kermit for Other PDP-10 Operating Systems
To my knowledge, no Kermit programs were ever written explicitly for TENEX,
WAITS, or TYMCOM-X, but since Kermit programs were written in various LISP
dialects, including Common Lisp, which presumably would have worked anywhere
that Common Lisp was available. (The Emacs LISP version wouldn't have
helped because PDP-10 EMACS was based on TECO, not LISP, and I don't think
there was ever a TECO Kermit either!)
Links