"Implement register mirroring"
https://github.com/mupen64plus/mupen64plus-core/pull/1119

Index: src/device/rcp/pi/pi_controller.c
--- src/device/rcp/pi/pi_controller.c.orig
+++ src/device/rcp/pi/pi_controller.c
@@ -153,7 +153,8 @@ void read_pi_regs(void* opaque, uint32_t address, uint
     struct pi_controller* pi = (struct pi_controller*)opaque;
     uint32_t reg = pi_reg(address);
 
-    *value = pi->regs[reg];
+    if (reg < PI_REGS_COUNT)
+        *value = pi->regs[reg];
 
     if (reg == PI_WR_LEN_REG || reg == PI_RD_LEN_REG)
         *value = 0x7F;
@@ -209,7 +210,10 @@ void write_pi_regs(void* opaque, uint32_t address, uin
         return;
     }
 
-    masked_write(&pi->regs[reg], value, mask);
+    if (reg < PI_REGS_COUNT)
+    {
+        masked_write(&pi->regs[reg], value, mask);
+    }
 }
 
 void pi_end_of_dma_event(void* opaque)
