• Stars
    star
    844
  • Rank 53,983 (Top 2 %)
  • Language
    Assembly
  • License
    Other
  • Created about 8 years ago
  • Updated 3 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Incompatible Timesharing System

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 PDP-11 cpu no yes no no no
tvcon Knight TV console raster no yes no no no
datapoint Datapoint 3300 text no yes no no no
vt52 VT52 text no yes yes yes yes
tek Tektronix 4010 vector no yes yes no 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
  • 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.

More Repositories

1

klh10

Community maintained version of Kenneth L. Harrenstien's PDP-10 emulator.
C
59
star
2

MUD1

Essex MUD1 by Trubshaw and Bartle
58
star
3

-READ--THIS-

Information about the PDP-10 group.
37
star
4

tenex

BBN's PDP-10 operating system
Roff
32
star
5

zil

Zork implementation language
Roff
30
star
6

Spacewar

Spacewar for PDP-6 and PDP-10
29
star
7

documents

PDP-10 documents
HTML
22
star
8

Interlisp-10

HTML
19
star
9

panda

The Panda TOPS-20 distribution
Common Lisp
18
star
10

tops20-build

Build system for TOPS-20
RUNOFF
18
star
11

muddle

PDP-10 Muddle
ZIL
17
star
12

supdup

Community maintained SUPDUP client for Unix
C
16
star
13

emacs

TECO Emacs for TOPS-20
15
star
14

Rogue

ECL Rogue for TOPS-20
Pascal
14
star
15

macsyma

Macsyma
Common Lisp
14
star
16

Snyder-C-compiler

Alan Snyder's portable C Compiler
C
13
star
17

microcode

Central place for all PDP-10 microcode
MAXScript
13
star
18

kcc

Kok Chen's C compiler for PDP-10
C
12
star
19

its-vault

Common Lisp
12
star
20

rutgers-common-lisp

Rutgers TOPS-20 Common Lisp
Common Lisp
11
star
21

waits

Stanford A. I. Lab operating system 1972 to 1990 named WAITS, Western Artificial Intelligence Time Sharing. This repository provides the wide overview with pointers to and a few samples of the technical and historical details.
11
star
22

TOPS-10

A ready to run TOPS-10 distro! Layered products and all
10
star
23

essex-bcpl

Essex BCPL for TOPS-10
10
star
24

KOM

Bulletin board system for TOPS-20
9
star
25

itstar

Tool for manipulating ITS dump tape images
C
9
star
26

f40

DEC Fortran IV compiler
Assembly
8
star
27

FOONEX

FOONEX from Foonly
8
star
28

tenex-bcpl

BBN's TENEX BCPL
Roff
7
star
29

sri-nic

Backup dump from SRI-NIC
C
7
star
30

Tymcom-X

Tymshare operating system
Batchfile
4
star
31

decwar

4
star
32

fine

FINE Is Not EMACS
4
star
33

rutgers-pascal

Pascal
4
star
34

foonly

Foonly computers
4
star
35

SUDS

Stanford University Drawing System
C
4
star
36

MIMIC

Simulator
Batchfile
4
star
37

utah-pcc20

PCC-20 from Utah University
C
3
star
38

amis

Emacs clone for TOPS-10
Pascal
3
star
39

rutgers-elisp

Extended addressing Lisp from Rutgers
Roff
3
star
40

dart

SAIL dump and restore technique
C
3
star
41

bsys

View or extract files from a TENEX BSYS tape
C
2
star
42

old-bits

Misc. ancient code not properly put in any other repo
2
star
43

maxc

Everything^H^H^H some things about the Xerox PARC Maxc computers
HTML
2
star
44

System1022

2
star
45

rsh

Unix remote shell daemon for TOPS-20
C
2
star
46

tops10-tapes

A repository for the TOPS-10 tape images; don't want to clutter the repo
2
star
47

xpl-pdp-10

XProc
1
star
48

tvcon-macosx

a Knight TV for Macos X 10.13.6
C
1
star
49

kldcp

KL10 diagnostic console program
MAXScript
1
star
50

SUPPTY

A SUPDUP capable putty.exe
C
1
star
51

IMP-77

Edinburgh IMP-77 for TOPS-10/20
HTML
1
star
52

sitbol

SITBOL implementation of SNOBOL4
1
star
53

hamburg-pascal

Pascal compiler from University of Hamburg
Roff
1
star
54

harvard-ecl

Harvard's ECL programming language
Roff
1
star
55

cmu-extended-pcl

Programmable Command Language from CMU
Roff
1
star
56

20xsim

TOPS-20 simulator for TOPS-10
1
star