https://github.com/PDP-10/its Skip to content Toggle navigation Sign up * Product + Actions Automate any workflow + Packages Host and manage packages + Security Find and fix vulnerabilities + Codespaces Instant dev environments + Copilot Write better code with AI + Code review Manage code changes + Issues Plan and track work + Discussions Collaborate outside of code Explore + All features + Documentation + GitHub Skills + Blog * Solutions For + Enterprise + Teams + Startups + Education By Solution + CI/CD & Automation + DevOps + DevSecOps Case Studies + Customer Stories + Resources * Open Source + GitHub Sponsors Fund open source developers + The ReadME Project GitHub community articles Repositories + Topics + Trending + Collections * Pricing Search or jump to... Search code, repositories, users, issues, pull requests... Search [ ] Clear Search syntax tips Provide feedback We read every piece of feedback, and take your input very seriously. [ ] [ ] Include my email address so I can be contacted Cancel Submit feedback Saved searches Use saved searches to filter your results more quickly Name [ ] Query [ ] To see all available qualifiers, see our documentation. Cancel Create saved search Sign in Sign up You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. {{ message }} PDP-10 / its Public * Notifications * Fork 72 * Star 726 Incompatible Timesharing System License Unknown, Unknown licenses found Licenses found Unknown LICENSE Unknown COPYING 726 stars 72 forks Star Notifications * Code * Issues 495 * Pull requests 5 * Discussions * Actions * Projects 1 * Wiki * Security * Insights More * Code * Issues * Pull requests * Discussions * Actions * Projects * Wiki * Security * Insights PDP-10/its This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository. master Switch branches/tags [ ] Branches Tags Could not load branches Nothing to show {{ refName }} default View all branches Could not load tags Nothing to show {{ refName }} default View all tags Name already in use A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch? Cancel Create 101 branches 0 tags Code * Local * Codespaces * Clone HTTPS GitHub CLI [https://github.com/P] Use Git or checkout with SVN using the web URL. [gh repo clone PDP-10] Work fast with our official CLI. Learn more about the CLI. * Open with GitHub Desktop * Download ZIP Sign In Required Please sign in to use Codespaces. Launching GitHub Desktop If nothing happens, download GitHub Desktop and try again. Launching GitHub Desktop If nothing happens, download GitHub Desktop and try again. Launching Xcode If nothing happens, download Xcode and try again. Launching Visual Studio Code Your codespace will open once ready. There was a problem preparing your codespace, please try again. Latest commit @larsbrinkhoff larsbrinkhoff Update TECO-6 for 256K memory. ... c9ed641 Jul 5, 2023 Update TECO-6 for 256K memory. c9ed641 Git stats * 1,763 commits Files Permalink Failed to load latest commit information. Type Name Latest commit message Commit time .circleci Use the CircleCI base image instead of Debian. September 18, 2020 19:51 .github/workflows Update GitHub Actions runner to the ubuntu-22.04 image. April 20, 2023 19:21 bin Source reconstruction for the 64/256K @ TECO. July 5, 2023 07:07 build Update TECO-6 for 256K memory. July 5, 2023 07:07 conf Add router.chaosnet.net as "friend" June 22, 2021 21:21 doc A list of major ITS attractions. June 7, 2023 21:12 src Update TECO-6 for 256K memory. July 5, 2023 07:07 tools Update KA10 emulator with "hack hack" interrupt fix. March 25, 2023 21:10 .cirrus.yml Update CI build to FreeBSD 13.0. January 15, 2023 11:07 .gitattributes .gitattribtues: Mark everything under doc/ as text files, and set diff November 2, 2018 20:54 .gitignore CONFIG and H3TEXT are no longer written to the src directory. September 23, 2018 07:11 .gitlab-ci.yml Better job names for GitLab. August 14, 2019 22:22 .gitmodules Use latest version of SIMH for emulators other than KS10. January 20, 2021 19:15 .travis.yml Update Travis CI to use Xcode 11.6. April 16, 2021 08:53 CONTRIBUTING.md Fix a typo in CONTRIBUTING.md June 6, 2018 08:12 COPYING Adding some initial copyright and licensing information based on MIT'... December 16, 2016 07:01 LICENSE Added files and directories that support the MDL 55 runtime. February 28, 2023 07:14 Makefile Run the "hack hack" test. March 25, 2023 21:10 README.md Build ITS with Cornwell's KS10. February 28, 2022 07:42 View code [ ] Incompatible Timesharing System About ITS About this project Building Usage Terminal Emulators Documentation Applications README.md Incompatible Timesharing System CI Build Status About ITS ITS, the Incompatible Timesharing System, is an operating system for the PDP-10 computer family. It was created by hackers at MIT in the 1960s. The MIT site was shut down in 1990, but enthusiasts continue to operate ITS systems to this day. Some notable ITS features: * Hosted the first versions of Emacs, Zork, Macsyma, Maclisp, Scheme, and multi-player Maze War * Virtual memory * User-space device drivers * Networking: TCP/IP, ARPAnet, Chaosnet * Transparent network file system * Terminal-independent text output * Graphical workstations There is a mailing list for discussion about ITS. Go to http:// its.victor.se/mailman/listinfo/its-hackers_its.victor.se for more information. About this project This repository contains source code, tools, and scripts to build an ITS system from scratch. The goals are: * To provide an automated build from start to end. No user intervention is necessary. * To check which programs have source code, and which programs are missing source code. * To ensure that we know how to build all programs. * To update programs with the latest bug fixes and enhancements. * To be able to set configurable options across the whole system, such as host name, IP address, hardware devices. The build currently runs on the SIMH and KLH10 emulators. Of course, we'd be delighted to test this on a real KS10. Building To build ITS with this repository, you need some tools installed; see the table below. Ensure all submodules are checked out, and then type make EMULATOR=simh, make EMULATOR=pdp10-ka, make EMULATOR=pdp10-kl, make EMULATOR=pdp10-ks, or make EMULATOR=klh10. This will leave built files in the out directory, some of which are disk images with ITS installed. Emulator Dependencies klh10 git, c compiler, make, expect, curses, autoconf simh git, c compiler, make, expect, curses, autoconf, sdl2 pdp10-ka git, c compiler, make, expect, curses, autoconf, sdl2, sdl2-image, sdl2-net, gtk3 pdp10-kl git, c compiler, make, expect, curses, autoconf, sdl2, sdl2-image, gtk3 pdp10-ks git, c compiler, make, expect, curses, autoconf, sdl2 Usage To start ITS, type ./start. If you see KLH10#, type go and Enter. If you see the DSKDMP prompt, type its, press Enter, and then ESCG. If you use the pdp10-kl emulator there is no prompt and you need to type ESCL ITS, press Enter, and then ESCG. Eventually, you will see SYSTEM JOB USING THIS CONSOLE. You are now ready to log in, so type CTRLZ. See doc/DDT.md for a list of useful commands. Alternatively to logging in directly in the system console window, which will always be displaying daemon messages, you may prefer to use a seperate terminal session for logging in. To do this just run telnet localhost 10003 from another shell window and press CTRLZ to log in there. To shut down ITS, type :lock and then 5down. Log yourself out to avoid the 5 minute grace period: type :logout. When ITS writes SHUTDOWN COMPLETE, it's safe to stop the emulator. Press CTRL\ to escape to the simulator command prompt and quit to close it. If you had a separate telnet user session running you can similary press CTRL[ and then exit telnet. ITS can optionally use some additional peripheral devices. To attach a simulated GT40 graphics terminal, type ./start gt40. If you run the KA10 emulator, you can use the Knight TV raster display by typing ./ start tv11 tvcon. On a TV, type F1 instead of CTRLZ. Here is an overview of the repository: * bin - PDP-10 binary files necessary to bootstrap the system. * build - build scripts. * conf - configuration for building ITS. * doc - documentation, most of which appear in the INFO system. * src - source code for ITS and all programs. * tools - build tools. * out - build output. * user - optional user files installed in ITS. Terminal Emulators Several emulators for terminals and peripheral processors are built along with ITS. They can be started conveniently with the start script, or separately. Not all terminal emulators are set up to work with all PDP-10 emulators by default. Name Description Type klh10 pdp10-ka pdp10-kl pdp10-ks simh type340 Type 340 vector no yes no no no gt40 GT40 PDP-11 vector no yes no yes yes imlac Imlac PDS-1 vector no yes no no no simh_imlac Imlac PDS-1 vector no yes no no no tv11 Knight TV cpu no yes no no no PDP-11 tvcon Knight TV raster no yes no no no console datapoint Datapoint text no yes no no no 3300 vt52 VT52 text no yes yes yes yes tek Tektronix vector no yes yes no no 4010 Documentation See the doc subdirectory for documentation. There are some short introductions for beginners: * How to create a new user * DDT cheat sheet for Unix users * Basic editing with EMACS * TECO survival guide * DDT debugging newbie guide * Hello MIDAS * Hello Maclisp * Introduction to Muddle * DUMP and itstar * Games * Printing * Assembling ITS * Com link mode * Logo * PDP-6 * Networking A list of known ITS machines. How ITS is built. Applications Some major applications: * Adventure, game * C10, C compiler * CLU, progamming language. * DDT, debugger * Emacs, editor * Logo, interpreter * Mac Hack VI and Tech II, chess programs * Maclisp, interpreter and compiler * Muddle, interpreter * Macsyma, symbolic math * Maze War, game * Midas, assembler * Muscom and musrun, for playing music * PDP-11 simulator * Scheme, interpreter * Spacewar!, game * Stanford University Drawing System * TECO, editor * TOPS-10 and WAITS emulator There is a detailed list of all installed programs. About Incompatible Timesharing System Topics emacs continuous-integration operating-system retrocomputing virtual-memory pdp-10 ddt midas maclisp chaosnet teco computer-history incompatible-timesharing-system Resources Readme License Unknown, Unknown licenses found Licenses found Unknown LICENSE Unknown COPYING Stars 726 stars Watchers 43 watching Forks 72 forks Report repository Releases No releases published Packages 0 No packages published Contributors 30 * @larsbrinkhoff * @eswenson1 * @atsampson * @bictorv * @oilcan-productions * @wyan * @popeyeotaku * @Alexey-Slyusar * @pgalbraith * @TheFausap * @rcornwell + 19 contributors Languages * Assembly 99.2% * Roff 0.5% * Tcl 0.3% * Shell 0.0% * Makefile 0.0% * Gnuplot 0.0% Footer (c) 2023 GitHub, Inc. Footer navigation * Terms * Privacy * Security * Status * Docs * Contact GitHub * Pricing * API * Training * Blog * About You can't perform that action at this time.