aboutsummaryrefslogtreecommitdiff
path: root/plugins/dfsound/dma.c
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/dfsound/dma.c')
-rw-r--r--plugins/dfsound/dma.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/plugins/dfsound/dma.c b/plugins/dfsound/dma.c
index 7c164ac..85b746c 100644
--- a/plugins/dfsound/dma.c
+++ b/plugins/dfsound/dma.c
@@ -38,10 +38,13 @@ unsigned short CALLBACK SPUreadDMA(void)
// READ DMA (many values)
////////////////////////////////////////////////////////////////////////
-void CALLBACK SPUreadDMAMem(unsigned short * pusPSXMem,int iSize)
+void CALLBACK SPUreadDMAMem(unsigned short *pusPSXMem, int iSize,
+ unsigned int cycles)
{
int i;
+ do_samples_if_needed(cycles);
+
for(i=0;i<iSize;i++)
{
*pusPSXMem++=spuMem[spuAddr>>1]; // spu addr got by writeregister
@@ -74,11 +77,12 @@ void CALLBACK SPUwriteDMA(unsigned short val)
// WRITE DMA (many values)
////////////////////////////////////////////////////////////////////////
-void CALLBACK SPUwriteDMAMem(unsigned short * pusPSXMem,int iSize)
+void CALLBACK SPUwriteDMAMem(unsigned short *pusPSXMem, int iSize,
+ unsigned int cycles)
{
int i;
- had_dma = 1;
+ do_samples_if_needed(cycles);
if(spuAddr + iSize*2 < 0x80000)
{