Subject: history

From: [email-masked]
Date: Tue, 23 Sep 1997 01:49:21 -0400

I poked around in some local material, and slightly burnished up one
bit of memorabilia.  It's at http://cm.bell-labs.com/cs/who/dmr/notes.html
(also referred to on my WWW page).

I think the next project is to scan in the 1st Edition manual.
Probably this will just be in PDF image format, but maybe
we'll run the OCR over it.

Another source of old stuff is the DECtapes that were read some
years ago, from which the above notes were retrieved.

Here are the notes I made at the time concerning the collection.
What do you think is most interesting?

		Dennis

---
The files here were read from old DECtapes made in the early 1970s.
Paul Vixie and Keith Bostic unearthed a DECtape drive and
made it work, we unearthed the tapes.

The tapes were written in either the 'tap' or 'tp' format,
which are similar in that they have a directory of up to 192
entries at the start with names and other information including
the size and tape address of the files.  'tp' was the later
format, and was in use by November 1973, the date of the 4th edition manual.
With `tap', the times associated with the files were recorded
in pre-modern units: sixtieths of a second, from an origin that
changed.  The first three editions of the manual had BUGS sections
noting that 32 bits can represent only about 2.5 years in this
unit, and this implied continuing crises as the time overflowed.

I believe that the change to use seconds for Unix time took place
along with the change to the C version of the operating system, which
occurred about the end of the summer of 1973, and also that the change
from `tap' to `tp' took place at the same time.  (This is consistent
with the dates of the 3rd and 4th edition manuals).

Thus the dates recorded with the `tp' tapes probably correspond
reliably to the modification dates of the files at the time
of saving them (of course, this gives only a upper bound on
their creation, since they might have been copied or trivially
touched just before saving them).

Recovering the proper dates for the `tap' tapes is less reliable,
because there was at least one change of epoch (from 1971 to 1972)
during the period they could possibly have been produced.
I believe that the 1972 epoch is most likely the correct one
for the tapes here.

apl
	Ken's apl program, together with his rendition of
	astro (translated from Morris's Fortran).
	Probably OK dates, 1975-76.

config
	Ken's program for configuring PDP11s.  It told you
	price, maintenance, checked for bus loading.
	Interesting for DEC price lists in 1974.

dmr
	Random stuff from my directory.  Most probable dates: 1972.
	The `paper' directory contains a version
	of the original SOSP Unix paper (haven't compared
	it with the CACM version).
	cgd appears to be an experiment in converting
	Fortran threaded code to machine language,
	using a warmed over version of the earliest C
	code generator.  It's written in NB, not C.
	fd is some fortran programs, in particular a
	polynomial root-finder I found somewhere.

	aman is some version of the PDP-11 assembler manual.
	fd is a fortran program for plotting functions
	of 2 variables.

	notes1 and notes2 are evidently notes I made for myself
	for a talk on unix.  They are quite interesting.

	tty.s is evidently the terminal processing routine for an
	assembly-language version of unix.  note that it handles
	IBM 2741 terminals with two kinds of typeballs
	(938 and correspondence).

	crypt.c encrypts using a variant of the Hagelin machine.

	pig.b is an interesting artifact:  it is a B program
	that echoes what you type in Pig latin.  (Incidentally,
	there is a translation of this program into C, dated 1978,
	in a subdirectory that still spins on a disk attached to
	the Unix machine where I get my mail.)

dmr2
	the let directory contains drafts of a bunch of letters
	to people who asked about unix in early days.  (lett6
	is to andy tanenbaum).

	The let directory contains drafts of a bunch of letters
	to people who asked about unix in early days.  (lett6
	is to andy tanenbaum).

	Other bits: restric discusses some early thoughts
	about types in C.  I don't know who it was addressed
	to (perhaps even to myself).  ct is an even briefer
	list about what I though was important.

	iosys is a manual for writing system device drivers.

e-pi
	Our programs to compute e and pi to a million places.
	The one for e worked; it took some months on a time-shared
	PDP-11 without memory mapping.
	Incidentally the <SO>J<SI> directory name is correct:
	this sequence printed the greek letter pi on a Teletype
	model 37.  Plan 9 won't let me create this.  It wants
	me to use Unicode!

games
	Ken's work on various games.  Check out chomp/c0.c,
	which has a briefly-existing form of structure
	declaration using parentheses instead of braces.

ken
	check out the values of the AT&T Savings plan in the
	early 70s (plan), and what interested Ken's son (corey/*)
	then.

ken-du
	Here, you can read our wtmp files from 1974 and 1975.

ken-sky
	A bunch of interesting old ken stuff (eg a version of
	the units program from the days when the dollar fetched
	302.7 yen)

last1120c
	The source for a version of C that compiled for the
	PDP-11/20.  It didn't have structures, it didn't have
	#define, and pointers were declared p[].  But look!
	The initialization routine says

		init("float", 2);
		init("double", 3);
	/*	init("long", 4);  */
		init("auto", 5);
		init("extern", 6);

nsys
	If the decoding of the date on the tape is correct (Aug 1973),
	this is the source for the earliest C version of Unix
	likely to be recovered.  `nsys' meant the C version
	rather than the assembly version, and Aug 73 is plausible for
	a running instance of this system.

prestruct-c
	This is approximately the same era as `last1120c,'
	but 6 months later; despite the name, this compiler now
	handles structures.  (The struct keyword
	has displaced `long' as keyword number 4!)  The name of
	the tape indicates that the state of the compiler
	was saved just before converting it to use structures
	inside itself.

	The compiler is much less complete--just
	the c??.c files, not the tables for code generation.

s1
	I haven't cracked this yet.

s2
	Is not source, but a dump of (parts of) /bin, /etc,
	/usr/lib, and bits of a few other directories.
	Caution!  The tape uses absolute pathnames,
	and is dangerous to extract unless you want to install
	old PDP-11 binaries.  (tap format).

sys-dsu
	This system didn't come directly from us.  After
	poking around it for a while I found a file containing
	this (in cr.h):

	/*****************************************************************
	 **								**
	 **		   U C L A  Data Secure Unix			**
	 **								**
	 **			Copyright 1977				**
	 **								**
	 **    Mark Kampe, Charles Kline, Gerald Popek, Evelyn Walton	**
	 **								**
	 *****************************************************************/

	So, it appears that `dsu' is `data-secure unix' and this is a
	record of one of the early security projects!  They must
	have sent it to us.  Might be fun to examine it; I suppose
	we should tell Gerry Popek of its existence.

unix
	This is probably a `boot' tape; it has binary images of
	the system and some raw utility programs for use when booting
	(memory testers, loaders for diagnostics, and the like).