{"id":13489283,"url":"https://github.com/DoctorWkt/pdp7-unix","last_synced_at":"2025-03-28T04:31:02.816Z","repository":{"id":44607968,"uuid":"52394476","full_name":"DoctorWkt/pdp7-unix","owner":"DoctorWkt","description":"A project to resurrect Unix on the PDP-7 from a scan of the original assembly code","archived":false,"fork":false,"pushed_at":"2023-09-08T21:30:58.000Z","size":1349,"stargazers_count":448,"open_issues_count":7,"forks_count":71,"subscribers_count":35,"default_branch":"master","last_synced_at":"2025-03-21T20:13:53.880Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Assembly","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DoctorWkt.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2016-02-23T21:56:18.000Z","updated_at":"2025-03-17T23:40:49.000Z","dependencies_parsed_at":"2024-01-14T05:09:30.490Z","dependency_job_id":null,"html_url":"https://github.com/DoctorWkt/pdp7-unix","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DoctorWkt%2Fpdp7-unix","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DoctorWkt%2Fpdp7-unix/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DoctorWkt%2Fpdp7-unix/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DoctorWkt%2Fpdp7-unix/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DoctorWkt","download_url":"https://codeload.github.com/DoctorWkt/pdp7-unix/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245970414,"owners_count":20702410,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-31T19:00:21.821Z","updated_at":"2025-03-28T04:31:02.223Z","avatar_url":"https://github.com/DoctorWkt.png","language":"Assembly","funding_links":[],"categories":["Assembly"],"sub_categories":[],"readme":"![CI](https://github.com/DoctorWkt/pdp7-unix/workflows/CI/badge.svg)\n\n# pdp7-unix\n\n\n## About\n\npdp7-unix is a project to resurrect Unix on the PDP-7 from scans of the original\nassembly code done by\n[Norman Wilson](http://www.cs.toronto.edu/~norman/pers/index.html).\nThe scans of PDP-7 Unix are in the [Unix Archive](http://www.tuhs.org/)\n[as the files 0*.pdf](http://www.tuhs.org/Archive/Distributions/Research/McIlroy_v0/).\n\n## Current Status\n\n### January 2020\n\nUnixv0 is running on a real PDP-7 at the Living Computer Museum. [Youtube](https://www.youtube.com/watch?v=pvaPaWyiuLA).\n\n### October 2019\n\nA second notebook with missing sources has been\ndiscovered and scanned.  New files are being added to the scans\ndirectory as they are typed in!\n\n### March 2016 \n\nWe've written an assembler, a user-mode simulator and\ncommented several source files. We now have these utilities running:\nas, cat, chmod, chown, chrm, cp, date, ln, ls, mv, stat. We have a working\nshell with some functionality missing. We have a working filesystem and\nwe can now boot the kernel, launch init, login, get to a shell prompt and\nrun the utilities.\n\nThings to do: bring the\nsystem fully up on a PDP-7 system, fix any bugs and document everything.\nWe have a [real PDP-7](http://physics.uoregon.edu/outreach/movies/pdplives/)\nand [SimH](http://simh.trailing-edge.com/) as target platforms.\n\n\n## Building pdp7-unix\n\npdp7-unix requires [Perl5](https://www.perl.org/) to build.\n\nTo compile it:\n\n`make`\n\n## Running pdp7-unix\n\nYou will need [simh](http://simh.trailing-edge.com/) 4.0 to run pdp7-unix.  You can get the source code [here](https://github.com/simh/simh). On 64-bit systems, you may need to set the C compiler's optimisation level to -O1.\n\n### Running from source\n\nTo run pdp-unix from the pdp7-unix source tree, do:\n\n`make run`\n\nPress `ctl-e` to break out the simulator into simh\n\n### Typical Output\n\nA typical pdp7-unix session on simh looks like:\n\n\u003cpre\u003e\npdp7 unixv0.simh\nk\nPDP-7 simulator V4.0-0 Current        git commit id: b848cb12\nCPU\tidle disabled\n\t8KW, EAE\n/Users/tom/projects/pdp7-unix/build/unixv0.simh-13\u003e att rb image.fs\nRB: buffering file in memory\n/Users/tom/projects/pdp7-unix/build/unixv0.simh-17\u003e att -U g2in 12345\nListening on port 12345\nPDP-7 simulator configuration\n\nCPU\tidle disabled\nCLK\t60Hz, devno=00\nPTR\tdevno=01\nPTP\tdevno=02\nTTI\tdevno=03\nTTO\tdevno=04\nLPT\tdisabled\nDRM\tdisabled\nRB\tdevno=71\nDT\tdisabled\nG2OUT\tdevno=05\nG2IN\tdevno=43-44\n\nlogin: ken\npassword: ken\n@ ls\n..\ndd\nmaksys.s\ns1.s\ns2.s\ns3.s\ns4.s\ns5.s\ns6.s\ns7.s\ns8.s\nsop.s\nsystem\nsys.rc\ntrysys.s\n@ ls system\n..\nadm\napr\nas\nb\ncas\ncat\ncheck\nchmod\nchown\nchrm\ncp\ndate\ndb\ndd\ndisplay\nds\ndskres\ndsksav\ndsw\ndttt\ned\ninit\nkeyboard\nlink\nlist\nln\nls\nmoo\nmv\nnm\nod\np\npassword\npptin\npptout\nrm\nrn\nroff\nsalv\nsh\nstat\ntm\nttyin\nttyout\nttt\nun\n@ \n\u003c/pre\u003e\n\n\n## Source Tree\n\nThe code in the original scans are (c) Micro Focus who own the rights to the Unix\nsource code. Everything that didn't come from the scanned files is GPLv3.\n\n* /build     is an area to build the kernel \u0026 filesystem and run them\n* /man       holds man pages\n* /misc\t     holds miscellaneous notes and information\n* /scans     holds the unmodified OCR versions of the scanned files\n* /src/cmd   holds the modified source code of the user-mode programs\n* /src/sys   holds the modified source code of the kernel\n* /src/other holds PDP-7 source code which did not come from the scanned files\n* /tools     holds the source for the tools written to assist the project\n\n## License\n\npdp7-unix is under the [GPLv3](LICENSE)\n\n\n## Mailing List\n\nWe have a\n[mailing list](http://minnie.tuhs.org/cgi-bin/mailman/listinfo/pdp7-unix)\nfor those people actively involved in the restoration effort. Send e-mail\nto Warren Toomey (DoctorWkt) if you are keen to help out.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FDoctorWkt%2Fpdp7-unix","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FDoctorWkt%2Fpdp7-unix","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FDoctorWkt%2Fpdp7-unix/lists"}