The official MAME/MESS 0.150 release saw the concept of ‘u’ updates abolished. This I feel was long overdue, but at the same time there are points in the development cycle where clear improvements have been made over the previous release.
For this reason I’ve decided to offer my own unofficial updates here. I’m calling them ‘x’ builds, to avoid confusion with the old official ‘u’ builds. I’ll only be compiling / offering these in UME form, not MAME / MESS, and like with the MAME / MESS updates I’ll post a little synopsis with each update highlighting the more important changes.
I doubt I’ll have to do this too often, but for now the first of these updates is 0.150×1, and it’s based off SVN revision 25500.
The changelog (simply a copy/paste of the SVN log) can be read here. This isn’t formatted as a whatsnew, but as mentioned I’ll summarize the main points below.
In addition to the above I’m offering a test binary compiled with different settings and a slight source modification as described by MooglyGuy here. This includes an experimental change that could improve the N64 performance on some systems (it doesn’t seem to make a difference here) I’m only offering this in 64-bit flavor as there is little point in a 32-bit build. It requires at least a Core2Duo to run.
UME 0.150×1 experimental Windows binaries – rsp.h modification, SSE2 optimization, 64-bit only, all tools (not recommended for general use)
Points of Interest
First I should probably start by saying that the Vector HLSL and effects+multi screen game issues are NOT fixed yet, that code hasn’t been touched at all, however, there have been some significant bugfixes / regression fixes.
The beatmania series (HDD error on startup)
Several Taito G-Net games (Super Puzzle Bobble flash card read error)
Meikyuu Hunter G sound (inadvertently broken when Ghost Busters was changed to use the Deco222 a while back)
Jangou Lady (broken by CPU core rewrites requiring interrupt handling in drivers to be more correct)
Double Dragon 3 refresh rate (became a bit too low when driver was merged with WWF Wrestlefest)
Uncio driver (Zero Point 2 / Burglar X) (tile dirty marking ended up being broken 2 and a half years ago during some refactoring, nobody had reported it until now!)
Genesis VDP timing (was using PAL timing in some cases when it shouldn’t have been after a previous refactor, this was causing visual glitches in many games eg. Dashin’ Desperadoes)
Rise of the Robots (HDD loading error)
X-Men 6 Player version (missing sprites after the m_screen refactoring)
GX4000 inputs (weren’t working for many games, even if they worked on the 6128+)
Atari Flat shaded 3D games (Hard Drivin’, Stun Runner) (confirms that the 68010 doesn’t have the ‘broken’ clr.b/.w/.l opcode behavior)
Flower (had been mistakenly set to 4-way in 0.150 due to a video of the cabinet showing a 4-way stick, but clearly seems to be an 8-way game, probably a faulty kit conversion)
Crypt Killer (HDD loading error)
Regrettably some of those were regressions I introduced (DD3, Atari, Meikyuu Hunter G) even after extensive testing at the time, goes to show you can’t catch everything so we’re always thankful for testers. Many of the others are due to the ongoing IDE/HDD type changes, and some are rather embarrassing (the logic for the dirty tile marking in Uncio was flawed beyond comprehension, but did give an opportunity to redactor and clean up the driver a bit while fixing it) The fixes here came from a variety of devs which is always good to see.
The list above alone should be enough reason to favor a 0.150×1 build over plain old 0.150, but naturally there are more improvements and additions included too.
(GX4000 controls were one of the long-term regression fixes, so inputs work again for many games, including player 2 support)
(video emulation in the Unico driver was another long term casualty, last working 2.5 years ago. 0.150×1 fixes that so backgrounds are present in Zero Point 2 again)
The conflict between the ‘shark’ game set ROMs in MAME and the ‘shark’ device ROMs in MESS when compiled as UME has been resolved, it was reported to have been causing some problems for frontends and ClrMAME in the last 2 UME releases. If you notice anything like this in the future which isn’t being picked up by -validate than let me know and I’ll ensure that it gets fixed as soon as possible. Not all devs are using a combined build, and when this specific type of conflict doesn’t show up with -validate even if they are it’s very easy to slip under the radar because we don’t typically make use of ROM managers or Frontends while working on MAME/MESS.
The web server code has seen numerous improvements too, mainly thanks to external contributor ‘Firehawke’ The code as-shipped in 0.150 could only run on port 8080 due to some hardcoded values in the code (so if you changed the port it wouldn’t work properly at all) The interface has also been vastly improved and several new features like the ability to load and save states are exposed via the web page you’re presented with. Fixes have also been made to improve rendering on mobile devices at different screen orientations etc. so controlling the MAME interface features via your phone or tablet now works better than it did in 0.150. If this feature was of interest to you then 0.150×1 is a big step up from 0.150.
In terms of newly supported stuff one of the most interesting additions is a prototype clone of Taito’s ‘Growl’ found / owned by the same ‘Dsyde’ and ‘muddymusic’ combo that brought us the ‘Bubble Bobble 2’ prototype previously shown here. There is a fair bit to write about this prototype, but I want to wait until they’ve put up their own post on Jamma+ about it.
(A prototype of Growl, right, was added. I’m not going to write more about it until the owners have done their own comparisons tho)
There’s also of course ‘Dolmen’ which slotted right in a few hours after 0.150 hit, and the playable, but still marked as not-working due to potential issues ‘Carket’ added yesterday.
(Dolmen, the Puzzle Bobble clone from Afega works fine)
(Carket Ball still has issues and will continue to do so until the protection data is dumped, but still runs to a degree)
Support was also added to the cps3 driver to load the bootleg CPS3 multi-game conversions from Darksoft, there are two sets, one runs on a dead / blank cart with replaced bios (same key as 2nd Impact) and the other runs with a cart with both the bios replaced and CPU replaced with a regular SH2. Due to the difference in the way the encryption works with a dead cart (encrypted code mixed with non-encrypted data) neither bootleg has complete coverage. I know there are a number of people who don’t think MAME should be supporting things like this, or disagree with the term ‘bootleg’ but they are what they are, and as they’re being used in the wild it is up to MAME to document them, and document the ability to use a regular SH2 regardless of personal opinions.
(the CPS3 bootleg sets run on dead carts or ones with the custom CPU replaced with a regular SH2, not all games can be flashed even if they appear in the menu)
Brian Troha was involved in adding a large number of old Player’s Edge Plus sets were also sorted out for this release, and while most are minor variations on the same themes it is good to have them better documented.
(lots of new Player’s Edge Plus sets are recognized)
Some work was done by Barry Rodewald on the ‘Williams WPC (Alpha Numeric)’ driver pinball, meaning most sets in there now show some start-up strings and attempt to boot, although like all the Pinball drivers I doubt MAME will ever serve as more than the emulation core part of another piece of software like PinMAME did.
In MESS Curt Coder continued on his quest to emulate every obscure C64 peripheral you could possibly imagine, adding support for the PARTNER 64 personal organizer cartridge while also factoring out some legacy code.
(PARTNER 64 was a cartridge based personal organizer for the C64, screenshot taken from bannister.org thread)
R.Belmont added a missing FPU opcode to the 68k cores for the benefit of Sim City 2000 on the emulated Mac platforms.
(The Mac version of Sim City 2000 required a missing 68k FPU opcode to be implemented, screenshot taken from bannister.org thread)
A non-working driver for redemption game ‘Frantic Fred’ was added. This is another Kyle Hodgetts game and the emulation exposes a few bugs in the driver, one of which has been fixed, the other (page flipping problem) remains. The game is marked as NOT WORKING because the inputs don’t function. It should use a wheel and one button, but I’ve been unable to find where the wheel maps. It might require somebody more familiar with the TMS32010 to fix it up. I tried using a similar mapping to the other games on the hardware where a spinner was utilized but it doesn’t appear to be the same.
(Frantic Fred is a Kyle Hodgetts redemption game, currently not working due to missing inputs)
Softlist additions on working platforms have been a little quiet of late because etabeta usually does a lot of that work and he’s been busy, however there was the Ultraman Saturn cartridge added to the lists (mentioned in the article below)
The PROM to the very rare Desert Dan was dumped by Zab, allowing for correct colours in that (yes, the desert is white)
(Desert Dan with proper colours)
For less noticeable but still worthwhile changes you have things like iq_132 cleaning up the 1943 protection simulation, by returning the expected values based on the writes made rather than looking directly into a CPU register for the correct result (which is an ugly hack) Functionality should be identical tho!
Many other changes have been made, especially in the MESS side with work being done on a number of fairly obscure systems, or affecting things in ways I’m not familiar enough to provide information on. As always check the changelogs because a lot of the really hard work being done does go under-appreciated.