Hey all,
I've been recently working on researching ARPANET and the like for use in an upcoming video. As a starting point, I've been looking at the early UNIX networking code in archives, specifically, the NOSC tarball, and I've spent quite a few hours trying to get building on livestreams.

What I've found is that there's corruption issues in code; which is noted in JOHNS-NOTE, although it's more severe than I realized. For example sys4.c is entirely corrupted, and part of impio.c is cut off. However, this isn’t quite as bad as it sounds. For example, by kitbashing both the original v6 source code, and the later BBN TCP code, I was able to create a sys4.c that builds and links which should be close to the original. Furthermore, it is possible to use the “vdh” target instead of the imp target to at least try and get the code building. I did successfully get a kernel to build, and it even prints out a mem message before deadlocking.

My guess is it's either deadlocked waiting for the IMP, or there’s something wrong with the build. There’s some indication that it might need a split kernel, although I’ve not had any success with that thus far. I have uploaded my current build tree to git, as well as tarball with simh images if anyone wants to try and figure out what has gone wrong. I admit, my knowledge of PDP-11 assembly and debugging platforms is a bit wanting :)

There’s some indication that this, and the later BBN TCP (which is from around the same time period) code were built on top of the Programmer’s Workbench vs. stock v6; especially because some code patches were needed to get it to build. I did look at the TUHS PWB archives, I see a bunch of binaries, but absolutely no idea how to install them. I’ve heard that none of these archives are actually complete, but I'm hoping someone might have some idea of how to go forward, since, if nothing else, I’d like to end this with a success story, although I’m happy with as far as I got.

Furthermore, I do know that I can run some of the ARPA level utilities in MIT ITS on CHAOSNET, which will be an upcoming project, although that is going to be a dive in and of itself.

In short, I’m hoping someone might be able to provide some insight into where things have gone wrong:
  * Is the netunix kernel I built hanging because of corrupted code, or is it waiting for non-existent hardware.
* NOTE: The DC-11 driver was not included, but I don’t think I need that for a single console?
  * Is there any versions of PWB that is “easily” installable, since its very clear the later BBN code requires it (it refers to ncc explicitly)?
  * I know IMPs have been emulated, and even have successfully routed packets, so I’m also trying to figure out how much would still be necessary to actually recreate a minimal ARPA network?

I did try to build some of the NCP applications regardless; it does appear that some parts are simply missing. Mailer.cc seems to want a hnconv.o but no source file exists. The FTP daemon on the other hand wants a library simply called “j”.

My guess is that even if the NCP code was buildable, the applications might not be. However, this did make me take a closer look at the BBN code, and it does have an ifdef for NCP, suggesting that it was still usable/supported? It makes sense, it seems to have been written before the TCP/IP flag day. I’m just not sure where to approach compiling it.

I’ve uploaded the code with patches to build with the v6 compiler to github here: https://github.com/NCommander/network-unix-v6/tree/attempted-repair

NOTE: v6's cc needs a seperate patch to increase the symbol table size; that's done in the disk image.

Files, with SIMH configuration available here: https://drive.google.com/file/d/1QS0B3RU_mwXSGtl2En-d0WI3PJ1-udEs/view?usp=sharing

My livestreams (12 hours or so) are on my YouTube channel: https://youtube.com/c/NCommander

Feel free to forward this to other lists that may have PDP-11 or ARPANET experts!
~ NCommander