There's nothing conditional about the user documentation. The 1965 reference manual says, "MARS (Memory Address Register Storage) Check Light. This light is turned on when a digit in MARS has a parity error or an invalid address. These errors halt the machine immediately."

Now the key question is, what's an invalid address? Earlier, the user documentation talks about detecting an address that's too large (high order digit). But an invalid bit combination? Here's what the Customer Engineering Manual has to say: "Near the end of each memory cycle, MAR is checked for invalid digits in the ten-thousands position and for odd parity in each of the five positions." Nothing about checking for invalid bit combinations.

So it appears to me that the simulator's definition of "valid" (or invalid) addresses is too strict. Invalid bit combinations are not checked explicitly.

Then the question becomes, what does the 1620 actually do with an invalid bit combination (with valid parity) in MAR? I can't understand the core memory matrix selection logic in the CE Manual well enough to figure that out. The decode process is supposed to yield exactly one of 10 select wires for each digit position. For invalid bits, does it still yield just one? More than one? None?

/Bob

_______________________________________________
Simh mailing list
[email protected]
http://mailman.trailing-edge.com/mailman/listinfo/simh

Reply via email to