Added V5 UNIX disk image, SIMH config file and README.
authorAaron Taylor <ataylor@subgeniuskitty.com>
Sun, 22 Nov 2020 11:14:41 +0000 (03:14 -0800)
committerAaron Taylor <ataylor@subgeniuskitty.com>
Sun, 22 Nov 2020 11:14:41 +0000 (03:14 -0800)
pdp11-V5_UNIX/README.md [new file with mode: 0644]
pdp11-V5_UNIX/simh.conf [new file with mode: 0755]
pdp11-V5_UNIX/unix_v5_rk.dsk.gz [new file with mode: 0644]

diff --git a/pdp11-V5_UNIX/README.md b/pdp11-V5_UNIX/README.md
new file mode 100644 (file)
index 0000000..51fb35f
--- /dev/null
@@ -0,0 +1,110 @@
+# Overview #
+
+This directory contains a V5 UNIX system image for use with the PDP-11
+simulator included in SIMH. The image was taken from a PDP-11/45 with an RK05
+disk (2.4 MB).
+
+V5 UNIX was the first version licensed widely outside AT&T, largely due to
+[Thompson and Ritchie's CACM
+paper](https://www.bell-labs.com/usr/dmr/www/cacm.html) that had recently
+introduced UNIX to the world.
+
+Version 5 still only targeted PDP-11s, but expanded to include those models
+with an 18-bit physical address space, compared to the 16-bit address space of
+previous models. This allowed up to 256 kB of RAM and greatly increased the
+capabilities of the system, needed as UNIX reached "above 50" installations at
+the time of this release.
+
+This is the second release of UNIX written in C, a language still in flux that
+had only existed for a couple years. The system is self-hosting using the
+included compiler but there are many differences from modern C visible in the
+on-disk source code.
+
+Old enough to predate the Bourne shell from Steve Bourne, V5 UNIX ships with
+the Thompson shell written by Ken Thompson. This was the first UNIX shell,
+mainly a command interpreter rather than the interpreted language that most
+UNIX shells became. Intentionally minimal, commands like `if` and `goto` are
+implemented as separate executables rather than as built-in shell commands. This
+shell was replaced by the Bourne shell in V7 UNIX and by the C shell in 2BSD,
+leading to its rapid decline in popularity.
+
+Several now common commands were first introduced in this release, including
+`dd`, `pwd`, and `wump` (Hunt the Wumpus). At this stage it's starting to
+*feel* like a UNIX system.
+
+Then there's the editor, `ed`. A UNIX classic, it's a little like using `vi`
+with your eyes shut. If you've never used it before, check out my [guide to
+ed](https://subgeniuskitty.com/development/pdp-11/guide-to-ed-text-editor).
+
+
+# Status #
+
+Fully tested on SIMH 3.9-0.
+
+
+# Instructions #
+
+
+## Power On ##
+
+To power up a simulated PDP-11/45 and run this V5 UNIX disk image, simply
+un-gzip the disk image file and start up SIMH with the provided configuration
+file.
+
+    % gunzip unix_v5_rk.dsk.gz
+    % pdp11 simh.conf
+    
+    PDP-11 simulator V3.9-0
+    Disabling XQ
+    .
+    .Type kernel filename at the '@' prompt.
+    .For example: @unix.
+    .UNIX username is 'root'.
+    .No password.
+    .
+    @ 
+
+The `@` prompt is from the bootloader, to whom we must pass a file to continue
+the boot process. Our kernel is a file named `unix`, so type that here followed
+by `ENTER`.
+
+    @unix
+    
+    ;login:
+
+The system has now booted up and you may login as `root` (no password).
+
+    ;login: root
+    #
+
+That's it! V5 UNIX is up and you're logged in.
+
+
+## Power Off ##
+
+To power off, assuming you are logged in as `root` and the system is otherwise
+inactive, use the `sync` command to flush any buffers to disk and then type
+`Ctrl-e` to halt the simulation and `quit` to exit SIMH.
+
+    # sync; sync
+    # <Ctrl-e>
+    Simulation stopped, PC: 001726 (MOV (SP)+,177776)
+    sim> quit
+    Goodbye
+
+Note that you can also press `Ctrl-e` at any time and SIMH will halt the PDP-11
+simulation and drop to the `sim>` prompt where you can exit. However, doing
+this is likely to corrupt a disk as it is equivalent to yanking the power cord
+from the wall. To resume from the `sim>` prompt, simply type `go` and execution
+will resume from where it left off..
+
+
+## Transfer Files ##
+
+Output to the line printer or input/output via the paper tape are one option.
+The relevant options to enable that hardware in SIMH are commented out in
+`simh.conf`.
+
+When offline, it is possible to mount the disk image and interact with it
+directly. For example, use
+<https://git.subgeniuskitty.com/pdp11-unix-fusefs/.git>.
diff --git a/pdp11-V5_UNIX/simh.conf b/pdp11-V5_UNIX/simh.conf
new file mode 100755 (executable)
index 0000000..3dbdde5
--- /dev/null
@@ -0,0 +1,41 @@
+set cpu 11/45
+set cpu 256k
+
+set rk enable
+attach rk0 unix_v5_rk.dsk
+
+; Attach additional disks
+; attach rk1 user_disk_image_file_name.dsk
+
+; 7-bit console encoding
+; set tto 7b
+
+; Eight terminal lines accessible via telnet to port 1170.
+; set dci en
+; set dci lines=8
+; att dci 1170
+
+; Optional tape drive
+; set tm0 locked
+; att tm0 unix_scratch.tap
+
+; Optional line printer
+; att lpt printer.txt
+
+; Optional paper tape
+; att ptp paperout.bin
+; att ptr paperin.bin
+
+; Set switch register
+; 0 = disable kernel printing
+; 1 = enable kernel printing
+; deposit sr 1
+
+echo .
+echo .Type kernel filename at the '@' prompt.
+echo .For example: @unix.
+echo .UNIX username is 'root'.
+echo .No password.
+echo .
+
+boot rk0
diff --git a/pdp11-V5_UNIX/unix_v5_rk.dsk.gz b/pdp11-V5_UNIX/unix_v5_rk.dsk.gz
new file mode 100644 (file)
index 0000000..c4ae7b4
Binary files /dev/null and b/pdp11-V5_UNIX/unix_v5_rk.dsk.gz differ