spu: rework synchronization
[pcsx_rearmed.git] / plugins / dfsound / dma.c
index 7c164ac..85b746c 100644 (file)
@@ -38,10 +38,13 @@ unsigned short CALLBACK SPUreadDMA(void)
 // READ DMA (many values)\r
 ////////////////////////////////////////////////////////////////////////\r
 \r
-void CALLBACK SPUreadDMAMem(unsigned short * pusPSXMem,int iSize)\r
+void CALLBACK SPUreadDMAMem(unsigned short *pusPSXMem, int iSize,\r
+ unsigned int cycles)\r
 {\r
  int i;\r
 \r
+ do_samples_if_needed(cycles);\r
+\r
  for(i=0;i<iSize;i++)\r
   {\r
    *pusPSXMem++=spuMem[spuAddr>>1];                    // spu addr got by writeregister\r
@@ -74,11 +77,12 @@ void CALLBACK SPUwriteDMA(unsigned short val)
 // WRITE DMA (many values)\r
 ////////////////////////////////////////////////////////////////////////\r
 \r
-void CALLBACK SPUwriteDMAMem(unsigned short * pusPSXMem,int iSize)\r
+void CALLBACK SPUwriteDMAMem(unsigned short *pusPSXMem, int iSize,\r
+ unsigned int cycles)\r
 {\r
  int i;\r
  \r
had_dma = 1;\r
do_samples_if_needed(cycles);\r
 \r
  if(spuAddr + iSize*2 < 0x80000)\r
   {\r