fix sf2b sound
This commit is contained in:
parent
d3a582bc2f
commit
c13ef4a33f
|
@ -18008,7 +18008,7 @@ struct BurnDriver BurnDrvCpsSf2thndr = {
|
||||||
|
|
||||||
struct BurnDriver BurnDrvCpsSf2b = {
|
struct BurnDriver BurnDrvCpsSf2b = {
|
||||||
"sf2b", "sf2", NULL, NULL, "1992",
|
"sf2b", "sf2", NULL, NULL, "1992",
|
||||||
"Street Fighter II - The World Warrior (bootleg, 910214 etc, set 1)\0", "row scroll issues and missing sounds", "bootleg", "CPS1",
|
"Street Fighter II - The World Warrior (bootleg, 910214 etc, set 1 (with YM2151 + 2xMSM5205))\0", "row scroll issues", "bootleg", "CPS1",
|
||||||
NULL, NULL, NULL, NULL,
|
NULL, NULL, NULL, NULL,
|
||||||
BDF_GAME_WORKING | BDF_CLONE | BDF_BOOTLEG, 2, HARDWARE_CAPCOM_CPS1, GBF_VSFIGHT, FBF_SF,
|
BDF_GAME_WORKING | BDF_CLONE | BDF_BOOTLEG, 2, HARDWARE_CAPCOM_CPS1, GBF_VSFIGHT, FBF_SF,
|
||||||
NULL, Sf2bRomInfo, Sf2bRomName, NULL, NULL, Sf2InputInfo, Sf2DIPInfo,
|
NULL, Sf2bRomInfo, Sf2bRomName, NULL, NULL, Sf2InputInfo, Sf2DIPInfo,
|
||||||
|
|
|
@ -21,6 +21,8 @@ void FcrashSoundCommand(UINT16 d)
|
||||||
{
|
{
|
||||||
INT32 nCyclesToDo = ((INT64)SekTotalCycles() * nCpsZ80Cycles / nCpsCycles) - ZetTotalCycles();
|
INT32 nCyclesToDo = ((INT64)SekTotalCycles() * nCpsZ80Cycles / nCpsCycles) - ZetTotalCycles();
|
||||||
INT32 nEnd = FcrashSoundPos + (INT64)FcrashMSM5205Interleave * nCyclesToDo / nCpsZ80Cycles;
|
INT32 nEnd = FcrashSoundPos + (INT64)FcrashMSM5205Interleave * nCyclesToDo / nCpsZ80Cycles;
|
||||||
|
|
||||||
|
if (nEnd == FcrashSoundPos) nEnd += 1;
|
||||||
|
|
||||||
for (INT32 i = FcrashSoundPos; i < nEnd; i++) {
|
for (INT32 i = FcrashSoundPos; i < nEnd; i++) {
|
||||||
BurnTimerUpdate((i + 1) * FcrashCyclesPerSegment);
|
BurnTimerUpdate((i + 1) * FcrashCyclesPerSegment);
|
||||||
|
|
|
@ -23,6 +23,8 @@ void Sf2mdtSoundCommand(UINT16 d)
|
||||||
INT32 nCyclesToDo = ((INT64)SekTotalCycles() * nCpsZ80Cycles / nCpsCycles) - ZetTotalCycles();
|
INT32 nCyclesToDo = ((INT64)SekTotalCycles() * nCpsZ80Cycles / nCpsCycles) - ZetTotalCycles();
|
||||||
INT32 nEnd = Sf2mdtSoundPos + (INT64)Sf2mdtMSM5205Interleave * nCyclesToDo / nCpsZ80Cycles;
|
INT32 nEnd = Sf2mdtSoundPos + (INT64)Sf2mdtMSM5205Interleave * nCyclesToDo / nCpsZ80Cycles;
|
||||||
|
|
||||||
|
if (nEnd == Sf2mdtSoundPos) nEnd += 1;
|
||||||
|
|
||||||
for (INT32 i = Sf2mdtSoundPos; i < nEnd; i++) {
|
for (INT32 i = Sf2mdtSoundPos; i < nEnd; i++) {
|
||||||
ZetRun(Sf2mdtCyclesPerSegment);
|
ZetRun(Sf2mdtCyclesPerSegment);
|
||||||
MSM5205Update();
|
MSM5205Update();
|
||||||
|
|
Loading…
Reference in New Issue