there is something wonky going on with the interface.
I may be mistaken, but I have the impression you are using a prototype reproduction interface card that hasn't been tested before... any chance you could borrow one of the Priam cards from the museum's collection to see if it behaves differently?
https://www.computerhistory.org/collections/catalog/102673923https://www.computerhistory.org/collections/catalog/102673924The RAM failure error is what I observed with the extended write signal that corrupted memory... although I can't imagine they were shipped that way. Perhaps there is some part that was marginal and performance decayed.
Similar to what I think you're reporting, I have a vague recollection that I found the RAM failure wasn't reported in response to the software reset command, but turned up later in response to trying to actually do something... I assumed I had somehow missed it as a response to the software reset, but maybe it does behave that way.
Regarding accessing registers twice/redundantly:
Before attempting to interact with the Priam controller, the host must check to see that the "register file" is not busy.
Then (BLU at least) calls a preliminary command setup routine that will write zeros into all the parameter registers, which will also (re)check that the register file is not busy before writing those null parameters.
After performing a command, BLU reads the interface status and transaction status registers to see if the command succeeded, and if not, jumps into the error reporting code which reads those registers again to ensure it has the latest values.
Those redundancies are not necessary but are there in BLU to minimize troubleshooting mysteries.