Sunday, August 2, 2026

1978 UT Austin Decwar And TOPS-10

The UT Austin Decwar coders had to use MACRO-10 assembly to invoke specific TOPS-10 Unimplemented User Operations. UUOs acted as traps or interrupts that suspended user-level execution and called the TOPS-10 monitor. The monitor would then assert exclusive access over the magnetic-core memory high segment, queuing any other player-jobs attempting to write to the lists until the holding job issued an unlocking UUO. In other words, in order to use the shared memory linked lists for attack and radio messages, player-jobs had to call TOPS-10 directly via assembly code. This is the root reason that assembly code became essential for Decwar, and code in pure Fortran was simply no longer feasible. It unlocked the full potential of the DEC-10, and at the same time forever bound the code to TOPS-10. 

There was very little separation between the game and the operating system, and little hope of moving the code to even a sibling environment such as the DEC-20 and its TOPS-20 operating system. Even though TOPS-20 ran on the same 36-bit hardware, it was derived from BBN's TENEX operating system rather than TOPS-10, and it used a completely different system-call architecture known as Jump to SYStem instead of UUOs. While TOPS-20 did include a compatibility emulation library called PA1050 designed to intercept and translate old TOPS-10 UUOs into JSYS calls, this emulator had severe limitations. The PA1050 emulator was completely incapable of translating the direct physical segment locks and atomic inter-job synchronization routines that Decwar used to protect its message queues. Because the emulator relied on virtual memory page-mapping structures rather than static core segment locks, the Decwar binary simply could not run on TOPS-20 without a complete rewrite of its underlying assembly code.

The cancellation of the PDP-10 product line by DEC in 1983, and the demise of DEC itself in 1998, seemed to permanently strand the UT Austin Decwar code on an obsolete architectural island. But in another of its surprising near-death experiences, the UT code has survived and flourished in new forms far tougher and more survivable than before, through the physical and digital preservation efforts led by Obsolescence Guaranteed. The mid 2020s saw a spectacular revitalization of this ecosystem. Rather than treating historical computing as dead artifacts meant only for museums, Obsolescence Guaranteed, an informal group of computer history hobbyists and engineers, has focused on creating computer time capsules. By building affordable, fully functional hardware replicas of the classic DEC lineup, including the PiDP-1, PiDP-8, PiDP-11, and PiDP-10, they allow modern users to directly experience the tactile and interactive realities of the mainframe era.

For Decwar, the PiDP-10 replica is one form of resurrection. The PiDP-10 is a scaled-down, desktop-sized physical reproduction of the original PDP-10 KA10 front panel. It features an active array of 74 functional switches and 124 indicator lamps, driven by modern LEDs, that accurately reflect the machine's internal state. Inside this console beats a dual-hearted system: a modern Raspberry Pi that runs a physical Linux kernel concurrently with a cycle-accurate PDP-10 emulator based on Bob Supnik and Richard Cornwell's SIMH engine. Physical switch toggles on the front panel trigger interrupts on the Raspberry Pi, altering register states in the PDP-10, while memory writes are translated in real-time to illuminate the physical LEDs. 

Another more permanent and accessible resurrection is represented by Docker. The UTEXAS DECWAR 2.3 Source Distribution Tape Reconstruction is a digital time capsule containing both the source code and the TOPS-10 environment. Docker excels at creating reproducible, automated build pipelines. A Docker image encapsulates the underlying SIMH emulator, the TOPS-10 operating system, and the SDT virtual tape into a single, isolated package. This guarantees that anyone can instantly spin up the living environment as it existed on the HRC DEC-10 in 1982, without worrying about local hardware dependencies or host operating system characteristics. In fact, running in the Cloud is no different than running on local hardware. The preservation efforts go far beyond running a single standalone mainframe. The ARPANET Reconstruction Project aims to revive the ancestral Internet using Old Bits wherever possible. For UT Austin this would mean containers for the HRC DEC-10, Painter Hall DEC-20, and ARPANET IMP, with various connections through telnet and FTP links. Docker, especially using Docker Compose, is explicitly designed to orchestrate multi-node, networked applications. Instead of a user manually launching and configuring separate environments for mainframes and IMPs, a containerized setup can automatically spin up each historical machine in its own isolated container and seamlessly manage the networking between them. Placing the SIMH PDP-10 engine, historical tape images, and disk images inside a container shields users from the friction of modern software dependencies. They don't need to compile code or configure environments, but can simply start containers and immediately telnet into an Old Bits environment.

Bob Hysick at work in the HRC DEC-10 offices, quite possibly on Decwar.
Robert Schneider on the left on the evening The Soul Of An Old Machine, 1982. Robert played an important role with the code.

Tommy Loomis to the right on the same evening, also an important coder.
Rick Watson on the right, also important for the code.
[1] As always, thank you to Richard Denney and Clive Dawson for much of this material.

1978 UT Austin Decwar And TOPS-10

The UT Austin Decwar coders had to use MACRO-10 assembly to invoke specific TOPS-10 Unimplemented User Operations. UUOs acted as traps or in...