Today I was looking around for more v7 stuff of interest that I might
find on the web and came across a tape image in the ATT bits directory:
http://www.bitsavers.org/bits/ATT/ labeled X7252.2015_UNIX_V7.tap and an
image of the reel with original and added markings. I downloaded it and
sure enough, it's a bootable v7. I then compared it with my recreated
tape image from the files in the Keith Bostic folder on tuhs. The 11.7MB
tapes are nearly identical, with only a handful of bytes that differ at
the very end of the tape:
ATT tape:
54532000Â Â Â 000000Â 000000Â 024000Â 000000Â 000000Â 000000 000077Â 000000
54532020Â Â Â 052135Â 014020Â 010000Â 034113Â 056720Â 023524 072143Â 122062
54532040Â Â Â 141401Â 000000Â 000000Â 000000Â 000000Â 000000 000000Â 000000
54532060Â Â Â 000000Â 000000Â 000000Â 000000Â 000000Â 000000 000000Â 000000
54532100Â Â Â 000000Â 000000Â 000000Â 000000Â 000000Â 000000 000000Â 037400
54532120Â Â Â 000000 000000
54532123
Bostic recreated tape:
54532000Â Â Â 000000Â 000000Â 024000Â 000000Â 000000Â 000000 177777Â 177777
54532020
I'm wondering - 1) Does anyone know the provenance of the
X7252.2015_UNIX_V7.tap 2) Do the bytes at the end of the tapes look
familiar or particularly meaningful? My knowledge of 40+ y.o. tape
formats is woefully lacking, but I'm curious.
Will

On Jan 10, 2022, at 12:33 PM, Larry McVoy <lm(a)mcvoy.com> wrote:
> TeX looks better but you instantly know it is
> TeX, it has a particular look.
Perhaps you’re thinking of documents using Computer Modern fonts,
typeset using LaTeX’s document classes. Check out the examples here:
https://tex.stackexchange.com/questions/1319/showcase-of-beautiful-typograp…
Hello All.
I am pleased to announce that, after a multi-year effort, Chris Ramming's
awkcc is now once again available for download, and this time with
a more permissive license.
I would like to thank Brian Kernighan, Chris Ramming and Doug McIlroy
for contributing letters of support to my efforts to get this program
re-released.
The lion's share of the thanks must go to Martin Carroll of Nokia
Bell Labs, who fought the uphill battle within Bell Labs to get permission
to release the code, and who uploaded it to GitHub.
Me? I pushed here and there, and contributed the actual code snapshots;
it seems that Bell Labs had misplaced the code in the meantime. :-)
The code, both the 1988 and 2011 versions, may be found at
https://github.com/nokia/awkcc.
The code is primarily of historical interest; I think it would take
a significant effort to build it on a more modern system, although I
think it could be done. It'd also be an effort to bring it up to date
with the current Unix version of awk. Again most likely doable, but not
necessarily trivial.
In any case, enjoy!
Arnold
Hello,
I’m looking for photographs of university computer labs from 1985 until 1995, particularly labs full of unix workstations, of course. Does anyone here have photos like that in their collection?
I’m also thinking of reaching out to university archivists, but I don’t have any direct connections to any.
Thanks much!
- Alex
I have a copy of a spiral-bound booklet with yellow covers called "The C
Programmer's Reference" by Morris I. Bolsky of the Systems Training
Center, AT&T Bell Laboratories, (C) 1985. A curious little snapshot of
1980s pre-ANSI C.
I posted a picture of the front cover (with table of contents) at
https://twitter.com/fanf/status/1475407500946157570
I think I rescued it from the office clear-out in 2013 when Cambridge
University Computing Service moved out of the old city-centre offices. I
probably picked it up from a stack of old books that were to be chucked;
wherever I found it, I can't remember who it belonged to. And now I no
longer work for the University, it has come home with me.
Tony.
--
f.anthony.n.finch <dot(a)dotat.at> https://dotat.at/
Southwest Forties, Cromarty, Forth, Tyne, Dogger: Southerly or
southeasterly, backing easterly or northeasterly later, 4 to 6,
becoming variable 3 for a time in Cromarty and Forth. Moderate,
occasionally rough at first in southwest Forties, Cromarty and Dogger.
Rain or showers, fog patches developing. Moderate or good,
occasionally very poor.
> It would be nice to hear about the rationale from a primary source.
Assembly language was deemed a last resort, especially as portability
was coming to the fore. As I wrote in A Research Unix Reader,
"Assembly language and magic constants gradually declined from the
status of the 'real truth' (v4) to utterly forgotten (v8)." In v7,
assembler usage was demoted to the bottom of syscall man pages. It
could also be found in /usr/src/libc/sys/*.s
Doug
Well, hallelujah, after much travail (I've tried this every Christmas
for at least 5 years now), I have succeeded in building vi on v7 from
2bsd. Had to patch the c compiler to enlarge the symbol table, tweak
some stuff here and there, but it finally built and installed without
any errors, yay.
Now, I just want it to do some editing, preferably in visual mode. I can
call it as ex or vi:
# ex
:
or
# vi
:
and q will exit, yay, again!
I have at least two problems:
1. It's not going "full" screen, even with TERM=vt100 or TERM=ansi set
(not that I was surprised, but it'd be nice)...
2. If I type a for append and type something, there's no way to get back
to the : prompt (ESC doesn't seem to work).
3. I'd like manpages (figure they might help with the above), but
they're on the tape as .u files?
I'm hoping this triggers some, oh yeah I remember that, type responses.
Thanks,
Will
So,
in v6, it was possible to use the mesg function from the system library
with:
ed hello.s
/ hello world using external mesg routine
.globl mesg
mov sp,r5
jsr r5,mesg; <Hello, World!\n\0>; .even
sys exit
as hello.sld -s a.out -l
a.out
Hello, World!
This was because v6 included mesg in the library, in v7, it doesn't look
like mesg is included, so doing the same thing as above requires that
code to write the message out be included and in addition system call
names are not predefined, so exit and write have to be looked up in
/usr/include/sys.s, resulting in the v7 equivalent file:
ed hello2.s
/ hello world using internal mesg routine
       mov    sp,r5
       jsr    r5,mesg; <Hello, World!\n\0>; .even
       sys    1
mesg:
       mov    r0,-(sp)
       mov    r5,r0
       mov    r5,0f
1:
       tstb   (r5)+
       bne    1b
       sub    r5,r0
       com    r0
       mov    r0,0f+2
       mov    $1,r0
       sys    0; 9f
.data
9:
       sys    4; 0:..; ..
.text
       inc    r5
       bic    $1,r5
       mov    (sp)+,r0
       rts    r5
as hello2.s
a.out
Hello, World!
My questions are:
1. Is mesg or an equivalent available in v7?
2. If not, what was the v7 way of putting strings out?
3. Why aren't the system call names defined?
4. What was the v7 way of naming system calls?
Will
All,
I've completed a new version of my "Installing and Using Research Unix
Version 7 in the SimH PDP-11/45 and 11/70 Emulators" tutorial/document
(wow, that's a mouthful). I'm calling it Version 2.0 - It is a
completely reorganized, updated, and edited version of the document.
The blog post announcement is on the blog: https://decuser.blogspot.com/
and the pdf is on google drive:
https://drive.google.com/file/d/1gDBxULlpLwezH-1RO_3ou_W7trElgSgT/view?usp=…
The new doc covers building a working v7 instance from tape files that
will run on the SimH emulator. First, the reader is led through the
restoration of a pristine v7 instance from tape to disk. Next, the
reader is led through adding a regular user, making the system
multi-user. Then, the reader is shown how to make the system
multi-session cable allowing multiple simultaneous sessions. Finally,
the system is put to use with hello world, DMR style, and the learn
system is enabled. It also includes a hyperlinked table of contents.
My hope is that the new version will be more useful than the prior
version, as well as more accurate. I really appreciate the input and
feedback y'all have given me over the intervening years.
Regards,
Will
> From: John Cowan
> Why use C syntax? What was wrong with Fortran, Lisp, or Cobol syntax,
> extended to do what you wanted?
Why do all hammers look basically the same? Because there's an 'ideal
hammer', and over time hammer design has asymtoted toward that 'ideal hammer'
design. One can't just keep improving the design indefinitely - diminishing
returns set in.
So I suspect there is, to some degree, a Platonic 'ideal syntax' for a
'classic block-structured' programming language, and to me, C came pretty
close to it.
I except LISP from that assessment, because LISP is built around a
fundamentally different model of how computations/algorithms are organized,
and C and LISP aren't directly comparable.
But that realization points to a deeper bug with the 'Platonic ideal
language' concept above, which is that languages are fundamentally, albeit at
a very deep conceptual level, tied to the basic concept of the computing
hardware they are to run on. C/COBOL/FORTRAN/etc are all for von Neumann-like
(in a broad sense) computing engines - a single thread of computation, which
happens sequentially.
But we've pushed that paradigm about as far as it can go, we're into
diminishing returns territory on that one. The future, starting with the
hardware, will be very different - and will need quite different languages.
(Go, from what little I know of it, is a baby step in this direction - it is
intended to make it easy to use multiple simultaneous loci of execution,
making use of the mutiple cores that are common now.)
I suspect we'll be shifting to radically different paradigms, 50 years from
now - massively parallel computing meshes (think Connection Machines on
steroids - or the human brain), and those will use fundamentally different
computing paradigms, and programming languages for them, which in turn will
need very different syntax.
Noel