diff --git a/src/burn/drv/konami/d_surpratk.cpp b/src/burn/drv/konami/d_surpratk.cpp index d19424c4f..ee6f47eb9 100644 --- a/src/burn/drv/konami/d_surpratk.cpp +++ b/src/burn/drv/konami/d_surpratk.cpp @@ -457,7 +457,7 @@ static INT32 DrvFrame() } INT32 nSoundBufferPos = 0; - INT32 nInterleave = 10; + INT32 nInterleave = 256; INT32 nCyclesTotal = (((3000000 / 60) * 133) / 100); // 33% overclock INT32 nCyclesDone = 0; @@ -467,7 +467,11 @@ static INT32 DrvFrame() INT32 nSegment = (nCyclesTotal / nInterleave) * (i + 1); nCyclesDone += konamiRun(nSegment - nCyclesDone); - + + if (i == 235) { + if (K052109_irq_enabled) konamiSetIrqLine(KONAMI_IRQ_LINE, KONAMI_IRQSTATUS_AUTO); + } + if (pBurnSoundOut) { INT32 nSegmentLength = nBurnSoundLen / nInterleave; INT16* pSoundBuf = pBurnSoundOut + (nSoundBufferPos << 1); @@ -476,8 +480,6 @@ static INT32 DrvFrame() } } - if (K052109_irq_enabled) konamiSetIrqLine(KONAMI_IRQ_LINE, KONAMI_IRQSTATUS_AUTO); - if (pBurnSoundOut) { INT32 nSegmentLength = nBurnSoundLen - nSoundBufferPos; if (nSegmentLength) {