Is there a PDP-1 programming style / how to guide?

26 views
Skip to first unread message

Carlo Valpiani

unread,
Jul 7, 2026, 9:07:44 PM (5 days ago) Jul 7
to [PiDP-1]
Hi,

I was wondering if there is a pdp-1 programming style guide as a beginner's guide? 

There are a number of instruction lists but I am looking for something that includes things like how to program subroutines, temporary variables without a stack, how to create / populate tables, how to random access tables, how to perform non-trivial computations given a single accumulator load/store architecture, best ways to write self-modifying code, how to use dynamic IOTs and interrupts rather than how to write a dynamic IOT, etc.

Re-inventing the round thing with a hole in the middle with documentation spread wide is non-trivial. 

Carlo

MICHAEL GARDI

unread,
Jul 7, 2026, 9:30:45 PM (5 days ago) Jul 7
to Carlo Valpiani, [PiDP-1]
Hey Carlo,

While I'm not aware of a "cookbook" style document for the PDP-1 I can tell you what I did to get up to speed with the PDP-1 instruction set. I copied the following excerpt from my own Lunar Lander for the PDP-1 blog.

I wanted to write some PDP-1 code but didn't know where to begin. The Obsolescence Guaranteed folks have a PROGRAMMING THE DEC PDP-1 - A QUICK WAY TO GET STARTED guide.  It's great, but it mostly focuses on using the tools they have provided as part of their distribution (lovingly recreated from original 60s source code) to build an assembly language program and run it on the PDP-1 using a simple circle program as an example.

When I posed the "How do I get started?" question on the PiDP-1 Google Group Oscar pointed to this document, Retrochallenge 2016/10: Ironic Computer Space Simulator (ICSS). Boy was he right. This link documents Norbert Landsteiner's entry to Retrochallenge 2016/10, where he implements a version of Computer Space on the PDP-1. Computer Space was the very first coin operated video arcade game introduced by Nolan Bushnell in 1971.

After a short overview of the origins of the PDP-1 machine and the Computer Space game the ICSS document is broken up into Episodes (chapters).  Episode 1 has a brief description of the PDP-1 architecture, the characteristics of the Type 30 Display, an overview of Computer Space, and an outline of how Computer Space might be implemented on the PDP-1.  Subsequent Episodes basically cover the implementation of one facet of the game on he PDP-1. For instance Episode 2 talks about how to draw the background stars and implement a basic game "loop". Design options are considered for each feature with lots of code examples to support decisions. The gold at the end of each Episode is "the code so far" section where the game assembly code created up to that point is listed. At the end of the document there is an Addendum with the entire Computer Space source code listed. Fantastic.

Norbert Landsteiner did not jump into ICSS coding cold. He had done extensive research into the Spacewar! code the year before as can be seen here: Inside Spacewar! A Software Archeological Approach to the First Video Game. I have a huge amount of respect for Mr. Landsteiner's abilities as a coder, a writer, and a historian, but when he wrote Computer Space he also had a little help from his Spacewar! precursors:

Dan Edwards
Martin Graetz
Steven Piner
Steve Russell
Peter Samson
Robert Saunders
Wayne Wiitanen
Alan Kotok 

I think examples for most of the things that you asked for—"how to program subroutines, temporary variables without a stack, how to create / populate tables, how to random access tables, how to perform non-trivial computations given a single accumulator load/store architecture, best ways to write self-modifying code"   can  be found in this document, you just might have to dig for them a bit.

Mike

 



--
You received this message because you are subscribed to the Google Groups "[PiDP-1]" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pidp-1+un...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/pidp-1/b9af0745-4244-4bf3-bc0f-73a5fedc17e5n%40googlegroups.com.

Carlo Valpiani

unread,
Jul 8, 2026, 6:08:44 PM (4 days ago) Jul 8
to [PiDP-1]
Thanks to all who replied. Now to do more reading :)

John Kennedy

unread,
Jul 9, 2026, 12:36:57 PM (3 days ago) Jul 9
to [PiDP-1]
If you have an iPhone/iPad/Mac, you might also find this useful:  https://apps.apple.com/us/app/dec-opcodes/id6760246055
Reply all
Reply to author
Forward
0 new messages