All Projects → PDP-10 → Its

PDP-10 / Its

Licence: gpl-3.0
Incompatible Timesharing System

Programming Languages

assembly
5116 projects

Projects that are alternatives of or similar to Its

Cross Platform Node Guide
📗 How to write cross-platform Node.js code
Stars: ✭ 1,161 (+104.76%)
Mutual labels:  operating-system, continuous-integration
Telega.el
GNU Emacs telegram client (unofficial)
Stars: ✭ 551 (-2.82%)
Mutual labels:  emacs
Docker.el
Manage docker from Emacs.
Stars: ✭ 511 (-9.88%)
Mutual labels:  emacs
Dotfiles
Let's be honest: mostly Emacs.
Stars: ✭ 536 (-5.47%)
Mutual labels:  emacs
Ggtags
Emacs frontend to GNU Global source code tagging system.
Stars: ✭ 515 (-9.17%)
Mutual labels:  emacs
Crux
A Collection of Ridiculously Useful eXtensions for Emacs
Stars: ✭ 543 (-4.23%)
Mutual labels:  emacs
Dotci
DotCi Jenkins github integration, .ci.yml http://groupon.github.io/DotCi
Stars: ✭ 505 (-10.93%)
Mutual labels:  continuous-integration
Libhermit Rs
libhermit-rs: A Rust-based library operating system
Stars: ✭ 558 (-1.59%)
Mutual labels:  operating-system
Emacs Elisp Programming
Tutorial about programming Elisp and Emacs text editor customization.
Stars: ✭ 548 (-3.35%)
Mutual labels:  emacs
Agent
The Buildkite Agent is an open-source toolkit written in Golang for securely running build jobs on any device or network
Stars: ✭ 534 (-5.82%)
Mutual labels:  continuous-integration
Nve
Run any command on specific Node.js versions
Stars: ✭ 531 (-6.35%)
Mutual labels:  operating-system
Deft
Deft for Emacs
Stars: ✭ 521 (-8.11%)
Mutual labels:  emacs
Magit
It's Magit! A Git porcelain inside Emacs.
Stars: ✭ 5,406 (+853.44%)
Mutual labels:  emacs
Import Js
A tool to simplify importing JS modules
Stars: ✭ 511 (-9.88%)
Mutual labels:  emacs
Olivetti
Emacs minor mode for a nice writing environment
Stars: ✭ 554 (-2.29%)
Mutual labels:  emacs
Managarm
Pragmatic microkernel-based OS with fully asynchronous I/O
Stars: ✭ 502 (-11.46%)
Mutual labels:  operating-system
Robe
Code navigation, documentation lookup and completion for Ruby
Stars: ✭ 525 (-7.41%)
Mutual labels:  emacs
Emacs Ng
A new approach to Emacs - Including TypeScript, Threading, Async I/O, and WebRender.
Stars: ✭ 525 (-7.41%)
Mutual labels:  emacs
Racket Mode
Emacs major and minor modes for Racket: edit, REPL, check-syntax, debug, profile, and more.
Stars: ✭ 559 (-1.41%)
Mutual labels:  emacs
Diff Hl
Emacs package for highlighting uncommitted changes
Stars: ✭ 553 (-2.47%)
Mutual labels:  emacs

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, 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, gtk3
pdp10-kl git, c compiler, make, expect, curses, autoconf, sdl2, sdl2-image, gtk3

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 simh
type340 Type 340 vector no yes no no
gt40 GT40 PDP-11 vector no yes no yes
imlac Imlac PDS-1 vector no yes no no
simh_imlac Imlac PDS-1 vector no yes no no
tv11 Knight TV PDP-11 cpu no yes no no
tvcon Knight TV console raster no yes no no
datapoint Datapoint 3300 text no yes no no
vt52 VT52 text no yes yes yes
tek Tektronix 4010 vector no yes yes no

Documentation

See the doc subdirectory for documentation.

There are some short introductions for beginners:

A list of known ITS machines.

How ITS is built.

Applications

Some major applications:

  • Adventure, game
  • C10, C compiler
  • 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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].