deco16 games speed fix

This commit is contained in:
dinkc64 2014-05-26 06:27:44 +00:00
parent 28789c00e8
commit 97edd16806
8 changed files with 22 additions and 22 deletions

View File

@ -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;

View File

@ -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]);
}
}

View File

@ -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]);
}
}

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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]);
}
}