From 97edd1680677719f55830b0e5e092d6074388a87 Mon Sep 17 00:00:00 2001 From: dinkc64 <12570148+dinkc64@users.noreply.github.com> Date: Mon, 26 May 2014 06:27:44 +0000 Subject: [PATCH] deco16 games speed fix --- src/burn/drv/dataeast/d_boogwing.cpp | 4 ++-- src/burn/drv/dataeast/d_cbuster.cpp | 8 ++++---- src/burn/drv/dataeast/d_darkseal.cpp | 8 ++++---- src/burn/drv/dataeast/d_funkyjet.cpp | 4 ++-- src/burn/drv/dataeast/d_rohga.cpp | 4 ++-- src/burn/drv/dataeast/d_supbtime.cpp | 4 ++-- src/burn/drv/dataeast/d_tumblep.cpp | 4 ++-- src/burn/drv/dataeast/d_vaportra.cpp | 8 ++++---- 8 files changed, 22 insertions(+), 22 deletions(-) diff --git a/src/burn/drv/dataeast/d_boogwing.cpp b/src/burn/drv/dataeast/d_boogwing.cpp index 32044ab54..b3ef512d9 100644 --- a/src/burn/drv/dataeast/d_boogwing.cpp +++ b/src/burn/drv/dataeast/d_boogwing.cpp @@ -708,7 +708,7 @@ static INT32 DrvFrame() } } - INT32 nInterleave = 256; + INT32 nInterleave = 232; INT32 nSoundBufferPos = 0; INT32 nCyclesTotal[2] = { 14000000 / 58, 8055000 / 58 }; INT32 nCyclesDone[2] = { 0, 0 }; @@ -723,7 +723,7 @@ static INT32 DrvFrame() nCyclesDone[0] += SekRun(nCyclesTotal[0] / nInterleave); nCyclesDone[1] += h6280Run(nCyclesTotal[1] / nInterleave); - if (i == 248) deco16_vblank = 0x08; + if (i == 206) deco16_vblank = 0x08; if (pBurnSoundOut) { INT32 nSegmentLength = nBurnSoundLen / nInterleave; diff --git a/src/burn/drv/dataeast/d_cbuster.cpp b/src/burn/drv/dataeast/d_cbuster.cpp index c2ffa0614..9ead09d71 100644 --- a/src/burn/drv/dataeast/d_cbuster.cpp +++ b/src/burn/drv/dataeast/d_cbuster.cpp @@ -600,7 +600,7 @@ static INT32 DrvFrame() } } - INT32 nInterleave = 256; + INT32 nInterleave = 232; INT32 nSoundBufferPos = 0; INT32 nCyclesTotal[2] = { 12000000 / 58, 8055000 / 58 }; INT32 nCyclesDone[2] = { 0, 0 }; @@ -617,7 +617,7 @@ static INT32 DrvFrame() nCyclesDone[0] += SekRun(nCyclesTotal[0] / nInterleave); nCyclesDone[1] += h6280Run(nCyclesTotal[1] / nInterleave); - if (i == 240) deco16_vblank = 0x08; + if (i == 206) deco16_vblank = 0x08; INT32 nSegmentLength = nBurnSoundLen / nInterleave; INT16* pSoundBuf = SoundBuffer + (nSoundBufferPos << 1); @@ -639,8 +639,8 @@ static INT32 DrvFrame() } for (INT32 i = 0; i < nBurnSoundLen; i++) { - pBurnSoundOut[(i << 1) + 0] += SoundBuffer[(i << 1) + 0]; - pBurnSoundOut[(i << 1) + 1] += SoundBuffer[(i << 1) + 1]; + pBurnSoundOut[(i << 1) + 0] = BURN_SND_CLIP(pBurnSoundOut[(i << 1) + 0] + SoundBuffer[(i << 1) + 0]); + pBurnSoundOut[(i << 1) + 1] = BURN_SND_CLIP(pBurnSoundOut[(i << 1) + 1] + SoundBuffer[(i << 1) + 1]); } } diff --git a/src/burn/drv/dataeast/d_darkseal.cpp b/src/burn/drv/dataeast/d_darkseal.cpp index 267757202..56fbb3330 100644 --- a/src/burn/drv/dataeast/d_darkseal.cpp +++ b/src/burn/drv/dataeast/d_darkseal.cpp @@ -636,7 +636,7 @@ static INT32 DrvFrame() } } - INT32 nInterleave = 256; + INT32 nInterleave = 232; INT32 nSoundBufferPos = 0; INT32 nCyclesTotal[2] = { 12000000 / 58, 8055000 / 58 }; INT32 nCyclesDone[2] = { 0, 0 }; @@ -654,7 +654,7 @@ static INT32 DrvFrame() nCyclesDone[1] += h6280Run(nCyclesTotal[1] / nInterleave); if (i == 7) vblank = 0; - if (i == 247) vblank = 8; + if (i == 206) vblank = 8; INT32 nSegmentLength = nBurnSoundLen / nInterleave; INT16* pSoundBuf = SoundBuffer + (nSoundBufferPos << 1); @@ -676,8 +676,8 @@ static INT32 DrvFrame() } for (INT32 i = 0; i < nBurnSoundLen; i++) { - pBurnSoundOut[(i << 1) + 0] += SoundBuffer[(i << 1) + 0]; - pBurnSoundOut[(i << 1) + 1] += SoundBuffer[(i << 1) + 1]; + pBurnSoundOut[(i << 1) + 0] = BURN_SND_CLIP(pBurnSoundOut[(i << 1) + 0] + SoundBuffer[(i << 1) + 0]); + pBurnSoundOut[(i << 1) + 1] = BURN_SND_CLIP(pBurnSoundOut[(i << 1) + 1] + SoundBuffer[(i << 1) + 1]); } } diff --git a/src/burn/drv/dataeast/d_funkyjet.cpp b/src/burn/drv/dataeast/d_funkyjet.cpp index a811a5729..c09e7697a 100644 --- a/src/burn/drv/dataeast/d_funkyjet.cpp +++ b/src/burn/drv/dataeast/d_funkyjet.cpp @@ -559,7 +559,7 @@ static INT32 DrvFrame() DrvInputs[2] = (DrvDips[1] << 8) | (DrvDips[0] << 0); } - INT32 nInterleave = 256; + INT32 nInterleave = 232; INT32 nSoundBufferPos = 0; INT32 nCyclesTotal[2] = { 14000000 / 58, 8055000 / 58 }; INT32 nCyclesDone[2] = { 0, 0 }; @@ -576,7 +576,7 @@ static INT32 DrvFrame() nCyclesDone[0] += SekRun(nCyclesTotal[0] / nInterleave); nCyclesDone[1] += h6280Run(nCyclesTotal[1] / nInterleave); - if (i == 248) deco16_vblank = 0x08; + if (i == 206) deco16_vblank = 0x08; if (pBurnSoundOut) { INT32 nSegmentLength = nBurnSoundLen / nInterleave; diff --git a/src/burn/drv/dataeast/d_rohga.cpp b/src/burn/drv/dataeast/d_rohga.cpp index 061303968..f48dc3ae5 100644 --- a/src/burn/drv/dataeast/d_rohga.cpp +++ b/src/burn/drv/dataeast/d_rohga.cpp @@ -1610,7 +1610,7 @@ static INT32 DrvFrame() DrvInputs[2] = (DrvDips[1] << 8) | (DrvDips[0] << 0); } - INT32 nInterleave = 256; + INT32 nInterleave = 232; INT32 nSoundBufferPos = 0; INT32 nCyclesTotal[2] = { 14000000 / 58, 2685000 / 58 }; INT32 nCyclesDone[2] = { 0, 0 }; @@ -1627,7 +1627,7 @@ static INT32 DrvFrame() nCyclesDone[0] += SekRun(nCyclesTotal[0] / nInterleave); nCyclesDone[1] += h6280Run(nCyclesTotal[1] / nInterleave); - if (i == 240) deco16_vblank = 0x08; + if (i == 206) deco16_vblank = 0x08; if (pBurnSoundOut) { INT32 nSegmentLength = nBurnSoundLen / nInterleave; diff --git a/src/burn/drv/dataeast/d_supbtime.cpp b/src/burn/drv/dataeast/d_supbtime.cpp index d0de5fda8..484c4adcd 100644 --- a/src/burn/drv/dataeast/d_supbtime.cpp +++ b/src/burn/drv/dataeast/d_supbtime.cpp @@ -482,7 +482,7 @@ static INT32 DrvFrame() } } - INT32 nInterleave = 256; + INT32 nInterleave = 232; INT32 nSoundBufferPos = 0; INT32 nCyclesTotal[2] = { 14000000 / 58, 4027500 / 58 }; INT32 nCyclesDone[2] = { 0, 0 }; @@ -499,7 +499,7 @@ static INT32 DrvFrame() nCyclesDone[0] += SekRun(nCyclesTotal[0] / nInterleave); nCyclesDone[1] += h6280Run(nCyclesTotal[1] / nInterleave); - if (i == 240) deco16_vblank = 0x08; + if (i == 206) deco16_vblank = 0x08; if (pBurnSoundOut) { INT32 nSegmentLength = nBurnSoundLen / nInterleave; diff --git a/src/burn/drv/dataeast/d_tumblep.cpp b/src/burn/drv/dataeast/d_tumblep.cpp index d08529d75..b39cb0381 100644 --- a/src/burn/drv/dataeast/d_tumblep.cpp +++ b/src/burn/drv/dataeast/d_tumblep.cpp @@ -443,7 +443,7 @@ static INT32 DrvFrame() } } - INT32 nInterleave = 256; + INT32 nInterleave = 232; INT32 nSoundBufferPos = 0; INT32 nCyclesTotal[2] = { 14000000 / 58, 4027500 / 58 }; INT32 nCyclesDone[2] = { 0, 0 }; @@ -458,7 +458,7 @@ static INT32 DrvFrame() nCyclesDone[0] += SekRun(nCyclesTotal[0] / nInterleave); nCyclesDone[1] += h6280Run(nCyclesTotal[1] / nInterleave); - if (i == 240) deco16_vblank = 0x08; + if (i == 206) deco16_vblank = 0x08; if (pBurnSoundOut) { INT32 nSegmentLength = nBurnSoundLen / nInterleave; diff --git a/src/burn/drv/dataeast/d_vaportra.cpp b/src/burn/drv/dataeast/d_vaportra.cpp index 36014423f..553a03a74 100644 --- a/src/burn/drv/dataeast/d_vaportra.cpp +++ b/src/burn/drv/dataeast/d_vaportra.cpp @@ -537,7 +537,7 @@ static INT32 DrvFrame() } } - INT32 nInterleave = 256; + INT32 nInterleave = 232; INT32 nSoundBufferPos = 0; INT32 nCyclesTotal[2] = { 12000000 / 58, 8055000 / 58 }; INT32 nCyclesDone[2] = { 0, 0 }; @@ -554,7 +554,7 @@ static INT32 DrvFrame() nCyclesDone[0] += SekRun(nCyclesTotal[0] / nInterleave); nCyclesDone[1] += h6280Run(nCyclesTotal[1] / nInterleave); - if (i == 248) deco16_vblank = 0x08; + if (i == 206) deco16_vblank = 0x08; INT32 nSegmentLength = nBurnSoundLen / nInterleave; INT16* pSoundBuf = SoundBuffer + (nSoundBufferPos << 1); @@ -577,8 +577,8 @@ static INT32 DrvFrame() } for (INT32 i = 0; i < nBurnSoundLen; i++) { - pBurnSoundOut[(i << 1) + 0] += SoundBuffer[(i << 1) + 0]; - pBurnSoundOut[(i << 1) + 1] += SoundBuffer[(i << 1) + 1]; + pBurnSoundOut[(i << 1) + 0] = BURN_SND_CLIP(pBurnSoundOut[(i << 1) + 0] + SoundBuffer[(i << 1) + 0]); + pBurnSoundOut[(i << 1) + 1] = BURN_SND_CLIP(pBurnSoundOut[(i << 1) + 1] + SoundBuffer[(i << 1) + 1]); } }