+static void write_mem_check_ro32()
+{
+ if (!ram_is_ro)
+ *(u32 *)(address | 0x80000000) = word;
+}
+
+static void write_biu()
+{
+ memprintf("write_biu %08x, %08x @%08x %u\n", address, word, psxRegs.pc, psxRegs.cycle);
+
+ if (address != 0xfffe0130)
+ return;
+
+ switch (word) {
+ case 0x800: case 0x804:
+ ram_is_ro = 1;
+ break;
+ case 0: case 0x1e988:
+ ram_is_ro = 0;
+ break;
+ default:
+ memprintf("write_biu: unexpected val: %08x\n", word);
+ break;
+ }
+}
+