On Sat, Jul 3, 2021 at 8:16 AM Clem Cole <clemc@ccc.com> wrote:


On Fri, Jul 2, 2021 at 10:22 PM Matt Day <fjarlq@gmail.com> wrote:
I think you must be right about the first machine being something running BSD UNIX.
Be careful when you say 'BSD'-- when people say "BSD UNIX" they usually mean a Unix release post-VAX  support (a.k.a. 3BSD).

We know for a fact that Rogue definitely ran on 16-bit PDP-11's - it's an open question of it needed the '17th bit' (a.k.a. separate I/D of the 11/45 class).  As I said, I had on the TekLab's 11/70 in those days and I think I got it from Mark Bales, who was a UCB student in the CAD group which I would later join as a grad student.

Plus Ken Arnold was originally part of the Ingres group, which famously had the only ArpaNet connection on campus at the time (Ing70 - which I have forgotten what it's one letter 'Berk-Net' id was -- Mary Ann might remember - i.e. all external email was shipped across the Berknet to Ing70 for processing).

The original BSD (a.k.a. what we call 1BSD on this mailing list) and 2BSD, were already in the wild particularly at other University sites, since 1BSD had UCB Pascal in it and many schools in those days were using Pascal as their teaching language.  But ... if you look at the tapes, there are tools and the C-shell, ex, and other tidbits, but the kernel running at UCB in those days is very much V6 and later V7 based - maybe with a few changes like some performance tweaks for nami and moving the I/O buffers (but those were from other places). 

The system people ran in those days (particularly on PDP-11s) is not nearly what we now think of as a 'pure-joy.'  Truth is, until 4.1BSD, that is really were 'BSD' starts to take an identity of its own as being distinctly different from Research and both being loved and loathed by many -- Rob's 'cat -v' paper et al..

From the timing, it is also quite possible Toy and Wichman had either a 3BSD or very early 4BSD Vax or just as likely V7 with 2BSD loaded.

Rough timeline

V6           mid 75
1BSD      mid 77 (pascal, ex, but no vi)
2BSD      late 78 (vi, though from a 1979 copy in tuhs no curses yet, but with termcapish things dated April 79)
V7           early 79
3BSD      late 79
2BSD      April 80 (the 2.79 in the archives, by this point curses was added to the tape)
4BSD      mid 80 (with curses)
2.8/4.1BSD mid 81 (first unified kernel+userland pdp-11 distro)

So curses library wasn't on the 3bsd tape. It may have been on the 4bsd tape: all I can find is libtermcap on tuhs, but kirk's archive has a curses library data October 1980. The late 2BSD tapes (called 2.79BSD in our archive) is the earliest artifact I can find. It appears curses wasn't widely available until midish 1980: the 2.79BSD tape has a July 17, 1980 date on the docs (being the earliest artifact I could find) and a Jan 1981 on the sources. The earliest net.sources archive I can find starts in 1982. The latest 2BSD tape we have in the archive from April 1979 does not have it.

A binary of rogue is on the 2.8BSD and 4.1BSD tapes. 2.8 has 'version 3.4' but no sources and 4.1 has vers 4.22 in a 4.0 upgrade directory, but no sources either:

-r--r--r--  1 root  wheel   70364 May 21  1981 ./2.8/usr/bin.v7/ucb/rogue
-r-xr-xr-x  1 root  wheel   96356 Mar 13  1982 ./4.1.snap/usr/games/rogue
-r-xr-xr-x  1 root  wheel   96356 Mar 13  1982 ./4.1/4.0.upgrade/usr/games/rogue

Even in 4.2 it looks like most of rogue was distributed as a binary .o file, and needed the updated net.sources version of libcurses, distributed with 4.2bsd.

So from a tracing the artifacts for libcurses, we get an interesting diversion, but nothing conclusive.

Warner