X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=libpcsxcore%2Fnew_dynarec%2Fpcsxmem.c;h=fc19494eb17ab7b552433390054268ba26d63035;hb=77961f230266f63a832d18c5b14084aea6df0687;hp=7c670f8bc3798a8d0ccdcb69fa7236e5ba47cf00;hpb=e62141d26accc1d83fde22d589f53bda374aa396;p=pcsx_rearmed.git diff --git a/libpcsxcore/new_dynarec/pcsxmem.c b/libpcsxcore/new_dynarec/pcsxmem.c index 7c670f8b..fc19494e 100644 --- a/libpcsxcore/new_dynarec/pcsxmem.c +++ b/libpcsxcore/new_dynarec/pcsxmem.c @@ -180,6 +180,16 @@ make_dma_func(3) make_dma_func(4) make_dma_func(6) +static u32 io_spu_read8_even(u32 addr) +{ + return SPU_readRegister(addr, psxRegs.cycle) & 0xff; +} + +static u32 io_spu_read8_odd(u32 addr) +{ + return SPU_readRegister(addr, psxRegs.cycle) >> 8; +} + static u32 io_spu_read16(u32 addr) { return SPU_readRegister(addr, psxRegs.cycle); @@ -401,6 +411,8 @@ void new_dyna_pcsx_mem_init(void) map_item(&mem_iortab[IOMEM8(0x1803)], cdrRead3, 1); for (i = 0x1c00; i < 0x2000; i += 2) { + map_item(&mem_iortab[IOMEM8(i)], io_spu_read8_even, 1); + map_item(&mem_iortab[IOMEM8(i+1)], io_spu_read8_odd, 1); map_item(&mem_iortab[IOMEM16(i)], io_spu_read16, 1); map_item(&mem_iortab[IOMEM32(i)], io_spu_read32, 1); }