Monday, June 17, 2013

More Imlac Debugging

The homemade Imlac Extender board (pre-wiring)

Finally got all the parts together (there are only two of them, really) to build the Imlac extender board.  As you can see above, this consists of a prototype board (with an 80 pin edge connector) and an 80-pin slot (actually an S-100 slot cut down to 80 pins).  The slot's attached to the protoboard using some JB Weld (is there any problem it can't solve?) and then the edge connector pins are wired to the slot pins, one by one.  Hindsight being 20/20 it might have been easier to etch the extender board (doing something like this) but this works, it just takes more soldering and wire...

The end result isn't pretty but it works, and the final result is:

The extender board... IN ACTION!
So now I can get at the chips on the boards while the machine is running and poke and prod and generally inspect the behavior of parts of the machine much more easily.

And so I used it to generally inspect the behavior of a number of registers that were misbehaving.  The remaining register problems (that I'm aware of until I can get the memory running in order to run more extensive tests) are:

Accumulator: Bit 6 is stuck on, Bit 3 is stuck off.
Memory Buffer:  Bit 1 behaves oddly (will only turn on if Bit 0 is also on)
Program Counter: Bit 15 does not load correctly.  Loads as a 1 when set to 0 and bit 14 is incremented when a 1 is loaded into bit 15.  The register increments correctly, however.

Using the extender board and my oscilloscope, I traced down the faults on the Accumulator boards (boards 219 and 220 for those keeping score at home) to bad 74H52s at C3 (Bit 6) and B3 (Bit 3).  Unfortunately I only have one 74H52 on hand, so I'll have to order a few more, but technically the issues are fixed.

Similarly, the Memory Buffer problem appears to be due to another faulty 74H52, at D2 on board 212.

Along with the fixes for the Memory Address register I did a few weeks ago that makes a total of four bad 74H52s, which seems like more than a coincidence.  They're all from the same manufacturer and have similar production dates (mid 1969) so it's possible they all suffer from some similar defect (or limitation) that has caused them to fail where others have not.

I haven't yet looked at the misbehaving Program Counter other than to observe that if I swap the PC boards around the defect does not move.  This indicates either that the behavior is expected (which seems unlikely) or that the defect lies somewhere outside of the register itself.

That's all for now.  In the meantime: Keep your feet on the ground, keep your head in the sky, and keep a bowl of strawberry Jell-O under your pillow just in case you get hungry in the middle of the night.

No comments:

Post a Comment