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

Reply via email to