David Haywood's Homepage
MAME work and other stuff
January 11, 2013 Haze Categories: General News. 29 Comments

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.148 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

General Notice

As of 0.148 the MESS binaries are offered as an optional extra to the MAME base package on mamedev.org, while this isn’t a fully merged solution like UME it is a step in the right direction towards having MESS recognized as part of the MAME family, which is one of my goals with UME.

I hope in the future we can see them offered as a single package, and eventually merged, spawning the ‘classic’ builds (Arcade-only emulator without any of the pinballs, gambling stuff) alongside a complete build with everything (Arcade + Home) Some people remain unconvinced over this even if it is already the direction in which development is heading. Doing that would give a ‘best of both worlds’ scenario, with the main release showing our dedication as a team to the documentation and preservation of everything we can (a unified voice of what I hope UME shows right now, rather than it just coming from me) along with the Classic version for people who really don’t want some of the recent ‘bloat’ and prefer it to simply emulate arcade video games and nothing else. Everybody would win, I think?

What’s New

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

Points of Interest

There are some really good additions this time around, as well as bug fixes for some long term lingering bugs (such as the control redefining problem for some of the Consoles) Preliminary disk support has also been restored for systems like the CPC (although protected disks won’t work yet until support is improved dramatically) as well as the ability to change disks with softlisted software working again (although not with 7z compreed files due to some pending debate and the need to establish an actual .diff format for writable disks, rather than trying to modify the content of the original files, which you really don’t want to be doing for softlisted media anyway!)

The Rise of the Robots proto made it in, so as I’ve mentioned, that’s if you like trainwrecks that’s no doubt one to study. Mahnattan for the Deco Cassette is there too, along with a couple of Deco Cassette bug fixes I made to support it. Grasspin too, in a working state even if there are a few things to be ironed out.

From MESS the PV1000 has been promoted to working, a curiously underpowered system from Casio to which some not terrible ports were done, although the limitations of the hardware are quite apparent even from those.

HLSL stability fixes have also been put in place, so it now copes better with games doing dynamic resolution changes, which previously were a very good reason to keep HLSL off altogether. If you like HLSL you won’t want to be using anything pre 148 because those fixes are essential for a significant number of popular drivers / systems. The vector games may still have issues, so you might want to create a vector.ini with HLSL turned off, although it has been said a more fancy HLSL vector renderer is in the pipeline, something I’m sure fans of AAE will be glad to hear.

A word of caution, the -mt multithreading option was turned on by default, on my system that still causes issues with noticable random graphic corruption / flickering in several drivers if running unthrottled, if you experience anything like that you’ll probably want to turn it off; the performance benefits are negligible to say the least and I was really tempted to flip it back off for UME (but wanted to stick to the baseline code)

One of the other potential highlights is the Microvision support, also known as the ‘very first handheld’ Unfortunately it seems like nobody added any kind of Software List for it, which makes knowing what are valid images to run on it for testing rather tricky. I’ll probably revisit that one in one of the u updates if one gets added. The cartridges all contain only an MCU, which acts as the CPU, although with a resolution of only 16×16 monochrome pixels as you can guess it is going to be a very limited system!

Once again proving the projects are an international effort and just not about the popular systems everybody knows there has been work on a number of relatively obscure systems including the Hanimex PENCIL II, a system mostly known in Australia (although apparently manufactured in Hong Kong) It’s more or less an MSX style machine, although again there is no software listed and it apparently does not have the capability to load in any software at the moment (it was placed in the wrong section of the messnew, it isn’t actually marked as working yet) Still, it’s one to watch if some dumps turn up, otherwise you can play with the built in basic.

(Stay tuned for more) (sorry, not been too well these days)

29 Comments

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

Has UME been removed as a target from the MAME source? How should it be compiled now as I don’t see a proper target in the makefile.

no UME is still there

make TARGET=ume

will still build UME

the ume.mak is in the /ume folder, changing the target to ume, or typing what I say above will build it.

the binaries offered here are built with an entirely unmodified source :-)

Sorry, I was clumsy and typed TaRGET, which obviously wouldn’t work. I eventually found my mistake and compiled it properly.

Random question – Whats holding back the music in Taito G-Net games from being emulated?

the fact that it uses an unemulated CPU

oh, and I’d like to point out that the CPC disk support in 0.148 is more or less as good as the 0.147 one, but it still tend to fail also on some unprotected disks, just different ones compared to the old code…

I cross my fingers about getting better .dsk support eventually

Well OG basically said he makes no attempt whatsoever to parse / use anything except the very basic track data, and even abnormalities in that will cause it to fail, so the protected disks are out of the question until it’s improved.

but 99% of them are unprotected tape->disk transfers, so just fine.

I’m aware of what OG said, but since a few unprotected disks which were working before fail now, I wanted to let users know that it’s not exactly the same as before.

There are also a bunch of unprotected disks which work now and earlier were failing to complete properly their loading

I did not keep a list of either though

well yeah, to be expected, the entire underlying floppy code has changed too ;-)

Things happen as predicted. Will go “there” eventually. Good.

everybody is celebrating bcz mameFX removes your stupid gambling “games”

take it out of mame moron . it does not belong there and kill ume and mess too bcz mame does not need this shit in it

mamefx 4evr

You could just remove all of the gambling games and any other games from mame.lst yourself. It doesn’t take long and it’s easy to do.

Hmm, the old ‘rip out everything I don’t like’ argument..

Actually if the above poster had bothered to read my post they’d see I’m actually proposing similar, although didn’t get very far with it, asking for the negatives of having a official ‘full’ builds (mame + mess + misc) and classic builds (just traditional arcade / just home) only resulted in actual devs trolling me on the dev list, and picking apart a slight misuse or my English rather than actually listing me any negatives to consider.

Anyway, use MameUIFX if you want, it doesn’t bother me, I even made sure to move any video games out from the non-video fruit machines to ensure people who want to just disable the non-video ones can, the first time MameSick did it he ended up excluding a bunch of video quiz ones too (although I’m sure next you’ll just be saying that genre sucks too and should be removed as well)

MAME has a more important goal of trying to document these and help ensure information doesn’t get lost to time.. It would be nice if the team accepted that on a broader scale when it comes to the UME ‘vision’ as the main one instead getting kicks out of trolling and derailing conversations, although small mercies when it comes to this stuff I guess.

Anyway, what other people do with what we offer is up to them, they can filter it how they see fit.

@Hahahaha
Nobody cares about what you think. Please remove your stupid “posts” of the internet.

@Moo or @Haze (or anyone that can answer)
Removing games of mame.lst used to work. Since 0.147u2, if you try to compile with only outrun.c games in mame.lst it will fail to link. I think is related to the modernizing of YM2151 device. Is this expected? Or is this supposed to work?
I didn’t post in mametesters about it because I though it’s an unsuported feature.

I’d noticed a few similar issues myself, with required parts not getting linked in with certain drivers disabled. I was trying to do a Mess build with only the Amiga at the time.

Andrew was experiencing similar with Qsound whereby the CPU core didn’t get properly linked in when only the device was using it (not a driver) so it could be connected and I’ve definitely seen similar with some of the laserdisc devices in the past.

It probably needs a quick look at but I doubt MT would consider it tho as you say because by default it isn’t an issue, only if you start chopping and changing things.

Of course MT won’t accept issues related to a custom build, didn’t think about that :)
Anyway if this is already know there’s nothing to report, I guess. Thanks for the answer.

Haze, I wanted to point out that your links to the MAME git repository aren’t working anymore.

You link to…
http://git.redump.net/mame
…doesn’t give you the latest results.

However, if you add a trailing slash, then it works…
http://git.redump.net/mame/
…and gives you the latest changes.

It seems to a recent change because your link used to work.

Hmm that happened in the past too, but the other way around. Weird, but I can update it.

see above, it seems to be lagging behind
http://git.redump.net/mame/

(but only by about 15 minutes here)

not really sure what they’ve set the server to do ;-)

Get well soon !

“The project represents a natural course of development …”

My wish list;
clrmamepro linux port
t7z support
Mame merge with QMC2

0.148u1 should be an interesting release when it comes out I imagine, further developing on what’s occurred on this release, and also the progress on PlayStation support. I read on the GIT mirror that memory card support has finally been added and XA audio fixes too, making it two steps closer to a working driver. Probably still not the ‘perfect’ driver everyone would like to see, but at least this should make in theory Raiden DX to actually behave a lot better.

I’d like to try it myself but I can’t seem to compile MESS let alone UME. Is it absolutely necessary to compile with the MinGW libaries from December that added Python?

Also, sharing Fast Eddie’s wishes, here’s hoping you feel better soon. :)

Check
http://forums.bannister.org/ubbthreads.php?ubb=showflat&Number=84618#Post84618

for some shots of the PSX driver in action, carl did some great work in fixing up those bits, it’s gone from being a complete dud to one of the most interesting bits of MESS progress in a while

the PSX driver works great in Mess,but the Mess work if can be fixed in some Mame PSX hardware?

The work that I did on the controllers and memory cards won’t help the arcade hardware emulation but the work that smf and rb have done on the spu and gpu might.

My SPU fixes have all been related to the console’s special support for streaming CD audio, which none of the MAME games use (even the ones with CDs use normal PC SCSI or ATAPI drives that don’t support those mechanisms).

Turns out it was indeed my libraries. Doing a normal make target=mess worked fine.

The progress screenshots are definitely looking quite interesting! Shame most of the ISOs I have seem to cause a code dump when I give it a run though. With all the progress that’s happening I should give them another shot.