The easiest, and not completely accurate way to describe the issue is 'timing'. You have to understand a bit about how emulation works for this to make sense, so I'm going to summarize.
MAME is, at its core, a set of chip emulations. Each individual hardware driver uses MAME's internal structure code to tie these individual pieces together-- it's this glue holding the pieces together that allows the chips to communicate and for the full emulation to come together. Additionally, this internal structure determines how many times a second each core should be run, direct synchronization between components, and so forth. MESS uses the internal MAME structure.
BSNES is, at its core, a set of chip emulations centered on the SNES and necessary coprocessors. It uses the BSNES internal structure code to tie these pieces together, and this glue is *completely* different from how MAME handles it-- this includes how individual chunks are called on a however-many-times-per-second basis.
If you tried to insert BSNES into MESS as it stands, it'd be shoving square pegs into round holes. To get even the most basic parts to work, you'd have to write shim code to interpret between how MAME drivers and BSNES functions internally (and this likely wouldn't work very well at all!)
This would ALSO be a huge waste of time, because the whole point of MESS is to leverage the existing structures of MAME. Attempting to rewrite the structure to make BSNES code work in MESS would essentially be the same as either rewriting BSNES or rewriting the MESS SNES cores.
On the other hand, someone HAS done what you speak of: Mednafen. Mednafen consists of a baseline frontend (mostly commandline) with a bunch of rewritten emulator cores that use pretty much no shared code between them. In other words, fixes to one part of Mednafen's emulation (say SNES) would have no impact on Gameboy, NES, or any other emulator, because each emulator is self-contained outside of the basic shared front-end.
In the case of MESS and MAME, if an improvement is done to Z80 handling, every last driver in BOTH MESS and MAME would see the results immediately as a result of the shared infrastructure across devices.
---
Try checking the MAME manual at http://docs.mamedev.org
|