David Haywood's Homepage
MAME work and other stuff

UME 0.154

July 23, 2014 Haze Categories: General News. 24 Comments on UME 0.154

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

The release of 0.154 has arrived roughly 3 and a half months after 0.153.

There have been a large number of changes and additions over this period, many worthwhile, but unfortunately some regressions remain, of note the DCS sound issues haven’t been 100% fixed so the 3D Gauntlet games and Vapor TRX currently don’t run as they should. For details on what has changed over the course of the cycle you should check the write-ups for the previous ‘ex’ build updates. The official whatsnew texts (MAME, MESS) also provide full details.

UME 0.154 Windows binaries – 32-bit, 64-bit and all tools
(source matches official mamedev.org source distribution)

Here is the 0.153ex6 to 0.154 SVN log

Other Binaries (if you don’t know what these are you don’t need them)
UME/MAME/MESS split 0.154 Windows *SDL* binaries – 32-bit
UME/MAME/MESS split 0.154 Windows *SDL* binaries – 64-bit

Points of Interest

Robbert has continued with the emulation of the video portion of some of the hybrid video/pinball games starting with one of the better known ones, Granny and the Gators. This is another Bally one, like Baby Pacman and runs on similar hardware but with doubled up video chips for better video capabilities. Again you start play on the video part and enter the pinball part by hitting one of the exits at the side of the playfield. The pinball part isn’t emulated as a playable pinball machine, but you can mash the various target / exit ramp inputs to score points and return to the video portion of the game.


Granny and the Gators Granny and the Gators Granny and the Gators Granny and the Gators

He also looked at the less well known ‘Mr. Game’ pinballs, two sets boot up, ‘Motor Show’ and ‘Dakar’. There is another game in the driver ‘Mac Attack’ but the dumps are bad/incomplete. A 4th game ‘World Cup 90’ runs on slightly different hardware and shows nothing as of yet. The procedure to get these to accept coins at the moment is non trivial.


Mr. Game Dakar Mr. Game Dakar Mr. Game Dakar Mr. Game Dakar


Mr. Game Motorshow Mr. Game Motorshow Mr. Game Motorshow Mr. Game Motorshow

Olivier has also been working on Pinball systems, in his case the Williams DCS based ones.

The Rolling Crush and Center Court progress covered here already is included so both of those are fully working.

A potentially important stability fix for the cheat engine was also submitted in the brief period since ex6, it might stop some of the crash-on-startup issues some people have been seeing with cheats enabled. Also some important fixes for the Lua integration (which saw a rewrite earlier in the cycle) went in, so if you use the ‘autoboot’ functionality it’s important you use this build and not ex6.

In the MESS side of the codebase we’ve seen the Psion Organiser II XP and Psion Organiser II P200 added as working, simple portable devices from the 80s.


Psion Organiser II XP Psion Organiser II XP

Psion Organiser II P200 Psion Organiser II P200

Go to article.. »

Right down the middle

July 17, 2014 Haze Categories: General News. 16 Comments on Right down the middle

A few weeks ago I did an update about Ken Sei Mogura, a rare Street Fighter II themed Whac-a-mole game found by Alan Meades at a disused location in the UK. It turns out that was not the only rare game being stored at that location.

Also there was a very dusty looking cocktail cabinet marked ‘Center Court’ with full original Sega artwork etc. We knew from Japanese flyers and a review in a UK magazine that Center Court was an alt title for Passing Shot, but apart from those references and the odd photo of a cabinet there had been no trace of it.


Center Court Cabinet

Alan returned to the site and picked up the board (with a view to fixing it / restoring it for actual use) and it quickly became apparent that this was a bit more than a simple clone; to cut the story short it’s a prototype. A picture of the board can be seen below.

Center Court

Immediately obvious are the handwritten labels, while the game does have official Sega EPR stickers the numbers were not finalized at this point so instead the locations have been written in, and for the program roms the checksums of the current build.

The other important feature to note is the use of the MC-8123B. The MC-8123B is an encrypted Z80, all other versions of Passing Shot use a regular Z80 and an encrypted 68000 (Fd1094) instead. This has the 68k unencrypted. The game also has 8 sprite roms whereas the final version uses 6.

The board was sent to Porchy and he dumped the roms remarking that the legs on them were in a very fragile state and, despite the clean appearance of the boards in the photo, it seems this is another to file under “saved just in time”

Anyway, looking at the dumps I could see that aside from the sound sample roms they all differed when compared to the other sets. This suggests that the sound code / samples were probably final at this point, maybe why Sega chose to encrypt the sound program. Charles MacDonald has a tool to help decrypt the sound programs, but for the time being I opted to load the original sound program rom over the encrypted one on the gut feeling that once decrypted the code will be the same.

Upon booting the games in MAME a number of differences were immediately obvious. I’ve put Center Court screenshots on the left and Passing Shot screenshots on the right.


Center Court Passing Shot
(The most obvious difference is the title screen, the entire presentation sequence here is different)
Center Court Passing Shot
(The Vs. screens in Center Court show less detail)
Center Court Passing Shot
(In Center Court the ball flashes when serving, in Passing Shot it has a flashing outline instead)
Center Court Passing Shot
(The layout of the court differs)
Center Court Passing Shot
(Center Court has a less elaborate Game Over screen / sequence)

There could be other differences too, but those were the most obvious once.

The first time I booted Center Court I was surprised by something else too, debug text on the screen.


Center Court Debug Center Court Debug
Center Court Debug Center Court Debug

After playing with the dipswitches a bit I found that the ‘Demo Sound’ dipswitch turns On/Off this display instead of turning On/Off the Demo Sounds, again further evidence for this being a prototype build.

Another very nice find, huge thanks to all involved!

Go to article.. »

Semi-Semicom

July 17, 2014 Haze Categories: General News. 4 Comments on Semi-Semicom

Osso recently purchased an unknown Korean title called ‘Rolling Crush’ and donated the board to Caius for dumping.

Upon arrival Caius posted a picture of the PCB.


Rolling Crush PCB
(Rolling Crush PCB)

There are a few distinguishing features about the PCB, first of all it uses an MC68EC020 rather than a regular 68k like most Korean games, second and most significantly it had an AT89C52 MCU. These features instantly allowed me to identify it as a Semicom PCB, and as it happens it turned out to be the same PCB as Dream World.


Dream World PCB
(Dream World PCB)

The boards are essentially identical, but Rolling Crush does not have one of the AD-65 (sound chip) positions populated (top of the images). Interestingly this would bring it closer to the Baryon profile, which uses only a single AD-65 as opposed to the dual ones used by Dream World, however that PCB is a slightly different design.


Baryon PCB
(Baryon PCB – not identical)

Now this was interesting because the game was not sold as a Semicom game, nor did any of the provided screenshots or videos show a Semicom logo or Semicom copyright, furthermore it does not appear on any official list of Semicom games I’ve seen. The video Caius provided is embedded below. The blue-white colour fade on startup is the same as Baryon, and the sound effects (coin etc.) are also clearly Semicom but that’s as far as the obvious signs go.


Content not available.
Please allow cookies by clicking Accept on the banner

Once the dump arrived I looked in the main program roms of the game, and as expected there were a variety of Semicom related messages, looking in the graphic roms further bolstered my view that this was a Semicom development, the usual Semicom ‘Unicorn’ and could clearly be seen there too.


Rolling Crush

Unsurprisingly it was also protected like the other Semicom games too, with the MCU supplying the interrupt routine for the game at startup. This kind of protection is easy enough to deal with, I modified some code I’d used to extract the data from Dream World and Baryon, Caius then ran that code on the original hardware and took some pictures.


Rolling Crush

After entering all the data the game successfully booted in MAME. I tried playing with the various dipswitches to see if one showed a Semicom copyright, but none of them had that effect.


Rolling Crush Rolling Crush
Rolling Crush Rolling Crush
Rolling Crush Rolling Crush
Rolling Crush Rolling Crush
Rolling Crush Rolling Crush
Rolling Crush Rolling Crush
Rolling Crush Rolling Crush
Rolling Crush Rolling Crush
Rolling Crush Rolling Crush

One thing I had noticed when looking at the program roms was a credits roll including names of Semicom staff, viewing this of course meant I would have to complete the game, and even on the easiest setting things started to get very difficult on the later stages. Thankfully MAME has cheat finding capabilities built into the debugger, and even if they’re not as good as they used to be I was sill able to use them to find some cheats allowing me to finish the game.

Finishing the game (50 stages) yielded the following credits roll after a psychedelic ‘Congratulation’ message.


Rolling Crush Rolling Crush
Rolling Crush
Rolling Crush
Rolling Crush
Rolling Crush
Rolling Crush

So there you have it, the actual Semicom copyright, inexplicably only visible for a brief second once you finish the entire game! I don’t think the game is a hack or a bootleg* instead it was probably simply licensed to ‘Trust’ for sale / distribution. I wonder if there is an alt. version out there actually using the other Semicom graphics that are present in the roms.

*I’m aware the gameplay is a complete rip-off of Puzzloop, but the code and other assets are original

*edit* ArcadeFlyers has a flyer for the game, also mysterious because it too lacks any manufacturer information.


Rolling Crush Rolling Crush

While the flyer lacks manufacturer information it does still hint at Semicom, the layout of the back page is similar to More More Plus with the ‘MEMO’ box.

More More Plus

Go to article.. »

UME 0.153ex6

July 14, 2014 Haze Categories: General News. 19 Comments on UME 0.153ex6

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

With no clear sign of an official 0.154 release I’ve decided to put up an 0.153ex6 build for public testing.

We seem to be heading towards a good level of stability with this build, although some outstanding issues from the cycle do still exist, namely the DCS sound issues, and some H8 based games (Last Fighting) which no longer appear to run correctly.

I’m a bit limited for MAME time at the moment as you can probably see from the unfinished write-up for ex5, but there are a number of new additions and features I feel make it worth putting out this ex6 build for testing, these will be discussed below.

0.153ex6 is built from SVN revision 31277

UME 0.153ex6 Windows binaries – 32-bit, 64-bit and all tools
UME 0.153ex6 sources

Here is the 0.153ex5 to 0.153ex6 SVN log

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

Points of Interest

One area of interest I covered in the 2013 write-up was the progress being made by Samuele Zannoli on the Sega Chihiro platform – an arcade version of the original XBox. The emulation of that platform has seen further improvements to the 2D rendering over the lasts few weeks, and now includes debug code to disassemble the various shaders that get uploaded by the game code. Performance is still very slow, running at around 2% speed on my 3Ghz Core 2 system so actually seeing the progress in action is very time consuming. To save time I’ve recorded a short video with -aviwrite, it took about an hour and a half to record but gives you a 3 minute preview of the current state of the emulation. The emulation hangs MAME shortly after the end of this video (when the 8th place high score is displayed) so I quit before then. Please note, this contains some rapidly flashing colours so if you suffer from epilepsy or similar conditions you might want to avoid viewing the video. The title screen comes in at around 1:14.


Content not available.
Please allow cookies by clicking Accept on the banner

With Ken Sei Mogura I tackled a part mechanical game in MAME, Robbert has been doing similar by looking at Bally’s Baby Pacman, a Pinball and Video game hybrid. Obviously simulating the entire pinball table is a bit beyond MAME at present, and PinMAME already supported this years ago, but it’s good to see progress being made on the emulation of the video part in baseline MAME. Even without the pinball part emulated if you map all the pinball triggers to keys then you can fool the game into thinking you’ve hit the targets on the Pinball part to unlock the power pills and allow you access back into the maze. Currently sound doesn’t work, but this is one I had been hoping to see progress with for a while. He has also been working on Granny and the Gators, but that is a more complex setup and doesn’t currently boot without hacks. There was another Video-Pinball hybrid in the form of Gottlieb’s Caveman, the video hardware for that one actually looks really simple so I might give hooking it up a go myself.


Baby Pacman Baby Pacman Baby Pacman Baby Pacman Baby Pacman
Baby Pacman Baby Pacman Baby Pacman Baby Pacman Baby Pacman

A feature a number of people have been anticipating for a while is NeoGeo MVS multi-slot, and I’m happy to be able to say that the ex6 build shows the first steps of this being integrated into the main codebase. An external contributor took my original work from the turn of the year and reworked it to be a bit more modern before submitting it. Thanks to “S. Smith” (or whoever you are) for this contribution.

If we use the commandline

ume64 neogeo -cart1 fatfury1 -cart2 fatfury2 -cart3 fatfursp -cart4 rbffspec -cart5 rbff2 -cart6 garou

then we can boot the NeoGeo emulation with all 6 slots filled, so the menus look something like this.


NeoGeo NeoGeo

After inserting a coin you can then flip through each of the 6 slots using the 3/4 buttons (next game / previous game on the cabinet)

NeoGeo NeoGeo NeoGeo NeoGeo NeoGeo NeoGeo

The Unibios also recognizes all the slots, so if you’re using that you can run the CRC test on any slot

NeoGeo NeoGeo NeoGeo
NeoGeo NeoGeo NeoGeo

Please note that this support is still considered preliminary. There are a number of issues, primarily that cartridges should handle their own Z80 banking, rather than it being a global thing. The only game I’ve noticed this causing issues with first hand is Thrash Rally which has no sound on the MVS with the current slot system, although it seems to be a badly programmed game anyway. AWJ has volunteered to look into doing the Z80 banking properly, although I don’t know if that will be done in time for the next release.

A couple of the actual MVS games seem buggy too, for example a few titles will cause the NeoGeo to not initialize any cartridges in slots after the one the cartridge is in if the NVRAM of the NeoGeo is blank. Two such games are ‘kof95’ and ‘kof2002’. I believe this to be an original game bug because the ‘kof95a’ / ‘kof95h’ set fixes the bug. This would be a very rare occurrence on real hardware as it appears it only happens if the NVRAM area for that slot is completely uninitialized, if another game has previously initialized it then things are fine and a simple turning off/on of the system is enough to have all cartridges recognized if it does ever happen. In MESS it’s a slightly more common occurrence because the first time you boot the system you’re working from a completely blank / unused NVRAM.

It’s also worth noting that for games with watchdog protection you’ll get a single reset PER game upon first installation of the cart, meaning if you boot with 6 games all of which have that protection you’ll get 6 resets, this is normal. Many of the bootlegs / hacks also fail to properly respect RAM boundaries for multi-slot configurations and fail if used in them, or fail to advance the game after an attract cycle, again this appears normal and I have a feeling the hardware would act in the same way.

One final note, the slot system uses the Software List, there are a number of entries missing from it at the moment.

If you don’t care about the multi-slot system then the existing NeoGeo emulation works exactly as it has always done, and you can ignore this extra functionality.

Moving on, a last minute addition to the ex6 build was the NON-WORKING set of Rolling Crush. This game was recently dumped and hopefully I’ll be showing you some progress on it shortly. The board was purchased by Osso and dumped by Caius, the copyright shows (c)1999 Trust, but it’s clearly a Semicom developed game, it uses common SemiCom sound effects, has unused Semicom logos in the ROMs, runs on a Dream World PCB (with an AD-65 removed) and uses exactly the same protection systems as every other SemiCom game meaning to get it working I’ll need to extract the protection data. He uploaded a video from the original PCB here. I’ll be working on this over the next few days!

– tweaks to SMS timing
– trap15 wonderswan noise channel
– gameboy Li Cheng pirate mapper
– further Konami cleanup
– RB: Apple II – Support for the Mountain Computer Music System
– slight C64 speedups
– CPU modernizations (some reported slowdown?)
– Couriersud continued netlist work
– SH2 dynarec speedups for low end systems.
– Cool Pool 2nd button (wasn’t fully playable before?)
– Save State core stability fixes for some edge cases
– Older Snake Pit and SDI clones

(more soon)

Go to article.. »

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