> So let me get this straight. The Mamedevs changed the core of MAME from C to C++ just > to make it easier to read?
And also to make it easier to write, maintain, and share. Subclassing a device was a few dozen lines of switch statements with impenetrable macros before, and there were arcane rules where a CPU couldn't also do audio I/O, even though many games use DSPs that do just that. Now it's simpler, cleaner, more flexible, and everything works exactly like your CS professor (hopefully) taught you.
People complain that (for instance) working on driver A can instigate core tampering that hurts driver B. That's no longer possible - the core protect: and private:s its implementation details now, so the compiler won't let you touch them.
> Your (unreferenced) benchmarks says that the core speed was the same.....
Go to John IV's benchmarks page. The relevant one is 0.128 vs 0.128u4. (The ST-V result there was because of a bug that's since been fixed; everything else is in the statistical noise).
> Why waste all that time and effort to fix something that wasn't broke? Just to make > it easier on the eye?
Let me put this in a way even the "but it doesn't improve the emulation" crowd can understand: the C++ conversion made it immediately possible to bring in classes from pSX, which greatly improved PSX emulation on both the MAME and MESS sides. Similarly we've brought in pieces of bsnes and improved both MAME and MESS (one of the NEC DSPs was also used in arcade games). And I have the (C++) source for ElSemi's Model 2 emulator. Guess what will happen to the quality of MAME's emulation when I drop that in?