[Unix-jun72] I recovered 100% of the s1 src code fragments
dougmerritt at earthlink.net
Fri May 9 22:34:10 EDT 2008
FYI I recovered 100% of the s1 src code fragments; I presume this
is of interest to y'all on this list, yes?
Actually I started to do so years ago, got distracted, and just started
again April 18, purely by coincidence, just days before this
list started -- quite a coincidence!
Then I went off trying to chase down the Multics source that
Ken and Dennis and Doug and Joe et al wrote, which eventually
lead me to discover the V1 source listing at bitsavers, and
googling *that* lead me to this (apparently stealth-mode) list.
(I have no gmail, btw, so I haven't requested to join, nor to svn.)
And reading the archived messages, wow, you guys got an amazing
amount done in a very short time! Congrats! (Boy am I glad I don't
have to do all that by myself after all...)
To give you an idea of what I got out of those frags, here's
the file listing of the result:
acct.s cc.c fed2.s
ar.s chmod.s fed3.s
as11.s chown.s form1.s
as12.s cmp.s form2.s
as13.s colon.s form3.s
as14.s cp.c form4.s
as15.s date.s form5.s
as16.s db1.s form6.s
as17.s db2.s fstrip.s
as18.s db3.s getty.s
as19.s db4.s glob.c
as21.s dc1.s goto.c
as22.s dc2.s if.c
as23.s dc3.s init.s
as24.s dc4.s ld1.s
as25.s dc5.s ld2.s
as26.s df.s ldx.s
as27.s dsw.s ln.s
as28.s dusg.s login.s
as29.s ed3.s ls.s
bas0.s exit.c unknown_frag64.c
(Warren's "Missing commands" missive in the list archive said "maki"
is present as a v2 binary, but don't forget that its *source* is present
also, in /usr/ken/maki.s and also /usr/sys/maki.s)
Note that ed1.s and ed2.s are missing. Their source code simply wasn't
in any of the fragments (which means, was not on the s1 disk image).
The "unknown_frag64.c" is almost certainly just a random useless C
program, not part of the actual Unix source (it doesn't look like
interesting code, and the indentation is random -- it's not written
in The One True Style).
Warren's frag68 and frag69 are not true fragments, so given all the above,
the reconstitution of s1 is complete (but needs double checking, e.g.
by people trying to assemble and run the source).
NOTE: I am not sure of precisely when s1 dates to, but many of these
source files use the "jsr r5, 0: <buffer>" calling convention that
requires writable code segments -- did that go away sharply with the
pdp11/20 to pdp11/45 move, or no?
Also note that these source files have both 0405 *and* 0407 types of
preludes, and that is also true of some of the binary disk blocks on
the s1 image that happen to contain executable commands (I've taken
only a brief look at the latter so far).
On the subject of the TEK graphics display, don't forget that good old
xterm(1) has a Tektronix 4014 mode! I don't remember how much variation
Tektronix had between different models (I may still have some manuals
somewhere, not sure), but conceivably that's a starting point.
P.S. Since doing the above, I've been working on a disassembler; it
works ok, and emits of course 'as'-syntax asm, and accepts a markup-
command file to allow e.g. introduction of human-chosen labels for octal
addresses -- and I'm nearly done
adding the ability to produce "1f" "1b" style branch labels -- I
created a bunch of bugs in the process of doing that.
When I get that settled down better, I intend to use it for very much the
same purpose that Warren was talking about in the list archives.
I also wrote a tap-format unarchiver from scratch to re-extract s2, but
unsurprisingly that was a wasted effort; Ken's extraction did in fact
recover everything in s2 that there is to recover. I should have known. :-)
P.P.S. While you're asking Ken and Dennis for more listings, ask them
for any "Unics" PDP 7 listings they may have, too! I suspect Ken even
has a Space Travel listing lying around, although I don't think he
has ever mentioned it over the decades.
P.P.P.S. The Computer History Museum is opening its exhibit of the
second Babbage engine replica tomorrow; I'm looking forward to it.
Professional Wild-eyed Visionary Member, Crusaders for a Better Tomorrow
More information about the Unix-jun72