MC's Journal

Incompatible Timesharing System

A KL10

(Photo by Michael L. Umbricht, CC BY-SA.)

ITS, the Incompatible Timesharing System, is seen in hackerdom as one of the most hacker friendly operating system for the wonderful PDP-10 series of computers (pictured above). It has its own chapter in Stephen Levy's remarkable book Hackers: Heroes of the Computer Revolution, a book whose first third I often re-read when news about modern computing brings me down.

ITS was first described in AI memo 161/A from 1968/69 by Donald E. Eastlake 3rd, incidentally the same DEE3 we can blame for DNSSEC. A friendly MIT librarian scanned 161A for me when I asked about in the mid 1990s. Dave Carter later made it available as plain text, a copy of which I keep here:

https://hack.org/mc/texts/its-reference-1.5.txt

I once based a lecture on AI memo 161A. I lectured to unsuspecting first-year Informatics students at Linköping University, invited to do so by their senior students. I think at most a few understood what I was talking about, but it was very well received as a fake lecture. Fake lectures are traditionally held during the first weeks, typically with an equally fake student asking advanced questions in the audience. Another year I introduced the INTERCAL programming language, mostly with a straight face.

Another great text about ITS is Alan Bawden's paper on how the ITS operating system made system calls restartable: PCLSRing: Keeping Process State Modular.

ITS has been available for some time to run on emulators. Björn Victor has it running on a KLH-10 emulator on a Raspberry Pi. He has written a web server in MacLisp for it so it can serve its own web pages at:

http://up.update.uu.se/

Björn also keeps TOPS-20 running on KLH-10 on a similar raspi, a clone of the real TOPS-20 system AIDA in Uppsala: TINA Is not AIDA:

http://tina.update.uu.se/

Funny quote from Björn that might also cover the ITS machine:

The emulated system cost about 1/20000 of the original, weighs about 1/60000, using 1/6000 of the power, and still runs about 3 times faster than the original system.

Here's me hugging the real AIDA a few years ago during a visit to a museum:

See my blog post Visiting Aida.

Paul “pul-s” Svensson has also written a web server for ITS, but in the MIDAS assembler:

http://its.svensson.org/

MIDAS source for the web server.

You can connect to both these machines with SUPDUP for the complete experience. You can run the original TECO Emacs, for instance. ITS feels rather modern, considering its age.

Björn keeps an ITS wiki:

http://its.victor.se/wiki/

Lars Brinkhoff and friends are trying to make it easy to build ITS from scratch:

https://github.com/pdp-10/its

They are also trying to get the Knight TV consoles, the bitmap graphics terminals used at the MIT AI lab, working in emulation.

Very little is known about the Knight TV system but it seems they are digging up an awful lot of information. The TV consoles had PDP-11s as frontends to the PDP-10 backend. They were bitmapped but had no window system.

Knight console

(Photo by Noel Chiappa.)

One of the interesting thing with the Knight consoles was the keyboard, here connected to a modern Novena laptop:

Knight keyboard

(Photo by Mike McMahon. CC BY.)

The Knight keyboard was the main inspiration to the later Space Cadet keyboard on the Lisp Machines, which is probably one of the reasons we have Meta and Super keys in X11.

Incidentally, if someone has a Knight or Space Cadet keyboard (or a Novena, for that matter!), my birthday is coming up soon...

Lars extracted the default Knight TV font and made it available both as an X11 BDF font and a VT220 soft font:

https://github.com/larsbrinkhoff/Knight-TV-font

He made the screenshot using cool-retro-term, not an actual, nor emulated, Knight console.

I'm sure Lars and friends will welcome any help even though I warn you that this is a real time sink that I have been down before.