I did test those locations (420-430) and I can read/write the "normal"
values as well as the complemented values VIA the front panel.
It's also not "any data written by the processor is complemented" because
the trap catcher program does write the correct data to locations 0-770.
I'm certain I'm typing in the memory address test correctly. I have no
other -11 handy. Is it possible there's a typo in the program I got? It
follows:
000004 000226 bus error trap
000006 000000
000010 000012 reserved instruction trap
000012 000000
000200 012706 mov #410,sp set the stack
000202 000410
000204 012700 mov #420,r0 set target memory address
000206 000420
000210 010001 mov r0, r1 copy memory address
000212 010111 loop1: mov r1, (r1) write memory
000214 020111 cmp r1, (r1) check write
000216 001401 beq .+2 OK
000220 000000 halt initial check error
000222 005121 com (r1)+ complement the data
000224 000772 br loop1 loop till bus error
000226 012737 mov #6,@#4 reload trap vector
000230 000006
000232 000004
000234 010001 mov r0,r1 copy memory address
000236 005111 loop2: com (r1) complement memory
000240 020111 cmp r1,(r1) recheck memory
000242 001401 beq .+2 OK
000244 000000 halt memory addressing error
000246 005721 tst (r1)+ increment memory address
000250 000773 br loop2
When I enter and run the above program, it halts at 246. R1 contains 422. In
going back after this halt, the program at 200 is unchanged and just as
entered. However, location 4 contains a 6, not a 226.
Puzzled....
J