[ih] NCP and TCP implementations

Noel Chiappa jnc at mercury.lcs.mit.edu
Tue Jul 21 18:43:36 PDT 2020

    > On 20.03.10, vinton cerf via Internet-history wrote:
    > Steve Kirsch asks in what languages NCP and TCP were written.
    > ...
    > Another version was written for PDP-11/23 by Jim Mathis but not clear in
    > what language.

I think I answered this when it was first posted, but I now have some
additional data (I think).

It was written in MACRO-11; PDP-11 assembler with a powerful macro capability.
After some poking around in a copy of the file system of the v6 Unix
timesharing system of the CSR group at MIT, which has all sort of goodies in
it (including a copy of the NCP for v6 Unix), I have recovered a copy of that
TCP, if anyone wants it.

I'm not sure if it was done for the -11/23; we got MOS (Jim's OS, and other
software, including the TCP and an early version of the Port Expander codea)
early on, and I seem to recall that the -11/23 didn't come out until after we
had MOS. I'd have to look up exactly when the KDF11 was released to be sure, if
it's important. MOS had conditionals to work on the -11/03 and also the -11/20
and -11/40 (binary for the -11/40 will run on the /23). I think the TCP, etc
were written for the -11/03.

    > Dave Clark did one for IBM PC (assembly language/??)

No, but Dave did I think at least two others; possibly one in BCPL? for the
Tripos operating system from Cambridge, and definitely one in BCPL for the
Alto (MIT got several as a donation from Xerox). Before the latter, he also
worked on the Multics one (in PL/I) although someone else whose name my
failing brain can't remember at the moment worked on that before him. The Alto
one was later translated into C by Larry Allen for the CSR v6 Unix, which I
used as the base on one I did for Bridge.

The one for the PC was done by John Romkey and David Bridgham, in C; the CSR
machine dump has that one too, if anyone wants it.


More information about the Internet-history mailing list