Friday, September 5, 2014

Zeroing (and one-ing) in on the memory problems, plus 029 Keypunch arrives and is assembled

DIAGNOSING CORE MEMORY

I decided to open the D gate compartment B1 to check the seating of all the cards, where I found A4 was not seated properly. Pushed in properly but all the same errors still occur.

I have come to the firm conclusion that the red jumpers I found on my memory gate were just stuck there to keep them around for whenever a CE might need them. The two that were connected on both ends were jumpering the +6V power pins of two boards together, which is completely unnecessary since the backplane distributes that power to all the boards. No behaviors or symptoms change with these inserted or removed, thus they are going to be stored away from the backplane.

Time to scope the signals well to really find out what is happening. In particular, I wanted to see whether the sections that read out bits 1 and 5 as on, incorrectly, were actually setting the cores on or whether it was a reading/sensing side problem. I in fact see the pulse from the sense amplifier which proves the bit is written as a 1. Now I can narrow this down to the side that sets up and writes to core, not the reading side.

I am using a Tektronix 466 storage scope, but it is not fast enough to record some of the sharper and narrower pulses. I went to the CHM and borrowed the Tek 2230 scope which is faster and has a better storage capability, then proceeded with the testing.

Borrowed scope to store one time events
I soon discovered that the incoming lines of data to write to core are different between bit 1 and bit 3, a control chosen because it was working correctly in all parts of memory. On bit 3, when the data to be written to core is to be a 1, the incoming line has an upward pulse, while it stays flat at zero whenever the bit in core should be written as a zero. However, on bit 1, which is one of the malfunctioning bits, I see line drop to a negative value when core is to be a zero, rather than staying flat at logical zero.

At least I now have an indication that my problem stems from the bus between the B gate B1 compartment and the storage gate D. On the core memory gate, the cable signals are handled by cards C2 and D2 in each compartment. I swapped the pair in B1 compartment, then swapped the pair in A1 compartment, but in neither case did the symptoms change.

That excludes the logic in the core compartment, unless it is some very bizarre situation, and causes me to focus upon the B gate end of all this. The cable anchors into B gate compartment C1, which gets the signals from B gate compartment B1 as outputs of the B register cards. My testing will focus on B gate for a while until I get a hint as to the cause of this.
B gate on the right, swung out to scope the signals

Scope probes attached in order to find the culprit for the memory errors
There is another possibility besides the logic in B gate which has occured to me. The B register gets values from many places in the machine, each being gated by logic to that only the value that is intended to move into B is allowed to pass. However, if a gating signal is bad, I may be experiencing a part of the system which is jamming bits 1 and 5 into the B register at an unintended time, causing the strange results. Key suspect would be the 1442 or 1l32 peripherals, as both of them will gate signals into the B register - for sense bits, cycle steal transfers and other purposes.

I temporarily disconnected the signal and power lines from the 1442 and 1132, just to see if the problem went away. It did not and to make matters worse, as I disconnected the 1132 signal cable I noticed that the cable sheathing had come out of the cable clamp. Looking closer, I saw that several of the signal wires were severed! I will have to take apart the connector, shorten all the wires and put it together correctly.
Severed signal wires from 1132 printer cable
The B register is on a double size SLT card, along with the M and I registers, each card implementing one bit for the three registers. The B register is quite central to the machine, with many other registers linked to this one. I had to compare the card for a bad bit (e.g. 1 or 5) as well as a known good bit (e.g. 3 or 4) for quite a few signals to determine how the behavior differed.

It appears that one bits are being injected from the IO bus, which encompasses the 1132, 1442, internal disk drive, keyboard, console data switches and console printer plus the SAC. I have to do more complete testing tomorrow to narrow this down further, but that is the working assumption.

What I still don't understand is the addressing sensitivity - memory from 4K to 8K words inverts the value of the console data switches for 1 and 5, while all other ranges force them to a constant 1 state. Higher memory addresses have the 11 bit forced on, but not in the first 8K.

I am still working on a principle derived from Occam's Razor - look for the smallest number of failing parts that will explain everything. It is why I didn't believe I had 7 or more SLT cards that had all failed at the same time. I need to find something that can force in the 1 and 5 bits but does this in part based on addresses.

Late this evening, my current probe arrived, which may be helpful as I use the scope to chase down the root cause of the failure. I also pulled out my wirewrap hand gun, in case I need to fix or add any signal routing on the backplanes, and began setting up my SLT card testing jig. I know I have a bad 3467 card in D gate compartment A1 - this way I can figure out exactly what component is bad on the card and possibly repair it.

KEYPUNCH PICKED UP AND BEGINS TO BE RESTORED

I had bought an 029 Keypunch a while back from Doug Martin, knowing it was in storage in a place that was inaccessible for a while. As I will be visiting the Infoage museum associated the the Mid Atlantic Retro Computer Hobbyist organization (MARCH) on Monday, where I will help them disassemble and store some keypunches, Doug stepped up with some practical experience before I leave.

Doug disassembled the 029 so that each part was small enough to be removed from his storage area, allowing me to see what he did, and I picked it up and then put the machine back together in my garage tonight. I have a tray of relays to put in tomorrow and then restoration begins. It will need some cleaning, lubrication, and careful reforming of the capacitors in the power supply.

Legs, frame and table assembled first

Main mechanism and keyboard added

Still waiting to install relay rack and begin restoration

No comments:

Post a Comment