The Kermit Project
Now hosted by
New York City USA • email@example.com
Digital Equipment Corporation's 36-bit PDP-10 was, arguably, the birthplace of both the Internet and the Open Source movement, and without argument, the source of many of the most influential software applications, including EMACS, TEX, ISPELL (the first spell checker), MACSYMA, SCRIBE, numerous LISP dialects, MM and other pioneering email clients, and Kermit. The first Kermit program was written for the DECSYSTEM-20 at Columbia University, and transferred its first file from one DEC-20 serial port to another on 29 April 1981.
The PDP-10 was the successor to the PDP-6, which appeared in 1964. PDP-10s came in four models: KA10, KI10, KL10, KS10. The best-known operating systems were TOPS-10, TENEX, and TOPS-20. TENEX was done at Bolt Barenek and Newman (BBN) and required modified hardware; TOPS-20 was DEC's commercial adaptation of TENEX, and the DECSYSTEM-20 was a PDP-10 (KL10) with BBN's hardware pager, orange (rather than blue) cabinets, and far fewer visible lights, switches, knobs, buttons, and dials (a jumbo version of today's featureless box). The typical PDP-10 installation included multiple full-size cabinets for CPU, memory, controllers, networking front ends, and magnetic tape, plus washing-machine sized disk drives, line printers, and so on, requiring a large machine room with serious air conditioning and a great deal of 3-phase power; the electrical bill alone ran into the thousands of dollars per month, ditto for hardware maintenance. This was typical of any mainframe of the era. Later, a single-cabinet minicomputer version was released, called the 2020, based on the KS10 processor. If I'm not mistaken, it could run on ordinary household current in regular ambient temperature. It was not noted for its speed.
Other PDP-10 operating systems included MIT's ITS, Stanford's WAITS, Tymshare's TYMCOM-X and (for the 2020, TYMCOM-XX), the version of TENEX that Xerox PARC ran on their MAXC PDP-10 clone (more or less equivalent to a KA-10 with BBN pager, and maybe some others. The PDP-10 line was canceled by DEC in 1983 and gradually faded from view in the ensuing years. Manufacturing ceased in 1988. Some machines or clones remained operational through the 1990s (and a handful even to this day as museum pieces), and then in 2001 a renaissance of PDP-10 culture began with the release of several Unix- and/or Windows-based PDP-10 emulators (see Links section).
The distinguishing feature of PDP-10 is its rich instruction set and, especially in TOPS-20, its powerful repertoire of system services. This combination made the PDP-10 more fun to program than any other computer before or since, and spawned a generation of prolific programmers ranging from Bill Gates to Richard Stallman.
Kermit software is available for TOPS-10 and TOPS-20. Photo: A portion of a DECsystem-10 showing the KL10 operator control panel.
DECSYSTEM-10 Kermit, or Kermit-10, was written in 1983-86 by Bob McQueen and Nick Bush at Stevens Institute of Technology, Hoboken NJ, in Common Bliss. The latest release, from Nick Bush, consolidates the patches that have accumulated over the years and fixes a few bugs. Kermit-10 shares common source with Kermit-32 (the VAX/VMS version that was retired in 1987 in favor of VMS C-Kermit) and Kermit for the long-forgotten DEC Professional (PDP-11 based) workstation with P/OS. Recognizing that most sites never did and never will have a Common Bliss compiler, MACRO-10 versions of the source files are also available, output by Bliss-36, suitable for input to MACRO-10. As of version 3(136) the Bliss and Macro files are once again synchronized and the binaries produced from either set of sources are identical.
Back in the old days I could give you a wildcard specification to pick up all these files, but today's super-friendly Web browsers don't allow that, so we must list the files separately. Transfer them in text (ASCII) mode if your browser will let you (some of these file types, such as .mac, are nowadays associated with applications that might try to play them as music or show them as movies, so you'll need to right-click on the link and then choose "Save as" or whatever):
k10133.mem Update notes
k10133.rno Runoff source for update notes
k10com.req Common Bliss header file
k10err.r36 Bliss-36 error number definitions
k10glb.bli Bliss source file
k10glb.mac Macro source file
k10mit.bwr Kermit-10 "beware" file
k10mit.ccl Kermit-10 link file
k10mit.ctl Batch control file to build Kermit-10
k10mit.hlp Kermit-10 help file
k10mit.mac Macro source file
k10mit.rnh Runoff source for help file
k10msg.bli Bliss source file
k10msg.mac Macro source file
k10sys.mac Macro source file
k10tt.bli Bliss source file
k10tt.mac Macro source file
k10unv.mac Macro source file
k10v3.mem Kermit-10 V3 release notes Runoff source
k10v3.rno Kermit-10 V3 release notes
k10wld.mac Macro source file
Of course you can still FTP these files the old-fashioned way (i.e. all at once):
As of version 3(136), we also have the Kermit-10 files available in two "tarballs":
DEC-20 Kermit, or Kermit-20, was written at Columbia University by Bill Catchings and Frank da Cruz in MACRO-20 assembly language. It was the first operational Kermit program and was actively developed and maintained from 1981 until 1988, and then revived in 2001 by the addition of long packets to enable 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 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. The current version is 5.1(186), dated 6 January 2006 -- The 25th Anniversary Edition.
Since all DEC-20s come with the MACRO-20 assembler, Kermit-20 is distributed in source-code form. Here are the files you need:
Or use FTP the old-fashioned way:
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:
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.
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!)