The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
* [TUHS] Census of Early (Pre-C Kernel) UNIX Documents
@ 2024-02-14 21:03 segaloco via TUHS
  2024-02-15  7:20 ` [TUHS] " Lars Brinkhoff
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: segaloco via TUHS @ 2024-02-14 21:03 UTC (permalink / raw)
  To: The Eunuchs Hysterical Society

Hello everyone, I'm currently laying the groundwork for a restart of my mandiff project, expanding it to encompass not just the manual-proper, but also the documents leading to the "Documents for UNIX" collections as well.  Thus far I'm about halfway done on a ROFF restoration of the earliest surviving draft of Dennis Ritchie's The UNIX Time-Sharing System paper[1], reconstructed from existing, later NROFF text and ROFF conventions from the Third Edition manual[2].

Thus far, the additional documents I've found explicitly referenced in the earlier days are:

User's Reference Manual to B - K. Thompson[3]
C Reference Manual - D. M. Ritchie[4 - see note]
M6 Manual - A. D. Hall[5]
ROFF Manual - J. F. Ossanna[6 - see note]
A Manual for the TMG Compiler-writing Language - M. D. McIlroy[7]
UNIX Assembler Manual - D. M. Ritchie[8 - see note]
NROFF Users' Manual - J. F. Ossanna[9 - see note]
YACC Manual - S. C. Johnson[10 - see note]

Aside from these references, there are two other B papers, one a tutorial[11] by B. W. Kernighan and the other a MH-TSS reference by S. C. Johnson[12].  I don't think I saw either referenced in the manual-proper.  The latter then makes further reference to a "Bell Laboratories BCPL" by R. H. Canaday and D. M. Ritchie, although I suspect this is lost, I can't find it.

Anywho, my plan is to take any known ROFF/NROFF sources for the above documents and reconstruct the earliest versions possible and then add them to my revamped repository in the timeframes that they first start showing up as references in the manual to derive a more holistic view of the creation of manuals and guides in the early days.  A few matters prompted me to start over:

1. Noticing that there is direct lineage between some of the text in the UnixEditionZero paper and later manual pages like as(I), I want to capture the base text as far back as possible, which in this case would mean ensuring a commit in the chain captures the transfer of the text from the UnixEditionZero paper to as(I) to give a more complete history.

2. Al Kossow has now scanned and preserved a UNIX Program Generic II manual, meaning I no longer have to make as many assumptions about what changed and what didn't in the USG/Research split.  Thus far, assumptions about the Program Generic line have been based on the extant MERT manual (which in turn is described as deriving from the Program Generic III manual.)

3. The picture of PWB/2.0 is becoming a bit clearer as time goes on, but is still murky, and that has implications for the changes between the Sixth Edition (where my current mandiff repo[13] ends) and the Seventh Edition.  Rather than having to go back and redo a bunch of work, I think the first pass can stand on its own as a source of guidance on redoing this.

4. The cleanliness of the repository history is not to my liking, there are several instances of multiple commits across pages related to some larger, holistic change that would really be easier to study if they were in one.  Starting over, I now have a much clearer picture of V1->V6 that I can use to produce a tighter history.

Anywho, to summarize what I'm looking for feedback on, first, are there any major documents I'm omitting from this investigation?  Any particular technical memoranda that are crucial to the big picture?  Additionally, is anyone aware whether USG Program Generic I (or earlier?) had a formal edition of the Programmer's Manual or if they would've just referred folks to the research manual prior to PG II?  With the latter question I'm trying to determine if USG manual history starts with the PG II manual Al Kossow has scanned or if I should be considering a hole in the record where a PG I manual goes.

Thanks for following along, hopefully getting this groundwork in place will ensure the next go at this project is even more fruitful than the last!

- Matt G.

--- References ---

1 - https://www.tuhs.org/Archive/Distributions/Research/McIlroy_v0/UnixEditionZero-Threshold_OCR.pdf
2 - https://www.tuhs.org/cgi-bin/utree.pl?file=V3/man
3 - https://www.bell-labs.com/usr/dmr/www/kbman.html

4 - I may have a copy of the earliest version of this I can identify.  The earliest version I can find online is dated January 15th, 1974 (https://www.bell-labs.com/usr/dmr/www/cman74.pdf) and contains the text "C is also available on the HIS 6070 computer at Murray Hill and on the IBM System/370 at Holmdel" whereas this particular copy of the paper states "C is also available on the HIS 6070 computer at Murray Hill, using a compiler written by A. Snyder and currently maintained by S. C. Johnson.  A compiler for the IBM System/360/370 series is under construction."  The manual is TROFF printout and isn't formatted as a memorandum like the link included here.  References to the C Reference Manual begin to show up as early as the Second Edition manual, although these imply the C manual is still being written.  Does anyone know if the C Reference Manual started in ROFF and then moved to NROFF some time before the earliest copies we're aware of?  In any case, I intend to scan this copy, it just hasn't bubbled up in my project list yet.

5 - https://tuhs.pdp-11.org.ru/Documentation/TechReports/Bell_Labs/CSTRs/2.pdf

6 - I have a copy that defers from the one I could find here: https://www.cs.dartmouth.edu/~doug/roff71/roff71.pdf It is not in technical memorandum format and also may be missing a few pages (in mine, the tutorial ends with the "Translation" section but the linked document contains a couple more paragraphs on page offset (.po), merge patterns, and an envoi (conclusion).  The most striking difference is that the linked paper is Doug's version for TSS, but the paper I've got lists the invocation in the UNIX style (roff +N -M name1 name2 ...) and is likely representative of the UNIX version with Joe Ossanna's work.  Doug if you catch this and believe the attribution on this page (https://wiki.tuhs.org/doku.php?id=systems:2nd_edition) should have your by-line or both you and jfo, happy to make the edit.  The text of the UNIX version I have does seem to descend from your original paper.  By the way, an even earlier version of this paper for runoff is available here (https://manpages.bsd.lv/history/runoff69.low.pdf)

7 - https://www.tuhs.org/Archive/Distributions/Research/1972_stuff/tmg.pdf

8 - This is first referenced in the Third Edition manual.  Some of the text may derive from the second Appendix of the "UnixEditionZero" paper linked above, the manpage certainly has influence from that document.  Not sure if any of that implies the manual may have started in ROFF, but in any case, constitutes an early reference.

9 - This reference first appears, verifiably, in the Third Edition.  However, the Second Edition manual does list nroff(I) in the TOC, but this page is not actually included in the extant PDF in the archive.  In any case, the earliest version of the NROFF Users' Manual I'm aware of is the Second Edition, dated 9/11/74.  Is any such First Edition extant on the public record?

10 - The earliest reference to this manual I can find is in the Third Edition.  Not sure if there are any earlier specimens than the text in the Sixth Edition sources.

11 - https://www.bell-labs.com/usr/dmr/www/btut.html

12 - https://www.bell-labs.com/usr/dmr/www/bref.html

13 - https://gitlab.com/segaloco/mandiff

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [TUHS] Re: Census of Early (Pre-C Kernel) UNIX Documents
  2024-02-14 21:03 [TUHS] Census of Early (Pre-C Kernel) UNIX Documents segaloco via TUHS
@ 2024-02-15  7:20 ` Lars Brinkhoff
  2024-02-15 16:20   ` Tom Perrine
  2024-02-15  8:34 ` Jonathan Gray
  2024-02-17 16:53 ` Rod Bartlett via TUHS
  2 siblings, 1 reply; 6+ messages in thread
From: Lars Brinkhoff @ 2024-02-15  7:20 UTC (permalink / raw)
  To: segaloco via TUHS; +Cc: segaloco

Matt G wrote:
> C is also available on the HIS 6070 computer at Murray Hill, using a
> compiler written by A. Snyder and currently maintained by S. C. Johnson

Some of which has been preserved.  E.g. search for HIS-6000 in these files:
https://github.com/PDP-10/its/tree/master/doc/c

Here's some definitions for the code generator:
https://github.com/PDP-10/its/blob/master/src/c/h6000.gt

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [TUHS] Re: Census of Early (Pre-C Kernel) UNIX Documents
  2024-02-14 21:03 [TUHS] Census of Early (Pre-C Kernel) UNIX Documents segaloco via TUHS
  2024-02-15  7:20 ` [TUHS] " Lars Brinkhoff
@ 2024-02-15  8:34 ` Jonathan Gray
  2024-02-16  0:12   ` Warren Toomey via TUHS
  2024-02-17 16:53 ` Rod Bartlett via TUHS
  2 siblings, 1 reply; 6+ messages in thread
From: Jonathan Gray @ 2024-02-15  8:34 UTC (permalink / raw)
  To: segaloco; +Cc: tuhs

On Wed, Feb 14, 2024 at 09:03:43PM +0000, segaloco via TUHS wrote:
> Hello everyone, I'm currently laying the groundwork for a restart of my mandiff project, expanding it to encompass not just the manual-proper, but also the documents leading to the "Documents for UNIX" collections as well.  Thus far I'm about halfway done on a ROFF restoration of the earliest surviving draft of Dennis Ritchie's The UNIX Time-Sharing System paper[1], reconstructed from existing, later NROFF text and ROFF conventions from the Third Edition manual[2].

dmr_tapes/dmr2/tp/paper/ in
Applications/Dennis_Tapes/dmr_tapes.tgz

https://github.com/DoctorWkt/unix_timesharing_paper
may also interest you

> 
> Thus far, the additional documents I've found explicitly referenced in the earlier days are:
> 
> User's Reference Manual to B - K. Thompson[3]
> C Reference Manual - D. M. Ritchie[4 - see note]
> M6 Manual - A. D. Hall[5]
> ROFF Manual - J. F. Ossanna[6 - see note]
> A Manual for the TMG Compiler-writing Language - M. D. McIlroy[7]
> UNIX Assembler Manual - D. M. Ritchie[8 - see note]

dmr_tapes/dmr2/tp/aman/ in
Applications/Dennis_Tapes/dmr_tapes.tgz

which also has:

Regenerating System Software
dmr_tapes/dmr2/tp/direc*

Unix I/O System
dmr_tapes/dmr2/tp/iosys

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [TUHS] Re: Census of Early (Pre-C Kernel) UNIX Documents
  2024-02-15  7:20 ` [TUHS] " Lars Brinkhoff
@ 2024-02-15 16:20   ` Tom Perrine
  0 siblings, 0 replies; 6+ messages in thread
From: Tom Perrine @ 2024-02-15 16:20 UTC (permalink / raw)
  To: Lars Brinkhoff; +Cc: segaloco via TUHS, segaloco

[-- Attachment #1: Type: text/plain, Size: 619 bytes --]

There is SIMH for Multics (DPS-8 and similar) which should in theory also
run any 6000-series machine code.

--tep


On Wed, Feb 14, 2024 at 11:20 PM Lars Brinkhoff <lars@nocrew.org> wrote:

> Matt G wrote:
> > C is also available on the HIS 6070 computer at Murray Hill, using a
> > compiler written by A. Snyder and currently maintained by S. C. Johnson
>
> Some of which has been preserved.  E.g. search for HIS-6000 in these files:
> https://github.com/PDP-10/its/tree/master/doc/c
>
> Here's some definitions for the code generator:
> https://github.com/PDP-10/its/blob/master/src/c/h6000.gt
>

[-- Attachment #2: Type: text/html, Size: 1151 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [TUHS] Re: Census of Early (Pre-C Kernel) UNIX Documents
  2024-02-15  8:34 ` Jonathan Gray
@ 2024-02-16  0:12   ` Warren Toomey via TUHS
  0 siblings, 0 replies; 6+ messages in thread
From: Warren Toomey via TUHS @ 2024-02-16  0:12 UTC (permalink / raw)
  To: tuhs

[-- Attachment #1: Type: text/plain, Size: 393 bytes --]

On 15/2/24 18:34, Jonathan Gray wrote:
> dmr_tapes/dmr2/tp/paper/ in
> Applications/Dennis_Tapes/dmr_tapes.tgz
There is some text in dmr_tapes/dmr/bits as well. It should be a tp(1) 
file bit my tp extraction program 
(https://www.tuhs.org/Archive/Tools/Tapes/tp-progs.tar.gz) doesn't 
recognise it. However, you can use 'strings -n 2' to extract just the 
text from the file.

Cheers, Warren

[-- Attachment #2: Type: text/html, Size: 965 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [TUHS] Re: Census of Early (Pre-C Kernel) UNIX Documents
  2024-02-14 21:03 [TUHS] Census of Early (Pre-C Kernel) UNIX Documents segaloco via TUHS
  2024-02-15  7:20 ` [TUHS] " Lars Brinkhoff
  2024-02-15  8:34 ` Jonathan Gray
@ 2024-02-17 16:53 ` Rod Bartlett via TUHS
  2 siblings, 0 replies; 6+ messages in thread
From: Rod Bartlett via TUHS @ 2024-02-17 16:53 UTC (permalink / raw)
  To: segaloco; +Cc: The Eunuchs Hysterical Society

[-- Attachment #1: Type: text/plain, Size: 839 bytes --]

On Feb 14, 2024, at 4:03 PM, segaloco via TUHS <tuhs@tuhs.org> wrote:
> 
> whereas this particular copy of the paper states "C is also available on the HIS 6070 computer at Murray Hill, using a compiler written by A. Snyder and currently maintained by S. C. Johnson.


In 1987 I worked for a contracting company which provided system software support for a Honeywell 6680 mainframe which happened to have a C compiler.  I assume this compiler was based on the one mentioned in the paper.  I recall it being difficult to port C source to the mainframe due to its inability to address anything smaller than a 36 bit word.  I did manage to port a program in my spare time which generated images from the Mandelbrot set on the IBM PC.  What took 10+ hours to generate on a fast PC of the time took a mere 3 minutes on the mainframe.


[-- Attachment #2: Type: text/html, Size: 1549 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2024-02-17 16:54 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-02-14 21:03 [TUHS] Census of Early (Pre-C Kernel) UNIX Documents segaloco via TUHS
2024-02-15  7:20 ` [TUHS] " Lars Brinkhoff
2024-02-15 16:20   ` Tom Perrine
2024-02-15  8:34 ` Jonathan Gray
2024-02-16  0:12   ` Warren Toomey via TUHS
2024-02-17 16:53 ` Rod Bartlett via TUHS

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).