Bob A is right. I found the MAR checking logic on pp 292-3 of 227-5631-0.
For the low four digits of MAR, there are two circuits: a C-bit checker
and an invalid digit checker.
C-bit checker is: (b4 xor b2) xor (b1 xor b8) xor C
invalid digit checker is: (b4 or b2) and b8 - which picks up 1010 thru 1111
The high digit is effectively checked against memory size, ruling out
anything >= 0110.
So the simulator is correct - an invalid digit in MAR generates MAR
ERROR, lights the MAR CHK LAMP, and stops the system.
That does beg the question as to why there is a special decode for DSW
2, with bit 8 included. If record mark is trapped by the MAR ERROR
logic, then bit 8 is not needed, because 1010 cannot occur. If record
mark did get through, it would decode as an 8, as Paul points out.
I'd like other folks to go through the logic prints, in case I've
misinterpreted what I'm seeing.
It also might pay to go back to the original problem statement about the
disk utility. The 1311 simulation has not been extensively tested.
Perhaps there's a problem in <that> part of the simulator, rather than
the MAR validity testing.
/Bob
On 12/25/2015 10:28 AM, Robert Armstrong wrote:
So either no core is selected or multiple cores are selected.
Now what happens?
The unanswered question here is "What are the conditions for setting MAR
CHECK"?
If an invalid digit in the MAR sets MAR CHECK, then the decoding is
irrelevant.
Bob
P.S. Merry Christmas, guys!
_______________________________________________
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh