• Please review our updated Terms and Rules here

PDP-12 #435 at the University of Minnesota Duluth

pahp

Experienced Member
Joined
Dec 14, 2021
Messages
76
Location
Duluth, MN
Hi, my name is Peter Peterson -- I'm an Associate Professor of CS at the University of Minnesota Duluth. We have a PDP-12 that is functional thanks to the hard work of students alongside the help of many in the community, including the late greats Warren Stearns and Charles Lasner along with Mike Thompson at RICM, Vince Slyngstad, Jack Rubin, Jim Mahaffey, and many others. We have a (currently neglected) blog, YouTube playlist, an Instagram (the PDP-12 is beautiful and deserves some glamour shots!), and I tend to post snippets about our work on my Twitter Mastodon feed. I've been meaning (for months!) to start posting more here on the VCF forums since this is where the community is.

Our specific machine (PDP-12 #435) was purchased in the early 1970s by the University of Minnesota for a grant with PI Dr. Albert Yonas of the Institute for Child Development for use in cognition experiments. Al used the PDP-12's hardware to great effect back in the 70s in classic LINC-style biomedical research -- moving dots on a screen and sampling muscle signals in very young children to track visual response time and other effects.

Although the PDP-12 became outmoded, Dr. Yonas couldn't bring himself to scrap the beautiful behemoth, so he stored it in a closet in his climate-controlled lab for almost 40 years. When Dr. Yonas came to retirement, he looked to pass on the PDP-12 to someone at the Twin Cities campus, but they weren't interested. Dr. Yonas was a collaborator with Dr. Pete Willemsen here at UMN Duluth. He asked Pete if he might be "interested in an old computer." Thinking the machine might be an unremarkable Gateway 2000 or somesuch, Pete asked Al for a picture. When he saw the PDP-12, he knew he was interested! Pete and I hatched a plan to bring the PDP-12 to Duluth. By a stroke of luck we found someone in the Cities who was able to crate and ship the '12 up to Duluth -- he was not only the most affordable, but he also had a PDP-8 of his own at home, so he knew exactly how to take care of it. We found a pathway through the labyrinthine hallways and elevators of UMD that could get #435 safely to my lab.

Then, I started to look for someone who could take on the restoration project. A student in my OS class, Dawson Rosell, came by looking for a research project. I asked him what he was interested in, and he said "Old computers and 6502 assembly." I said: "Have I got a project for you!" Dawson followed the excellent blog posts and instructions of the folks at RICM and they patiently answered our questions. The good condition of the machine due to its storage meant that besides reforming the capacitors, very little was necessary to get the machine into an operational (if not quite correct) state.

Through Mike at RICM, we met Warren Stearns, who came to Duluth from South Dakota and spent a big chunk of the summer working with us and helping to (i.e., showing us how to) restore the machine. He was an excellent teacher and friend who very generously donated his time and money to our project, including getting us in touch with Jim Mahaffey who donated a 4K core to our project (one of our machine's cores had been pilfered at some point in the last 40 years). Warren was planning to come back to help us more in the Fall, but his sudden death due to a heart attack ended those plans. Nevertheless, his hard work with Dawson paid off, getting our machine into a very functional state. Extensive work by others, especially student Julian Nowaczek further improved the state of the machine and helped build up our set of tools and skills for debugging.

We have continued to work on the machine on and off. I'm creating this thread as a place to document our work for posterity and for others in the community. I'll save more discussion of those matters for future posts.

We are so grateful to everyone who has helped our project -- we absolutely would not have been able to do this without you all and our hope is that we can return the favor to others through documentation, videos, posts, and more.

Stay tuned for more updates!
 
Our specific machine (PDP-12 #435) was purchased in the early 1970s by the University of Minnesota for a grant with PI Dr. Albert Yonas of the Institute for Child Development for use in cognition experiments. Al used the PDP-12's hardware to great effect back in the 70s in classic LINC-style biomedical research -- moving dots on a screen and sampling muscle signals in very young children to track visual response time and other effects.
When I described these experiments to my teenaged daughter, she immediately said "Oh, just like in Stranger Things."
 
Oh, nice - I keep meaning to check this out when I'm back in the old stomping grounds, but I keep getting caught up in visiting family ;)

What's the current state of the machine? Do you give any kind of demos? (Does it run Spacewar! yet?)
 
Nice to see you here --- I've been following you on Mastodon and on Twitter before that. I got to see an operating PDP-12 once at the LCM in Seattle and hope to see one again someday.
 
Oh, nice - I keep meaning to check this out when I'm back in the old stomping grounds, but I keep getting caught up in visiting family ;)

What's the current state of the machine? Do you give any kind of demos? (Does it run Spacewar! yet?)

Hi! Anyone is welcome to come see the machine at any time, but you should make an appointment first to ensure that someone will be available to demo it. (That said, I understand how it goes when you are in a place to see family... it can be hard to get away.) It has run Spacewar! many times, but currently can't, which I will explain below.

The current state of the machine is something like this:

Works:
  • all core logic
  • display
  • 8K core
  • auto-restart
  • speaker
  • analog A/D conversion
Not quite:
  • our serial connections have been flaky (see below)
Broken:
  • tape control logic has an intermittent failure during Tape Data Test diagnostic
  • tape drives do not work correctly (unsurprising given diagnostics)
Unknown:
  • real-time clock
We have two serial connections (thanks to serial cards from vrs42 replacing the current loop cards). One is used to drive a teletype emulator (usually minicom or MTTTY.exe), and the other is used for os8diskserver.

Something is not quite right with them right now, so OS/8 is not able to boot correctly (although it had been able to boot all this time, including playing Spacewar!). I recently confirmed that the teletype cards are working correctly (logically speaking, I did not do the load tests). My next step is to make new serial cables, since the ones we have are not very robust or shielded and have been in use for a long time.

Once I get the serial back up, the next step is to make an OS/8 image that can boot on the 12 using the updated os8serialdisk that avoids an interrupt issue that plagued us in the past; as I understand it os8d used to use a particular interrupt that, when used by software, could lock up the machine. This would happen to us in many situations, such as running Fortran IV programs and others. However, I have heard that this issue is fixed (but it's not much use to us if our serial connections are flaky).

Once we get those things working, it will open up lots of other possibilities for our machine, since we'll be able to run a lot more software.

Then, we will return to trying to find and fix the issue that's causing the intermittent Tape Data Test failure.
 
Last edited:
Hi! Anyone is welcome to come see the machine at any time, but you should make an appointment first to ensure that someone will be available to demo it. (That said, I understand how it goes when you are in a place to see family... it can be hard to get away.) It has run Spacewar! many times, but currently can't, which I will explain below.
Gotcha :) I'll have to check back in on it next time I'm headed back east - my brother and his kids are in the area, and it might be fun to show them this beast ;)
 
Once I get the serial back up, the next step is to make an OS/8 image that can boot on the 12 using the updated os8serialdisk that avoids an interrupt issue that plagued us in the past; as I understand it os8d used to use a particular interrupt that, when used by software, could lock up the machine.
I ran into this early on with an 8/E when using a second serial card for the disk server. The serial card generated an interrupt by default. OS/8 doesn't use interrupts so doesn't care. FORTRAN uses interrupts and hangs if it get an interrupt from a device it doesn't know about. On the 8/E you can execute an instruction to turn off the interrupt which makes it work. On earlier machines that instruction doesn't exist. Early fixes like I did only fixed it for 8/E and later. Looks like current code should fix it for pre 8/E machines.

/ 01-FEB-2021 VINCE SLYNGSTAD

/ 1) REMOVED RKIE INSTRUCTION, REPLACING IT WITH A FAMILY-OF-EIGHT
/ COMPATIBLE SOLUTION TO THE FORTRAN HANG ISSUE.

https://github.com/drovak/os8diskserver/blob/master/SerialDisk/handler/sdsksy.pal
 
We (me and Vince) found a better way to avoid the interrupt issue that was in serial disk. I have a chapter about it in my OS/8 handlers book. There is no good reason not to update your serial disk to the new one. As a bonus it supports the 9 instruction boot for those machines that don't have a hardware boot loader option.

OS/8 handler info

You can find the chapter about interrupts currently starting on page 53.

I have of course incorporated it into Console Serial Disk which will be on Github Real Soon Now.
 
That's great -- thanks! The only reason we haven't updated yet is the flaky serial. Once that's reliable, we absolutely will.
 
Our metal nameplate, found inside the case -- it reads:

72
dec
 Digital equipment corporation
Maynard, Massachusetts
M36
PDP12
435

The year and model information is stamped into the metal.

1000002203.jpg
 
Back
Top