[TUHS] PC/IP (was: Any Interdata war stories?)

Jonathan Gray jsg at jsg.id.au
Thu May 1 13:38:10 AEST 2025


Chris was part of the Nu project.

"Was a principal developer of the NuMachine"

"developed a family of portable C compilers for the (then) newly
available microprocessors. These compilers were widely distributed as
the first C implementations for the x86 and 68K processors."

https://people.csail.mit.edu/cjt/resume.html

On Wed, Apr 30, 2025 at 10:36:01PM -0400, Clem Cole wrote:
> So did Chris compiler go back to the Nu project?   And thank you to Al for
> the Trix sources. As I said.  It was national 16032 not z8000.
> 
> 
> FYI I had the whitesmith compiler at one point also. It generated code for
> a funky assembler called “anat” for “a natural assembler” which PJ conjured
> up for writing the compiler. It was was sort of a mix between an IL and
> 8080 assembler if my memory is correct.    I’d love to see that
> distribution both the doc and the compiler again to May with on SIMH.  I
> suspect I might appreciate it more than I did in those days.  I hated it
> then but as I learned more about compilers and architectures PJ might have
> been on to something.
> 
> Sent from a handheld expect more typos than usual
> 
> 
> On Wed, Apr 30, 2025 at 10:07 AM Jonathan Gray <jsg at jsg.id.au> wrote:
> 
> > On Wed, Apr 30, 2025 at 09:11:35AM -0400, Noel Chiappa wrote:
> > >     > From: Clem Cole
> > >
> > >     > Yes, that was one of the RTS compilers for the NU machine. John
> > Romkey
> > >     > may have done it, as he was the primary person behind PCIP
> > >
> > > I decided to poke around in the 'MIT-CSR' dump, since that was the
> > machine
> > > the PC/IP project started on, to see what I could find. Hoo boy! What an
> > > adventure!
> > >
> > > In the PC/IP area, I found a 'c86' directory - but it was almost empty.
> > It
> > > did have a shell file, 'grab', which contained:
> > >
> > >   tftp -g $1 xx "PS:<Wayne>$1"
> > >
> > > and a 'graball' file which called 'grab' for the list of compiler source
> > > files. ('xx' was MIT-XX, the TOPS-20 main time-sharing machint of LCS.)
> > >
> > > So I did a Web search for Wayne Gramlich (with whom I hadn't
> > communicated in
> > > many decades), and he popped right up. (Amazing thing, this Internet
> > thingy.
> > > Who'd have ever thought, back in the day, that it would turn into what it
> > > did? Well, probably John Brunner, whom I (sadly) never met, who was there
> > > before any of us.)
> > >
> > > I took a chance, and called his number, and he was there, and we had a
> > long
> > > chat. He absolutely didn't do it, although he wrote the loader the
> > project
> > > used ('l68', the source for which I did find.) He's virtually certain
> > Romkey
> > > didn't (which would have been my guess too; Romkey was like a sophmore
> > when
> > > the project started). His best (_very_ faded) memory was that they
> > started off
> > > with a commercial compiler. (But see below.)
> > >
> > > That leaves several mysteries. 1) Why would a commercial compiler not
> > come
> > > with a linker? 2) Why did people who wanted to work with the PC/IP source
> > > need a Bell license?
> > >
> > >
> > > I did some more poking, and the list of files for the 86 compiler, from
> > > 'graball':
> > >
> > >   trees.c optim.c pftn.c code.c local.c scan.c xdefs.c
> > >   table.c reader.c local2.c order.c match.c allo.c comm1.c
> > >   manifest mfile1 common macdefs mfile2 mac2defs
> > >
> > > matched the file names from 'pcc', as given in "A Tour Through the
> > Portable C
> > > Compiler":
> > >
> > >   https://maibriz.de/unix/ultrix/_root/porttour.pdf
> > >
> > > (in section "The Source Files"). So whether the 86 compiler was done at
> > MIT
> > > (by someone in RTS), or at a company, it was definitely a 'pcc'
> > descendant.
> > >
> > > (Possibly adding to the confusion, we had some other C compilers for
> > various
> > > ISA's in that project [building networking software for various
> > > micro-computers], including an 8080 C compiler from Whitesmiths, Ltd,
> > which I
> > > have also found. It's possible that Wayne's vague memory of a commercial
> > > compiler is of that one?)
> > >
> > > I really should reach out to Romkey and Bridgham, to see what they
> > remember.
> > > Later today.
> > >
> > > Whether the main motivation for keeping the compiler source on XX was i)
> > > because disk space was short on CSR (we had only a hand-me-down pair of
> > > CalComp Model 215 drives - capacity 58 Mbytes per drive!); ii) to prevent
> > > version skew; or iii) because it was a commercial compiler, and we had to
> > > protect the source (e.g. we didn't have the source to the 8080 compiler,
> > only
> > > the object modules), I have no idea.
> > >
> > >
> > >     > Anyway the MIT RTS folks made hardware and PCC back ends for the
> > 68K,
> > >     > Z8000 and 8086. I believe that each had separate assemblers, tjt
> > who
> > >     > sometimes reads this list might know more, as he wrote the 68K
> > assembler.
> > >
> > > There is an 'a86' directory on CSR, but it too is empty, except for a
> > 'grab'
> > > command file. That contains only:
> > >
> > >   tftp -g $1 xx "PS:<novick>$1"
> > >
> > > I have no memory of who 'novick' might have been. A Web search for
> > 'novick
> > > mit lcs' didn' turn anything up. (I wonder if it might have been Carol
> > > Novitsky; she was in our group at LCS, and I have a vague memory of her
> > being
> > > associated with the networking software for micro-computers project.)
> > >
> > > Anyway, it probably doesn't matter; the c86 'grab' referred to Wayne,
> > but he
> > > didn't write c86; 'novick' might not have written a86.
> > >
> > > Something else to ask Romkey and Bridgham about.
> > >
> > >         Noel
> >
> > "a version of the portable C Compiler that was modified by Chris Terman
> > to produce code for an 8086 microprocessor was ported from the RTS VAX/780
> > to the CSR PDP-11/45."
> >
> > https://people.csail.mit.edu/saltzer/Multics/MHP-Saltzer-060508/bookcases/RFCs/csr-rfc-225.pdf
> >
> > "If you think that you need the source code, you should realize that a
> > prerequisite to compiling the PC/IP programs is that you must have
> > imported Chris Terman's 8086 version of the UNIX Portable C compiler and
> > associated loader and assember systems. That importation in turn requires
> > a UNIX system, a current UNIX license, and negotiation with Chris Terman."
> > https://web.mit.edu/saltzer/www/publications/pcmemo.pdf
> >


More information about the TUHS mailing list