diff options
Diffstat (limited to 'plugins/dfsound/dma.c')
-rw-r--r-- | plugins/dfsound/dma.c | 10 |
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)
{
|