In the past few days I have quietly worked on the remaining spare M7859 Programmer's Console controller board.
The board must have been through something traumatic as E56 had exploded (click to see full size):
E56 is a DS8641N a Quad Unified Bus Transceiver.
The explosion has taken out a small section of track which I repaired after removing the IC and replacing it with a socketed IC salvaged from a scrap board.
I am quite successful pulling ICs from scrap DEC boards with my vacuum desoldering station because I don't have to try preserve the pads.
With DEC boards and "bent pin manufacturing" I can preserve IC or board, not both.
Here is a photo showing the whole board before repair (click to see full size):
After replacing E56 and repairing the damaged track surprisingly the board was somewhat functional. The left-most two digits of the display were blank.
This turned out to be caused by a faulty E57 a 74175 a Quad D-type Flip-Flop.
It is located next to and connected to the exploded E56 so the damage is not surprising.
After replacing E57 with a socketed version of a 74175 the display worked.
Unfortunately the board was not yet fully functional - far from it.
The recommended self-test is to load a value into the on-board Switch Register and then examine it at Unibus address 777570.
This self-test resulted in a Bus Error.
I probed the address decode around E60/E40/E32 and it appeared that several address lines were garbage by the time they got to the decode logic.
The first problem with the addresses was that E51 (another 74175) pin 11 (KY7 EN AR -> BUS L) was stuck low - always enabled.
This meant that whatever happened on the address register pins was transparently reflected on the Unibus address lines.
What should happen is that the contents of the address registers is only presented on the Unibus address lines when the the associated Bus Transceivers are enabled.
Otherwise the keyboard and display scan activity makes it onto the Unibus address lines which is not good.
After replacing E51 (74175) with a socketed version, the Bus Transceivers got good enables.
When probing the address lines, triggering on the now functional enable signal (pin 9) of every DS8641 Bus Transceiver, I noticed that several output bits were not following their input. I ended up replacing all remaining DS8641 Bus Transceivers associated with the 18-bit Unibus address lines with socketed versions of the ICs salvaged from a unrelated scrap board. So that was E61, E65, E55 and E50. I already had replaced the exploded E56.
Finally I could see the addresses I tested with (777777 and 000000), except address bits 8 and 9 which did not show valid TTL HIGH levels on pins 3 and 6 of E65.
The signals were pulled towards ground and only reached about 1.6V.
I pulled the now socketed E65 DS8641 and re-tested it. It worked perfectly. Hmmm ...
The associated signals were "KY6 BB A08 H" and "KY6 BB A08 H".
These fed into the previously mentioned address decode logic but also into E70 a DM8093 Quad Buffer.
I was reluctant to pull E70 with my vacuum desoldering station to preserve the IC as this always risks damage to the board.
Instead I cut pin 2 of E70 ("KY6 BB A08 H").
Unfortunately the signal was still being pulled towards ground.
I patched up the cut pin 2 of E70.
This left only the address decode logic as the cause of the invalid TTL levels of signals "KY6 BB A08 H" and "KY6 BB A08 H".
Specifically E60 a 13 input NAND gate 74S133.
After cutting pin 12 of E60 which receives signal "KY6 BB A08 H" the signal became good and was no longer pulled towards ground.
I replaced E60 with a socketed version of a salvaged 74S133.
Finally when I tried the self-test (examine the Switch Register at Unibus address 777570) I saw a valid address decode triggering signals "BUS SSYN L" and "KY4 EN DB -> BUS L" which place the data onto the Unibus data lines and starts the sampling of the data on the bus.
I no longer got a Bus Error - which was good, but the SR value read back had bit 1 always zero. So a value 777 read back as 775.
A few more minutes of probing signals showed the remaining culprit being E9 another faulty 74175 implementing Switch Register bits 0 - 3.
I replaced E9 with a socketed and salvaged version, but in my excitement cut out E10 (another 74175) first. Oh well - collateral damage.
So now both E9 and E10 are socketed with salvaged ICs.
Finally the M7859 Programmer's Console controller board Self Test worked as it meant to.
Here is a photo of the fully repaired board - note the many sockets ((click to see full size):
I already had a working spare board, but was determined to make this "exploded" board work too.