> Okay, so I'm not sure if this is even possible, and I know I'm going to get some
> grief BUT, a few games that used to work just fine have got broken at various stages
> without anyone realizing this. I have reported these.
> I'm thinking Frogger, Moon Cresta for certain and possibly others we don't know
> about. I understand perfectly the reason for using a single driver for many games -
> it makes changes affecting several games easier to make - BUT, it can also
> (potentially) break games that used to work.
> For example:
> Moon Cresta used to work on at least 0.34 (fine on my Sony PSP vs. actual arcade. The
> attract mode matches perfectly).
> Frogger in 0.34 again was fine (the blue on attract mode and on game screen was
> broken. This has now been fixed although the garbage present on Frogger startup
> arcade is still not there).
> Making drivers a (little) more independent would stop this at the expense of effort
> if a change occurred that affected all of them.
> And, once these game-specific drivers have been tested it reduces the risk of
> breaking them in the future -
> especially without people knowing about them.
> Just a thought, that's all. Like I say, not sure if this is even practical so don't
> give me a hard time Just want to make sure these wonderful games play just like the
that goes completely against the philosophy of MAME.
code duplication is bad, making the drivers independent like that would mean massive amounts of code duplication, we're working on the opposite of that.
the goal is to have components that are accurately emulated, so you only need 1 copy of them, the whole idea is that if a change breaks something elsewhere it's probably not actually a 100% correct change, ie an evidence based system. split things up and you entirely lose that evidence.
unfortunately the model you suggest has gained traction elsewhere, but it's counter-productive and an *awful* unmaintainable long-term strategy that produces terrible code that only works for specific situations.
remember, this isn't about playing the games, it's about developing accurate emulation of the hardware components on which they ran. (it seems no matter how often this is repeated people still refuse to believe it, even if things like this should serve as proof)
Apparently it didn't actually work correctly in 0.36 anyway, it was just broken in different ways