UME (Universal Machine Emulator) combines the features of MAME and MESS into a single multi-purpose emulator. The project represents a natural course of development for the emulators which already share large amounts of code and is part of an ongoing effort to unify development efforts and provide a single emulation platform for users and developers alike.
As an end user this means that the software provided here is not only capable of emulating arcade machines like the baseline versions of MAME, but in addition can emulate a large number of home computers and consoles from across the world using the very same code, developed by the very same team of developers.
UME binaries (Windows)
0.148u5 Windows binaries (32-bit and 64-bit) (Self Extracting 7-zip) (all MAME / MESS tools included, both 32-bit and 64-bit versions in tool32/tools64)
The source is identical to that found on mamedev.org (SVN revision SVN 22981 / 0.148u5)
Non-UME binaries (Windows)
In addition to providing the UME binaries I’ve also included a package with the individual legacy MAME/MESS executables here, personally I prefer the everything under one exe UME solution but I’ve noticed it’s not always easy to find binaries of the regular u builds with them not being offered from the official site so this is my attempt to address that.
Latest U release binaries for UME, as well as MAME & MESS can also always be found on the page linked in the box on the left
These binaries are coming from Mamedev (me) so are as official as you’re going to get for a u update.
Please note, if you want to compile a linux build you should check the source out from the official SVN instead of downloading it, there is an issue with some source files and line-endings whereby the linux python scripts don’t agree with the Windows style line endings you get on the downloaded source. Details of the SVN server are still on mamedev.org
Experimental Visual Studio compiled binaries (Windows)
I’ve also compiled some builds of MAME/MESS/UME 0.148u5 with the Visual Studio 2012 (update 2) compiler, using the August 2007 Direct X SDK (everything after that drops some files MAME needs) and set to use the Windows XP compatible platform SDK (see here, otherwise VS2012 exes won’t run on XP)
UME or Mame & Mess
These are experimental builds due to some level of interest expressed in having them for comparisons, don’t report any bugs with them please (some things are known not to work when compiled with Visual Studio, eg. the PC emulation used by Fruit Land in u5)
Points of Interest
Coming Soon.. (in progress)
There are a couple of interesting additions in 0.148u5 across both the MAME and MESS parts of the projects, so I’m going to start by looking at some of the arcade stuff
R.Belmont has probably already covered everything you need to know about this one, but one of the more curious additions in u5 is a game called ‘Fruit Land’. It bears no copyright display, so we don’t know when it’s was released in arcade from exactly, but it runs on a 486 PC and is a hacked up version of a PC game from Messoft (nothing to do with Mess the emulator) Note, this WON’T work with the Visual Studio compiled builds above, also performance in-game is around 30% speed on a my C2D (due to the demands of the x86 emulation) and there is no sound, so for now it remains something curious / interesting rather than something you’re going to want to run.
(Fruit Land is an obscure arcade version/hack of an equally obscure PC game)
Stunt Air, as featured in the update below is also included in a playable state, although hap has been doing some work on improving various aspects of it since the release, so you might want to wait until u6 / 0.149 for a better experience (and maybe by then we’ll have measurements from the PCB to make it sound better etc. too) Minimal pictures of this one because you can see more below.
(The progress shown below on Stunt Air is included in 0.148u5)
The Konami GX game “Taisen Puzzle-dama” is often mis-sold on eBay as ‘Crazy Cross’ (in part because it’s the name people know it by from the PSX port) Screenshots of an actual Crazy Cross version have been seen, but it’s possible that version was only released in Korea (and possibly other parts of Asia) like the English language Sexy Parodius. It was thought that maybe that version had finally been found, however what was found instead was a game called ‘Lets Attack Crazy Cross’, which is possibly some kind of sequel. More interesting is that this game isn’t on GX at all either, it’s on one of Konami’s Playstation based platforms. Unfortunately this means it’s a CD based game, and Mamedev still have no good established dumping standard for CDs (I’ve tried making links between the DU and groups like Trurip) The game does appear to work however and as you’d expect seems like a sequel of sorts to the original Crazy Cross game. I guess it was a relatively quick port from a Playstation console release codebase because it doesn’t even flash ‘Insert Coin’ at you during the title screen of attract mode.
(Let’s Attack Crazy Cross runs on Playstation based hardware)
Roberto Fresca has chipped in with his usual work on Video Gambling games, with the highlight of the bunch being the Crystal Colours one, as featured on his page. You know what most of these involve already, so the only real interesting details are the technical ones and he discussed those in great detail already. (his site seems to have no way to permalink to updates so you might have to scroll a bit if he updates again)
(Crystal Colours is one of a number of Video Gamblers Robbie contributed the emulation for in 0.148u5)
Moving away from the new additions to feature improvements, Mooglyguy came into some time recently and resumed work on the HLSL improvements, including the code for the vector games such as Asteroids. Part of this work was adding ‘bloom’ effects, as made popular by the AAE emulator. The image below shows these effects being used on Asteroids (possibly turned up a bit high) I haven’t found a way to make the bullets glow yet tho, I’m not sure if that isn’t possible yet, or if it needs more expert knowledge of the settings. It should be noted that as part of this work the D3D code was cleaned up, and support for Direct 3D 8 dropped, so you’ll need 9 or higher to use D3D modes in MAME from this point forward.
(0.148u5 gives preliminary HLSL support for Vector games like Asteroids)
You can of course also apply the new effect to raster games, although for anything other than the classics with mostly black backgrounds and basic graphics it tends to just wash out the image at default levels, the following screenshots are set to silly ;-)
(it can also be used with regular raster games if that takes your fancy..)
It’s not often I mention clones in these write-ups but given I did an entire article about the Spanish clones a few days ago I think it’s fair that I mention they’ve all been included in u5. In addition to the ones featured there a few more were dumped, including several versions licensed to Tecfri. MotoTour is the Tecfri release of Traverse USA / MotoRace, and while in reality the modifications are tiny it’s still good to have the version of the game that was distributed in Spain supported. Ricky2001 is to thank for that one :-) All these Spanish clones so far have been unearthed and dumped by members of the AUMAP (Asociación de Usuarios de Máquinas Arcade y Pinballs) site / forums, and the Spanish release of Bagman (licensed to Itisa) is no exception, and is another nice find. The relationship between Itisa and Valadon is an interesting one, and thanks to information provided by the forum members it was also noted that we’re currently missing the original Spanish release of Botanic, with the one we have currently supported being a French version released by Valadon under license from Itisa, previously we thought it was a Valadon game. It seems Valadon and Itisa licensed each others games, and the production of the PCB type they use.
(more clones were dumped by the users of Spanish site AUMAP)
ANY has also been busy dumping various bootlegs, and while quite a few of his sets appear to have bad roms, or be uncertain / have such tiny changes it could indicate they’ve got bad there are a number of interesting things amongst the clones he dumped as well. Datsu were a common bootlegger of Sega games back in the 90s, so an Altered Beast set with their name on it was a nice find, although like all bootlegs it’s hard to know if it’s the original bootleg, or a bootleg of a bootleg.. Either way the mods are extensive enough that it really doesn’t work well in MAME yet (like so many of the System 16 bootlegs) f205v dumped a bootleg of Bomb Jack Twin called Atom which finds itself in a similar position, a reworked (vastly inferior) sound system, and different sprite hardware mean that it currently sits as a non-working addition. Sometimes emulating bootlegs is just as much work as emulating the original games in the first place although it can be a good place to start for new developers…
(some bootlegs have significantly reworked hardware and are a lot of effort to get working, these two were added but still need work)
The new non-working list for 0.148u5 also has a few interesting entries. Sea Battle is one of the few remaining unemulated Zaccaria originals, and until recently the only dump was from a board that had been stripped for parts and was missing the program ROMs. ANY recently dumped another board of it, complete with said program roms, so a skeleton driver with the various graphic decodes has been added. Interestingly the new board is very different to the older one, so it’s possible it was a bootleg (the new one is much closer to the schematics) although we’ll probably never know unless another one of those turned up. For now you can see the decoded graphics in the F4 viewer, although no emulation work has been done yet. I might take a look at it if nobody else does, although the CPU isn’t one I’m overly familiar with.
(GFX decoded from Sea Battle by Zaccaraia)
One addition in that not-working list that has turned out to be rather controversial with the other developers is the Midcoin Jukebox. Personally I wasn’t expecting it to be a big deal, it’s a coin operated device, from an arcade game manufacturer (who owned arcades) that you might find in a similar place to arcade games themselves. To me that makes it MAME criteria, to others it’s apparently MESS criteria. I thought we’d established that the dividing line was if something accepts coins or not, but apparently not. The solution to this problem is of course obvious, just make MAME all inclusive and stop having any silly dividing lines, but I really didn’t want to have to bring that topic up again. It’s not working yet, obviously, and only sports a primitive segment based display from what I can see, but I think it makes an interesting, albeit rather pointless emulation target. I think it’s great to see such things supported anyway, seeing MAME as an open minded project can only be a good thing, and will hopefully allow people to realize that there are many things we can emulate, and are interested in emulating or letting them emulate within our framework / project!
Another in the non-working list is Time Fighter. I’ve covered Brazilian clones of games before, mentioning how we’ve seen several that have been reprogrammed from scratch rather than being direct bootlegs (Fantastic, Kong etc.) and it looks like Time Fighter is another to add to that list. It’s a copy of Time Pilot, but it’s been written to work with (heavily) modified Galaxian hardware. It doesn’t work yet (missing bullets amongst other things) but it’s another fascinating example of just how far bootleggers were willing to go to be able to sell games on the hardware they had available, which presumably at the time these conversions were done was very limited.
(hap did some preliminary work on this rewritten Brazilian version of Time Pilot called Time Fighter)
Now you might wonder why I’ve covered so many non-working things, but I think it’s important to represent work in progress as well, provide a glimpse of the future and show people what things are doing now, so that when they get worked on again in a few years people can look back and see the difference. It also shows how that by working on MAME / MESS we’re not only solving problems and closing cases but always creating new work for ourselves, and new avenues for contributions.
At a core level there have been some interesting improvements too, one of the things to take special note of is the Lua integration. Unlike Python, where we use the scripting capabilities provided by the language as part of the build process, Lua has been integrated into the actual codebase. From the point of view of a casual MAME user the reasons for this might not be immediately obvious, however the real target with such a system is the MESS side of the project where having a scripting language that executes in parallel with the emulation, and can be aware of various internal states will hopefully allow for the scripting of some install / boot processes, and when you’re dealing with some systems where the process is a lot more complex than simply turning the machine on this could prove to be a very useful feature in the long-run when it comes to regression testing, and boosting ease of use for some more complex systems.
(0.148u5 starts to provide integrated Lua support for scripting of boot sequences etc.)
Beyond that, smf has modernized a lot of sound cores, although there is still a long way to go before the legacy device system can be dropped entirely (many, many CPU cores still need converting, and they’re generally the trickiest of the bunch to do)
A couple more steps were taken towards treating Qsound as an emulated CPU were taken as well with the various Qsound based drivers now being set to load the internal ROM from the Qsound chips, work is still needed on the CPU core amongst other things before that gets enabled for actual use tho.
Moving onto the MESS side of things, one of the more important changes is improved Save State support for a number of popular systems including the NES, Gameboy, Lynx, Wonderswan and NeoGeo Pocket. That might not sound like a lot, but it’s something a lot of users have been requesting for a while, and if you’re accustomed to the standalone emulators it really is something you miss, or something that can leave a bad impression when it doesn’t work properly in MESS so it’s good to see improvements in that area.