[ih] NCP and TCP implementations

Michael Greenwald mbgreen at seas.upenn.edu
Tue Jul 21 22:53:14 PDT 2020

On 2020-07-21 18:43, Noel Chiappa via Internet-history wrote:
>> 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.

I think it may have been Charlie Hornig who you are thinking of? (he
did early work on the Multics TCP implementation for Dave.)
I did something of a rewrite, later. Those were user-ring versions.
Lster, still, when it was passed to Honeywell, I moved it an inner ring
(badly), and then was totally re-written, again, by J. Spenser Love.
All those versions were written in PL/1.
The user-ring versions of the Multics TCPs were definitely written
before Dave wrote the Tripos BCPL versions.

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

In 1982-84 we also had a TCP written in CLU for our Swift operating
system, which ran on vaxes and 680x0, but it was never used by
anyone outside of the group.

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

More information about the Internet-history mailing list