Quote:
I'll bet you're glad you asked now, eh?
Indeed I am. In particular, seeing things like these:
((emphasis added is mine))
Quote:
Like a cpu instruction missing in one core but not another but a game relying on the behavior of the missing instruction. So many things ended up with switchs and jump tables. For something that would be a simple derivation in C++. It got better with sharing. But I still see blog posts where 'merged code and used newer implementation xyz number of bugs fixed'. That is just one symptom of the problem of sticking to C dogmatically. Another one was having to retrofit savestates into all of the drivers. Where it could in theory be inherited into everything.
Quote:
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).
If only this kind of infrastructure existed within the collective unconscious of humanity.....
Consider it high comedy....sincere tragedy....whatever...don't take it personally.
The Culture
|