I wasn’t expecting quite such a positive response from the initial ‘Ultimate MAME’ post, but it seems like a decent number of people really like the single binary concept.
Anyway, there were a couple of issues with the MESS 0.144 source on which it was based, these have since been resolved, as well as several other changes made which may be of benefit to this build. In the 0.144 release things like c64 would just crash due to aforementioned MESS bugs, and the code for some MESS drivers would end up being compiled differently to a standard MESS binary due to it being hidden behind #ifdef MESS defines in the source. Micko has done some work on removing those cases, although he did manage to introduce some additional conflicts in the process which I’ve fixed and submitted a patch for.
Also I’ve decided to add some screenshots of various things running in this build :-)
Left: Miner 2049er (from the C64 software list)
A classic C64 platformer shows that the C64 driver works in this release, simple and popular arcade style gameplay on a home system,
Right: The Island of Dr Destructo (Amstrad CPC, from a TOSEC disk image)
Inspired by the classic arcade Two Tigers but arguably more fun, albeit a bit slow paced like most things on the platform. Always lots going on as you attempt to sink everything from Battleships to an actual island. One of my favourites
Left: Pi-R-Squared (Spectrum, from TZX tape image)
A unique puzzle style action game on the ZX Spectrum which would have IMHO made a good arcade title. Two directions and a ‘switch’ button allow you to traverse between rotating gears. You must complete 360 degrees of each circle to collect the item inside it, and to finish a level you must collect the parts of a formula in order, while avoiding the enemies. Sound is sparse, but the gameplay is addictive.
Right: Time Gal (Sega CD, from Software List)
The laserdisc arcade version of this isn’t emulated in MAME yet, but the SegaCD version is fully playable. Not a big fan of these FMV games, but some people like them.
Left: Pole Position on the Vectrex, Port of the classic Namco title running on this unique vector based home system, if you thought Vector monitors only existed in fancy arcade games like Battle Zone, think again!
Right: The Arcade Megatech system running Sonic The Hedgehog. The actual rom is identical to the Megadrive / Genesis version, but crippled by a ‘pay for time’ timer. You could install multiple games tho!
Left: The original Pole Position Arcade from Namco
Right: The Megadrive / Genesis version of Sonic running in the very same Genesis driver as the Megatech version above, but without the crippling timer system!
Left: The Apprentice on CDI. The CDI might not have had many good titles, and you could probably even make a case against ‘The Apprentice’ rather easily, but it sure is pretty, and much like ‘Hotel Mario’ on the same platform it presents what could have made a pretty decent arcade game rather than the god-awful (yet still better than most of the home output) quiz games which were released on the platform in the Arcades.
Right: Speedy Dragon, from the obscure Super ACan system. Emulation is still preliminary, but it’s an interesting Sonic inspired adventure.
Left: Konami’s Classic Wec-Le-Mans, one of the most solid arcade racing games of it’s time.
Right: Burnin’ Rubber for the ill-fated GX4000 (an 8-bit home console based on the Amstrad 6128, released far too late) Burnin’ Rubber is clearly inspired by Wec-Le-Mans, with the majority of gameplay elements mirroring it closely, sadly it’s so sluggish it’s nearly unplayable, the original Amstrad 464 port of Wec Le Mans was a lot more playable! Still, an interesting experience.
Left: Summer Carnival ’92 Recca for the NES – an early game from Shinobu Yagawa, who is better known for his work at Raizing and Cave. The SH3 based ‘Pink Sweets’ takes it’s bomb mechanic right from this rare classic which is every bit as manic as his later games.
Right: Aleste for the MSX. Nowhere near as manic, but interesting to see actual MSX games running in MESS as the offerings based on the hardware in MAME are all a bit weak.
Left: Parasol Stars for the PC Engine – Many claim this did exist in the arcades, Taito say it didn’t. There were ‘licensed’ but very crude timer-based PCE systems which could potentially run it, but you may as well just run the real thing without an ugly timer tacked on to reset it when you stop inserting coins.
Right: Dracula X for the PC Engine CD – Just to show that CD support works too
Left: Disney’s Aladdin, the original classic Megadrive / Genesis Game
Right: Disney’s Aladdin, the original classic Megadrive / Genesis Game but with some ugly hacks applied by Chinese bootleggers so that it works as an arcade game. This one is supported in baseline MAME as a result while the original isn’t due to it being a home only game. A great injustice I say.
Left: The NeoGeo MVS classic Metal Slug
Right: Metal Slug 2nd Mission for the short-lived NeoGeoPocket Color, a solid adaptation of the game which due to the premature death of the system never really got the credit it deserved.
Left: Bari Arm (Android Assault) for SegaCD… One of those crazy ‘This should have been an Arcade game’ shooters.. developed by Human who did make a couple of arcade games, missed opportunity for sure!
Right: Bomb Fusion for the ZX Spectrum… This one could easily have been a classic arcade, make contact with the various balls which are falling around the screen to have them follow you, and take them to the crate. You need a certain number to exit the level, but all the time there are bombs ticking away which you need to defuse to avoid the radiation level increasing, all while avoiding the other enemies.
Left: Pac Attack on the SNES, Home Only Release
Right: Cosmo Gang The Puzzle… Somehow the Pacman theme of Pac Attack suits the game mechanics far better, a real shame this was the only true arcade version.
Left: Penguin Land for the SMS
Right: Doki Doki Penguin Land Arcade, notice how the Arcade version look a lot worse than the SMS version, it’s actually based on older hardware, so much for that theory that the home versions were always just inferior versions with worse visuals ;-)
Left: The original Puyo Puyo arcade game, running on SegaC2 hardware (derived from the Genesis VDP)
Right: Kirby’s Avalanche, a SNES exclusive adaptation of the game featuring Nintendo’s well known Kirby character. The Genesis also had a similar adaptation using Dr. Robotnik as the lead character. It’s a shame these adaptations never made it back into the arcades really because they’re appealing in their own ways.
While creating these screenshots I have noticed that things like the inputs in the X68000 don’t seem to be working properly (which is a shame because there would be some nice comparison shots otherwise) I need to check if that’s just a regression in MESS, or if I’m using the driver incorrectly, or it’s something MESS specific which isn’t getting compiled quite right in this build. Likewise I was a little surprised to see the BBC Micro not booting because I wanted to put up a Chuckie Egg shot. I’ll investigate those later.
As you can see tho, the code does a reputable job for a good number of the major systems, and while some of the later ones still need significant amounts of work the MESS component of Ultimate MAME does give a good variety of extra functionality to the base MAME emulator, allowing for easier testing of shared components via. a far expanded library of games using them. There is huge potential in such a combined project!
A lot of people who only care about ‘the games’ write off console versions, and old computers as being trash and simply not worth playing, but each and every library contains a good number of gems which can hold their own against any arcade game in terms of gameplay and graphics, and even when they fail to do that they often have their own unique charm and are in some cases of great importance, as I hope some of the shots above demonstrate. Open your mind :-) For the majority of the things pictured above all the code is actually already in baseline MAME, just not being used to it’s full potential there due to the arcade only policy, to me that’s a real shame and one of the reasons I created this build, what’s the point of writing code, and painstakingly testing if it’s then only ever going to be used to 5% of it’s potential in the primary project?