drc: fix some table math
[pcsx_rearmed.git] / libpcsxcore / new_dynarec / pcsxmem.c
index bb471b6..a32b418 100644 (file)
@@ -47,7 +47,8 @@ void map_item(uintptr_t *out, const void *h, uintptr_t flag)
 
 // size must be power of 2, at least 4k
 #define map_l1_mem(tab, i, addr, size, base) \
-       map_item(&tab[((addr)>>12) + i], (u8 *)(base) - (u32)(addr) - ((i << 12) & ~(size - 1)), 0)
+       map_item(&tab[((addr)>>12) + i], \
+                (u8 *)(base) - (u32)((addr) + ((i << 12) & ~(size - 1))), 0)
 
 #define IOMEM32(a) (((a) & 0xfff) / 4)
 #define IOMEM16(a) (0x1000/4 + (((a) & 0xfff) / 2))
@@ -152,8 +153,6 @@ make_rcnt_funcs(2)
 
 static void io_write_ireg16(u32 value)
 {
-       //if (Config.Sio) psxHu16ref(0x1070) |= 0x80;
-       if (Config.SpuIrq) psxHu16ref(0x1070) |= 0x200;
        psxHu16ref(0x1070) &= value;
 }
 
@@ -166,8 +165,6 @@ static void io_write_imask16(u32 value)
 
 static void io_write_ireg32(u32 value)
 {
-       //if (Config.Sio) psxHu32ref(0x1070) |= 0x80;
-       if (Config.SpuIrq) psxHu32ref(0x1070) |= 0x200;
        psxHu32ref(0x1070) &= value;
 }