The Adventure of the Computer that Wouldn't Boot
Two EE grad students triumph over a group of physics majors when a minicomputer goes down.
By Bob Colwell, Contributing Writer
Two of the cool things about a PDP-11 minicomputer were its front panel lights and switches. You could tell when the machine was running versus when it was crashed, and if you were really good, you could often tell what program was running by the pattern of the lights. And with the switches, you could write or read memory directly, no running software required.
When I was a grad student at Carnegie-Mellon in 1978, my MSEE project was a digital music synthesizer built around a digital oscillator controlled by a bit-slice 16-bit controller, shown in the photo below. (I’m the guy with the Carnegie-Mellon t-shirt posing proudly here with my cohort Paul Rodman.)
Back view of Bob and Paul’s digital synthesizer.
This controller would interface to the laboratory’s PDP-11/45 minicomputer for the music program and the controller’s microcode. PDP-11’s were expensive, so Paul and I had to share it with several other groups, including a group of physics grad students.
One day we came into the lab to find the physics students standing mournfully around the PDP-11. They informed us that the machine would not boot, that the service person had been called, but the machine would likely remain down for the next two weeks. They sadly shuffled out of the lab.
Paul and I quickly verified that the machine would not, in fact, boot, but it wasn’t completely dead, either. When the reset button was hit, the lights would flash a while, but then stop in a particular pattern. We looked in the PDP-11 book and found that the pattern was a memory address, always the same one. We realized that address was where a handler for a memory parity error would go, if there was such a handler present.
After pondering that for a moment, it occurred to us that if the machine was running a memory test, and found a memory parity error at some location, the odds were one in eight that it was the parity bit itself that was wrong. And even if it were a real data bit error, maybe it was in a memory address that we didn’t care about. If we could just get the machine to keep booting despite that parity error, maybe it would still be useful.
So we looked up the machine code for a “return from interrupt” and keyed it into the location where the machine was halting. Presto, the PDP-11 now booted and ran just fine, and better yet, we were the only students who knew how to bring it up, so we now had two weeks of unlimited time on it.
The machine was repaired a week later, but several weeks after that we came into the lab to find the same set of glum physics students, who had the same story as before. This time, the machine would boot to the point where it needed to access the hard drive, and there it would halt. After some sleuthing, it became clear that the problem was in the drive itself - it had a battery whose sole job was to provide power to yank the read/write head off the disk if wall power was lost, and that battery had died. With no battery, the disk drive refused to boot.
The battery was, of course, an extremely expensive custom job requiring a service call. Which was all the incentive we needed to solder a few batteries together, solder wires to the ends, tape the whole thing with electrical tape, and connect that assemblage into the disk drive. It didn’t fit, so it hung over the side of the drive looking thoroughly disreputable. But it worked! This time, we didn’t try to hide our cleverness from the physics kids, so we only got our usual allotted time, but we felt very virtuous and superior. And a week or two later the service person replaced it with the real thing. But I’ve always wondered what he or she thought of our handiwork; did they think “I have GOT to send my kids to this school” or more likely “They do not pay me enough to do this job.”
Contributing Writer Bob Colwell was Intel’s chief x86 architect in the 1990s and has worked as a computer designer at VLIW pioneer Multiflow, Perq Systems, and Bell Labs. Author of The Pentium Chronicles and the At Random column in Computer Magazine 2002-2005. He is currently an independent consultant. The digital synthesizer he built in grad school is still in his garage.
ferd commented:
Back in 1983 our department was just starting to invest in PCs (we got two - one that just sat on the manager's desk and one that was shared by all twenty of us in the group). One engineer found and resurrected an old PDP-11 and wrote a circuit analysis program for it, as an alternative to the shared PC. The PDP-11 had a flaky power supply and would crash, requiring a half hour wait before it could run again (fiften minutes for the hard drives to spin down, then another fifteen minutes for them to spin up to operating speed again). Finally the terminal connected to it went out with a flash! Still, we would have fixed it again if we could have found parts.
OldKeyser commented:
I too was among the PDP-11/03 users (Running R/T) and still have some boards if anyone is interested. I remember those days. Thanks Bob!
paul commented:
Wonder of wonders. Here I am with a PDP11/44, an RL02 drive, and am attempting to retrieve the failed CDC RSD drive image from mag tape.
Nothing wrong with the PDP 11/44, just need a way to recover the data and interface it.
Sorry, can not tell where I am - government agency.
Bob Colwell commented:
to gtrDave55: regrettably, what took that large half-rack of circuitry to produce in 1978 can now be done in software on any garden-variety PC. And I no longer have a PDP-11 to drive it. I even wonder what would happen if I powered it up after 31 years? Could be spectacular...
Gary commented:
Wow, what memories! I was part of the design team that designed the General Robotics box Tom mentioned.
Dave McGuire commented:
Great story! PDP-11s are still around. I have (literally) a house full of them; I'm an avid PDP collector and preservationist. There are many of us out there!
-Dave
Old Fizziker commented:
In the mid '70's we built the Heathkit PDP-11-03 to run 28 x 28 matrix calculations. We ended up running screw machines in the shop, and automatic data acquisition in the R&D lab. Later became the 11-23. Great computer.
Self Thinker commented:
Unfortunately, today the school system turns out mostly 'Physics Class' students, not true problem solvers. This and everything 'me yes me' commented. ;) What we need to do is work on making machines that will not be obsolete/broke before it makes it to market, but will be useful for ages. Not as short sighted, profitable as junk, but better for everybody in the long run.
Me Yes Me commented:
What mite interest people is that these old crotity pdp-11's are still in use in many an old factory floor, so much so. there is actualy a company that makes a PC motherboard that emulates the processor board in these old computers and many an old PDP-11 has been repaired with one. It suprising just how long people will keep using old stuff as long as it still does the job. Truthfully I think the world needs more of this, as just because somethings newer dosn't always mean its better.
I've noticed Employers have this aditude too, theyed rather have a bunch of children who waste money like its going out of style, was a time when turnover wasn't so high and people turned out good products, that worked and worked reliably not the cheap, shody, disposable crap people get so wowed over, I for one don't think I need a new TV every couple of years, or a new fridge every three years when the cheap junk breaks. I long to go back to a suprisingly short time ago, when a product lasted for many years.
William Ketel commented:
From 1983 to 1989 I worked for a test equipment company as a project (electronic/electrical) engineer. During that time we got two oders for some quite sophisitcated laboratory carburetor test stands that were run by a PDP11/04. the reason that we still used that computer as late as 1987 was that we owned the test program that was set up to run with that computer only, and the management at the time the code was written had not bothered to persuade the programmer to provide the source code. Looking back, that was absolutely the stupidest mistake they cloud have chosen to make. And to make things more interesting, the computer presented the data to a number of custom digital displays, instead of using a CRT. Thus it emulated an earlier analog version. We finally quit using the PDP11/04 when we were unable to purchase any more of them from the various scrap dealers. Had I known the source of these computers, I would have purchased them all and delivered them straight to an electronics shredder company. The replacement computer was an IBM PC/XT, which was much more reliable and much easier to work with. It did take a team of program experts to de-compile our code to figure out what it was doing, and that did take a few weeks.
Tom commented:
My first home computer was a PDP-11 in a General Robotics box/backplane. It too would not boot. It would start to come up and stop at an ODT prompt, where I would type 173000G and off it would go happily booting RT-11. Here's why: The GR box had no -12v and the boot prom wanted it. Someone had wired a DC-DC converter upside down with wire-wrap to supply -12. But it didn't start producing -12 fast enough. I added a little transformer and diode bridge, and a little cap, screwed to the rear of the backplane and never had that problem again. Ok, not as good a story as the one above, but still fun.
Al Johnson commented:
I saw a PDP-11 in a display case at the Ft. Atkinson WI highschool library. Had to stare, and wonder how many are still sitting in a closet. When I worked at Nicolet Instruments in Madison, we had a PDP-8 but we also made our own 20 bit machine and usually used those instead. That was in 1976
gtrDave55 commented:
Nice Job, have you recorded anything with your synth lately:)?






















