aboutsummaryrefslogtreecommitdiff
path: root/libpcsxcore
diff options
context:
space:
mode:
Diffstat (limited to 'libpcsxcore')
-rw-r--r--libpcsxcore/misc.c6
-rw-r--r--libpcsxcore/new_dynarec/pcsxmem.c6
-rw-r--r--libpcsxcore/plugins.h10
-rw-r--r--libpcsxcore/psxcounters.c2
-rw-r--r--libpcsxcore/psxdma.c4
-rw-r--r--libpcsxcore/psxhw.c6
-rw-r--r--libpcsxcore/spu.c2
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);
}