irixxxx / picodrive

Fast MegaDrive/MegaCD/32X emulator
Other
52 stars 24 forks source link

Fix PCM samples interrupting BGM in various BMB games #96

Closed techmetx11 closed 11 months ago

techmetx11 commented 1 year ago

BMB games play PCM samples with the MVSTracker Z80 driver and play BGM with the TFM Music Maker 68k driver if the first music group is selected (if the second is selected, it'll play both BGM and PCM samples using the MVSTracker Z80 driver)

This causes an issue if the game decides to play a sample, since it'll release the bus after playing the sample, causing the 68k driver to lose access to the YM2612.

The developers were most likely not aware of this bug, because they tested the game with inaccurate emulators back then (Kega Fusion/DGEN does not emulate the 68k losing access to the Z80 bus after releasing the bus)

irixxxx commented 1 year ago

I reckon this isn't working on real hardware as well?

techmetx11 commented 1 year ago

I reckon this isn't working on real hardware as well?

Yes, This only works on inaccurate emulators

techmetx11 commented 1 year ago

Note that I've only listed the games that use PCM samples for some of their SFXs (if there's a few missing, please add them) Otherwise, all of their games use PSG SFXs (driven by the 68k) that doesn't affect the sound drivers