Computers‎ > ‎Digital Equipment‎ > ‎

PDP-8 - S/N 351

PDP-8 - Serial number 351

The PDP-8 Classic is the first in a line of PDP-8 computers.  A very successful range of 12 bit computers which was introduced on the market in 1965. This particular machine also has a DF32 fixed head disk drive that can store 32 k word of data. It has been used by Swedish company AGA.

One of the wood imitation panels has been removed for maintenance. There were some problem with the memory system last time it was switched on. The core memory is seen to the upper left. It contain 4k 12 bit words.

PDP-8 front panel

The serial number of our PDP-8 is 351. The serial number plate is located underneath the machine so it was really difficult to get a sharp picture of it.

Year 2015 celebration
In 2015 the PDP-8 is celebrating its 50 years since introduction. Although this particular machine is probably not that old. Because of this celebration we intend to restore this machine to working condition. Last time it was running was approximately 30 years ago.

Renovating the power supply

The power supply is supplying the -15V and +10 voltages to all of the logic of the machine and also control the memory voltages. There is a variable transformer to generate the marginal check voltage. For the +10 and -15 there is just a couple of rectifiers and a big bunch of huge capacitors. These are all 35000 uF 25V. Some of them made by Cornell-Dublier and some made by Sprague. The date codes are early 1966.
Power supply collage

Old capacitor of this size which haven't been in use needs reforming since the actual dielectric is made up of the oxide. This oxide deteriorate over time and just applying full voltage may cause the capacitors to be destroyed. By charging the capacitor with a very low current the oxide is regenerated. This process is called reforming. To start with I removed all capacitors from the supply and reformed them slowly until the leakage current was around 50uA. Then the unit requires a good cleaning. 

The AC capacitor used in the ferro resonant circuit is old and is likely to contain PCB - Poly Chlorinated Biphenyls - a very hazardous compound that could create Dioxin if burn at low temperature. This capacitor is replaced to prevent accidents. The original was 7uF but today it seems like either I have to go for 6uF or 8 uF. There are no such thing as a 7 uF / 660VAC oil filled oval capacitor. I hope this little change in capacitance is not affecting the ferro resonance to much.

Reassembly and testing

With all capacitors reformed I started to reassemble the power supply. It was rather interesting to note that the capacitors that I didn't fully discharge after reforming still several weeks afterwards had voltages between 6 and 9 volts on the poles. I think that this shows that they are in pretty good shape. Using various fixed power resistors I constructed various dummy loads to use. One 3 ohm load for the 15V, one 4.8 ohm for the 10V, and two 65 ohm for the memory voltages. The memory voltages are temperature compensated using thermistors in the memory unit itself. Those were emulated using a small fixed resistor. With everything connected and I slowly raised the input voltage using a variac. Already at approximately 90VAC the output was at around nominal voltages and the memory voltage relay was energized. Then the output was relatively steady all the way to full 230 VAC input. The dummy loads became quite hot.
Dummy load testing

Using a 1 ohm dummy load at the 15V line and a 4.8 ohm at the 10V line it was running at its limits. The 15V voltage were down to 14.9 V and the 10V were up to 9.9V. Very close to the nominal voltages for this power supply. Since the 1 ohm load needed to whit-stand 150 W of power I only did this test for a quite short time. 

First Power up (since 1990)

Reinstalling the power supply into the rack and then connecting it and turning the power switch showed that it wasn't completely dead. I did found a note which I wrote the last time i operated the machine. It was dated 1990. 25 years is a long time. This time it didn't work that well. 

First power up since 1990

I tried to do some quick checking and found this:

  • Load address works. Something gets loaded into PC when LOAD ADD switch is depressed. But many bits are always 0. Either there is a problem with the Switch Register or the input gating of the PC is bad or the lamps on the control panel is bad.
  • Pressing EXAM key did readout things from memory to the Accumulator and Memory Buffer. It was possible to read out the same data over and over again. This shows that the basic memory cycle is working since a read is destructive in a core memory. It need to be rewritten. Some bits in the Memory buffer and Accumulator never got set which either indicate a problem in them or in the control panel lamps. Pressing EXAM also increased the Program Counter and the Memory Address always were one less that the program counter which indicate that the adder is working quite good.
  • Raising DEP switch get something written into memory. Trying to write all zero actually retuned a value all zero when reading. But writing all ones only set a few bits. Maybe there are a problem gating data into the AC or the front panel switches is not working OK.
  • Pressing start sometimes made the machine run. Although the RUN light never was lit but other lamps were dimmer than usual. Pressing STOP seemed to stop it. Maybe the RUN light is bad. Sometimes pressing START seemed to single step it rather than running. But changing the SING STEP or SING INST didn't make any difference. CONT didn't seem to have any effect.
Measuring a number of different points in the backplane where the +10V and -15V enters the cards showed no apparent problem with bad contacts in the marginal check switches. 

Since it is quite dusty it might be a good idea to try to clean the cards and the backplane somewhat. This could also help to rule out bad contact as a cause of problem. Another good idea is to make absolutely sure that switches and lamps on the control panel work as expected to make it easier to do other fault finding.


Front panel lamps replaced
When checking the operation of the machine I saw that some lamps were not lit. Checking those with a multimeters showed that quite a few of them were broken. From reading what both Doug Jones and David Gesswein had written about the front panel lamps I knew that they were fragile. But not that fragile. I carefully removed the frontpanel assembly from the machine and put on a soft pillow to protect the glass. Then I very slowly tried to remove the PCB from the front panel assembly. Immediately there were a dropping sound. The sound of very fragile lamps that were falling off.

It turned out that the only way forward was to replace each and every one of them with new CM2187 lamps.

First test run

With all lamps in place and the panel mounted in its place a test run was the next step. 

YouTube Video

Unfortunately not everything was working, which was quite expected. The memory exercise gave the following result when deposit octal 7777 into memory from location 0000 and onwards:

 Address Data Address Data Address Data Address Data
 0000 3747 0020 7446 0040 5445 0060 3405
 0001 0000 0021 0000 0041 0000 0061 0000
 0002 7757 0022 3455 0042 7757 0062 7446
 0003 3444 0023 3455 0043 7647 0063 7406
 0004 5747 0024 7744 0044 7547 0064 3545
 0005 7757 0025 7747 0045 7557 0065 7545
 0006 0005 0026 6000 0046 1004 0066 1004
 0007 3447 0027 7456 0047 7056 0067 7447
 0010 7757 0030 7756 0050 7757 0070 7757
 0011 0000 0031 0000 0051 0000 0071 0000
 0012 7757 0032 7557 0052 0000 0072 7456
 0013 7757 0033 7757 0053 7757 0073 7557
 0014 7757 0034 7757 0054 7757 0074 7557
 0015 7757 0035 7757 0055 7757 0075 7757
 0016 1417 0036 7757 0056 7757 0076 3616
 0017 7757 0037 7757 0057 7757 0077 7757
 Address Data AddressData  Address Data Address Data
 0100  7447      
 0101 0000      
 0102 3045      

  • It is evident from above that reading content cells 1,11,21,31,41,51,61,71,101 is not very successful. All reads out as 0000.
  • Sometimes during deposit it is not executing DCA operation but some other operation, like OPR.
  • The DEPOSIT button seems to double bounce.
  • Bit 8 of MA is always lit. Maybe there is a break in the cable to the front panel. 
  • Bit 7 of the MB is always 0 when read out from memory. This could be a sense amplifier problem or worse a problem in the memory stack itself.
  • The other data read out sometimes lacks a couple of bits. This might be a problem with the read/write currents and/or the inhibit currents. These has to be checked.
Memory Currents
Memory currents

Is the erratic behavior of the memory depending on wrongly set memory currents? The balance between inhibit and read/write currents need to be correct to get the memory work correctly. The sticker to the right was attached to the core memory module. It specifies that the R/W current is 325 mA and that he Inhibit current is 305 mA. So it is important that we measure those currents and adjust the power supply accordingly. Measurements needs a current probe according to the maintenance manual. We happen to have a Tektronix P6042, unfortunately it is note on it that it has intermittent connection somewhere in it.

Tek P6042 probe head

It turned out that the cable was faulty both at the probe end and the amplifier end so in the end the cable ended up quite a bit shorter but the current probe was working when testing at DC. It was quite a tedious job to take it apart, desolder everything and soldering everything back. 

Adjusting memory currents

Adjusting the memory currents involve clipping on the probe to the correct wire in the backplane and setting the oscilloscope so the measurements looks good and the slowly turn the potentiometers in the PSU unit so that the current matches the current indicated on the label After some tuning we got this result for the R/W current:

Core memory R/W curren

The manual tell that the measurements is to be done precisely before the knee at the trailing slope. 325 mV is equal to 325 mA

The same was done for the Inhibit current which should be at 305 mA. For inhibit measurements there are 12 wires to choose from. We just took one randomly and measured.

Core Memory Inhibit current

After these adjustments it was actually possible to store and read back data in the memory in a consistently, at least for every eight locations. Location having bit 8 as a 0 was not working very well. Could this has something to do with bit 8 of MA always on?

MA register bit 8

Y axis selection
It maybe after all wasn't just a display problem after all. As can be see from the schematic of the Y axis selection of the core memory both the MA8(1) and MA(0) signals are used when decoding the address. So if one signal always is high then the decoding will probably not work properly. By moving the R211 from bit 8 to bit 9 position the fault followed so now every four addresses was problematic. 

R211 module

The transistor with the red ring was faulty and needed replacement. A set of new 2N3639 transistors has been ordered.

Investigating MB bit 7

Why is bit 7 of MB always zero when reading from memory? To investigate this I switched position for the sense amplifier (G007) module between bit 7 and bit 9.

By depositing the value 00100 into memory and then doing examine showed the bit at position 7. This at least show that the MB gating is working correctly. When depositing 10000 into memory this bit was not reflected into bit 9 as expected. Was the bit actually written correctly? Or was the sense amplifier not able to read the signal? Or is there a problem in the core memory itself? Sense winding or inhibit winding broken?

With the MA bit 8 working after replacing the 2N3639 transistor on the R211 module I could conclude that it could address all locations that I tried. But data bit 7 was of course not any better. The first simple check was to exchange two inhibit driver boards but that didn't do any good. Checking the sense amplifier boards turned out harder since someone had soldered the small connectors from the memory module. They have to be desoldered. While doing so I checked the resistance. Unfortunately it measured infinity. 

PDP-8 core memory

The red arrow is marking the failed sense winding. Unfortunately it wasn't the grey/white cabling that was at fault but somewhere inside the module itself.