[MattisLind] spent one and a half years to complete restoration of a Digital Equipment Corporation (DEC) PDP-11/04 including peripherals like a TU60 tape drive and a LA30P Decwriter printing terminal. The computer is now able to run CAPS-11 which is a very simple operating system and also CAPS-11/BASIC. Just like the project itself, his blog post is quite long filled with interesting details. For a tl;dr version, check the video after the break.
This system originally belonged to Ericsson and [MattisLind] received it from Ericsson computer club, EDKX. He was lucky to have access to online resources which made the task easier. But it still wasn’t easy considering the number of hardware faults he had to tackle and the software challenges too. The first task was obviously looking at the Power supply. He changed the big electrolytic capacitors, and the power supply seemed to work well with his dummy load, but failed when hooked up to the backplane of the computer. Some more digging around, and a replaced thyristor later, he had it fixed. The thyristor was part of a crowbar circuit to protect the system from over-voltages should one of the main switching transistors fail.
With the power supply fixed, the CPU still wouldn’t boot. Some sleuthing around, and he pin pointed the bus receiver chip that had failed. His order of the device via a Chinese ebay seller was on the slow boat, so he just de-soldered a device from another board which improved things a bit, but it was still stuck in a loop. A replacement communications board and the system now passed diagnostics check, but failed memory testing. This turned out to be caused be a faulty DIP switch. He next tackled all the software challenges in getting the CPU board up to speed.
The tape drive used a variant of the common audio cassette format. The motor drive coupling seemed like it was missing a few non-metric screws, but the schematic said “loctite” so that got sorted. With the tapes rolling, he discovered the unit wouldn’t detect end of tape / beginning of tape. This seemed like a DEC8881 driver chip was busted, so he replaced it with a 7439 driver – and the DEC881 turned out to be the exact same chip – it had 7439 marked underneath it. His hunt for spare parts was taking him all over the world. A failed N8271 shift register was sourced from Bulgaria, Cassettes via eBay from Germany, a 7427 from a fellow Swede, another Swede helped out with a rubber wheel for the drive spindle, and some more cassette tapes from Morocco.
The final part of the restoration project was the LA30 DECwriter – an early dot matrix style printer. The print head needed some work. And the main keyboard encoder chip, KR2376 from SMC, was broken. This was replaced with an Arduino put together on perf board initially, but later replaced with a nice looking PCB. He was lucky to find sealed packs of printer ribbons and printer paper that came with the system. A test run showed some print head solenoids were not firing which called for some more damaged IC’s to be replaced. This particular printer had a parallel interface, and the PDP-11 didn’t have the requisite M7910 or M7731/M7389 boards that would help him interface with the printer. Luckily, he managed to buy that as well, and in working condition, finally completing this whole, long drawn, renovation. The PDP-11/04 was finally running CAPS-11 / BASIC, ready to print “HELLO WORLD”.
That is quite the labor of love…..well done!
In the early 1970’s I worked for General Motors and I worked on an automated assembly system that used a PDP-8 minicomputer with three PDP-14 machine controllers and a PDP-11 monitoring system. The PDP-14’s had real “core” memory boards that contained the program instructions. To change the program I would physically have to rewire the cores to modify the 1’s & 0’s as required. Quite a chore by today’s standards! Thanks for the nostalgic look-back.
How do you “rewire a core”? I smell a troll.
“Back in the day” core memory used magnetic donut shaped ferrite cores. The 1’s and 0’s for binary instructions would be read by pulsing a wire and reading the resulting waveform. A 1 was generated by wire passing thru the core and a zero by wire on the outside of the core. You can search online for a more detailed explanation.
That’s now how core memory works – or has ever worked.
Gah. NOT how…
This link will explain how core memory works https://en.m.wikipedia.org/wiki/Magnetic-core_memory#How_core_memory_works
The PDP-14 machine controllers used a form of core memory known as read-only memory which requires the hardwiring of the cores to define the sequence of 1’s and 0’s. Hope this helps you understand my brief explanation that is not intended to be technical report on memory technologies but just trying to simplify a concept.
Aah, you haven’t lived.
Back around 1987, I wwatched some wizened older ladies looming core panels at AMPEX Ferrotech in Hong Kong.
Incredible skill and patience, hand weaving grains of dust onto strands of ‘hair’…. I’m glad I lived through the 60s to 90s… a lot of things have disappeared.
Amazing the contraptions we used to try to compute with. Great job restoring!
Amazing work!
Wow, thanks for taking a piece of old scrap iron and turning it back into a working computer, in a hundred years it will probably still be running in a museum.
Given all the failed chips after such a “short” timespan in hundred years it will be all but a piece of scrap fiber glass and rotten wiring.
Amazing does not begin to cover it. The amount of patience required to debug this thing is staggering!
Great job! The UCLA Engineering Society used one of these in 1975 or 76 at the Mardi Gras fundraiser for Unicamp. We ran a Biorhythm program (most likely written in basic) that printed out their info and charged something like a buck for it. Back then it was a real novelty to have something done on a computer.
Wow! That’s a persistent guy. Well done.
Wow. Nice. The first computer I used was a PDP-11/03.
Now I want to do this with a PDP/11. I got a copy of the original Lion Book and it’d be nice to be able to get Unix running on it.
Here is the smallest PDP-11 (the /03 in a four slot cardcage) running the smallest version of PDP-11 Unix: https://www.youtube.com/watch?v=e8eIyAdwLoI
CAPS-11 is interesting, but with a little effort he could get RSX11M to run on it, a much more interesting and useful DEC operating system.
That guy’s write-up read like an epic. This person has more patience than I.
An 11/03 had no memory manager (hardware). It could run a trimmed version of RSX-11 known as RSX-11s. You would need a little more CPU/memory (like an 11/34) to run M or RSTS/E.
RSX11M will run on an 11/03 with 32KB of memory. An MMU is not required. You just have to generate it as an unmapped system.