> From: Mark Longridge <cubexyz(a)gmail.com>
> My first idea was to grab bj.s from 2.11BSD and assemble it the Unix v5
> as command. That seems to generate a bunch of errors. Also other
> assembly source files don't seem to have .even in them.
My first question was going to be 'Maybe try an earlier version of the
source?', but I see there is no earlier version online. Odd. ISTR that some
of the fun things in V6 came without source, maybe blackjack was the same way?
> Another idea would be generate the source code from the executable
> itself, but there doesn't seem to be a disassembler for early Unix.
Where's the binary? I'd like to take a look at it, and see if the source was
assembler, or C (there's a C version in the source tree, too). Then I can
look and see how close it is to that 2.11 source - that may be a
re-implementation, and totally different.
Noel
> From: Mark Longridge <cubexyz(a)gmail.com>
> OK, success...
Yeah, I just got there too, but by a slightly longer route!
(Google wasn't turning up the matches for the routines I needed, which you
found in etc.s, etc - it seems the source archive on Minnie isn't being
indexed by Google. So I wound up cobbling them together with a mix of stuff
from other places, along with stuff I wrote/modified.)
> Probably should work on v6 and v7 as well.
Does on V6, dunno about V7.
> It seems to work OK now.
Yes, but this is _not_ the source for the V5/V6 'bj'. (I just checked,
and the V5 and V6 binaries are identical.)
Right at the moment, I've used enough time on this - I may get back to
it later, and disassemble the V5/V6 binary and see what the original
source looks like.
Noel
> From: Noel Chiappa
> another assembler source file, which contains the following routines
> which are missing from bj.s:
I missed some. It also wants quest1, quest2 and quest5 (and maybe more).
This may present a bit of a problem, as I can't find any trace of them
anywhere, and will have to work out from the source what their arguments,
etc are, what they do, etc.
I wonder how on earth the 2.11 people got this to assemble? (Or maybe they
didn't?)
Noel
> From: Mark Longridge <cubexyz(a)gmail.com>
> My first idea was to grab bj.s from 2.11BSD and assemble it the Unix v5
> as command. That seems to generate a bunch of errors.
I saw that there's a SysIII bj.s, which is almost identical to the 2.11 one;
so the latter is probably descended from the first, which I assume is Bell
source. So I grabbed it and tried to assemble it.
The errors are because bj.s is designed to be assembled along with another
assembler source file, which contains the following routines which are
missing from bj.s:
mesg
decml
nline
Dunno if you're aware of this, but, the line 'as a.s b.s' _doesn't_
separately assemble a.s and b.s, rather it's as if you'd typed
'cat a.s b.s > temp.s ; as temp.s'. (This is used in the demi-enigmatic
"as data.s l.s" in the system generation procedure.)
I looked around in the sources that come with V6, and I didn't see any obvious
such file. I'm going to whip the required routines up really quickly, and see
if the results assemble/run.
I looked to see if I could steal them from the binary of 'bj' on V6, and...
it looks like that binary is totally different from this source. Let me look
into this...
> Also other assembly source files don't seem to have .even in them.
The V6 assembler groks '.even'.
Noel
Hello All.
FYI.
Warren - can you mirror?
> Date: Thu, 11 Jun 2015 04:41:39 -0400 (EDT)
> From: Brian Kernighan <bwk(a)cs.princeton.edu>
> Subject: dmr web site (fwd)
>
> Finally indeed. I can't recall who else asked me about
> Dennis's pages, so feel free to pass this on.
> And someone ought to make a mirror. If I were not far
> away at the moment, I'd do so myself.
>
> Brian
>
> ---------- Forwarded message ----------
> Date: Tue, 09 Jun 2015 16:32:13 -0400
> To: Brian Kernighan <bwk(a)CS.Princeton.EDU>
> Subject: dmr web site
>
> finally, try this: https://www.bell-labs.com/usr/dmr/www/
>
> It's almost a complete copy of Dennis Ritchie's pages, with some
> adaptation needed for the new location. There are a few broken links,
> but hopefully they're not too annoying.
This new paper may be of interest to list readers:
Dan Murphy
TENEX and TOPS-20
IEEE Annals of the History of Computing 37(1) 75--82 (2015)
http://dx.doi.org/10.1109/MAHC.2015.15
In particular, the author notes on page 81:
>> ...
>> The fact that UNIX was implemented in a reasonably portable language
>> (at least as compared with 36-bit MACRO) also encouraged its spread to
>> new and less expensive machines. If I could have done just one thing
>> differently in the history of TENEX and TOPS-20, it would be to have
>> coded it in a higher-level language. With that, it's probable that the
>> system, or at least large parts of it, would have spread to other
>> architectures and ultimately survived the demise of the 36-bit
>> architecture.
>> ...
-------------------------------------------------------------------------------
- Nelson H. F. Beebe Tel: +1 801 581 5254 -
- University of Utah FAX: +1 801 581 4148 -
- Department of Mathematics, 110 LCB Internet e-mail: beebe(a)math.utah.edu -
- 155 S 1400 E RM 233 beebe(a)acm.org beebe(a)computer.org -
- Salt Lake City, UT 84112-0090, USA URL: http://www.math.utah.edu/~beebe/ -
-------------------------------------------------------------------------------
Just cuz of this list and recent comments about SVRx and I see this comment in ftrap.s
fpreent: # this is the point we return to
# when we are executing the n+1th
# floating point instruction in a
# contiguous sequence of floating
# point instructions (floating
# pointlessly forever?)
Makes me wonder how many other humorous comments are buried in the code.
David
Oh, if no one out there has a SVR3.1 distribution (apparently for the 3b2), I’ve got one to send out….
Since early 2013 I've occasionally asked this list for help, and shared
the progress regarding the creation of a Unix Git repository containing
Unix releases from the 1970s until today [1].
On Saturday I presented this work [2, 3] at MSR '15: The 12th Working
Conference on Mining Software Repositories, and on Sunday I discussed
the work with the participants over a poster [4] (complete with commits
shown in a teletype (lcase) and a VT-220 font). Amazingly, the work
received the conference's "Best Data Showcase Award", for which I'm
obviously very happy.
I'd like to thank again the many individuals who contributed to the
effort. Brian W. Kernighan, Doug McIlroy, and Arnold D. Robbins helped
with Bell Labs login identifiers. Clem Cole, Era Eriksson, Mary Ann
Horton, Kirk McKusick, Jeremy C. Reed, Ingo Schwarze, and Anatole Shaw
helped with BSD login identifiers. The BSD SCCS import code is based on
work by H. Merijn Brand and Jonathan Gray.
A lot of work remains to be done. Given that the build process is
shared as open source code, it is easy to contribute additions and fixes
through GitHub pull requests on the build software repository [5], but
if you feel uncomfortable with that, just send me email. The most useful
community contribution would be to increase the coverage of imported
snapshot files that are attributed to a specific author. Currently,
about 90 thousand files (out of a total of 160 thousand) are getting
assigned an author through a default rule. Similarly, there are about
250 authors (primarily early FreeBSD ones) for which only the identifier
is known. Both are listed in the build repository's unmatched directory
[6], and contributions are welcomed (start with early editions; I can
propagate from there). Most importantly, more branches of open source
systems can be added, such as NetBSD OpenBSD, DragonFlyBSD, and illumos.
Ideally, current right holders of other important historical Unix
releases, such as System III, System V, NeXTSTEP, and SunOS, will
release their systems under a license that would allow their
incorporation into this repository. If you know people who can help in
this, please nudge them.
--Diomidis
[1] https://github.com/dspinellis/unix-history-repo
[2]
http://www.dmst.aueb.gr/dds/pubs/conf/2015-MSR-Unix-History/html/Spi15c.html
(HTML)
[3]
http://www.dmst.aueb.gr/dds/pubs/conf/2015-MSR-Unix-History/html/Spi15c.pdf
(PDF)
[4]
http://www.dmst.aueb.gr/dds/pubs/conf/2015-MSR-Unix-History/html/poster.pdf
(105MB)
[5] https://github.com/dspinellis/unix-history-make
[6]
https://github.com/dspinellis/unix-history-make/tree/master/src/unmatched
All, I finally remembered to export the unix-jun72 project over to Github:
https://github.com/DoctorWkt/unix-jun72
This was our effort to bring the 1st Edition Unix kernel back to life
along with the early C compilers and the 2nd Edition userland binaries.
Cheers, Warren