X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=libpcsxcore%2Fnew_dynarec%2Fpcsxmem.c;h=1f37dc29cf1683f85313be064ac78ea3f2b7b2f7;hb=906b1599387d4ecbf225282ba5123f83444c88fb;hp=8057b7ed506d7c56b29796bc949f4181a34c4a06;hpb=679d5ee3c46235923a99391922de1df0239e9ff3;p=pcsx_rearmed.git diff --git a/libpcsxcore/new_dynarec/pcsxmem.c b/libpcsxcore/new_dynarec/pcsxmem.c index 8057b7ed..1f37dc29 100644 --- a/libpcsxcore/new_dynarec/pcsxmem.c +++ b/libpcsxcore/new_dynarec/pcsxmem.c @@ -67,7 +67,7 @@ static u32 read_mem_dummy(u32 addr) static void write_mem_dummy(u32 data) { - if (!(psxRegs.CP0.n.Status & (1 << 16))) + if (!(psxRegs.CP0.n.SR & (1 << 16))) memprintf("unmapped w %08x, %08x @%08x %u\n", address, data, psxRegs.pc, psxRegs.cycle); } @@ -385,6 +385,7 @@ void new_dyna_pcsx_mem_init(void) } map_item(&mem_iortab[IOMEM32(0x1040)], io_read_sio32, 1); + map_item(&mem_iortab[IOMEM16(0x1044)], sioReadStat16, 1); map_item(&mem_iortab[IOMEM32(0x1100)], io_rcnt_read_count0, 1); map_item(&mem_iortab[IOMEM32(0x1104)], io_rcnt_read_mode0, 1); map_item(&mem_iortab[IOMEM32(0x1108)], io_rcnt_read_target0, 1); @@ -468,7 +469,7 @@ void new_dyna_pcsx_mem_init(void) map_item(&mem_iowtab[IOMEM8(0x1802)], cdrWrite2, 1); map_item(&mem_iowtab[IOMEM8(0x1803)], cdrWrite3, 1); - for (i = 0x1c00; i < 0x1e00; i += 2) { + for (i = 0x1c00; i < 0x2000; i += 2) { map_item(&mem_iowtab[IOMEM16(i)], io_spu_write16, 1); map_item(&mem_iowtab[IOMEM32(i)], io_spu_write32, 1); } @@ -494,7 +495,7 @@ void new_dyna_pcsx_mem_reset(void) // plugins might change so update the pointers map_item(&mem_iortab[IOMEM32(0x1810)], GPU_readData, 1); - for (i = 0x1c00; i < 0x1e00; i += 2) + for (i = 0x1c00; i < 0x2000; i += 2) map_item(&mem_iortab[IOMEM16(i)], SPU_readRegister, 1); map_item(&mem_iowtab[IOMEM32(0x1810)], GPU_writeData, 1); @@ -502,6 +503,6 @@ void new_dyna_pcsx_mem_reset(void) void new_dyna_pcsx_mem_shutdown(void) { - psxUnmap(mem_readtab, 0x200000 * 4, MAP_TAG_LUTS); + psxUnmap(mem_readtab, 0x200000 * sizeof(mem_readtab[0]), MAP_TAG_LUTS); mem_writetab = mem_readtab = NULL; }