drc: fix some table math
authornotaz <notasas@gmail.com>
Sat, 8 Jul 2023 14:53:56 +0000 (17:53 +0300)
committernotaz <notasas@gmail.com>
Sat, 8 Jul 2023 14:53:56 +0000 (17:53 +0300)
libretro/pcsx_rearmed#713

libpcsxcore/new_dynarec/pcsxmem.c

index 69a4c99..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))