Jay wrote:
There's a random assortment of data in sequential
locations and returning to those same locations I always get the same
value. [...] However, I can't store anything. Anytime I store a new
value in a location, that location gets all zeros.
The fact that you can read a location repeatedly and get consistent
data (provided that you don't explicitly write to the location)
indicates that most of the circuitry involved in writing is actually
working correctly. Reading core memory is destructive; you have to
attempt to flip the magnetization and determine whether it actually
flips. So a read operation is normally followed by a write of the
same data to restore the original contents. That must be working.
On the Unibus, there are two types of read cycles, DATI, and DATIP.
DATI does what you would expect: it reads a word of the core memory,
and the memory control (part of the memory system) is expected to
handle restoring the data.
On a DATIP cycle, the memory is not required to restore the data,
because it will be followed by a DATO or DATOB cycle that writes
new data to the same location.
So your memory appears to be handling DATI cycles correctly,
including the implicit rewrite. But either the memory is not
handling DATO cycles correctly, or the CPU is not issuing them
correctly.
Eric