David Haywood's Homepage
MAME work and other stuff
January 16, 2014 Haze Categories: General News. 23 Comments on UME 0.152ex2

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

I’ve not finished the 2013 write-up mentioned in the previous UME release yet, although it is still in progress. In the meantime I feel there has been enough interesting progress to put out another update.

0.152ex2 is based on SVN revision 27126

The changelog (simply a copy/paste of the SVN log) can be read here. This isn’t formatted as a whatsnew, but as usual I’ll summarize the main points below.

UME 0.152ex2 Windows binaries – 32-bit, 64-bit and all tools
UME 0.152ex2 sources

Points of Interest

One of the most significant bits of progress in this build comes from the MESS side, with the Bandai Super Vision 8000 (SV8000) being emulated for the first time, for this you can thank Wilbert Pol and a number of others, including Charles MacDonald who was able to dump several cartridges much like he did for the Nichibutsu My Vision recently. It’s an old system (as in 1979 old) so don’t expect anything to look spectacular, but also don’t underestimate how significant having systems like this is emulated, they’re an important part of the overall picture and very rare these days. (thanks must also go to ranger_lennier who located, and purchased all these games before lending them to Charles)


Othello Othello Othello
(Othello)

Gun Professional Gun Professional Gun Professional
(Gun Professional)

Pac Pac Bird Pac Pac Bird Pac Pac Bird
(Pac Pac Bird)

Space Fire Space Fire Space Fire
(Space Fire)

Missilevader Missilevader Missilevader
(Missilevader)

Beamgalaxian Beamgalaxian Beamgalaxian
(Beamgalaxian)

Submarine Submarine Submarine
(Submarine)

0.152ex2 also sees the latest PGM progress incorporated, including a properly working V201 Cartridge version of Spectral vs Generation. For those in the know this is the version of the game to own. The Japanese V100 PCB version that was previously ‘working’ feels like an unfinished game, the V200 / V201 cartridge versions are much more refined, with better AI, less odd audio design choices (no silly vocal track every 2nd round), bosses unlocked and a bunch of graphic effects etc. on certain special moves that are completely absent from the V100 sets. In all honesty if you own a V100 PCB you’d be best trading it in and buying the V200 cart, the experience is (IMHO) much better; there’s good reason they boosted the version number!. Prior to the current progress you could boot the V201 set in MAME with a hack, but inputs wouldn’t always respond properly, the region screen was missing, and it crashed sometimes, we’re now using the proper V200 internal ROM and those problems are gone. Huge thanks should go to rtw for picking up the cart for this one and running the tests, a lot of people might have been put off with a version of the game already emulated but it’s always good to try and do things properly where possible.


Spectral Vs Generation V201 Spectral Vs Generation V201
Spectral Vs Generation V201 Spectral Vs Generation V201
(Spectral vs Generation V201 Cartridge version – the proper version of the game!)

While still on the subject of PGM the Happy 6-in-1 progress is here too, although unless you read Chinese or already know the rules to the card games the only real playable game is the rendition of Dragon World Pretty Chance, although you can laugh at some of the goofy graphics elsewhere.


Happy 6 Happy 6
Happy 6 Happy 6
Happy 6 Happy 6

ElSemi’s progress on the Crystal System games is here too. Top Blade V, I’ve already featured in the previous update (I was going to leave coverage until this release writeup, but did it early)


Top Blade V Top Blade V
(Working in ex2 – Top Blade V)

His progress on the other two Crystal System games I haven’t shown yet, but keep in mind that NEITHER IS PLAYABLE at the moment. They both have significant graphic corruption and stability issues, as good as some of the screenshots below look. First is Donggul Donggul Haerong, which basically follows the gameplay style of Wonderboy. As you can see the playfield is obscured by garbage, the game also crashes at random still. I’m mentioning these only because it is a nice bit of progress, but don’t expect to play them yet.


Donggul Donggul Haerong Donggul Donggul Haerong
Donggul Donggul Haerong Donggul Donggul Haerong
Donggul Donggul Haerong Donggul Donggul Haerong
(NOT YET PLAYABLE – Donggul Donggul Haerong)

The other game is Office Yeo In Cheon Ha, even getting the screenshots below was difficult because the game is completely unstable at the moment.

Office Yeo In Cheon Ha Office Yeo In Cheon Ha
Office Yeo In Cheon Ha Office Yeo In Cheon Ha
Office Yeo In Cheon Ha Office Yeo In Cheon Ha
(NOT YET PLAYABLE – Office Yeo In Cheon Ha)

0.152ex2 also contains support for one very noteworthy clone, a new set of Outrun that uses an encrypted CPU. While to the end user this might not seem significant it is an important find as far as documenting the history of the game is concerned. Until now all known Outrun versions were completely unprotected, no MCUs, no encrypted CPUs. This Japanese Deluxe release appears to have been the only one to use any kind of protection at all making it interesting for the fact alone. It’s also great to see another one of the Sega CPUs read out before they all die so a huge thanks must go to Shoutime for his work on digging up these clones once again! (now if only we could find the original Galaxy Force release)


Outrun (with FD1089A)
(this Outrun set used an encrypted CPU unlike all the others!)

A slightly less interesting, but still curious clone is “Pocket Gals V.I.P” we’ve known for a long time that Gals Hustler in MAME is an evolution of this hack (you can see the pool balls used for the periods in V.I.P still on the title screen) but the original version of the hack wasn’t supported. It’s interesting because the actual ROMs contained Afega stickers, and the way the rom data is arranged is a lot closer to Gals Panic with the adult images contained in separate data roms mapped higher up in address space. It’s also interesting because I’m not even sure it’s entirely finished, the character select screen doesn’t function correctly and it doesn’t look on the surface like an emulation bug. The copyright still displays Ace International, but I now wonder what Afega’s role in this was. Definitely one of those cases where finding something new has left us with more questions than answers.


Pocket Gal V.I.P Gals Hustler
(Pocket Gal V.I.P is an earlier version of the Gals Hustler hack, possibly the original release)

Osso has been hooking up sound to a couple of BMC titles, showing that fresh eyes can find the odd easy but worthwhile fix in the source. Konkyuu no Hoshi (aka BMC Bowling) now has full sound and music, as does King of Football (we should probably add the original title for that too) although that isn’t yet marked as working. It reminds me I should probably revisit the ‘unknown BMC poker’ driver at some point.


BMC Bowling BMC Bowling
(Konkyuu no Hoshi / BMC Bowling – now with sound)

Carket Ball makes it to the supported list here too, I’ve already featured this one a few times, so I’m not going to write anything more about it.


Carket Ball Carket Ball
Carket Ball Carket Ball
(Carket Ball is working in ex2)

I should also mention there have been many ‘invisible’ source level changed between ex1 and ex2, mostly code refactoring from smf (but also some CPU core modernizations from others). While hopefully none of these have caused any breakage there is always a risk as it’s impossible to test everything. Some of the Mac drivers were broken in the ex1 build as a result of this kind of change. Hopefully everything is fine, but if something unexpected does crop up when things were fine in the ex1 build do make sure to let me know so that we can get to the bottom of it before any proper / official release.

The netlist code (Pong etc.) has continued to advance significantly as well, that’s also mostly invisible progress but as I’ve mentioned before is essential if we’re to see pre-cpu hardware supported well, and likely to come in use for improving the discrete sound emulations we have too.

As always be sure to check the changelist logs to see if there’s anything of interest to you that I’ve missed, these release writeups are only intended to highlight things from the time period that I think people will find interesting rather than mention every little change made.

23 Comments

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

This is so awesome Haze. You have always been an extremely valuable member of the MAME/MESS teams.

Thank you so much for sharing your builds and highly detailed reports.

They realized they didn’t try to cover up what they were ripping off, so they changed the name. Clever Girl. CONGRATULATIONS on the Spectral VS Generation Progress!

Speaking of Progress…this is unrelated but I felt as though I should bring this up. My Turtles in Time Recording abuses a glitch to phase through the instant kill time over bombs. This is still in the latest MAME Version, and I’m unsure if this was in the original game, or an emulation error…

Most bugs in that game have been confirmed as original behavior, I’d be very surprised if the one you’re exploiting isn’t too ;-)

Could you tell me if your source would accept compiling with this Diff? It’s very important since I run my mame on a virtual pinball cabinet :)

*********************************
diff -Naur old/emu/layout/horizont.lay src/emu/layout/horizont.lay
— old/emu/layout/horizont.lay 2007-12-17 16:20:00.000000000 +0100
+++ src/emu/layout/horizont.lay 2013-07-11 16:11:34.460712800 +0200
@@ -1,5 +1,74 @@

+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+

diff -Naur old/emu/layout/vertical.lay src/emu/layout/vertical.lay
— old/emu/layout/vertical.lay 2010-02-12 00:59:38.000000000 +0100
+++ src/emu/layout/vertical.lay 2013-07-11 16:13:32.452461500 +0200
@@ -1,5 +1,74 @@

+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+

diff -Naur old/emu/rendlay.c src/emu/rendlay.c
— old/emu/rendlay.c 2013-01-11 20:43:16.000000000 +0100
+++ src/emu/rendlay.c 2013-07-11 10:36:32.641164200 +0200
@@ -620,6 +620,22 @@
if (dirname != NULL)
m_dirname = dirname;
m_imagefile[0] = xml_get_attribute_string_with_subst(machine, compnode, “file”, “”);
+
+ // Tapule & LordHiryu mod ———————————————————-
+ // Use %dfX as file name to let the layout use arwork/definableX/gamename.png as image
+ if(m_imagefile[0][0] == ‘%’ && m_imagefile[0][1] == ‘d’ && m_imagefile[0][2] == ‘f’){
+ const char *l_img = xml_get_attribute_string_with_subst(machine, compnode, “file”, “”);
+ int l_definable = 0;
+ char l_temp[100];
+
+ sscanf(&l_img[3], “%d”, &l_definable);
+ sprintf(l_temp, “definable%d”, l_definable);
+ m_imagefile[0].cpy(l_temp).cat(PATH_SEPARATOR).cat(machine.basename()).cat(“.png”);
+ // Reset dirname to force arwork folder as default for the definables
+ m_dirname.reset();
+ }
+ // Tapule & LordHiryu mod ———————————————————-
+
m_alphafile[0] = xml_get_attribute_string_with_subst(machine, compnode, “alphafile”, “”);
m_file[0] = global_alloc(emu_file(machine.options().art_path(), OPEN_FLAG_READ));
}
@@ -1193,6 +1209,10 @@
// draw some stripes in the bitmap
m_bitmap[0].allocate(100, 100);
m_bitmap[0].fill(0);
+
+ /*
+ // Tapule & LordHiryu mod ———————————————————-
+ // Don’t draw ugly stripes and don’t log errors if dinamic images does not exist
for (int step = 0; step < 100; step += 25)
for (int line = 0; line < 100; line++)
m_bitmap[0].pix32((step + line) % 100, line % 100) = MAKE_ARGB(0xff,0xff,0xff,0xff);
@@ -1202,6 +1222,8 @@
mame_printf_warning("Unable to load component bitmap '%s'", m_imagefile[0].cstr());
else
mame_printf_warning("Unable to load component bitmap '%s'/'%s'", m_imagefile[0].cstr(), m_alphafile[0].cstr());
+ // Tapule & LordHiryu mod ———————————————————-
+ */
}
}
****************************

Thanks for your brilliant work!
-Kris

Sorry, the the text didn’t copy correctly. HereĊ› the source:

http://mamelayplus.jimdo.com/descargas/

if it works with a regular MAME build it will work here…

It compiled fine with hi diff + mamelayplus diff.

Awesome. Thanks! :)
-Kris

It’s interesting to read about the new version of OutRun. Has anyone analysed the code yet to determine if it’s different from the revision b romset? I could take a look as I’ve already logged the changes between the original, revision a and revision b.

I don’t really understand the point of encrypting a game that was already released without encryption though. Any thoughts on this?

Keep up the good work!

I don’t think anybody has does any analysis of it, it’s rare that anybody does. Might just be an encrypted version of a codebase you’ve already seen tho.

As for why, I’m not sure. Maybe it was the first revision and they removed the security later to save costs?

The System 16 security makes little sense anyway just look at Altered Beast and Shinobi, there are versions with encrypted 68ks of various types, then others with encrypted z80s, and others with MCUs instead of any encryption. They’d only ever use one security type on each board, so in the end bootleggers just took unencrypted 68k from one board, and unencrypted z80 from another.

With some games they were more consistent, always encrypting the 68k, hence why it took so many years for things like Turbo Outrun to be emulated (because there are no unprotected versions of it)

Just a small question, does this UME emulator work on ubuntu? If yes, is there a ppa for it, I can’t find it in the official repos? If not, do you have to compile it yourself, I seem to not be able to even extract the exe on ubuntu.

Thanks for the info :)

I suppose that they tried to test protection schemes on old boards instead of using them on newer ones, because it’s cheaper.

When I compile the 152ex2 source with hiscore diff to mame.exe it runs fine, but if I turn on hlsl I get a black screen at game launch. Hlsl used to work fine with regular 152. Any idea why that is?

a number of people have been having similar issues, with and without HLSL, I’m guessing MAME as a whole is starting to leave some older cards behind (which is a shame, because they’re perfectly capable)

Make sure you have the hlsl folder in the folder you run MAME from. There have been some further adjustments to it since this release too (mainly reverting of changes that caused other issues) so also be sure to try out the next release. If problems persist once 0.153 is out (and can be duplicated in the official release) then report them at Mametesters.

You can compile it yourself, it should work, people have reported using it on Linux so unless there are additional steps they haven’t mentioned I guess you’ll be fine. If you open the source file with 7-zip then you should be able to extract it as it should ignore the self-extracting bit.

If not just download the corresponding revision from the official SVN and build with “make TARGET=ume”

Hey Haze,

managed to compile yesterday, works like a charm, thank you! Though It’d be still nice to have a ppa for it, I know mame has a ppa for the unofficial (and always latest) release at:

https://launchpad.net/~c.falco/+archive/mame

maybe you can ask Cesare to include ume as well, think it should be a breeze for him.

Also I had a bit of a problem getting the source code, I tried checking out:

http://www.mamedev.org/source/

but that is just a webpage, doesn’t work with svn checkout. Also I didn’t manage to extract the attached source code EXE under linux, had to boot into a windows VM to get it extracted. Maybe a tarball would be better next time :)

Other than that, ume works great, keep up the good work!

Best,

Care

yeah, the SVN link is far too hidden (and the ‘source’ pages on mamedev.org are several version out of date)

The news article (now deeply buried) announcing the SVN is at http://mamedev.org/?p=373

The SVN link is
svn://dspnet.fr/mame/trunk

you can of course use the GIT mirrors too, although it isn’t as obvious which version relates to the ‘ex’ builds I’m posting with those because I don’t give you the revision number for GIT due to GIT having it’s own hash scheme instead of an actual number (the one thing I’m not too fond of)

If you guys want linux package files then you should probably poke the people doing them directly so that they know there is demand for that kind of thing otherwise it looks a bit too much like self-promotion :-)

Haha, will make sure to do so! :)

Hi, I use Linux (Ubuntu 12.04 x86/x64 with Gnome 2), how can I use UME on them?

if you can compile MAME it’s much the same, just make sure TARGET is set to ume instead of mame..

it you can’t figure out how to compile MAME for your OS then look up how to do that first :-)

That’s odd. My card is a pretty recent radeon card, shouldn’t fall into a category of old cards but we will see in 153. Thanks!

Did you just change something recently on your site? Comments on your posts are showing up in your RSS feed.

I haven’t changed anything, might just be an update.

My guess is this OutRun rev is actually the final Japanese version (original course order) since the CPU catalog # is after the Japanese Turbo OutRun (317-0017).

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.

Close