David Haywood's Homepage
MAME work and other stuff
December 17, 2012 Haze Categories: General News. 14 Comments on UME 0.147u4

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.

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.

0.147u4 Windows binaries (32-bit and 64-bit) (Self Extracting 7-zip)
0.147u4 Source (7-zip)

What’s New

You can read the various whatsnew files on mamedev.org
From MAME, From MESS

Points of Interest

The first important improvement that comes to mind with the 0.147u4 release is the fix made for screenless systems. In prior versions the displays for screenless systems weren’t being properly updated, resulting in an update rate of closer to 5-10 updates a second instead of 60. Now I know public opinion is divided on the Fruit Machines, and they seem to be very close to vs. fighting games as far as the love/hate relationship goes, but for those it’s a very important fix, as it is for a good number of systems in MESS which emulates a wider variety of screenless systems.

One area of ‘screenless’ things being worked on by R. Belmont and Olivier Galibert is old music synthesizers, and while I believe there is still plenty of work to be done there I think the overall goal is to bring a midi library into the MAME source and allow the devices to be hooked up to actual midi compatible equipment, and act like they originally did but running under emulation, the Yamaha MU-100 has already made it to the ‘working’ list however so clearly progress is heading in the right direction.

Olivier has also been busy hammering out the floppy code a little more, trying to properly figure out how the various controllers work and how they hook up to the original systems. Floppy hardware was heavily abused in the wild, with limits often pushed, specifications ignored, and things hooked up in bizzare, and often ‘incorrect’ ways, and of course they’re spinning magnetic discs so there are all sorts of analog and timing factors to consider, and on top of that you have numerous floppy formats which attempted to document copy protected images and the like which need to be parsed in an appropriate way. It’s a big job, and unsurprisingly has taken a long time so far, left most systems with floppy drives in a state of flux, and is still throwing up surprises. All the ‘upd765’, ‘wd1772’, ‘wd_fdc’ and ‘floppy’ tagged stuff in the MESS whatsnew relates to this, which is actually the bulk of it.

Then you have the NeoCDZ, which really isn’t that interesting, it’s just a port of the FBA code, and from what I can tell shares the same bugs. Most games run, about 3 seem to play up in significant ways (Double Dragon and Last Blade 2 fail to load, Fatal Fury 3 will moan about the protection after a while) For the most part it’s usable and should be stable tho.

The Sega VMU support is interesting to see, although I guess it cheats a little because afaik the only way to get games onto the original units was via the actual Dreamcast (the VMU was the device which was both a memory card an low resolution monochrome LCD screen / handheld, a complete and utter pointless novelty and waste of battery power, but nevertheless an interesting concept) Again tho, it shows that MESS is flexible in scope, and sometimes the emulation of weird gimmicky things can be fascinating; I’d still quite like to see some of the classic Nokia phones emulated etc.

As usual there are a bunch of fixes to more obscure systems from the Mess side, if you’re familiar with them then you’ll have probably noticed them in the whatsnew, for the most part I’m not tho, so unless people have been posting screenshots over at bannister.org I’m not really sure what to say about them. Kale did make a few Amiga improvements (which should help with compatibility a little) but there are still a ton of low hanging bugs there before it’s anything like decent. The other thing Kale has been busy with is PC98, which was a popular Japanese PC platform, there is a thread about it .

So that’s it for the MESS ‘rubish’

MAME has seen a fair number of changes too, but in all honesty I don’t think many of them are that interesting / worth highlighting (that’s not to say they haven’t been worth doing, but the end results aren’t anything people are going to get excited about)

The most significant thing is probably the addition of a rare CPS1 game, but like so much of what shows up these days it’s simply a medal game and those really are just the video equivalent of the fruit machines; an element of luck, combined with a minimal test of skill to get you a payout which is almost guaranteed to be worth less than you put in. At least with the actual gambling games / fruit machines you can take advantage of previous players failing to take their chances thus leaving you with a greater chance of winning, but the ticket/medal games seem to be almost entirely flat payout. That said it is interesting to see how Capcom re-purposed the CPS boards with this being the most recent known CPS1 title by some margin. The game was released in 2000 with the last real CPS1 game being a 1995 release, but the board dates further back than that, the game doesn’t even run on the modern CPS boards with Qsound, but instead one of the original slower boards used for the first SF2. Prior to this game that board was last used before this in 1991! Again this is an example of how seeing how everything fits together (in the MAME as a document sense) can actually be far more interesting than the actual games concerned.

Kuru Kuru Pyon Pyon is similar, it’s a medal game, although in this case much closer to a regular Cherry Master style fruit machine, just very much Japanese Style.

Various bits of work have been done towards some of the music games (not the encrypted MPEG DDR ones tho), Gachaga Champ is some Konami Bishi-Bashi series mini-game thing, and Jong Yu Ki is a Mahjong game to go with various other Mahjong driver improvements from the Nogi, one of the Japanese devs.

I’ve been busy trying to improve the documentation value of some of the fruit machine stuff, spurred on by the screenless system fix mentioned at the start and an external contribution to split up the last remaining intimidating looking driver, but again nothing to write home about, it’s mainly tedious, laborious and unrewarding work in the short term, but it’s important to document things as best we can, and make sure MAME is representative of what arcades, and the coin operated amusement industry became in a non-biased way.

Barry (from FBA) has been fixing up some CPS1 bootlegs, trying to emulate the bootleg hardware properly instead of hacking things up, although that’s easier said than done, especially where you have bootlegs of bootlegs, where the original bootlegs added some code, then it turns out the actual bootleg it was dumped from doesn’t use it because it had been modified back to closer to the original hardware etc. which I think might be the case with some of them.

Robbbert has been porting over anything he feels is valid from Misfit MAME, although that ultimately means the less interesting stuff because most of the fancy bits are aftermarket and MAME, unlike MESS doesn’t have any mechanism for documenting even the most interesting of those (which is a bit of a shame, at least for ones which have been tested on real hardware) Bubble Bobble Lost Caves is one such interesting thing which you *won’t* see supported in official MAME for this reason, although in all fairness it hasn’t been tested on original hardware anyway. Personally I’d like to see such things put in a sub-folder and flagged as IS_ARCADE_HOMEBREW with an option to hide them completely so purists can ignore them, although only after verifying they do work on original hardware. Anyway, enough of that, I’m sure the possibility of such things is one reason some people are so against MAME and MESS coming together, because MESS has always had a more open policy, most rom hacks are trash tho.

Robbbert has also been improving the upright / cocktail handling for a number of 8080bw games, and while I’m not sure if I’d count some of it as hacks rather than fixes many of the PCBs did end up with wire-mods to convert between upright and cocktail usage, so what he’s doing probably just represents that at worst.

Various (legitimate) Hispanic region CPS1/2 clones have been filtering through thanks to Artemio Urbina, which shows the value of having world-wide contacts, because the majority of those would have never left Mexico. It’s a shame we don’t have a similar contact in Brazil for the original Brazil releases, which seem even less common although I’m guessing Brazil usually just ended up using the Hispanic boards, much like Australia used the Asia, Japan and even US ones more than the dedicated Oceania region releases. The problem is these days it’s too easy to make fakes of them, so the only way to really trust them is if they’re found where you expect them to be found, in this case, in Mexico.

From a code perspective u4 is interesting because MAME now requires Python to compile, this is because (based on input from Google) the various build ‘helper’ tools are being converted over to use python scripts rather than building executable files which in turn build c files to compile. For now it’s just used for the new 6502 core and a few similar bits, but eventually, for reasons of portability, it will be used for all the helper tools. There is 0 impact of this from the end users point of view tho, MAME isn’t being rewritten in Python, and MAME doesn’t itself contain a python interpretor, it simply uses it as part of the build process.

I’m guessing the next release will be Christmas / New Year, and while it does concern me that things like Missile Command are still broken (due to driver hacks no longer working with the much more accurate 6502 core) I remain hopeful somebody will patch things up before then. As for Christmas surprises, I’m not aware of anything significant; Guru did just dump Armadillo Racing which will be in the release after this one, but that’s more just an obscure and amusing drop-in than any revolutionary progress.

Moving on from individual project new to some UME news, it seems that Alexis B. has decided to start following the combined projects for his Arcade History website, which now covers much of the content of the MESS software lists, making it more of a complete gaming information resource. This actually surprises me because I thought external sites such as that would be the strongest opposed to any kind of merger of the projects, instead it seems like even they’re going full-steam ahead. He also offers the information from the site as history.dat for MAME/MESS/UME frontends such as the recommended QMC2 (it is in the same Mameworld thread where he mentions his intentions to follow both projects)


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

cool work on the fruits bro, its so good to see spynix showing life at last even if it did get stuck offering me nudges

do you know why pyramid shows only 100ms int error? it runs on the same tech i think

I think the 10MS error is moaning about something in our Z180 core (either the actual timers, or the interrupts they generate) it might be the same reason the other game doesn’t really behave properly either. If critical interrupts aren’t happening then certain events in the game code won’t get processed properly, I imagine they just added the checks at some point when they were developing some of the games to better ensure the hardware was working properly.

Really not much has changed in that driver anyway, it just now shows what’s happening on the screen instead of debug messages to the commandline.

Hi Haze grat work as always…
is there any progress on Raiden 2 games ?? or seibu driver ?? what about Cave SH3is it back to mame in 2013 ??

No, nothing to report on Raiden 2, it could be a while.

I think the unofficial line on CaveSH3 is that it will be back in 2-3 years.

Has there been any progress towards supporting multiple machine instances? If memory serves, Aaron was putting a lot of effort towards that in 2010 but unless I’m just not reading between the lines correct that seems to have stalled.

any of the c++ / device conversion stuff can be seen as moving towards that, cleaning up code, moving everything into the machine / device states etc. instead of being global

Micko was doing some work on similar not that long ago.

the cleaner the code is the easier it becomes to flick a switch later, although it’s true, somebody would have to first program said switch and a way of actually using MAME running multiple instances of things ;-)

As Haze says, pretty much anything that gets modernized is a code word for “working towards multiple-instance support”. OG’s recent cycle-by-cycle 6502 family rewrite had the nice side effect of completely modernizing those CPU cores, for instance.

Beyond that, there’s the continuing hazard that until SDL 2.0 is finished and released, non-Windows compiles of MAME/MESS/UME cannot display in more than one window or on more than one monitor. Since Valve’s Linux ports rely on SDL 2, I suspect that problem will be corrected for me however ;-)

Thanks for the responses, I got all giddy ~0.136 when Race Drivin’ Panorama was added and Aaron was clearly working in that direction.

Totally unrelated

… question (damn enter key). Having looked around and toyed with outputs can I assume that the Cruisin’ series would need some additional hardware emulated before we could output the wheel FFB values?

As an addendum to what Haze said, several of the synthesizer drivers in esq5505.c are playable in this release. The effects DSP is currently missing, but many of the sounds are good even without that.

‘vfx’, ‘vfxsd’, ‘sd1’, ‘sd132’, and ‘sq1’ all work: you can run them, wait for the bootup on the VFD display, and then the A-L and Q-P keys play notes and Z/X navigate the sounds. This is a complete hack so glitchiness is expected (you can easily flood the 68681’s input FIFO); watch for real MIDI input soon to make that better. Note that with some of the sounds the sound will “evolve” if you hold the key down.

Slagging off VMU/VMS?!! Disappointed I tell you, very disappointed….

haha, no, I really wasn’t a big fan of them, always seemed far too small in terms of capacity too, I do like to play through more than a few games at once, and some games used over half of the blocks!

VMU was a neat idea, but not many games used it well (Skies of Arcadia being a notable exception) and as Haze says the capacity was way too small.

It’s very good to see a UME verson of history.dat!

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.