> > What really amazes me that some devs (like MooglyGuy and Haze for example) are not > > only very skilled in programming, but also in making great write-ups of what they > do. > > MooglyGuy's blog was a great read! > > Yes, I've seen them downplay how complicated MAME is, but you won't find any dummies > among them.
As a whole, MAME is complicated. For a specific driver, it tends not to be.
Even as a developer, a lot of the MAME core can be thought of as a library, where you don't need to care so much about the wild complexity under the hood, you just need to care about how to talk to it.
Beyond that, what looks complicated based on the end result might not be so complicated in terms of getting that end result. With Polygonet, it was tedious in the extreme to track down the broken DSP opcodes - and there's still at least one lurking that I need to dig into at some point this week - but there was nothing fiendishly complex about it. Even Konami's hardware to fill in the polygons themselves was so simplistic that there wasn't any mystery to it.
By comparison, the past few days I've been working to improve MAME's emulation of the Fairlight CMI IIx synthesizer. Nothing in the way of fancy 3D graphics to be had here, but compared to how it went with Polygonet, I'd be having a more fun time if I'd spent the past few days repeatedly slamming my dick in a car door. The underlying hardware is exceedingly complex, but once my understanding of it is sufficient to know where MAME is going wrong, it shouldn't be so much of an issue to fix it up in MAME.
And that's part of the problem, really: What looks complicated might not be, what doesn't seem complicated might instead be misery, but it always comes down to the hardware itself being complex or not. It's rarely ever MAME itself actively standing in the way of getting something up and running.
|