• Please review our updated Terms and Rules here

PDP-12 at the RICM

I worked with a PDP-12 that was installed in the faculty of Medicine in Montevideo, Uruguay, where I lived at the time. Around 1969, a 8K machine with two linctapes. After working with a IBM 360 with punched cards, it was fascinating being able to edit text interactively on a screen!
First we used a version of LAP-6, a OS written originally for the LINC. Later we changed to OS/12, a variant of OS/8 for the -12.

Years after that, after having moved to Spain, I decided to write an emulator, since there seemed to be none. But I wrote it from scratch. At that time, some 15 years ago, simh was not up to emulating the -12.
I also got a LAP6 listing from the Computer Museum in California, typed the sources then wrote a simple assembler in Python, and now have the LAP6 essentially working in the simulator.
Not everything works, though. LAP6 is small but complex with overlays, instructions that are overwritten and so on. Also the sources are very sparsely commented.
The problem is that I don't have access to a real machine, so I can't compare results. But the simulator runs the maindecs well, I wrote a minimal PDP8 code to test the -8 instructions since LAP6 doesn't use -8 instructions.
What runs now is the CPU, with the whole set of instructions, the panel lights, the panel switches (albeit in a sui generis fashion), the VR12 screen, the A/D converters, the variable speed of the original machine. Also a debugging infrastructure ...

Alex, thanks for your welcome!

Antique Kid, the emulator is written in C++ using the Qt library. The screen updating is too slow, so I'm thinking about rewriting that in SDL2 or something. I have been looking at the screen code in simh, perhaps that could be useful.

Djg, I also don't have any hardware for reading those tapes. I know that there are/is some -12 here in Europe, will have to look around...
 
Today we ran SpaceWar! for visitors, but it halted after running for just a few minutes. Pressing the CONT switch would execute another instruction, but the processor would not stay running. We cycled the 4x STOP switches but that didn't change the behavior.

We looked through the schematic and decided that the M216 in slot L07 was the first FlipChip to test. The M216 tested OK using Warren's FlipChip tester. We tried the M160 FlipChip in slot K08 that feeds signals that halt the processor. That one tested OK. We tested the M117 FlipChip in slot K05. That one worked OK. We tested the M112 from slot L10. We cleaned the gold fingers when we tested the FlipChips. We tried to run Spacewar! and it ran for a few minutes and then halted. It is again stuck in the single-step mode.

Looks like we have a temperature sensitive chip. We will do more debugging on Saturday. Suggestions are welcome.
 
Retest the boards while hitting them with a heat gun. You probably don't have to go crazy with the heat either.

The tester is a nogo test only. It does not do well finding parts with marginal drive or leaky inputs.
 
Retest the boards while hitting them with a heat gun. You probably don't have to go crazy with the heat either.
I will give the heat gun a try on Saturday. We have spares for just about every board. Maybe replacing the boards one at a time, and running Spacewar! for several minutes to determine if the replacement FlipChip fixed the problem would narrow down the search. Once we find the bad FlipChip we can use the heat gun to find the defective chip.
 
Heating the FlipChips didn't cause any failures on the FlipChip tester.

We replaced the M160 FlipChip in slot K08 with a repaired and tested spare. This FLipChip collects 12 signals that can stop the processor and sends them to the RUN flip-flop. We booted OS/8, and loaded and ran SpaceWar!. It ran OK for about 8 minutes, and then had the same won't-run failure mode. That M160 also tested OK. We replaced the M160 with another repaired and tested FlipChip were most of the ICs had been replaced. Now SpaceWar! has been running for about 45 minutes, so we are declaring victory.
 
  • Like
Reactions: jpk
By triggering the 'scope on the RUN flip-flop being cleared we are able to see the problem. The CPR RUN ENABLE H signal is low when CPTP TPS H strobes high so that clears the RUN flip-flop and stops the processor. Now we need to look at all of the inputs to the M160 FlipChip in slot K08 to find out what is telling the processor to stop. Sometimes after the processor stops we hear the RX02 recalibrate a few times. That may mean that we are getting false triggering from the I/O RESET switch circuit
 
We finally traced the problem to the G826 Regulator and Power Detector. This FlipChip regulates the core memory voltage based on the core temperature. We see square waves on the MCT POWER CLEAR H signal from the G826 after the machine runs for a few minutes. This signal halts the processor and will not let it run more than one instruction. The signal is also making I/O RESET signals which causes the RX02 drives to repeatedly recalibrate, There is an adjustment on the G826 to set the threshold for the Power Detector. We will measure the power supply voltages to make sure the voltages and ripple are OK, and then adjust the Power Detector threshold. If that doesn't fix the problem we have two NOS spares. If we swap the G826 we will need to adjust the Power Detector threshold, and we will need to adjust the core memory current.
 
We adjusted the trimpot (R2) in the middle of the G826 Power Detector FlipChip one turn clockwise to make the voltage detection less sensitive. We toggled in and ran a little program to blink the console lights. It ran fine for 10 minutes, so we loaded OS/8 from the RK05 and then loaded and ran SpaceWar!. It ran OK for 30 minutes, so we adjusted the trimpot counter-clockwise expecting the processor to halt. We got the trimpot back to the original position and the SpaceWar! is still running OK. We now think that the trimpot has a dirty spot where the adjustment is set and the resistance setting was not correct. The system should get a workout at the Providence Geeks meeting tonight.
 
Back
Top