diff options
Diffstat (limited to 'libpcsxcore')
-rw-r--r-- | libpcsxcore/misc.c | 6 | ||||
-rw-r--r-- | libpcsxcore/new_dynarec/pcsxmem.c | 6 | ||||
-rw-r--r-- | libpcsxcore/plugins.h | 10 | ||||
-rw-r--r-- | libpcsxcore/psxcounters.c | 2 | ||||
-rw-r--r-- | libpcsxcore/psxdma.c | 4 | ||||
-rw-r--r-- | libpcsxcore/psxhw.c | 6 | ||||
-rw-r--r-- | libpcsxcore/spu.c | 2 |
7 files changed, 18 insertions, 18 deletions
diff --git a/libpcsxcore/misc.c b/libpcsxcore/misc.c index a27f60f..917a567 100644 --- a/libpcsxcore/misc.c +++ b/libpcsxcore/misc.c @@ -601,11 +601,11 @@ int SaveState(const char *file) { // spu spufP = (SPUFreeze_t *) malloc(16); - SPU_freeze(2, spufP); + SPU_freeze(2, spufP, psxRegs.cycle); Size = spufP->Size; SaveFuncs.write(f, &Size, 4); free(spufP); spufP = (SPUFreeze_t *) malloc(Size); - SPU_freeze(1, spufP); + SPU_freeze(1, spufP, psxRegs.cycle); SaveFuncs.write(f, spufP, Size); free(spufP); @@ -670,7 +670,7 @@ int LoadState(const char *file) { SaveFuncs.read(f, &Size, 4); spufP = (SPUFreeze_t *)malloc(Size); SaveFuncs.read(f, spufP, Size); - SPU_freeze(0, spufP); + SPU_freeze(0, spufP, psxRegs.cycle); free(spufP); sioFreeze(f, 0); diff --git a/libpcsxcore/new_dynarec/pcsxmem.c b/libpcsxcore/new_dynarec/pcsxmem.c index 0a75442..d5c32be 100644 --- a/libpcsxcore/new_dynarec/pcsxmem.c +++ b/libpcsxcore/new_dynarec/pcsxmem.c @@ -210,7 +210,7 @@ make_dma_func(6) static void io_spu_write16(u32 value) { // meh - SPU_writeRegister(address, value); + SPU_writeRegister(address, value, psxRegs.cycle); } static void io_spu_write32(u32 value) @@ -218,8 +218,8 @@ static void io_spu_write32(u32 value) SPUwriteRegister wfunc = SPU_writeRegister; u32 a = address; - wfunc(a, value & 0xffff); - wfunc(a + 2, value >> 16); + wfunc(a, value & 0xffff, psxRegs.cycle); + wfunc(a + 2, value >> 16, psxRegs.cycle); } static u32 io_gpu_read_status(void) diff --git a/libpcsxcore/plugins.h b/libpcsxcore/plugins.h index 9df55bf..e6ac694 100644 --- a/libpcsxcore/plugins.h +++ b/libpcsxcore/plugins.h @@ -184,12 +184,12 @@ typedef long (CALLBACK* SPUinit)(void); typedef long (CALLBACK* SPUshutdown)(void);
typedef long (CALLBACK* SPUclose)(void);
typedef void (CALLBACK* SPUplaySample)(unsigned char);
-typedef void (CALLBACK* SPUwriteRegister)(unsigned long, unsigned short);
+typedef void (CALLBACK* SPUwriteRegister)(unsigned long, unsigned short, unsigned int);
typedef unsigned short (CALLBACK* SPUreadRegister)(unsigned long);
typedef void (CALLBACK* SPUwriteDMA)(unsigned short);
typedef unsigned short (CALLBACK* SPUreadDMA)(void);
-typedef void (CALLBACK* SPUwriteDMAMem)(unsigned short *, int);
-typedef void (CALLBACK* SPUreadDMAMem)(unsigned short *, int);
+typedef void (CALLBACK* SPUwriteDMAMem)(unsigned short *, int, unsigned int);
+typedef void (CALLBACK* SPUreadDMAMem)(unsigned short *, int, unsigned int);
typedef void (CALLBACK* SPUplayADPCMchannel)(xa_decode_t *);
typedef void (CALLBACK* SPUregisterCallback)(void (CALLBACK *callback)(void));
typedef void (CALLBACK* SPUregisterScheduleCb)(void (CALLBACK *callback)(unsigned int cycles_after));
@@ -205,8 +205,8 @@ typedef struct { xa_decode_t xa;
unsigned char *SPUInfo;
} SPUFreeze_t;
-typedef long (CALLBACK* SPUfreeze)(uint32_t, SPUFreeze_t *);
-typedef void (CALLBACK* SPUasync)(uint32_t);
+typedef long (CALLBACK* SPUfreeze)(uint32_t, SPUFreeze_t *, uint32_t);
+typedef void (CALLBACK* SPUasync)(uint32_t, uint32_t);
typedef int (CALLBACK* SPUplayCDDAchannel)(short *, int);
// SPU function pointers
diff --git a/libpcsxcore/psxcounters.c b/libpcsxcore/psxcounters.c index 50f1792..b25674c 100644 --- a/libpcsxcore/psxcounters.c +++ b/libpcsxcore/psxcounters.c @@ -335,7 +335,7 @@ void psxRcntUpdate() if( SPU_async ) { - SPU_async( SpuUpdInterval[Config.PsxType] * rcnts[3].target ); + SPU_async( cycle, 1 ); } } diff --git a/libpcsxcore/psxdma.c b/libpcsxcore/psxdma.c index 63c2724..ff7d6a3 100644 --- a/libpcsxcore/psxdma.c +++ b/libpcsxcore/psxdma.c @@ -51,7 +51,7 @@ void psxDma4(u32 madr, u32 bcr, u32 chcr) { // SPU #endif break; } - SPU_writeDMAMem(ptr, (bcr >> 16) * (bcr & 0xffff) * 2); + SPU_writeDMAMem(ptr, (bcr >> 16) * (bcr & 0xffff) * 2, psxRegs.cycle); SPUDMA_INT((bcr >> 16) * (bcr & 0xffff) / 2); return; @@ -67,7 +67,7 @@ void psxDma4(u32 madr, u32 bcr, u32 chcr) { // SPU break; } size = (bcr >> 16) * (bcr & 0xffff) * 2; - SPU_readDMAMem(ptr, size); + SPU_readDMAMem(ptr, size, psxRegs.cycle); psxCpu->Clear(madr, size); break; diff --git a/libpcsxcore/psxhw.c b/libpcsxcore/psxhw.c index 6b9125d..c90f8c7 100644 --- a/libpcsxcore/psxhw.c +++ b/libpcsxcore/psxhw.c @@ -493,7 +493,7 @@ void psxHwWrite16(u32 add, u16 value) { default: if (add>=0x1f801c00 && add<0x1f801e00) { - SPU_writeRegister(add, value); + SPU_writeRegister(add, value, psxRegs.cycle); return; } @@ -747,8 +747,8 @@ void psxHwWrite32(u32 add, u32 value) { default: // Dukes of Hazard 2 - car engine noise if (add>=0x1f801c00 && add<0x1f801e00) { - SPU_writeRegister(add, value&0xffff); - SPU_writeRegister(add + 2, value>>16); + SPU_writeRegister(add, value&0xffff, psxRegs.cycle); + SPU_writeRegister(add + 2, value>>16, psxRegs.cycle); return; } diff --git a/libpcsxcore/spu.c b/libpcsxcore/spu.c index f23051e..90d2f4d 100644 --- a/libpcsxcore/spu.c +++ b/libpcsxcore/spu.c @@ -36,5 +36,5 @@ void CALLBACK SPUschedule(unsigned int cycles_after) { } void spuUpdate() { - SPU_async(psxRegs.cycle); + SPU_async(psxRegs.cycle, 0); } |