HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
PDP-10
its
Assembly2017–2026
PDP-10 / its

its

Incompatible Timesharing System

23Distinct people
76Mentions
0Explicit recommenders
963GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Incompatible Timesharing System

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:56:07 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year76 dated mentions

Observed mentions: 2017-01-24 01:14:25 UTC to 2026-09-12 02:00:03 UTC.

051015202017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 2 mentions; 1 submissions, 1 comments20172018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 6 mentions; 0 submissions, 6 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 6 mentions; 1 submissions, 5 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 9 mentions; 0 submissions, 9 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 8 mentions; 1 submissions, 7 comments20212022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 7 mentions; 1 submissions, 6 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 19 mentions; 2 submissions, 17 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 11 mentions; 2 submissions, 9 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 5 mentions; 1 submissions, 4 comments2026-01-01 00:00:00 UTC to 2027-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments. Incomplete calendar period.2026*

* An incomplete calendar period is marked with an outlined bar. Its count is not directly comparable with a full period.

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC211
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC606
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC615
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC909
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC817
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC716
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC19217
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC1129
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC514
2026 (partial)2026-01-01 00:00:00 UTC2027-01-01 00:00:00 UTC303

From the project README

An excerpt from the repository, fetched Nov 13, 2026.

Read the project’s introduction
Incompatible Timesharing System 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 separate terminal session for logging in. To do this just run telnet localhost <port> from another shell window and press CTRLZ to log in there. The port should be determined as per this list: Port Type Emulator 10000 TK10 pdp10-ka 10002 Datapoint kludge pdp10-ka 10003 Morton box pdp10-ka 10004 DZ11 simh, pdp10-ks 10007 DTE2 pdp10-kl 10008 DL10 (pdp10-kl in the future?) 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 similarly 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: 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, programming 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.
Read the full README on GitHub

What Hacker News says

76 sources
Logo Adventure for C64 Terrapin Logo https://medium.com/@donhopkins/logo-adventure-for-c64-terrap... >When I was 17, Terrapin published my first commercial code on their C64 Logo utilities disk: a Logo Adventure program, a simple non-graphical game that showed off Logo’s list processing and functional programming capabilities. [...] https://news.ycombinator.com/item?id=23054174 Here is the source code to LLogo in MACLISP, which I stashed from the MIT-AI ITS system. It's a fascinating historical document, 12,480 lines of beautiful practical lisp code, defining where the rubber meets the road, with drivers for hardware like pots, plotters, robotic turtles, TV turtles, graphical displays, XGP laser printers, music devices, and lots of other interesting code and comments. https://donhopkins.com/home/archive/lisp/llogo.lisp Lars Brinkhoff got
Read the rest
some of this code to run in MacLisp on an emulator! (I don't know how much of the historical hardware the emulator supports yet, but he's probably worked on some of that too. ;) ) https://github.com/PDP-10/its/issues/620 Thanks to Lars, here are two revisions of an AI Lab memo about LLOGO: http://bitsavers.org/pdf/mit/ai/aim/AIM-307.pdf http://bitsavers.org/pdf/mit/ai/aim/AIM-307a.pdf And a Logo manual and glossary of PDP-11 Logo: http://bitsavers.org/pdf/mit/ai/aim/AIM-313.pdf http://bitsavers.org/pdf/mit/ai/aim/AIM-315.pdf http://bitsavers.org/pdf/mit/ai/aim/AIM-315a.pdf
In Logo Programming
The Genealogy of ELIZA https://sites.google.com/view/elizagen-org/#h.rle1hgawpigd Kent Pitman's Lisp Eliza from MIT-AI's ITS History Project (sites.google.com) https://news.ycombinator.com/item?id=39373567 xyzzy_plugh on Feb 18, 2024 | next [–] Evergreen quote from TFA: > KMP provided some additional thoughts on his ELIZA: > "The thing about the DOCTOR program, while it was quite elaborate, was that it sort of missed the point of what Weizenbaum was trying to say. It's not that I didn't understand him, but it took me a long time to really come to viscerally understand the seriousness of his point. He said that (paraphrasing, maybe badly, from memory) long before we got to real AI, we would get to things that seemed smart but weren't, and we would overly trust systems that were not really smart. He was, for example, very worried about comp
Read the rest
uterized launch of nuclear missiles using what was then thought to be AI. But the point of the original ELIZA was not to BE elaborate, it was to be simple, and to show how even a tiny, tiny program could seem smart. It was hard not to think it could be smarter if it were not so tiny, but that misses the point, which was about how easily we were confused, not about how much more effectively we could be confused if more energy were put in. So whether my DOCTOR or any other was making the right point was hard to say. My guess is not." Here's the source for DOCTOR from ITS -- it has a much less extensive set of foul words and doesn't get insulted like his ANIMAL game does: Doctor: https://github.com/PDP-10/its/blob/master/src/games/doc.102 Guess the Animal: https://github.com/PDP-10/its/blob/master/src/games/animal.1... Animal has an extensive list of foul language words: https://github.com/PDP-10/its/blob/master/src/games/animal.1... I accidently offended it by earnestly trying to teach it to distinguish a bear from a pope, and it got mad at me, send angry email to KMP and I, and locked me out -- more details and pointers to Lisp code here: https://news.ycombinator.com/item?id=39414536 I finally sent KMP and ANIMAL an email sincerely apologizing, and apologized ANIMAL directly, and they forgave me so I could play again: Apology Email: https://github.com/PDP-10/its/blob/0f7d67997f9f5d30208e117e7... HANDLE-FOUL-LANGUAGE: https://github.com/PDP-10/its/blob/0f7d67997f9f5d30208e117e7... RECEIVE-APOLOGY: https://github.com/PDP-10/its/blob/0f7d67997f9f5d30208e117e7... At least EMACS has thick skin and lets you type as many dirty words into it as you feel like.
In Vintage Artificial Intelligence: Before It Got Awkward
I don't know if anyone has dumped the Tek font ROMs, but the IMLAC Scroll Saver tty emulator has been preserved, and I converted its typewriter font to Hershey font format. Scroll Saver disassembly: https://github.com/PDP-10/its/blob/f6408e16cb1aaf7f2583c02cd... My kludge to parse it into Hershey JHF format: http://canonical.org/~kragen/sw/dev3/imlacparse.py The resulting Hershey font: http://canonical.org/~kragen/sw/dev3/imlac-pds-1-ssvchr.22.j... Its appearance rendered: http://canonical.org/~kragen/sw/dev3/smolhershey-imlac.png My 400-byte BSD-licensed C library for using Hershey fonts: http://canonical.org/~kragen/sw/dev3/smolhershey.md.html If someone does get the Tek font, I'd love to do the same thing with it.
In A vector graphics workstation from the 70s
That's one of the funniest and most enlightening classic AI Koans, originally from the ITS file "AI:HUMOR;AI KOANS". Here's another Moon story from the humor directory: https://github.com/PDP-10/its/blob/master/doc/humor/moon's.g... Moon's I.T.S. CRASH PROCEDURE document from his home directory, which goes into much more detail than just turning it off and on: https://github.com/PDP-10/its/blob/master/doc/moon/klproc.11 And some cool Emacs lore: https://github.com/PDP-10/its/blob/master/doc/eak/emacs.lore Reposting this from the 2014 HN discussion of "Ergonomics of the Symbolics Lisp Machine": https://news.ycombinator.com/item?id=7878679 http://lispm.de/symbolics-lisp-machine-ergonomics https://news.ycombinator.com/item?id=7879364 eudox on June 11, 2014 Related: A huge collections of images showing Symbolics UI and the software written fo
Read the rest
r it: http://lispm.de/symbolics-ui-examples/symbolics-ui-examples agumonkey on June 11, 2014 Nice, but I wouldn't confuse static images with the underlying semantic graph of live objects that's not visible in pictures. DonHopkins on June 14, 2014 Precisely! When Lisp Machine programmer look at a screen dump, they see a lot more going on behind the scenes than meets the eye. I'll attempt to explain the deep implications of what the article said about "Everything on the screen is an object, mouse-sensitive and reusable": There's a legendary story about Gyro hacking away on a Lisp Machine, when he accidentally trashed the function cell of an important primitive like AREF (or something like that -- I can't remember the details -- do you, Scott? Or does Devon just make this stuff up? ;), and that totally crashed the operating system. It dumped him into a "cold load stream" where he could poke around at the memory image, so he clamored around the display list, a graph of live objects (currently in suspended animation) behind the windows on the screen, and found an instance where the original value of the function pointer had been printed out in hex (which of course was a numeric object that let you click up a menu to change its presentation, etc). He grabbed the value of the function pointer out of that numeric object, poked it back into the function cell where it belonged, pressed the "Please proceed, Governor" button, and was immediately back up and running where he left off before the crash, like nothing had ever happened! Here's another example of someone pulling themselves back up by their bootstraps without actually cold rebooting, thanks to the real time help of the networked Lisp Machine user community: ftp://ftp.ai.sri.com/pub/mailing-lists/slug/900531/msg00339.html Also eudox posted this link: Related: A huge collections of images showing Symbolics UI and the software written for it: http://lispm.de/symbolics-ui-examples/symbolics-ui-examples....
In The lost cause of the Lisp machines
You can emulate ITS for the PDP10 today under simh-classic which is 'culture' from the MIT frozen in time, from TECO Emacs to Dungeon/Zork and early networking. https://github.com/PDP-10/its On Basic, there's the games example -Basic Computer Games- made into a repo at GitHub, and some people are recreating those in modern languages as it's a trivial task (I'm doing ports myself to JimTCL). https://github.com/GReaperEx/bcg You can actually use any language, even sh, but for these cases JimTCL it's ridiculously easy to use.
In 52 Year old data tape could contain Unix history
>overshadowed individual >collaborative Say what? ITS, Emacs, MacLisp, Macsyma on top of MacLISP, Arpanet, SupDup and WAIS too. Remote process debugging and hooking, a Maclisp close to the future GNU Emacs' Elisp, proto-internet, AI, video terminals... https://github.com/PDP-10/its/blob/master/README.md http://www.hakmem.org/ These have been built collaboratively, for sure. GNU and Emacs brought that spirit back. Well, at least the tried: - Open Adventure - Emacs - Elisp (and CLISP/sbcl with Common Lisp) - GDB (A far cry from DDT at ITS, but this is Unix, nit the - Maxima. Code form old Macsyma will still work as is except for Gnuplot calling parts, but the plot itself will be 100% the same. Have fun.
In Ask HN: Why does current interest in retro computing focus on the early 80s?
CRTSTY was kind of like "screen", in that it ran a virtual terminal through something like a pseudo TTY. The terminal interpreted SUPDUP protocol into any terminal type that CRTSTY supported. And you could disconnect and reattach to it later to restore your processes, to change terminals or survive a flakey modem or ARPA connection dropping out. But even without CRTSTY, ITS gave everyone the ability to reattach to their processes after they got disconnected, and even pass processes like Lisp interpreters and Zork games around from user to user to share like a joint, by detatching and reattaching them to different TTYs! https://github.com/PDP-10/its/blob/master/doc/_info_/its.pri... >VIII.B. CRTSTY >For display terminals which are not handled directly by the system there exists a program called CRTSTY. This provides the software supp
Read the rest
ort to permit these terminals to take advantage of their display characteristics. Among the terminals supported by CRTSTY are: ADM3's, Concept 100's, Hazeltine 1500's, Perkins Elmer FOX's, Datamedias, Control Data Corporation 713's, and a host of others. You should try :INFO CRTSTY and :INFO TERMS to see if your terminal is included. If it isn't, the maintainers of CRTSTY are usually willing to help you add it. In the CRTSTY section of INFO the information you must provide to have a new terminal supported is listed. You can communicate with the maintainers of CRTSTY by sending mail to BUG-CRTSTY. https://github.com/PDP-10/its/blob/master/doc/humor/jargon.6... >SUPDUP v. To communicate with another ARPAnet host using the SUPDUP program, which is a SUPer-DUPer TELNET talking a special display protocol used mostly in talking to ITS sites. Sometimes abbreviated to SD. https://datatracker.ietf.org/doc/rfc734/ >NWG/RFC# 734 MRC 07-OCT-77 08:46 41953 SUPDUP Display Protocol Page 1 Network Working Group Mark Crispin Request for Comments 734 SU-AI NIC 41953 7 October 1977 >SUPDUP Protocol >This document describes the SUPDUP protocol, a highly efficient display telnet protocol. It originally started as a private protocol between the ITS systems at MIT to allow a user at any one of these systems to use one of the others as a display. At the current writing, SUPDUP user programs also exist for Data Disc and Datamedia displays at SU-AI and for Datamedias at SRI-KL. The author is not aware of any SUPDUP servers other than at the four MIT ITS sites. >The advantage of the SUPDUP protocol over an individual terminal's protocol is that SUPDUP defines a "virtual" or "software" display terminal that implements relevant cursor motion operations. The protocol is not built on any particular display terminal but rather on the set of functions common to all display terminals; hence it is completely device- independent. In addition, the protocol also provides for terminals which cannot handle certain operations, such as line or character insert/delete. In fact, it is more than this. It provides for terminals which are missing any set of features, all the way down to model 33 Teletypes. >The advantage over the TELNET protocol is that SUPDUP takes advantage of the full capabilities of display terminals, although it also has the ability to run printing terminals. https://its.victor.se/wiki/_media/ai_wp_235.pdf >The SUPDUP protocol [Crispin 77] is a highly efficient display telnet protocol. The advantage over the TELNET protocol is that SUPDUP takes advantage of the full capabilities of display terminals, although it also has the ability to run printing terminals. When you use the SUPDUP protocol, you do not need to tell the remote host which you are connecting to what type of terminal you have or what the terminal's capabilities are. The host you are SUPDUPing from handles the actual display support for your terminal. >Additionally, SUPDUP defines a network graphics protpcol [Stallman 78] which makes it easy for network hosts to draw pictures along in addition to text. SUPDUP Graphics Extension: https://github.com/PDP-10/its/blob/master/doc/sysdoc/grphcs.... You didn't need CRTSTY to implement the SUPDUP protocol, but CRTSTY translated SUPDUP to standard terminal escape sequences, and provided buffering and optimization. Lisp machines and Knight TVs had their own SUPDUP terminal programs, and I made one for my Apple ][ in Forth. SUPDUP had a line saving extension that RMS hacked into ITS Emacs, so it can stash lines on the screen in local memory before overpainting them, then almost instantly pop them back on the screen later, so you can scroll back and forth through text really fast at 300 baud (plus Devon McCullough made ZipMod with Huffman encoding to make it even faster on top of that): https://news.ycombinator.com/item?id=15539983 I wrote a terminal emulator for the Apple ][ + Videx 80 column card in FORTH and reverse polish notation 6502 code, that supported SUPDUP including the line saving protocol that RMS hacked into ITS and EMACS (%TDSAV %TDRES), so Emacs could stash lines on the screen in a memory buffer (on the Apple's bank switched RAM card) and restore them later to paint the screen quickly when scrolling back and forth. (That was great at 300 baud!) This is just the part of it that interprets SUPDUP codes -- layered on top of the rest of the terminal emulator that emulated H19 (VT52 + character/line insert/delete): http://www.donhopkins.com/home/archive/forth/supdup.f https://news.ycombinator.com/item?id=37973838 At 300 baud over a congested ARPA connection, we had a lot of time to think about how to optimize terminal emulation while waiting for the screen to repaint... When James Gosling later implemented his Unix version of Emacs, he created a super-hot screen update algorithm that automatically took into account the capabilities of terminals and the length of their escape codes and padding required (some slow terminals needed padding when performing line/character insert/delete operations, otherwise they would miss characters. It used dynamic programming to figure out the optimal way of updating the screen, which was really great at low baud rates like 300 or 1200 baud. Read the paper and display.c code I linked to in the above linked comment, and see the wikipedia page on dynamic programming: >James Gosling's Emacs screen redisplay algorithm also used similar "dynamic programming techniques" to compute the minimal cost path through a cost matrix of string edit operations (the costs depended i.e. on the number of characters to draw, length of the escape codes to insert/delete lines/characters, padding for slow terminals, etc). [...] https://news.ycombinator.com/item?id=37974319 The comments in this old PDP-10 SUPDUP code [5] are hilarious! SUPDUP on ITS was so smart and opinionated, it had its own ideas about who was a loser and who was a winner, how to figure it out by checking INQUIR entries and relationships, and who it should never or always hassle about net-hopping (hopping through a PDP-10 over the net just to use it as a glorified terminal emulator). It never hassled gumby or cstacy (because they were free to do whatever they wanted to, like flushing whiny annoying over-entitled alcoholic science fiction writers [1] [2] [3] [4]), but always hassled rms (because it was usually an imposter logging in as rms with password rms just to net hop through the system.) [...] ;;; these people aren't hassled wintab: irp x,,[gumby,alan,cstacy,cent,devon,dph,oaf,mly,jtw,jnc,klotz,cbf,sra,ed,swa,map,jbvb] sixbit/x/ termin winlen==.-wintab ;;; These people are always hassled lostab: irp x,,[tk,hewitt,rms] sixbit/x/ termin loslen==.-lostab [...]
In The Origin of Emacs in 1976
>MIT AI... Not all, ITS and PDP10 can be emulated under Simh classic. Or you clone their github repo https://github.com/PDP-10/its and run make download EMULATOR=pdp10-ka Macsyma, Lisp, Emacs, Adventure... are still alive. And maybe tons of code lying in the disk image. On truly lost stuff, I'd say the LSD-1 under the PDP10, which was a proto-vr/FPS walking around a wireframed town: https://www.sfmoma.org/artwork/2015.9.12/ More info: https://github.com/PDP-10/its/issues/616 Yes, you can recreate it in a weekend with SDL2/C and basic trigonometry, but the original it's lost.
In Escaping the Digital Dark Age

Showing the 15 most recent of 76 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.