Icon The Kermit Project   |   Now hosted by Panix.com
New York City USA   •   kermit@kermitproject.org
since 1981
Grüße aus Bronx NY        

  Kermit Software for the Digital Equipment Corporation DECSYSTEM-20

PDP-10 memorabilia
    (Click image for a gallery of DEC-10/20 publications)

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 1984
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.

Bill Catchings 1984
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 and CU20A
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: A large amount of restructuring has been done with an eye towards future development, instrumentation, debugging and overall robustness.

Here's the full announcement:

Rich text (PDF) announcement.pdf     43 pages
Plain text (ASCII) announcement.txt 2400 lines

The source code is available in two archive formats, both compressed with gzip:

Unix tar archive kermit20.tar.gz 13063956 bytes Listing
Tap archive of Dumper tape kermit20.tap.gz 10202169 bytes Listing   Control file 

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:

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.

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.)

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.

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.

Update notes for Kermit-20 5.1.

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:

The main Kermit program

EMACS Info file for Kermit (original name: kermit.4).

Kermit dumper (needed for Maclisp)

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!)

DECSYSTEM-20 Kermit / kermit@kermitproject.org / 1981-2023