I know that they claim the purpose of Mame is to archive the original software for the future, <snip>
Um... apparently it's actually:
MAME is strictly a non-profit project. Its main purpose is to be a reference to the inner workings of the emulated arcade machines.
Unless I'm misinterpreting this incorrectly, MAME's stated goal isn't to archive the original
software it's supposedly to document the original
hardware.
By this, it is taken that by leveraging hardware acceleration or by splitting the code to run on SMP or some variant (for those that didn't leverage multiple CPU's in the first place) diverges from their stated goal. On this note, I asked the exact same question as Fozzy. For people who already own Voodoo cards (like myself) why not leverage them if they are the same GPU's used in the arcades? The answer that came back, after a lot of argument, is that doing so
isn't emulating the hardware in question. Yes it would work, but it isn't, "referencing," the hardware. And when that hardware dies, which it is bound to do, then the Devs are right back at square one again.
Personally, I feel that their idea of "referencing" the inner workings of emulated machines isn't exactly strictly kosher. For instance, as a direct tool for the repair and upkeep of arcade machines, I feel that MAME doesn't exactly qualify as a reference source. Yes, I'm aware that a lot of people leverage ROM's and CHD's to fix damaged software in the main systems, but that's an indirect side effect of MAME. You're not actually using MAME to fix the cabinet. Come to think of it, I have never heard of anyone actually downloading and examining the MAME code to figure out how to repair or replace some esoteric IC or component on an arcade PCB. For that, people either already know or they leverage some other reference source. Then there's the more esoteric hardware that MAME seems to have a lot of trouble deciding what to do with, such as force feedback. At a very minimum, MAME should be doing something consistent with the force feedback signals and others (the keyboard LED hack is a ---smurfing--- joke) without forcing everyone to apply a patch and recompile so people like Randy, Andy, and the guy reverse engineering the Star Wars yoke can offer working hardware to us.
What about when some of the more recent games hit the market? How could MAME ever hope to properly emulate games like
Police 911 (aka Police 24/7)? WTF are they going to do? Assign body movements to keys so people can use their DDR pads for motion? That would be an insult.
While I agree with Fozzy on this, I'm not sure leveraging 3D cards is quite the right solution at this point. I'm more interested in better leveraging of the multiple core CPU's we're seeing or breaking MAME apart into a core engine with a grouped packages that specifically focus on radically different requirements of the hardware they're emulating. For instance, why bloat the core MAME code to support multi-threading that's bound to be required for modern games leveraging multiple CPU's when what Pac-Man really needs is a color fix? By diverging MAME into distinct groups, that would allow Devs to extend MAME in directions they otherwise couldn't go.