Skip to content

Initial BSMT2000 implementation for libvgm.#140

Merged
ValleyBell merged 11 commits intoValleyBell:masterfrom
RAintN22:bsmt2000
Nov 26, 2025
Merged

Initial BSMT2000 implementation for libvgm.#140
ValleyBell merged 11 commits intoValleyBell:masterfrom
RAintN22:bsmt2000

Conversation

@RAintN22
Copy link
Contributor

Contributors: Mao, cam900

This chip stands for "Brian Schmidt's Mouse Trap", is used for various pinball and video games such as Battletoads, Tattoo Assassins, etc.. and ticket games. The chip is basically a special masked-ROM version of a Texas Instruments TMS320C15 digital signal processor.

@toxieainc
Copy link

Hi! Small comment: The interpolation for PCM voices is AFAIR not there in the original hardware. From my testing back some years ago with PinMAME, one can also hear this in some samples (e.g. during the bonus count on the TFTC pinball), as apparently the sound designers relied on this behavior in some (rare) cases.

@ValleyBell
Copy link
Owner

Please fix the merge conflicts.

@cam900
Copy link
Contributor

cam900 commented Nov 18, 2025

Yet Another comment: It has part of PinMAME source code, and its license is here. Its license is possibly conflict with GPLv2.0+?

@toxieainc
Copy link

Yes, unfortunately this is one of the files that is still under the 'old MAME' license, as we did not reach out to Aaron Giles yet on that one.
The changes we (as the PinMAME team) did after his initial implementation should be considered BSD3 though.

@toxieainc
Copy link

In general i wonder what the exact improvements are in this implementation variant here, over the one we have in PinMAME (just out of interest, no criticism). As mentioned above, one problem in this one here is IMHO the interpolation, as we had something similar implemented initially, but at least one pinball machine (Tales from the Crypt) relies on the samples being played back via nearest neighbor though, as otherwise some sound effects are sounding completely off. There might be more machines, on that one it is super obvious to hear though.

@cam900
Copy link
Contributor

cam900 commented Nov 21, 2025

In general i wonder what the exact improvements are in this implementation variant here, over the one we have in PinMAME (just out of interest, no criticism). As mentioned above, one problem in this one here is IMHO the interpolation, as we had something similar implemented initially, but at least one pinball machine (Tales from the Crypt) relies on the samples being played back via nearest neighbor though, as otherwise some sound effects are sounding completely off. There might be more machines, on that one it is super obvious to hear though.

Contributor decided to interpolation always enabled, and extends interpolate fraction to 16 bit in BSMT2000 HLE core at this PR.

@ValleyBell ValleyBell merged commit d361f93 into ValleyBell:master Nov 26, 2025
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants