Moving to Github

A number of you have probably noticed the old GIT mirror being up and down over the last few days, that’s because there’s been a fair bit of movement going on under the surface.

As per the announcement on mamedev.org the project is now officially being developed on Github, as opposed to our own inhouse operated SVN server. You can still pull the source exactly as before using your SVN client (tortoiseSVN or whatever you choose on Windows) but using the new address listed there instead of the one you’ve used in the past.

You can also update to a GIT based client for added functionality. The web based interface Github provides can be browsed like the GIT mirror, although there are currently some limitations imposed by GitHub (files per folder) that may cause some issues.

The old SVN server is now set to read only for everybody and will no longer be updated.

I don’t really have much to add to the announcement at this time, but feel it’s important to spread the message.

 

UME 0.155

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

Official whatsnew texts for (MAME, MESS) provide full details of what has changed since 0.154, much of this has been covered in my ‘ex’ updates.

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

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

Points of Interest

Not a great deal has changed from a user-visible point of view since the last ‘ex’ build, but I’ll cover some highlights, and anything interesting I missed from the entire cycle soonish.

One thing I was looking at shortly before the release is a Mario Bros. bootleg. Most bootlegs are quite dull, often changing nothing of note, or offering a significantly degraded experience. This Mario bootleg was said to be on ‘Ambush’ hardware by dumper Tirino73 and while some things differ enough to make me wonder if it’s really an Ambush board the sound system and a number of other details do seem to fit that profile quite well.

That’s what is most interesting about this bootleg, the sound. Right now in MAME the original Mario has terrible sound, the walking effect is far louder than everything else, and it need some serious attention by somebody more knowledgeable about discrete sound hardware than myself. This bootleg however has a completely different sound system to the original, utilizing 2 AY8910 chips for sound effects and music. If that wasn’t interesting enough the bootleggers based the melodies on Donkey Kong Jr, but they didn’t just rip things directly because Donkey Kong Jr. doesn’t use AY8910 chips either so it’s clearly been reworked for this hardware.

There was also a Donkey Kong 3 bootleg on basically the same hardware. Unfortunately when these were dumped the colour PROMs were not dumped at the same time, and it’s unlikely they’re meant to be 100% the same format as the originals, this has made progress on the emulation slower. I’ve uploaded a video of the Mario bootleg which you can watch below, the Donkey Kong 3 bootleg is currently in a worse state.



Frisky Tom is an interesting little game too, previously we had 2 sets in MAME, the parent set, which is presumed to be a World release is the most polished of the two, it has a full attract demo cycle showing gameplay, it shows the game level ‘Rank C’ before each round, it calls the player lives ‘TOM’ in test mode, and represents them onscreen with a little icon showing your guy in the top left corner. It’s also censored, because the game is actually an ‘adult’ game, believe it or not (probably easy enough to believe, it’s from Nichibutsu)


Frisky Tom Frisky Tom
Frisky Tom Frisky Tom

The other version in MAME was an older version, it’s uncensored, it lacks a full attract demo, or the level display, and uses a water tank icon for the player lives, calling them ‘TANK’ in test mode (which until you realise means water tank, is a little confusing)

Frisky Tom Frisky Tom

Just before 0.155 Andrew Welburn dumped another set of the game, and it seems to be an even older set. One interesting thing about this game is that the graphic roms differ slightly between revisions, obviously in part due to one set having censored graphics, and the other not, but also details live the lives counter icon previously mentioned.

There were two things of note with this new set, first of all the tile the contains the lives counter symbol on the previously mentioned sets is a blank tile, second the part of the main CPU rom that the protection MCU runs is encrypted (all sets of the game use a weird setup where the protection CPU just runs code from the main CPU, more like a sub-cpu than a protection cpu) This was a simple bitswap on the opcodes only, but is still an interesting difference. Once that was all figured out and the game booted it was clear why the lives counter tile was blank, this set, instead of using a symbol in the corner, uses a graphic near the high score text made from existing tiles, indicating it’s probably an earlier set than either of the previous two.


Frisky Tom

It’s always nice when new clones have actual visible differences, especially like this where it gives a snapshot into how the game was refined over time.

 

UME 0.154ex5

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

0.154ex5 is built from SVN revision 32608

Some adjustments have been made to the Raiden II COP (protection) emulation that really need testing, so here is a new ‘ex’ build. I’ll discuss this more below.

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

Here is the 0.154ex4 to 0.154ex5 SVN log

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

Points of Interest – Raiden II changes

One thing I didn’t realise about Raiden II is that your ship hitbox becomes larger when you reach a certain powerup level, making bullets more difficult to judge. Experts on the game are well aware of this however, and pointed out a situation in MAME where the hitboxes didn’t seem correct.

Sometimes large objects need to fit through small spaces, and it is known that even with a fully powered up ship it should be possible to pass through the 1st attack by the 2nd stage boss as long as you really are dead on center. This was possible in MAME on the r2dx_v33 sets (V33 hardware) where collisions were done in the game software, and in the Playstation port, it however wasn’t possible using the regular Raiden II / DX sets.

As a result of this feedback I’ve modified how the collision boxes are used slightly, allowing this manoeuvre to be performed.


Raiden II

This is of course a risky change, it could be the problem comes from elsewhere and the actual hitboxes were already fine, so I do ask people to test Raiden II and DX extensively with these builds to make sure nothing has regressed.

Another interesting find was a copy of Raiden 2 on a Raiden DX PCB – this strange version also has the difficulty turned up to 11, note the sheer number of tanks before the bridge in the 1st stage! This has been added as ‘raiden2dx’


Raiden II on DX hardware

A proper Japan set of Raiden DX is also now supported, this version does not have a 3rd button for Rapid Fire and displays various bits of text in Japanese. (thanks rtw)


Raiden DX Japan Raiden DX Japan Raiden DX Japan

Points of Interest – Other Changes

Gundam Wing: Endless Duel is a bootleg of the Japanese SNES game ‘Shin Kidou Senki Gundam W – Endless Duel’ adapted for arcade use. It seems that SNES games were a popular target for this kind of bootlegging as we already have several supported in MAME. Typically the bootleggers also encrypted the games, and added additional protection. As a result of these extra protections it took quite a long time, and a number of devs to finally figure this one out. (Peter Ferrie for protection, iq_132 for decryption, and stephh making a rare appearance for the inputs)

On the left you can see the title screen from ‘endless’ in MAME, on the right you can see the original SNES version (‘snes gndmwend’) running in UME/MESS


Arcade Endless Duel bootleg Arcade Endless Duel bootleg

The actual game is a Vs. fighter with some attractive graphics.

Arcade Endless Duel bootleg Arcade Endless Duel bootleg
Arcade Endless Duel bootleg

One long overdue change was merging the Data East ‘Bloody Wolf’ driver with the proper PC-Engine emulation code. Since it was added there was a bug with sprite masking on the submarine boss (it was visible even when underwater) using the proper code this is now fixed, however the driver is much slower. (also to handle the weird variety of PCE modes that can be mixed on a single screen the X resolution of the output has to be scaled to 1088 pixels wide, there is also a 16-pixel border on the left side now, but I assume this is correct) Getting this running with the PCE code required a little extra effort as they write the palette directly rather than through some ports.


Bloody Wolf Bloody Wolf

Another significant emulation improvement can be seen with the rewritten and bugfixed Konami sound chip emulation with several voice in ‘The Simpsons’ sounding much better now than they did in previous releases. That’s one to consider for people thinking that there are no devs improving the emulation of the classic / well known games, it makes using older versions for the game completely undesirable. (thanks Alex Jackson for that)

Some changes went in to make a couple of Atomiswave sets boot a bit further, but emulation is still too slow to use, still an important step in case one day we do run them at usable speeds. (thanks R.Belmont based on information from Metallic of Demul)

Continued work on the Pinball drivers has seen many more of those running their internal logic properly too, although likewise, probably not of great interest to people until they can be hooked up to actual table simulations. (mostly Robbbert)

In the MESS part several softlists saw new additions made, for example the Japanese FM-7 system. (I might make screenshots of some of these later) (AnnaWu, etabeta etc.)

Some 386 CPU core fixes were also made that benefit systems abusing that. (carl)

There have also been big reorganizations to the slot code for some drivers. (eta)

Timings were further tweaked for the Game Gear emulation, benefiting ‘Tarzan’ (Enik Land)

(more to come, about other systems)

 

Arkanoid – Newest Japan Set

ShouTime dumped the newest (likely final) Japan set of Arkanoid, with program roms ’24’ and ’25’ and MCU ’26’

Previously the newest dumped Japan set used program roms ’21’ and ’22’ with MCU ’23’ so fits directly before this revision

Tournament Arkanoid use program roms ’27’ and ’28’ so sits directly after it.

Unfortunately the MCUs are read protected, so like the other Arkanoid sets I’ve had to fake the return data based on the location of various structures in the program rom, allowing the game to function. It is not known if the real MCU code is the same.

What’s most interesting about this set is that the first 5 levels differ from the older sets, it’s also strange to see that the Level Select, present in the previous build (21/22/23) has once again been removed / disabled in this newer version. It’s common for the bootlegs to have modified levels, but I did not expect to see an original Taito set with such changes.

The new set is shown on the left, the older set on the right.


Arkanoid Japan Newest Arkanoid Japan Older
Arkanoid Japan Newest Arkanoid Japan Older
Arkanoid Japan Newest Arkanoid Japan Older
Arkanoid Japan Newest Arkanoid Japan Older
Arkanoid Japan Newest Arkanoid Japan Older

 

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


 

Gold Label

The other V33 based Seibu title using the 333 MCU is a Raiden DX / Raiden II New board.

This board is curious, it contains the code for both the games mentioned above and decides which one to run based on a string at the start of the EEPROM (first it checks for ‘RAIDEN’ and refuses to boot if that isn’t present, it then checks for II / DX)

The thing most people point about first about this board is the terrible bootleg quality sound, and it’s true, the sound is awful, I’d say it’s worse than most bootlegs!

Anyway, starting with Raiden DX, it appears the game is mostly untouched, and the ‘New’ version is rarely mentioned, maybe because it doesn’t carry the ‘New’ moniker at all, it can however be identified from the gold tinted screen fades, and logo. The game seems intact, from what I can see level order is normal, because it uses EEPROM you have a settings menu instead of the dipswitch, but there’s no real reason to want it over a regular Raiden DX due to the sound quality.


Raiden DX New Raiden DX NewRaiden DX New

Raiden DX NewRaiden DX New

Raiden DX NewRaiden DX New

Raiden 2 New is the better known title, but as a game it’s been butchered beyond belief. For a start the iconic intro sequence is gone, the game just loops 2 attract demo levels and the high score table. The ‘launch’ sequence at the start of the game is also absent because the game uses level 5 as the first level(!) with level 1 appearing where level 5 would have done, this disrupts the flow of the game. The mid-game launch sequence seems missing too (because it would happen after level 5, which is now level 1, and I believe the ending ‘mission complete’ sequence is also stripped, looping straight back to level 1. (Still need to verify that last one)

As mentioned, the sound it also awful, you do have built in autofire on button 3 like Raiden DX has by default, but it isn’t much consolation.


Raiden 2 NewRaiden 2 NewRaiden DX New

Raiden 2 NewRaiden 2 New

Quite why Seibu saw it fit to butcher Raiden II in this way, but leave a relatively complete Raiden DX on the very same board I don’t know, it wasn’t a space constraint, the Raiden II part of the ROM actually has just as much space available as a regular Raiden II, so I can only guess it was some attempt to ‘streamline’ the game (never a good term in gaming circles!)

What makes this even stranger is there is no obvious way to swap between the games, despite the board having all the data for both. There does seem to be code in there designed to do such, but it looks like it’s been disabled on purpose by depending on an ‘impossible’ condition to change. Reprogramming the settings EEPROM works, but isn’t really practical.

The other interesting thing from a hardware point of view is that while these use the reduced protection of the 333 COP they still feature the ‘Sprite Protection’ Olivier figured out for the regular Raiden II game, this indicates to me that said protection is probably part of the video hardware, and not the COP.