[TUHS] Attempting To Build NOSC and BBN UNIXs + ARPANET code

Clem Cole clemc at ccc.com
Tue Oct 11 07:37:00 AEST 2022

On Mon, Oct 10, 2022 at 4:49 PM Michael Casadevall <michael at casadevall.pro>

> There are SCCS references in the code from 78/79, references to the V7 CC
> compiler and updates.
The 'V7 compiler' is 'Typesetter C' - it was released two compiler DWB on

SCCS had a interesting life.

> SCCS was introduced publicly with PWB,

> which is why I suspect it might have been used.
It might have been at MIT (it was a UCB and CMU BTW) - but I believe Al
Nemeth  - while it might have been a person disk, -- I'm pretty sure BBN
would have tried to kept those bits out of the building. - certainly out of
the mainstream of any project -- you see in the directories foo.c and
foo.c~ files -- this was typical of the day.  If you were using SCCS less
you would see a lot more evidence in the trees (again look at the UCB trees
- you can see once Ken brought it to UCB, wnj started to use it).

> The code also uses some C syntax the stock compiler dislikes
> (specifically, it was unhappy register in the function declaration).
As I said -- I suspect the typesetter compiler by then.  If userspace code
is using <stdio.h> and linking libS.a not Mike Lesk's portable I/O
library that's a huge clue also BTW.  But Dennis did a lot of work to the
compiler in the DWB timeframe.  A number of language features were added,
he changed the syntax of things like =+ to += and the like.   This is why
code that targets the Typesetter C compiler has a very difficult time going
back to the V6 (or basic PWB 1.0) compilers.   As I said in the other
message, this was the compiler he and Brian describe in the book - also
note a couple of us here reviewed different editions of it.

I suspect what you need is the original DWB 1.0 release that includes the
'typesetter' compiler -- that will bootstrap on a V6 system and will create
a v6 compiler.  I'm not sure we have that in the archives.  I think we have
the later PWB 2.0 release - that comes without the compiler.

Beside the startup code (which is in mch.c and uses a preprocessor macro),
> is there anything specific gotchas in regards to models? I tried building
> CPU40 and CPU70, and configuring simh, just to eliminate that gotcha, but
> the only difference seems to be early initialization code ...
Quick glance is that BBN was running a 45 - so I'd build for that to
start.   45s and 70s's are more similar but not exactly the same.  Don't
build for a 40. They are quite different.
Set simh up as a 45 and see if that just works.

If not .... then I would drop back and pull everything out to as simple a
UNIX as possible...  since it's a v6 system without any of the networking
-- as much line Ken and Dennis as you can.  Configure that a 40 and follow
Dennis's and Ken's instructions (which for v6 is a a 40) -- get that to
boot and a simh based 40.    Then reconfigure as a simh based 45 and make
that work.  Then and only then turn on the BBN stuff.

Feel free to send me email off line and I can try to help a little.  Note:
I have not played with a 45 in years. But I ran V5, V6. and V7 on 40s, 45
and 70s back in the day.  I have a PiDP 11/70 behind me so modulo being way
to busy, I can try to help a little.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://minnie.tuhs.org/pipermail/tuhs/attachments/20221010/23eeb01c/attachment.htm>

More information about the TUHS mailing list