pdp7-unix is a project to resurrect Unix on the PDP-7 from scans of the original assembly code done by Norman Wilson. The scans of PDP-7 Unix are in the Unix Archive as the files 0*.pdf.
Unixv0 is running on a real PDP-7 at the Living Computer Museum. Youtube.
A second notebook with missing sources has been discovered and scanned. New files are being added to the scans directory as they are typed in!
We've written an assembler, a user-mode simulator and commented several source files. We now have these utilities running: as, cat, chmod, chown, chrm, cp, date, ln, ls, mv, stat. We have a working shell with some functionality missing. We have a working filesystem and we can now boot the kernel, launch init, login, get to a shell prompt and run the utilities.
Things to do: bring the system fully up on a PDP-7 system, fix any bugs and document everything. We have a real PDP-7 and SimH as target platforms.
pdp7-unix requires Perl5 to build.
To compile it:
make
You will need simh 4.0 to run pdp7-unix. You can get the source code here. On 64-bit systems, you may need to set the C compiler's optimisation level to -O1.
To run pdp-unix from the pdp7-unix source tree, do:
make run
Press ctl-e
to break out the simulator into simh
A typical pdp7-unix session on simh looks like:
pdp7 unixv0.simh k PDP-7 simulator V4.0-0 Current git commit id: b848cb12 CPU idle disabled 8KW, EAE /Users/tom/projects/pdp7-unix/build/unixv0.simh-13> att rb image.fs RB: buffering file in memory /Users/tom/projects/pdp7-unix/build/unixv0.simh-17> att -U g2in 12345 Listening on port 12345 PDP-7 simulator configuration CPU idle disabled CLK 60Hz, devno=00 PTR devno=01 PTP devno=02 TTI devno=03 TTO devno=04 LPT disabled DRM disabled RB devno=71 DT disabled G2OUT devno=05 G2IN devno=43-44 login: ken password: ken @ ls .. dd maksys.s s1.s s2.s s3.s s4.s s5.s s6.s s7.s s8.s sop.s system sys.rc trysys.s @ ls system .. adm apr as b cas cat check chmod chown chrm cp date db dd display ds dskres dsksav dsw dttt ed init keyboard link list ln ls moo mv nm od p password pptin pptout rm rn roff salv sh stat tm ttyin ttyout ttt un @
The code in the original scans are (c) Micro Focus who own the rights to the Unix source code. Everything that didn't come from the scanned files is GPLv3.
- /build is an area to build the kernel & filesystem and run them
- /man holds man pages
- /misc holds miscellaneous notes and information
- /scans holds the unmodified OCR versions of the scanned files
- /src/cmd holds the modified source code of the user-mode programs
- /src/sys holds the modified source code of the kernel
- /src/other holds PDP-7 source code which did not come from the scanned files
- /tools holds the source for the tools written to assist the project
pdp7-unix is under the GPLv3
We have a mailing list for those people actively involved in the restoration effort. Send e-mail to Warren Toomey (DoctorWkt) if you are keen to help out.