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