// 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
// 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