From c13ef4a33f82c6dd17b0d8596dbb4fb832c7ae4d Mon Sep 17 00:00:00 2001 From: Barry Harris <44396066+barry65536@users.noreply.github.com> Date: Sun, 19 Oct 2014 20:36:49 +0000 Subject: [PATCH] fix sf2b sound --- src/burn/drv/capcom/d_cps1.cpp | 2 +- src/burn/drv/capcom/fcrash_snd.cpp | 2 ++ src/burn/drv/capcom/sf2mdt_snd.cpp | 2 ++ 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/burn/drv/capcom/d_cps1.cpp b/src/burn/drv/capcom/d_cps1.cpp index 1afa9b0bc..a33fad9ef 100644 --- a/src/burn/drv/capcom/d_cps1.cpp +++ b/src/burn/drv/capcom/d_cps1.cpp @@ -18008,7 +18008,7 @@ struct BurnDriver BurnDrvCpsSf2thndr = { struct BurnDriver BurnDrvCpsSf2b = { "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, BDF_GAME_WORKING | BDF_CLONE | BDF_BOOTLEG, 2, HARDWARE_CAPCOM_CPS1, GBF_VSFIGHT, FBF_SF, NULL, Sf2bRomInfo, Sf2bRomName, NULL, NULL, Sf2InputInfo, Sf2DIPInfo, diff --git a/src/burn/drv/capcom/fcrash_snd.cpp b/src/burn/drv/capcom/fcrash_snd.cpp index e04ba7ef6..a8194a754 100644 --- a/src/burn/drv/capcom/fcrash_snd.cpp +++ b/src/burn/drv/capcom/fcrash_snd.cpp @@ -21,6 +21,8 @@ void FcrashSoundCommand(UINT16 d) { INT32 nCyclesToDo = ((INT64)SekTotalCycles() * nCpsZ80Cycles / nCpsCycles) - ZetTotalCycles(); INT32 nEnd = FcrashSoundPos + (INT64)FcrashMSM5205Interleave * nCyclesToDo / nCpsZ80Cycles; + + if (nEnd == FcrashSoundPos) nEnd += 1; for (INT32 i = FcrashSoundPos; i < nEnd; i++) { BurnTimerUpdate((i + 1) * FcrashCyclesPerSegment); diff --git a/src/burn/drv/capcom/sf2mdt_snd.cpp b/src/burn/drv/capcom/sf2mdt_snd.cpp index 911eee119..bb02541a9 100644 --- a/src/burn/drv/capcom/sf2mdt_snd.cpp +++ b/src/burn/drv/capcom/sf2mdt_snd.cpp @@ -23,6 +23,8 @@ void Sf2mdtSoundCommand(UINT16 d) INT32 nCyclesToDo = ((INT64)SekTotalCycles() * nCpsZ80Cycles / nCpsCycles) - ZetTotalCycles(); INT32 nEnd = Sf2mdtSoundPos + (INT64)Sf2mdtMSM5205Interleave * nCyclesToDo / nCpsZ80Cycles; + if (nEnd == Sf2mdtSoundPos) nEnd += 1; + for (INT32 i = Sf2mdtSoundPos; i < nEnd; i++) { ZetRun(Sf2mdtCyclesPerSegment); MSM5205Update();