David Haywood's Homepage
MAME work and other stuff
September 25, 2014 Haze Categories: General News. 33 Comments on UME 0.154ex4

UME (logo by JackC)
UME is the complete/combined version of the MAME / MESS project.

0.154ex4 is built from SVN revision 32369

After spending a while testing (and adding a bit more polish to the driver such as correct dipswitches, resolution etc.) I’ve decided to release a build to demonstrate the progress on New Zero Team etc.

UME 0.154ex4 Windows binaries – 32-bit, 64-bit and all tools
UME 0.154ex4 sources

Here is the 0.154ex3 to 0.154ex4 SVN log

Other Binaries (if you don’t know what these are you don’t need them)
MAME/MESS split 0.154ex4 Windows binaries – 32-bit, 64-bit and all tools

Points of Interest

The main thing that is going to interest people with this build is the working status of ‘New Zero Team’ and ‘Zero Team 2000’

Note, the New Zero Team in MAME is from a ‘Type B’ PCB with Dipswitches and a maximum of 2 players. An undumped version of the game is also known to exist on the ‘Type C’ PCB (similar to Zero Team 2000) where the dipswitches are replaced with EEPROM and presumably 4 player support is restored as it is in ZT2000. For general play Zero Team 2000 is more recommended however as it has the correct stage order. Below is a video of me playing Zero Team 2000 from start to finish. As mentioned below the protection in NZT / ZT2000 is much weaker than the regular ZT sets, so the emulation is much more trustworthy – the regular game I believe still uses unemulated commands in some places.

The Raiden 2 New / Raiden DX combo board is also playable in this release. If you want to listen to the awful sound Seibu decided was suitable for this release you can see the video below.

and when the board is running in Raiden DX mode..


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

Thanks Haze, I hope Legionnaire will be in a playable state soon as well. I hope you can shed some light on it too.

i like your ‘Let’s play’ style…thank you

Thanks for your karma Hammad.

Thank you Haze!! Hope legionna and heatbrl will be playable soon!

You wanted “u” builds removed from MAME.
Now you release “EX” builds every day.

Pot calling the kettle black ?

We didn’t provide binaries for them, and people saw them as less stable, even if they were often more stable than the binaries we offered.

Often a perfectly good (and much better) u release was being ignored in favor of a 5-6 month old binary, with people posting 5-6 month old bugs we’d already fixed, while not testing the newer code because they thought it would be less stable.

I was hoping dropping them would mean more frequent actual releases, but that doesn’t seem to have happened.

The ‘ex’ releases allow me to react to what’s going on, and I can push them out on my own schedule so that people can test specific things that I’ve been looking at (or find interesting / feel need testing) so in the end that works for me. I also offer a full set of Windows binaries with each one.

People actually complaing there’s been a release WTF
of course had their been no release they’d still complain
anyway you cant win either way

Nobody trusted u releases because, as Haze says, they were seen as unstable. These EX releases are curated by Haze, so ideally they’ll see a bit wider use.

Thanks for the rls Haze, good to finally play Zero Team – your work is very much appreciated :)

Sorry but another request as I see others have mentioned – is there any work planned on getting Legionnaire (TAD Corporation) finally working?

Man, I’d really like to know what Seibu thought they’d gain from switching to what sounds like greeting card-quality audio. They couldn’t have saved that much money…

The other people already answer that question, and haze donĀ“t need to listen twice or third time.
Thank you.

That ninja chick has a really nice ass.

well it’s been said they were shocked by the level of bootlegging on Raiden 1, so really wanted to lock down the security with these.

I suspect what they found however was that preventing bootlegging didn’t increase their sales, it simply meant certain markets didn’t experience the game at all, so put out these re-release boards as low cost options for those markets.

That’s a guess, although it’s even more bizarre to me that Zero Team retained it’s sound hardware on the re-releases.

What’s less of a guess is that the protection has also pretty much locked the current IP owners out of being able to license the game out until now because nobody has been able to emulate the original, and presumably the existing ports are tied to other agreements (and not 100% arcade accurate anyway)

// birdman boss is wrong (unemulated commands) (final boss behavior is similar)

this is likely the same commands that Seibu Cup Soccer uses to control the players (strike action)

Yeah, that would make sense. Seibu seems to make a lot of wonky decisions with regards to their hardware but they don’t seem to be entirely without logic!

Did you know that apparently there might be Raiden Fighters/2/Jet 2000 boards out there with proper YMF271-F sound?

i think it’s safe to say Haze knows this hence all the
debug code being added to the drivers with a view to
pinning down what games read what commands and when to hopefully create some new protection code
to handle these commands ASP

I vaguely remember such a board for RF2 but no one’s been able to confirm the existence of these and I’m personally running from 14+ year old memories of the old arcade I used to enjoy going to.

Speaking of the 2000 boards, hap’s recent update to the SPI driver that removed E-Jan’s imperfect graphics tag (woohoo!) also broke rdft22kc (oh dear). 0.154 looks fine. Screenshots here: http://imgur.com/a/P4eHy

Scratch that, rdft22kc fixed as of r32473. Thanks again hap!

Stupid question: what happens if an unemulated command/ illegal opcode is called ? Shouldn’t the CPU or whomever it concerns cause a failure or some defined exception ? Iirc the 68k for example would do exactly this. Or is it treated as a NOP ?

For something like the COP, unemulated commands do nothing, yes. This permits keeping the game running so that the low-hanging fruit can get picked off first.

send you a link to a german version of Raiden 2 on Mameworld

I don’t have a valid account on Mameworld.

Also board pictures are important with these, we need to see that proper labels are intact so we don’t end up supporting hacked sets.

I will search the pcb tomorrow to make a picture

Stupid question: Rapid Fire will be avaliable in the next mame?

coincidental timing, but I did just suggest we start to look into ‘easy to add / easy to maintain / non-harmful’ user friendly features where possible.

always seems a bit silly to me for us to be losing users to alt MAME builds or other emulators just because of a few simple missing features, I do prefer people to be testing the baseline builds where possible, and such a feature would make testing easier, even for devs.

it’s probably unlikely to happen tho ;-)

ok, thanks, I dropped you an email, the German sets are often quite interesting because it seems Tuning got Seibu to tweak the game to their liking, sometimes resulting in versions with obvious changes to presentation or difficulty.

I have suggested to Micko that we need the ability to bind a Lua script to a key or joypad button.

That would cover both rapid fire and auto fighting-game combos in a highly flexible manner without our having to directly support them.

Thanks, because i wanna save my xbox 360 controller.

ops… i forget something… all the shooting games on mameui and ume need a Rapid Fire.

I have actually been putting quite a bit of thought into this for the past 2-3 weeks. The usability of MAME/MESS *really* stinks. I can noodle thru it and usually figure it out. Which is a shame as it really is an amazing piece of software. However, I would like to share some of this cool stuff with my wife. It does not meet the ‘hand it to the wife’ factor at all. It took me a couple of days trying and messing with QMC2 to even get it to launch a mess title. I have not figured out a decent way to present the info so it is easy to drill down. I keep thinking ‘this should not be hard’. But it is. It is also sort of frustrating as to really know if a game works decently you have to open it up and try it. Usually the big red warnings help. But for some systems it is not entirely clear a particular game will not work. Sorry about the ‘rant’ but I am just frustrated with this interface.


With Qmc2 setup properly with Software Lists, I really don’t understand how it could get any easier than it already is currently.

Pick a Machine on the left pane while viewing a list on the right pane. The information presented there displays if a game is supported before you even launch it.


Also, if you can memorize or reference set names for the games you want to play. I fail to understand how “mess64 snes smwu” is difficult to execute.

There are definitely some usability issues right now.

I think a lot of people have been spoiled by other emulators that take away a lot of the hassles of the original systems in order to make playing games in the emulators as smooth and easy as possible.

In some cases this was not positive at all, eg. in the early days a vast number of emulators encouraged snapshot (basically save state / ram dump) files or disk conversions of cassette based games to be used instead of original media dumps – this has actually resulted in a situation where there are no better dumps available for some games, which is sad. (and for some less popular systems that mentality unfortunately never changed)

MESS has stayed further in the other direction, we try to encourage proper use of the systems, which is tricker, especially as many had different keyboard layouts, or required very specific configurations to work. We try to give the power to the user, rather than automate everything, which, when combined with our not always perfect emulation can result in situations where the user isn’t sure how to run something, or if they’re doing the right thing.

It’s definitely an issue, because a game that is ‘working’ might not be that easy to get to work.

Working / Not Working status is also an interesting one. In MAME it’s fairly straight forward, if something is meant to work, it’s marked as working.

Some of the Software Listed things in MESS are trickier, they might work better with one system than another, some systems are marked as NOT working (because overall the emulation doesn’t run a good percentage of the games) while an individual game on the platform might work just fine. Again, there is a degree of putting the power into the hands of the user, and letting them find out. Some devs have been more conservative than others, with some drivers being marked as working as soon as BASIC appears and you can enter commands (even if no real software is available or has been tested) and others are marked as NOT working even when 85% of the library works, just because we don’t really feel they work that well compared to some other emulators, or haven’t tested them extensively yet. In some cases (Sega Pico) heaven only knows why the system is marked as working, it should almost certainly be set to NOT working, most of it isn’t emulated / represented at all!

With time these things will mature, the built in scripting capabilities we have now have the potential to start automating certain tasks (or at least allow the user to call a script to help) We have the Software Lists, which gives us the opportunity to tie certain loading instructions to certain games, including cheat codes for bypassing protection schemes etc.

I don’t think MAME / MESS are ever going to be as easy as ‘find random file on the internet, just run it’ which is the limit for some people – we already see the strange struggles people have with MAME roms – but it would be nice if we could bring things to a level where somebody knowledgeable could easily set things up ‘for their wife’ (or kids etc.) and it would definitely be nice if we had something like QMC2 already included and pre-configured (you already see the number of people who will only touch UI builds of MAME for similar reasons)

I think the most important thing is to draw in people who are curious, and provide enough help to educate them on how to use the systems, and emulator, without stripping away the essence of what was the original systems completely. Finding the correct balance for this will take time. We can’t be DOSbox, but at the same time, we should probably offer pre-configured PC systems (as you’d have bought from a shop back in the day) rather than the current approach which basically requires you to build a PC on the commandline. We want to preserve history, and some of that is having a knowledge of how to operate the machines, but at the same time we don’t want to fail to preserve anything by making things too difficult to use (because then they don’t get tested, and our emulation is more likely to regress, or people aren’t going to report bugs)

Some of the later arcade stuff is just as tricky to setup, the dance games that require installing / updating from different CDs and cartridges etc. is a bit more difficult to get going than most (and I’m fairly sure it regressed recently) Again it might help if we could display instructions on what the user should do, or scripts to automate it via the UI.

In MESS a clear effort is being made to prevent the usability barrier from becoming too high, I’ve noticed with recent additions even when drivers have been changed so that to use CD software you need to add a CD expansion first we’ve also left in a set with that preconfigured to give both the users who want flexibility, and the users who want to operate things as the original hardware would operate a real choice.

(not the most organized post I know)


Haze said a lot of what I am thinking in his response.

I started with that GUI. However what you showed me is not the default. There are a few other fields to fill in after init setup. Also the list view is not the default (once I figured that out…). I think it is either history or information. For example was the hour I ‘wasted’ trying to figure out how to get a ti994a to have a speech synth plugged in. Still have not figured out how to get that GUI to do it and ended up on the command line. I am sure I am missing something stupid simple. But that is kind of my point. It is not obvious what to do.

My point is it is not ‘easy’ to pick up. It is a thing you can learn how to do though. I can manage that as I have been doing this sort of thing for years. Yet even I struggled with it. This sort of thing hurts bringing in new blood I think. As people will consider it hard and not even start in the first place. We were all newbies at one point.

It seems like it could be easier. I am trying to noodle that out. But a decent interface takes time to think thru. I think the two lists is actually a bad thing (I can see why it was done though). As you are basically wasting area that could be information/setup and it is a jarring context switch (much like win8 and it metro interface swapping). Or ‘machine’ setup maybe should be buried somewhere else. I think QMC2 is a good start but laid out in such a way that makes it hard to follow.

I also have a few other ‘goals’ first. Such as getting both UME and QMC2 to build in my VMs (my last attempt at that failed and I got bored and gave up). Ideally I would run and debug it in something like eclipse or Visual Studio as I do not want to feel like I am programming in the 90s (been there done that) ;) Though it probably will come after a goal I have with XBMC and renaming a bunch of files. Which I have been putting off for about 2 months.

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.