On Sep 7, 2016, at 11:44 AM, Noel Chiappa <jnc at
mercury.lcs.mit.edu> wrote:
From: Ethan Dicks
Let's look at this one first, this is probably the easier to solve.
>> 2) Setting D10 in location 000000 results
in D10 set in all the
>> locations
> Sorry, didn't follow that? Did you mean
that if you store 02000 in
> location 0, all other locations now report the 02000 bit set?
Only 04000, but, yes.
Ah. That's D11. :-)
If I set that bit in location 0, or other
locations, it gets set in all
locations. If I clear that bit, it clears.
So that's likely in the memory (although I suppose it could be the CPU,
_somehow_). It sounds like there's a latch somewhere in the output path
(because it affects all locations right away, not just once you've written to
them) that's getting set one way or the other, and and then, won't change. I
suspect the problem is with the flop for that bit, not in the circuitry
that's clearing/clocking that flop, since it only affects that one bit.
Semiconductor memory, right? A possible reason would be that the address drivers for that
bit, or the address decoders in that chip, are busted. The result would be that reads and
writes always touch the same address in the chip.
The fact that other bits repeat every 20 also suggests issues with addressing logic.
I'd suggest checking the address signals on the memory card.
paul