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

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

SCCS had a interesting life.
 
SCCS was introduced publicly with PWB,
Indeed.

 
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.