It always annoys me when I read people making claims that there are only a ‘handful’ of fixes in the newer MAME versions compared to those that people are running on awfully underpowered devices like the Raspberry Pi; versions so old you’ll be stretched to find any active developer who even considers them to be the same project as MAME anymore.
Most of those versions are based on versions somewhere between 15 and 20 years old, and it would be more accurate to say there have been a handful of fixes every single week since then, many graphical, many directly affecting how the games play. The recent work done on the emulation of various protection chips is a good example of where the older versions are going to have fundamental gameplay flaws, with Operation Wolf in 0.201 being the latest in a long line of example.
The Super Shanghai Dragons Eye fixes mentioned in a previous post are also an example of an improvement that might otherwise slipped under the radar, and the post before that about Chrono Soldier shows how documentation of what’s what in those older versions is wrong too, with them presenting what turned out to be a prototype as the final game.
It doesn’t stop there tho, Steel Force is a game I emulated for MAME 0.58, which was released on 05 Feb 2002. I was watching one of LordBBH’s MAME Roulette streams where he ended up playing the game and noticed that on one of the levels there was a priority bug. I hadn’t noticed this issue before, so I’d never considered fixing it. Having noticed it, I decided to take a look at making a few improvement to the driver, and ended up fixing the priority bug while also improving some scene transitions I noticed were faulty too.
It’s subtle, and a lot more obvious when in motion because they move at a different speed, but the screenshot on the left has some ugly ‘oil’ bubbles over the ground, which should be part of the background and hidden under the ground layer.
There are still potentially some alignment issues with the game, as a few scenes do still look a little rough at the edges of the screen, but such bugs are commonly found in games due to safe areas, overscan and the like. The ending text for example doesn’t quite fit with the current visible area / alignment. This may, or may not be a bug in the original game, it doesn’t look like a great deal of effort was put into this screen, the developers even managed to misspell the title of the game as ‘STEELF FORCE’ The problem is there are very few high quality original resources for these games to use as reference.
So, anyway should you want to experience this game without ugly scene transitions and without the priority bugs, 0.202 or higher is going to be required.
Other little changes have been made over the last week or so too. I emulated a game called Pitapat Puzzle (which I need to write about at some point) and that allowed me to fix some video banking issues in later levels of the ‘Die Break’ game in ‘Bestri’ which is actually one of the most genuinely enjoyable Korean breakout clones. The bonus stages take the form of a Space Invaders style round, and if the ‘Girls’ dipswitch is enabled, are meant to show some non-erotic artwork rather than the usual grassy fields etc. Not only was the banking incorrect, but the later graphic ROMs weren’t even being loaded correctly. This one has been incorrect since MAME 0.113u3 (22 March 2007) which is when it was first added, and I had no solution to the tile banking at the time.
Left is MAME 0.201 and below, right is what will be in MAME 0.202 and higher.
Anyway, there’s a common theme with these things. On the surface the games appeared to be just fine, you could fire them up, and play them, with no obvious issues in the first 10 minutes of play, but once you started to get a bit further into the games you’d encounter an increasing number of problems.
For Super Shanghai you’d have to complete a handful of stages to get to the glitched cutscenes and priorities, for Steel Force you’d have to complete a bunch of levels to get to the broken priorities, for Die Break (Bestri) you’d have to complete 9 stages to see the issue. For Chrono Soldier you’d have to know about the game, and complete at least 3 stages for it to become apparent that the old version is massively incomplete. For Operation Wolf you’d have to play the game, possibly even reach right before the final boss to see it glitch out (although if you were using anything more than a year old the problems were significantly worse)
These are all little changes from an end user point of view, but when you consider that (aside from Operation Wolf) they’re things that a single developer has fixed in the space of roughly a week then multiple that by the number of developers, then further multiple by the number of weeks old each MAME version is and you can see how quickly the number of bug fixes adds up, and how it’s far more than a just a handful. The older versions aren’t “good enough” they’re downright awful for any serious use.
I get the novelty value of running the ancient versions on old devices, I get that it’s ‘cheaper’ etc. (although I find that debatable, as a Pi3 is 6 times slower in benchmarks than a throwaway 9 year old 3Ghz Core 2 Duo) but I still find it frustrating that people are recommending such versions and hardware for serious MAME builds. Once anybody starts playing on one, even running just the classics, you start to hit a mountain of bugs even if on the surface they look ‘good enough’
Sure there are regressions in new versions too, and some of those do frustrate me, but the overall trend is towards many more things working better, and regressions do get fixed.
A lot of the progress in MAME doesn’t get detailed writeups (because really, we’d rather be fixing things and improving the emulator) but it’s still there, happening all the time, just like the stuff I have covered here.