David Haywood's Homepage
MAME work and other stuff
October 8, 2012 Haze Categories: General News. 17 Comments on UME 0.147u1

UME (logo by JackC)

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.

This is based on the official MAME 0.147u1 source release found on mamedev.org. The binaries on offer here were compiled with ‘make all TARGET=ume’

As of 0.147u1 the official MAME / MESS diffs are unified like the source releases, so the single diff released is for both projects.

Note 1: to compile UME using the sources and diff from mamedev.org you must add the “ume.ico” Icon resource file to “src\ume\osd\windows” in the source. This file was added after 0.147, but because it’s a binary file it does not get added when applying the official u1 diff. If you instead check out the source from the SVN the file is already included. If you require the file separately it can be found here. Yes this does mean the UME Windows binary has a shiny new icon as of u1 :-)

Note 2: the official 0.147u1 patch doesn’t apply 100% cleanly to the official 0.147 source due to a last minute change being put in the 0.147 source release mess.mak file, the resultant files are correct however, and the warning can be ignored.

The package contains both the 32-bit and 64-bit binaries, due to the above issues I’ve also uploaded the source used to compile here.

The 0.147u1 UME release binaries can be downloaded here.

Note: as of 0.147 the sysinfo.dat is no longer distributed with MESS, it can be found in the ‘Extra Files’ section at ProjectMESS
furthermore the external artwork files, needed by some chess computers are also not included by default. They can be found at AntoPisa’s site.

Changes from MAME 0.147 can be read about here
Changes from MESS 0.147 can be read about here

General Release Commentary

As expected the ‘3 On 3 Dunk Madness’ progress below missed the submission deadline.

The 0.147u1 diff is deceptively large, weighing in at over 2MB when zipped you might imagine it to be a significant update, code-wise it probably is, but functionality-wise it’s about average for 3 weeks of work. The size of the diff comes mostly from refactoring, moving of more items and functions into the ‘machine states’ rather than them being global which is ultimately working towards the ongoing long term goal of allowing multiple instances of systems to be running at the same time etc.

In terms of new games, Hap’s work the old Model Racing gun games means that both Clay Buster (identified with flyers) and what we therefore presume to be Gun Champ are now working after Any dumped the former. Neither game has a title screen. Hap doesn’t have a WIP page, so here are some pictures of those running in 0.147u1

Clay Buster
Clay Buster Clay Buster

Gun Champ
Gun Champ Gun Champ

Both are very basic gun games but nevertheless interesting bits of history.

There’s also Star Fighter which Luca added, as I mentioned below. For an early Korean game it’s actually very interesting, taking influences from many other classic shooters and presenting a varied multi-round vertical scrolling shooter.

Robbbert has been working on improving the basic emulation of some of the Pinball systems, but until modern versions of MAME can be hooked up in the same way as PinMAME those aren’t too exciting as you don’t have any kind of table, just the ability to manually trigger sensors via the internal layouts etc. Worth a mention because it has potential to lead somewhere I think.

iq132 has been attempting to remove ROM patches from a number of drivers and instead simulating the protection devices, including getting rid of the long-standing ROM hacks Metal Slug X used, should be no visible changes, but it’s good to be clean.

There’s also the work on the Seibu COP mentioned below, nothing is magically more playable now but there are various subtle (and not so subtle) behavioral changes in various games, some improved, others, like Zero Team temporarily regressed until a few more mysteries are solved.

The MESS side has seen a number of refinements too, mostly small but important changes you’re not going to notice as well as ongoing improvements to the Software Lists and work on the Atari 2600 to handle some of the trickier custom hardware cases which regressed at some point, or were simply never emulated.

General improvements also see a bug which prevented 7-zip support from working in 64-bit Mac builds fixed, although sadly I don’t think the issue mentioned in the 0.147 release with redefining controls for some consoles is resolved, it actually looks like a very long-standing bug, likewise the issue with screenless games not actually updating their display as frequently as you’d expect is still outstanding.

Of course driver bug fixes are important too, and everybody will also be happy to know that the bug causing the Mortal Kombat games to crash / display corrupt graphics in the 0.147 release is fixed in this release, as are the problems which were introduced with Sega X and Y board emulations causing glitchy sprites which alone should make 0.147u1 preferable over the original 0.147 release.

Overall it’s a steady release and if you’re doing any development for MAME you’ll definitely want to pay attention to some of the structural changes which have gone in over the last 3 weeks.


You can follow any responses to this entry through the RSS 2.0 feed.

in MESS, a couple of interesting points for users might be
– fixed SRAM access in some SNES games (notably Earthbound and Mario Picross) which had been broken for two years without nobody reporting them
– fixed Famicom/Subor keyboard making possible to e.g. type again in Famicom BASIC (OK, less exciting than playing Earthbound, but it’s still a regression fixed :) )

in 147u1 ville has no progress in his Konami 3D driver,maybe he is busy with other things…

Does this fix the S-RAM Break Down problem in Dezaemon also?

mmm… never knew there was a problem with dezaemon. thanks for pointing that out, I will see what is the problem in that game and let you know (the “s-ram breakdown” error is still there with current code)

fixed locally.



I need to do some more tests, because as you see there are glitches and I’d like to rule out the possibility of SRAM mapping interfering with ROM mapping, before adding it to the repository.

once again, thanks a lot for reporting it :)

well, glitches seemed present also in very old MESS versions when the game was working.
so tonight I will add the fix for current “S-RAM Break Down” :)

Awesome, thank you for fixing it :)

it’s been a pleasure :)

btw, did you fix the issues with softlist games not being loaded by MESS/UME?

See my reply there.

It seems the main confusion is caused by megadriv being both a system name and list name, while genesis is only the system name. The way MESS handles the cases is subtly different.

I’d actually propose that lists shouldn’t be name directly after the system, but instead have an identifier such as _cart to avoid such confusion.

from his original post it seemed he was unable to load it in either system, but maybe I misread it.

I guess he will tell us

Yeah yeah, got it working. Thanks for asking :)

I still have some other issues left though, for example with loading floppies or creating correct CHD’s. I’ll look some more into that this evening.

loading floppy issues might be related to incomplete emulation of the system, anyway we will know for sure after you do more testing and you describe in detail problems (if you still have any) :)


Forgive me for posting this here instead of on Emuversal, I have an account registration pending there.

I managed to solve most of the remaining softlist problems, so yay for that.

Is it known that many FDS games appear to miss sound channels? The driver is not flagged as sound incomplete so I thought I’d mention this. It’s very noticeable with games such as Metroid or Doki Doki Panic. Maybe because of partial softlist support?

it’s incomplete Famicom Disk system emulation: the additional sound channel is not emulated currently (and the flag was probably lost at some point in the past… I will re-add it soon to make clearer what the problem is)
similarly, the additional sound chips on some Konami Jpn carts are not yet emulated.

for the on-cart chips, I’m working on the changes that will allow their emulation. I will probably look to FDS afterwards

also notice that many Famicom disks currently fail to work because they test disk writing and MESS does not support it.


One more question for now. I am able to create CHD’s and run them, though the checksums are always wrong.

I’m using chdman that came with 0.146 (it was included in a .deb package, and it requires the -i and -o switches so it’s recent).

I’m trying to convert Sonic CD (for the Mega/Sega CD) which has the name “Sonic The Hedgehog CD (1993)(Sega)(NTSC)(Jp)(en)[!]”, obtained from a reputable source.

But, as stated, every bin/cue I try to convert does not pass checksum test.

it might mean Haze created the CHD starting from a different bin/cue
easiest way to proceed is probably to just run the CHD you have without using softlists

from commandline, just specify the path to the chd: “mess segacd -cdrom roms/segacd/sonic.chd” (replace path and filename if needed ;) ) or launch segacd emulation with no CD, press TAB, enter the “File Manager”, select cdrom and browse your folders until you find the image you want (TIP: the file manager allows you to type the beginning of a subfolder/file for faster browsing in folders with hundreds of items)

from frontend, it depends on the GUI you use. e.g. qmc2 allows to select the cdrom and then browse your HD to find the file you want to mount in the cd player

Yes, I can manage that just fine. It seems that the images I’m making chd’s from are not the same that are listed in the xml, though they are tagged as correct.

By continuing to use the site, you agree to the use of cookies. more information

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.