The Restoration of the PDP-8/I Minicomputer (PAGE 10)
Once the power supply was fixed, I then decided to try and deposit data into
memory. This was successful in bank 1 (the second 4k) but not in bank 0.
The symptom was that the deposit would happen, but an EXAM of bank 0 would just
cause the FETCH light to come on, and that was it.
Turns out it was a broken M360 card; I had one in spares and was able to replace it.
Next, turns out the second core plane was damaged; another rummage through the spares
turned up another core plane.
At this point, I was able to deposit and examine memory -- but found a stuck bit.
Bit 4000 was always zero (the MB front panel correctly showed the bit when depositing,
but would always show it as zero when reading).
After much swapping of cards, a G021 was diagnosed as bad.
The one I had in spares also turned out to be bad :-(
Luckily, the PDP-12 had a good G021, so I borrowed one.
At this point, I was able to run a simple program:
0000 2010 ISZ 0010
0001 5000 JMP 0000
0002 7001 IAC
0003 5000 JMP 0000
In case you're not familiar with PDP-8 assembler, the ISZ instruction means "increment and skip if zero,"
which effectively increments memory location 0010 from 0000 through 7777, and then skips the next instruction
(the JMP 0000 to perform the loop).
This creates an nice delay, and, once every 4096 iterations, causes the instruction at location 0002,
IAC, ("increment accumulator") to run.
Finally, there's a JMP 0000 to get back to location zero again.
This causes the accumulator to count up at a reasonably slow pace so that you can see it go.
This program of course found another bug -- a carry in the accumulator wasn't happening.
Swapping around M220 boards pointed to the defective board (I don't have any spare
Another dead chip! This time it was a 7474 flip-flop.
Turns out, it wasn't just the carry in the accumulator that wasn't happening; there was simply no way to
turn on that particular bit, and since that bit's value is fed back to the adder (7482), if the bit was
always zero, it would appear like the carry didn't work.
What led me to the conclusion that it was the 7474 flip-flop was that nothing would light the
accumulator bit light -- an OSR, an IAC, various shifts, etc. These all came in on different
channels on the M220 card via 7453/7460 gates, so the common failure point was the flip-flop.
After being able to run a few test programs, I found a bunch of things that I can put on my "to fix" list:
- One M220 card doesn't deal well with rotates. Rotating a "1" in is fine, but rotating a "0"
in results in the "0" becoming "stuck". Oddly, this card increments the AC and PC just
fine, and works with AND and TAD... This one is a pain; it looks to be a problem that's common
across this card, and yet, replacing common components (the 7482 adder) didn't solve it...
- Something bad is happening with the core memory. Two planes (an original one, and one from spares)
are completely dead -- depositing anything and then examining it always shows a zero.
The other core plane allows some small number of things to be deposited, but doesn't do this
reliably for a larger number of items (the exact mode is being diagnosed).
- And don't get me started on the EAE (Extended Arithmetic Element, the KE8I option) -- AC -> MQ transfers seem to work,
but MQ -> AC doesn't, nor does the rotate AC/MQ, ...
Oh well, all part of the fun and games of antique computer restoration! :-)