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