-
Spacewar controllers and Feature Creep
7 days ago • 0 commentsSo, we want to make the PiDP-1 a very affordable kit to make. Because, the more affordable the more chance that it will find its way to young coders who want to try their hand at PDP-1 programming!
But we're battling feature creep, we'll just have to add two spacewar controllers. The idea is to make it them tiny, low-cost PCBs that will do the job on their own, but at the same time, can be the PCB inside a proper custom-made wooden spacewar control box. As the original ones were all quite visibly one-off jobs too, a proper spacewar controller must look - artisanal.
But for those who do not like to tinker, they can use the PCB as-is:
As we had 36 extra IOs for lights or switches, we did spend the whole day thinking of other exotica to add. For instance, the three PDP-1s that made it onto Arpanet had extra button boxes - the time-sharing operating system used them to hook up multiple Teletypes.
But we decided against such things, they can all be done in software and the kit is already a package of 15 PCBs as it stands. And though PCBs are cheap, it does add up.
-
The PDP-1 and Arpanet
03/13/2025 at 13:22 • 0 commentsWe spent the last four days investigating how we can bring our PiDP-1 on Arpanet. Yes, really. Because (1) there is some major history there, and (2) there's a major new project from Lars Brinkhoff where this would be significant Icing On The Cake.
The history: so Arpanet consisted of IMP routers. Not very well-known is that the software for the IMPs was developed with the help of a PDP-1, at BBN by a small team called The IMP Guys. Actually, in the first-ever instance of remote software updates, the PDP-1 sent over-the-net software updates to all the IMP routers in the field. The PDP-1 also acted as the watchdog for Arpanet stability, constantly chatting to the IMPS in the field.
And as it happened, we were brought in touch with one of the actual IMP Guys at BBN - who did the coding. We found large parts of the PDP-1D time-sharing system (alas, in PDF format) and lots of technical memos from the IMP Guys. So - we now have to think about how impossible it would be, exactly, to get that all going again on the PiDP-1.
Arpanet in 1973, with BBN and its PDP-1 in the top-right section
The major new project: Lars has brought up the simulator of the IMP hardware, running the original software, got the Arpanet code running on PDP-10s with ITS (so we 'have MIT up on Arpanet) and with WAITs (so we 'have Stanford up on Arpanet'). As well as PDP-11s running unix v6. Although, that's not quite up yet. Amazingly, he also wrote a Network Control Program for Linux - so any Linux box now connects to real or simulated IMPs and go out on Arpanet.
So - imagine, if we can get the PDP-1 at BBN online too, we'd have a pretty full reconstruction of Arpanet circa 1973. But reality now sets in - will we really be able to get the PDP-1's Network Control Program back? Large chunks outside the OS are missing and will have to be rewritten.
The PDP-1 at BBN, just before the Era of Arpanet
--> this is a call for help! If you have any old code, documents or papertapes relating to the PDP-1 at BBN, Stanford or USC, please, please let us know.
-
Making a case out of PCB panels
03/02/2025 at 17:39 • 0 commentsSome more information about how we created the PCB panels that soldered together, form the PiDP-1's case (Cases, we have two variants...).
In the Files section, we've placed a Kicad PCB design file which turned out to work well; maybe they are interesting for other projects.
Here is the PCB set that makes up the stand-alone console version of the PiDP-1. Two sides, a top and bottom panel, and a thin panel that sits at 45 degrees at the front-bottom of the case:
We went through a couple of months experimenting with the solder pads, the sizing of the tongue-and-groove pairs that clip one panel into another, and the fitting of the removable back panels - which are the two strips at the top right. We don't want these to be soldered in permanently, so they just are clicked in.
The '3D' solder pads need to be strong, and placed as close to the panel edge as PCB manufacturers allow. Make them too big, and a simple soldering iron will not provide enough heat to make the 3D solder connections. Make them too small, and the do not stick to the PCB well enough.
Also, the tongue-and-groove pairs that help ensure a perfect alignment required some experimentation. First though - yes, they also provide some extra strength as well, but are not really needed for that purpose as it turns out. Anyway - the problem with these pairs is their precise dimensioning. When the PCB manufacturer routes out the PCB's outline, the router bit does not always have the same diameter. We've done plenty of prototype tests by now so conclude that a 0.1mm of extra space is needed around such features (the tongue is 0.1mm smaller on either side than the groove it fits in) to give (a) a good fit and (b) will not cause trouble in extreme cases of manufacturer tolerance.
Here is the inside of the case (or frame) used for the rack-mounted PiDP-1, showing the solder points. It takes less than two seconds to do each solder spot, and we found that doing the solder spots every few cm apart already gives all the strength you want. This will hold even if you drop the case on a concrete floor - an unintended experiment.
We feel the end result is easy to build, but also looks very good from the outside. Here is a detailed shot of the base of a console PiDP-1:
You can certainly leave out most of tongue-and-groove features. The soldering alone makes the case strong enough. But it does make it a lot easier to construct the case, without having to worry about alignment issues.
Perhaps more detail than anyone wants, but we spent quite some time experimenting and if you consider PCB cases for other projects, maybe the Kicad file we put in the Files section will be of use.
-
Problems and solutions
03/02/2025 at 10:07 • 0 commentsThe PDP-1 has a somewhat complex shape, and we did not want to resort to either 3D printing or making molds for the case. So I experimented with making a case from PCB panels, inspired by Bobricius's projects.
In the end, these became the parts for the two case variants (stand-alone console and rack-mounted):
In all, 19 pieces of PCB just for constructing the cases. But with the current low prices for PCBs, that is still much more affordable than any other approach we tried.
Constructing a 3D object from PCBs turns out to be very simple, and very strong as well. Here is a detailed shot of the case's inside:
As it turns out, a couple of solder points on each edge make for a very sturdy construction. You can drop it on a concrete floor without anything bad happening! On the outside, I think it looks pretty nice:
Side of rack-mounted version
Side of stand-alone console version
Another challenge was the mounting of the front panel onto the case. The original has no visible bolts or clamps on its front. Here, too, the solution was to solder the pack of the front panel to the sides of the case. That also allows a very precise fitting of the parts.
-
Choosing a PDP-1
03/01/2025 at 22:44 • 0 commentsThere seems to be a bug that hides the picture in the previous post, this one:
-
Designing the kit - or: make up your mind
03/01/2025 at 22:13 • 0 commentsThe problem with the PDP-1 is, its looks are iconic. You have got to get it right. At the same time, we want to make this a low-cost kit, affordable for anyone. So here is the first problem:
How do you get such looks in a replica, for a low cost?
The second problem is of our own making. PDP-1s came in various styles and colour schemes. The iconic blue one is mostly famous because that one is the only one left, at the CHM. There were blue and white front panels, rack-mounted and stand-alone front panel consoles... and between the two of us, we could not agree on the one to replicate.
Three of the many PDP-1 variants: stand-alone and rack-mounted, white and blue, various peripherals
So we spent a silly amount of time discussing options. And decided we'd make them all. As in, we'll make a super low-cost 'stand-alone console version' and a 'rack-mounted' version that can actually be hung on a wall (as the rack depth needs to be mo more than 1.5 inches...).
Also, we'll supply both a blue and a white front panel with each kit. Make the colour choice the problem of each kit builder. The idea is you can take off the one colour panel and replace it with the other colour.
For the rack-mounted version, we opted to replicate the PDP-1 at Lawrence Livermore, because that avoids the problem of making a mechanical replica of the paper tape reader seen on the front of the middle image. Making that would break the budget. USB sticks will act as paper tapes instead...
-
First planning - Oct 2023
03/01/2025 at 21:55 • 0 commentsAngelo and I always knew the PDP-1 was next on the to-do list. Angelo had studied the schematics of not only the PDP-1, but also its progenitors at MIT: the TX-0 and TX-2, and had a VHDL simulation of them running.
Our goal was, as always, to get people interested in hands-on experience with historical machines. But where our PiDP-8/11/10 projects had loads of operating systems, with hundreds if not thousands of games, applications and languages, the software menu for the PDP-1 is more scarce.
Yes, there is spacewar, a bunch of graphics and music demos, and of course DDT and an assembler. But much has been lost. Those lost treasures include the first-ever text editor, teco. The fun in playing with a PDP-1 must and will be much more in the bare-metal interaction than running software.
So.
Our goal will be to entice hackers and democoders to see the PDP-1 as a platform to code for.
It is a machine that is capable enough to write serious programs (you have the equivalent of 64K memory if you want to, though most PDP-1s were limited to 4Kw). And the display is fun to code for -- a hybrid between vector display and pixel display, you basically have to generate a constant stream of XY coordinates on the electron beam to refresh the (radar) CRT tube.
Why code for C64 or MSX if you can code for the PDP-1? Seriously?
There is some precedent: Hrvoje Čavrak backported a good game of Pong; Martin Landsteiner did tons of work, including the Ironic Computer Space Simulator. So we'll add two controllers to our replica and the PDP-1 team at the Computer History Museum is interested in running a 'best of' new demos and games on their real PDP-1 (the only working one left in the world). To try and get the PDP-1 a new lease of life as the most retro of games consoles/democoding platforms.
Why not? We might not succeed in this goal but at least new we have a goal.