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

Index: src/device/rcp/vi/vi_controller.c
--- src/device/rcp/vi/vi_controller.c.orig
+++ src/device/rcp/vi/vi_controller.c
@@ -105,7 +105,10 @@ void read_vi_regs(void* opaque, uint32_t address, uint
         vi->regs[VI_CURRENT_REG] = (vi->regs[VI_CURRENT_REG] & (~1)) | vi->field;
     }
 
-    *value = vi->regs[reg];
+    if (reg < VI_REGS_COUNT)
+    {
+        *value = vi->regs[reg];
+    }
 }
 
 void write_vi_regs(void* opaque, uint32_t address, uint32_t value, uint32_t mask)
@@ -151,7 +154,10 @@ void write_vi_regs(void* opaque, uint32_t address, uin
         return;
     }
 
-    masked_write(&vi->regs[reg], value, mask);
+    if (reg < VI_REGS_COUNT)
+    {
+        masked_write(&vi->regs[reg], value, mask);
+    }
 }
 
 void vi_vertical_interrupt_event(void* opaque)
