> What does this mean, in technical terms?
It's dogma uber alles. I've actually written CPU, sound, and general device cores under each of MAME's major stages of development and it has *never* been cleaner, easier, or more elegant than it is now. Abolishing fixed device types ("CPU", "sound", "video", "general") in favor of being able to inherit the precise fine-grained capabilities you need from a set of base classes is something like a fucking revolution, and makes it far, far easier to write and maintain devices. (It also makes them easier to use outside of MAME because you know exactly what the interface contract is and everything else is private).
Elsewhere on that thread someone complains that most of the devices are still old-style C with a wrapper class around them. True. But converting them is exactly the sort of no-experience-necessary work that someone who knows some C++ and wants to break into emulation could really crank on with minimal guidance from the existing devs. I converted the Namco C352 for 0.143 in about an hour start to finish, for example, and I'd never done that type of conversion before.
Oh, and if he's getting the vapors over C99, he'd probably pop a vein looking at bsnes - byuu's fully embraced C++0x including lambda expressions, and it's made bsnes actually a few ticks faster in addition to easier to maintain.
|