{"id":15011012,"url":"https://github.com/pdp-10/its","last_synced_at":"2025-05-14T21:11:10.359Z","repository":{"id":41271449,"uuid":"71775220","full_name":"PDP-10/its","owner":"PDP-10","description":"Incompatible Timesharing System","archived":false,"fork":false,"pushed_at":"2025-04-13T15:35:08.000Z","size":139155,"stargazers_count":891,"open_issues_count":508,"forks_count":89,"subscribers_count":44,"default_branch":"master","last_synced_at":"2025-04-13T19:49:55.619Z","etag":null,"topics":["chaosnet","computer-history","continuous-integration","ddt","emacs","incompatible-timesharing-system","maclisp","midas","operating-system","pdp-10","retrocomputing","teco","virtual-memory"],"latest_commit_sha":null,"homepage":null,"language":"Assembly","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PDP-10.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2016-10-24T09:52:01.000Z","updated_at":"2025-04-13T15:35:13.000Z","dependencies_parsed_at":"2023-11-02T07:24:50.338Z","dependency_job_id":"52182a2e-e03a-4279-b026-9f29ae4e1c67","html_url":"https://github.com/PDP-10/its","commit_stats":{"total_commits":1901,"total_committers":48,"mean_commits":"39.604166666666664","dds":"0.27617043661230933","last_synced_commit":"2d1b8c65a26cd4780e9d21c4f4bb113e257b5a06"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PDP-10%2Fits","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PDP-10%2Fits/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PDP-10%2Fits/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PDP-10%2Fits/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PDP-10","download_url":"https://codeload.github.com/PDP-10/its/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254227631,"owners_count":22035671,"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":["chaosnet","computer-history","continuous-integration","ddt","emacs","incompatible-timesharing-system","maclisp","midas","operating-system","pdp-10","retrocomputing","teco","virtual-memory"],"created_at":"2024-09-24T19:38:24.857Z","updated_at":"2025-05-14T21:11:05.340Z","avatar_url":"https://github.com/PDP-10.png","language":"Assembly","readme":"# Incompatible Timesharing System\n\n![CI Build Status](https://github.com/PDP-10/its/workflows/Build/badge.svg)\n\n### About ITS\n\nITS, the Incompatible Timesharing System, is an operating system for\nthe PDP-10 computer family.  It was created by hackers at MIT in the\n1960s.  The MIT site was shut down in 1990, but enthusiasts continue\nto operate ITS systems to this day.\n\nSome notable ITS features:\n\n- Hosted the first versions of Emacs, Zork, Macsyma, Maclisp, Scheme, and\n  multi-player Maze War\n- Virtual memory\n- User-space device drivers\n- Networking: TCP/IP, ARPAnet, Chaosnet\n- Transparent network file system\n- Terminal-independent text output\n- Graphical workstations\n\nThere is a mailing list for discussion about ITS.  Go to\nhttp://its.victor.se/mailman/listinfo/its-hackers_its.victor.se\nfor more information.\n\n### About this project\n\nThis repository contains source code, tools, and scripts to build an\nITS system from scratch.\n\nThe goals are:\n\n- To provide an automated build from start to end.  No user\n  intervention is necessary.\n\n- To check which programs have source code, and [which programs are missing\n  source code](https://github.com/PDP-10/its/issues/61).\n\n- To ensure that we know how to build all programs.\n\n- To update programs with the latest bug fixes and enhancements.\n\n- To be able to set configurable options across the whole system, such\n  as host name, IP address, hardware devices.\n\nThe build currently runs on the SIMH and KLH10 emulators.  Of course,\nwe'd be delighted to test this on a real KS10.\n\n### Building\n\nTo build ITS with this repository, you need some tools installed; see\nthe table below.  Ensure all submodules are checked out, and then type\n`make EMULATOR=simh`, `make EMULATOR=pdp10-ka`, `make\nEMULATOR=pdp10-kl`, `make EMULATOR=pdp10-ks`, or `make\nEMULATOR=klh10`.  This will leave built files in the `out` directory,\nsome of which are disk images with ITS installed.\n\n| Emulator | Dependencies |\n| --- | --- |\n| klh10 | git, c compiler, make, expect, curses, autoconf\n| simh | git, c compiler, make, expect, curses, autoconf, sdl2\n| pdp10-ka | git, c compiler, make, expect, curses, autoconf, sdl2, sdl2-image, sdl2-net, gtk3\n| pdp10-kl | git, c compiler, make, expect, curses, autoconf, sdl2, sdl2-image, gtk3\n| pdp10-ks | git, c compiler, make, expect, curses, autoconf, sdl2\n\n### Usage\n\nTo start ITS, type `./start`.  If you see `KLH10#`, type `go` and\nEnter.  If you see the `DSKDMP` prompt, type `its`, press Enter, and\nthen \u003ckbd\u003eESC\u003c/kbd\u003e\u003ckbd\u003eG\u003c/kbd\u003e.  If you use the `pdp10-kl` emulator there is no prompt\nand you need to type \u003ckbd\u003eESC\u003c/kbd\u003e\u003ckbd\u003eL\u003c/kbd\u003e `ITS`, press Enter, and then \u003ckbd\u003eESC\u003c/kbd\u003e\u003ckbd\u003eG\u003c/kbd\u003e.\nEventually, you will see `SYSTEM JOB USING THIS CONSOLE`.  You are now\nready to log in, so type \u003ckbd\u003eCTRL\u003c/kbd\u003e\u003ckbd\u003eZ\u003c/kbd\u003e.  See [doc/DDT.md](doc/DDT.md) for\na list of useful commands.\n\nAlternatively to logging in directly in the system console window, \nwhich will always be displaying daemon messages, you may prefer to \nuse a seperate terminal session for logging in.  To do this just\nrun `telnet localhost \u003cport\u003e` from another shell window and press\n\u003ckbd\u003eCTRL\u003c/kbd\u003e\u003ckbd\u003eZ\u003c/kbd\u003e to log in there. The port should be determined as per this list:\n\n| Port  | Type             | Emulator\n| ----  | ----             | -------\n| 10000 | TK10             | pdp10-ka\n| 10002 | Datapoint kludge | pdp10-ka\n| 10003 | Morton box       | pdp10-ka\n| 10004 | DZ11             | simh, pdp10-ks\n| 10007 | DTE2             | pdp10-kl\n| 10008 | DL10             | (pdp10-kl in the future?)\n\nTo shut down ITS, type `:lock` and then `5down`.  Log yourself out to\navoid the 5 minute grace period: type `:logout`.  When ITS writes\n`SHUTDOWN COMPLETE`, it's safe to stop the emulator.  Press \u003ckbd\u003eCTRL\u003c/kbd\u003e\u003ckbd\u003e\\\\\u003c/kbd\u003e\nto escape to the simulator command prompt and `quit` to close it.  If\nyou had a separate telnet user session running you can similary\npress \u003ckbd\u003eCTRL\u003c/kbd\u003e\u003ckbd\u003e\\[\u003c/kbd\u003e and then exit telnet.\n\nITS can optionally use some additional peripheral devices.  To attach\na simulated GT40 graphics terminal, type `./start gt40`.  If you run\nthe KA10 emulator, you can use the Knight TV raster display by typing\n`./start tv11 tvcon`.  On a TV, type \u003ckbd\u003eF1\u003c/kbd\u003e instead of \u003ckbd\u003eCTRL\u003c/kbd\u003e\u003ckbd\u003eZ\u003c/kbd\u003e.\n\nHere is an overview of the repository:\n- bin - PDP-10 binary files necessary to bootstrap the system.\n- build - build scripts.\n- conf - configuration for building ITS.\n- doc - documentation, most of which appear in the INFO system.\n- src - source code for ITS and all programs.\n- tools - build tools.\n- out - build output.\n- user - optional user files installed in ITS.\n\n### Terminal Emulators\n\nSeveral emulators for terminals and peripheral processors are built\nalong with ITS.  They can be started conveniently with the `start`\nscript, or separately.  Not all terminal emulators are set up to work\nwith all PDP-10 emulators by default.\n\n| Name    | Description       | Type   | klh10 | pdp10-ka | pdp10-kl | pdp10-ks | simh\n| ------- | ----------------- | ------ | ----- | -------- | -------- | -------- | ----\n| type340 | Type 340          | vector | no    | yes      | no       | no       | no\n| gt40    | GT40 PDP-11       | vector | no    | yes      | no       | yes      | yes\n| imlac   | Imlac PDS-1       | vector | no    | yes      | no       | no       | no\n| simh_imlac | Imlac PDS-1    | vector | no    | yes      | no       | no       | no\n| tv11    | Knight TV PDP-11  | cpu    | no    | yes      | no       | no       | no\n| tvcon   | Knight TV console | raster | no    | yes      | no       | no       | no\n| datapoint | Datapoint 3300  | text   | no    | yes      | no       | no       | no\n| vt52    | VT52              | text   | no    | yes      | yes      | yes      | yes\n| tek     | Tektronix 4010    | vector | no    | yes      | yes      | no       | no\n\n### Documentation\n\nSee the [`doc` subdirectory](doc) for documentation.\n\nThere are some short introductions for beginners:\n- [How to create a new user](doc/new-user.md)\n- [DDT cheat sheet for Unix users](doc/DDT.md)\n- [Basic editing with EMACS](doc/EMACS.md)\n- [TECO survival guide](doc/TECO.md)\n- [DDT debugging newbie guide](doc/debugging.md)\n- [Hello MIDAS](doc/hello-midas.md)\n- [Hello Maclisp](doc/hello-lisp.md)\n- [Introduction to Muddle](doc/muddle.md)\n- [DUMP and itstar](doc/DUMP-itstar.md)\n- [Games](doc/games.md)\n- [Printing](doc/printing.md)\n- [Assembling ITS](doc/NITS.md)\n- [Com link mode](doc/comlink.md)\n- [Logo](doc/logo.md)\n- [PDP-6](doc/pdp6.md)\n- [Networking](doc/networking.md)\n\nA list of [known ITS machines](doc/machines.md).\n\nHow [ITS is built](doc/build.md).\n\n### Applications\n\nSome major applications:\n\n- Adventure, game\n- C10, C compiler\n- CLU, progamming language.\n- DDT, debugger\n- Emacs, editor\n- Logo, interpreter\n- Mac Hack VI and Tech II, chess programs\n- Maclisp, interpreter and compiler\n- Muddle, interpreter\n- Macsyma, symbolic math\n- Maze War, game\n- Midas, assembler\n- Muscom and musrun, for playing music\n- PDP-11 simulator\n- Scheme, interpreter\n- Spacewar!, game\n- Stanford University Drawing System\n- TECO, editor\n- TOPS-10 and WAITS emulator\n\nThere is a [detailed list of all installed programs](doc/programs.md).\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpdp-10%2Fits","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpdp-10%2Fits","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpdp-10%2Fits/lists"}