The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
* [TUHS] A re-analysis of some DECtapes from dmr
@ 2024-12-06 22:58 Warren Toomey via TUHS
  2024-12-06 23:01 ` [TUHS] " Warren Toomey via TUHS
  0 siblings, 1 reply; 4+ messages in thread
From: Warren Toomey via TUHS @ 2024-12-06 22:58 UTC (permalink / raw)
  To: tuhs

All, I received this detailed e-mail from Yufeng Gao who has done a great
job at analysing some of the DECtapes that Dennis made available to the
Unix Archive. I'm sure many of you would be interested and, possibly, could
provide some feedback on his work. A tarball of his efforts are here:

   https://mega.nz/file/1cJFTJxT#BgszYuFc_ebSMaQXAIG5b2NtaGInPWMoaxExPM5Lr9Y

Cheers, Warren

P.S. I have a follow-up e-mail coming ...

----- Forwarded message from Yufeng Gao -----

Subject: UNIX DECtapes from Ritchie

   Hi Warren,


   I am writing you this email after seeing the DECtapes from Dennis
   Ritchie that you put up last year. I found them while playing around
   with the early C compilers on Ritchie's site. After some research into
   the tapes, I have written a parser to parse them and convert them into
   tarballs suitable for preservation. Most importantly, the 'dmr' tape
   and 's1' tape are currently not decoded properly.


   The biggest issue with the current decoding of the 's1' tape is, well,
   there is none. After quickly glancing over the tape, I have concluded
   that it is in fact not one of the middle tapes of an rkd(1) backup, but
   a copy of UNIX INIT DECtape from a version of UNIX between V1 and V2. I
   have extracted its contents:


   Mode       UID GID  Size Date                Name

   ---------- --- --- ----- ------------------- ------------

   -rw-rw-rw-   0   0   512 1970-01-01 00:00:00 [vcboot]

   -rw-rw-rw-   0   0  2048 1970-01-01 00:00:00 [bos]

   -rw-rw-rw-   0   0 12288 1970-01-01 00:00:00 [wunix]

   -rw-rw-rw-   0   0 12288 1970-01-01 00:00:00 [cunix]

   -rw-rw-rw-   0   0  3072 1970-01-01 00:00:00 [unassigned]

   -rwxr-xr-x   1   0   424 1970-01-01 00:00:00 /etc/init

   -rwxrwxrwx   3   0   446 1970-01-01 00:00:00 /etc/getty

   -rwxr-xr-x   3   0    82 1970-01-01 00:00:00 /bin/chmod

   -rwsr-xr-x   0   0   794 1970-01-01 00:00:00 /bin/date

   -rwsr-xr-x   0   0  1290 1970-01-01 00:00:00 /bin/login

   -rwsr-xr-x   0   0   232 1970-01-01 00:00:00 /bin/mkdir

   -rwxr-xr-x   1   0   954 1970-01-01 00:00:00 /bin/sh

   -rwsr-xr-x   0   0  3678 1970-01-01 00:00:00 /bin/tap

   -rwxr-xr-x   3   0  2010 1970-01-01 00:00:00 /bin/ls


   578 blocks, 98 (16.96%) used, 480 (83.04%) free.

   B = boot; D = directroy;

   . = free; X = file data;

   O = bos; W = wunix;

   C = cunix; S = rf slack;

   U = unassigned program;


     |0123456789ABCDEF

   --+----------------

   00|BOOOOWWWWWWWWWWW

   01|WWWWWWWWWWWWWCCC

   02|CCCCCCCCCCCCCCCC

   03|CCCCCUUUUUUSSSSS

   04|SDXDXDXDXXDXXXDX

   05|DXXDXXXXXXXXDXXX

   06|XD..............

   07|................


   <...>


   What is significant here is it contains the vcboot and bos programs
   mentioned in bproc(7), as well as a Warm and a Cold UNIX kernel. This
   version of UNIX appears to be between V1 and V2, which I believe is the
   earliest to exist in binary form. The reason why I say it's between V1
   and V2 is its bos program accepts the following console switches
   compared to V1 and V2:


                         | UNIX V1  | s1    | UNIX V2

   ----------------------+----------+-------+---------

   Warm boot             | [1]73700 | ???   | ???

   Cold boot             | 1        | 1     | 1

   Unassigned 3K prog    | 2        | 2     |

   Dump core & halt      | 10       | 10    | 10

   Boot from RK          |          | 20    | 20

   Dump core & warm boot |          | 40    | 40

   Boot from paper tape  | 0        | 0     | 0

   Load DEC loaders      | 57500    | 57500 | 77500

   ----------------------+----------+-------+---------

   UNIX load address     | 400      | 400   | 600

   ----------------------+----------+-------+---------


   The boot-from-unassigned-3K-program option was probably in the process
   of being depreciated, as the 3K of space is also loaded as a part of
   the Cold UNIX despite it not being used by the Cold UNIX kernel. The
   list of files on the 's1' tape also appear to be between V1 and V2:


              | V1  | s1  | V2

   -----------+-----+-----+-----

   /etc/init  | Yes | Yes | Yes

   /etc/getty | No  | Yes | Y/N

   /bin/chmod | Yes | Yes | Yes

   /bin/chown | Yes | No  | No

   /bin/date  | No  | Yes | Yes

   /bin/login | No  | Yes | Yes

   /bin/cp    | Yes | No  | No

   /bin/ln    | Yes | No  | No

   /bin/ls    | Yes | Yes | Yes

   /bin/mkdir | Yes | Yes | Yes

   /bin/mv    | Yes | No  | No

   /bin/rm    | Yes | No  | No

   /bin/rmdir | Yes | No  | No

   /etc/mount | No  | No  | Yes

   /bin/sh    | Yes | Yes | Yes

   /bin/stat  | Yes | No  | No

   /bin/tap   | Yes | Yes | Yes

   -----------+-----+-----+-----


   Given that the files on this tape are identical to the same files on
   the 's2' tape and that the files on the 's2' tape are also sort of
   between V1 and V2, and that this tape is named 's1' while the other is
   named 's2', they are probably from the same version of UNIX. I have
   tried booting the 's1' tape using SIMH, but unfortunately it did not
   work and I have not yet attempted to debug it.


   Next I'm going to talk about the 'dmr' tape. It’s interesting, most of
   it was written by tap(1) running under UNIX V1-V2, but files in the
   ./paper directory were written by tap(1) running under UNIX V4. When
   decoded using the tap(1) program itself, the timestamps and access
   modes of those files are garbled. My program corrected the timestamps
   and access modes in the converted tar(1) archive. The same goes for the
   'nsys' tape.


   The tar(1) conversion of 's2'
   (/Archive/Distributions/Research/1972_stuff/s2-bits.tar.gz) in the TUHS
   archives is missing some files in the /etc directory - compare it with
   mine and Ritchie's (Ritchie's has wrong timestamps and access modes,
   however). Speaking of timestamps and the 's2' tape, the timestamps
   outputted by tap(1) are inaccurate because 1972 is a leap year and the
   ctime(3) function hard coded 28 for the number of days in February.


   I have attached an archive of my tar(1) conversion of each tape, as
   well as tarballs containing all the slack space data and unused blocks
   which I dumped for data recovery and forensic analysis purposes. There
   are some interesting bits and pieces in the unused blocks of various
   tapes, but I have not had time to look into them in detail. Just a very
   quick summary:


     * The 'config' tape has leftover of a dictionary file.
     * The 'dmr' tape has some assembler manual ?roff leftover.
     * The 'dmr2' tape has some paper ?roff leftover.
     * The 'e-pi' tape has a lot of interesting binary stuff, including
       bits and pieces of a B compiler from what I can tell.
     * The 'ken' tape has some C source fragments and Thompson’s mail
       templates and some UNIX manual ?roff leftover.
     * The 'ken-du' tape has some paper ?roff leftover.
     * The 'ken-sky' tape has some binary leftover.
     * The 'nsys' tape has some source code leftover of what seems to be
       the kernel.
     * The 's1' tape has some source code leftover of what seems to be
       userland programs.
     * The 'scratch' tape has some binary and source listing and ?roff
       leftover.
     * The 'unix' tape has some binary leftover.


   I hope that these newly extracted stuff could be put up in the TUHS
   archives :). If the attachment in this email somehow doesn't come
   through, I have also uploaded the archive [1]here. I have a disassembly
   of vcboot and bos from 's1', they may help with the UNIX V1
   reconstruction project - let me know if you need them. If you can get
   the 's1' kernel to boot, I'd like to also receive an update.


   Sincerely,

   Yufeng Gao

----- End forwarded message -----

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

* [TUHS] Re: A re-analysis of some DECtapes from dmr
  2024-12-06 22:58 [TUHS] A re-analysis of some DECtapes from dmr Warren Toomey via TUHS
@ 2024-12-06 23:01 ` Warren Toomey via TUHS
  2024-12-07  9:32   ` Lars Brinkhoff
  0 siblings, 1 reply; 4+ messages in thread
From: Warren Toomey via TUHS @ 2024-12-06 23:01 UTC (permalink / raw)
  To: tuhs

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

On 7/12/24 08:58, Warren Toomey via TUHS wrote:
> All, I received this detailed e-mail from Yufeng Gao who has done a great
> job at analysing some of the DECtapes that Dennis made available to the
> Unix Archive.P.S. I have a follow-up e-mail coming ...

Here is a follow-up e-mail from Yufeng, I just needed to ensure the 
colours got preserved :-)

Cheers, Warren

---- From Yufeng Gao ----

If you're going to share my email, please consider adding the following 
information about the s1 and s2 files being from the same version of UNIX:

"The maki.s source and a.out executable found in /usr/sys is the exact 
same maki program used to create the INIT tape, judging by the 
unzeroed/leftover bytes at the end of vcboot."

And the row highlighted in green from the following table to the one 
from my last email:

                | UNIX V1  | s1    | UNIX V2

----------------------+----------+-------+---------

Warm boot             | [1]73700 | ???   | ???

Cold boot             | 1        | 1     | 1

Unassigned 3K prog    | 2        | 2     |

Dump core & halt      | 10       | 10    | 10

Boot from RK          |          | 20    | 20

Dump core & warm boot |          | 40    | 40

Boot from paper tape  | 0        | 0     | 0

Load DEC loaders      | 57500    | 57500 | 77500

----------------------+----------+-------+---------

*BOS load address      | 54000    | 54000 | 154000*

UNIX load address     | 400      | 400   | 600

----------------------+----------+-------+---------

Sorry if I sound like I'm asking for too much, the history is quite 
important so I want everything to be in the best possible state :).

Sincerely,

Yufeng Gao

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

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

* [TUHS] Re: A re-analysis of some DECtapes from dmr
  2024-12-06 23:01 ` [TUHS] " Warren Toomey via TUHS
@ 2024-12-07  9:32   ` Lars Brinkhoff
  2024-12-08  1:01     ` Warren Toomey via TUHS
  0 siblings, 1 reply; 4+ messages in thread
From: Lars Brinkhoff @ 2024-12-07  9:32 UTC (permalink / raw)
  To: Warren Toomey via TUHS; +Cc: Warren Toomey

Is the kernel for a PDP-11/20 or /45?  If /20, does it use the KS11 for
memory mapping?

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

* [TUHS] Re: A re-analysis of some DECtapes from dmr
  2024-12-07  9:32   ` Lars Brinkhoff
@ 2024-12-08  1:01     ` Warren Toomey via TUHS
  0 siblings, 0 replies; 4+ messages in thread
From: Warren Toomey via TUHS @ 2024-12-08  1:01 UTC (permalink / raw)
  To: Lars Brinkhoff; +Cc: tuhs

On Sat, Dec 07, 2024 at 09:32:58AM +0000, Lars Brinkhoff wrote:
> Is the kernel for a PDP-11/20 or /45?  If /20, does it use the KS11 for
> memory mapping?

Lars, it's the same kernel as in this project:
https://github.com/DoctorWkt/unix-jun72

Here's part of the SimH config:

set cpu 11/20
set cpu 32K
set rk0 enabled
set rf enabled
set tc enabled
set tc enabled
set rf enabled
set ke enabled
set dci en

Cheers, Warren

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

end of thread, other threads:[~2024-12-08  1:01 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-12-06 22:58 [TUHS] A re-analysis of some DECtapes from dmr Warren Toomey via TUHS
2024-12-06 23:01 ` [TUHS] " Warren Toomey via TUHS
2024-12-07  9:32   ` Lars Brinkhoff
2024-12-08  1:01     ` Warren Toomey 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).