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.

 

0

Over the last few days I’ve been looking at a variant of the Seibu protection, the ‘333’ MCU used by the later re-releases.

While the Raiden re-release on this hardware is infamous for the terrible sound hardware (a single M6295) and basically seems like an official bootleg the other game that was re-released, Zero Team, didn’t suffer such a terrible fate.

There are 2 versions of Zero Team on the revised platform, New Zero Team and Zero Team 2000. New Zero Team has the first and 3rd levels swapped for no good reason, Zero Team 2000 has the level order restored and an EEPROM that saves high scores.

The V33 platform protection actually turned out to be weaker than the regular cop protection, with many features moved from being part of the COP to being done by the main CPU, including, most importantly, the hitbox protection.

The regular Zero Team has issues with collision detection due to imperfect emulation of the hitbox protection (done by the COP) as New Zero Team and Zero Team 2000 lack this protection they actually now appear to function correctly.

In the end Olivier Galibert identified the protection on these, it’s mostly just angle calculations (a small fraction of what the original COP could do) and with his implementation of that, and my general work on the driver I think we can declare these clones as working.


Zero Team 2000

Zero Team 2000 Zero Team 2000
Zero Team 2000 Zero Team 2000

I’ll cover the Raiden game later, there are some interesting talking points.

 

UME 0.154ex3

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

0.154ex3 is built from SVN revision 32152

I’m not a big fan of releasing an ex build only a single day after the previous ex build, but as was almost inevitable, Raiden 2 and Raiden DX received some final polish and a promotion to working stage within hours of me posting the previous binaries. The UME builds aren’t meant to be daily builds, but are meant to be reactive to interesting progress, so I felt it necessary to do a new release.

To make this more worthwhile I added save states to the driver (as somebody requested) and so I’ve decided to push this build out today with the improved support. The main improvements you’ll notice are that the correct objects are now blended against the background (shadows, transparency effects on glass etc.) and also some clipping issues are fixed (clouds scrolling off the bottom, for example when you launch into space)

It’s possible there are still some slight imperfections in the protection simulation (there’s a comment in the driver about the ship position right after takeoff – although it seems to be present in the superplay videos too, so appears to be a non-bug) but the team deemed the current state correct enough to mark both games as working.

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

Here is the 0.154ex2 to 0.154ex3 SVN log

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

Points of Interest

Raiden 2 and Raiden Dx ;-)


Raiden DX ‘Charlie’ Mission

Raiden DX Raiden DX Raiden DX Raiden DX
Raiden DX Raiden DX Raiden DX Raiden DX
Raiden DX Raiden DX Raiden DX Raiden DX
Raiden DX Raiden DX Raiden DX Raiden DX
Raiden DX Raiden DX Raiden DX Raiden DX
Raiden DX Raiden DX Raiden DX Raiden DX
Raiden DX Raiden DX Raiden DX Raiden DX
Raiden DX Raiden DX Raiden DX Raiden DX
Raiden DX Raiden DX Raiden DX Raiden DX
Raiden DX Raiden DX Raiden DX Raiden DX
Raiden DX Raiden DX Raiden DX Raiden DX

 

UME 0.154ex2

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

0.154ex2 is built from SVN revision 32127

I haven’t had time to look at refactoring the MAME rom filenames to be built from separate label and location fields, but feel it’s about time to release an update anyway as things like the NMK004 sound emulation and Raiden 2 progress represent interesting and significant progress.

A number of sites have been posting ‘0.155’ builds, they are fake, there is no scheduled release date for MAME 0.155 yet, none of the final preparation that happens before a new release has been initiated yet.

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

Here is the 0.154ex1 to 0.154ex2 SVN log

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

Points of Interest

I feel the most significant news relating to this update is the progress with the NMK004 sound emulation, bringing the sound from imperfectly simulated using HLE code to practically perfect. Others might argue the recent progress in Raiden 2 / DX is more significant. That is also big news, furthering the understanding of the protection systems used on that game greatly, and it is, for all intents now playable, but without further testing the confidence level isn’t that high; several of the changes that were subsequently ported to the 68k based games (Legionnaire, Heated Barrel etc.) actually caused them to regress slightly, and Zero Team (V30 based) still has significant issues too, all clear indications that there is still a lot to understand with the COP protection.



I’ve seen the question asked in a number of places ‘does this also improve the Raiden 2 / DX NEW version’ and the answer to that is no, that game (it’s a 2-in-1) uses an evolution of the protection, and handles a lot of the basic protection setup in a different way. Rom banking still isn’t handled there, so they continue to crash like they always have. Even if we get them working they’re actually inferior versions because the sound system is replaced with bootleg quality sound. As a side note, if anybody has a ‘Raiden 2 2000′ or ‘Raiden DX 2000′ board it would be nice if you could send it for dumping, they’re probably the same thing as the ‘New’ versions but with a different title (so same poor quality sound etc.) but so far they’ve eluded us.

(I also added CHD entries for the Playstation Raiden Project and Raiden DX to the Playstation list, for reference. If you’re wondering why they weren’t already there it’s because many of the lists for CD / Tape / Disk based systems are just built on an ‘as-needed’ basis, or from obscure sourced material that isn’t already listed elsewhere – they’ll mature with time)

Speaking of Raiden II, while it’s true that Seibu games have an awful lot of code revisions, and it’s not always obvious what the difference is between them unless they’re clearly designated ‘OLD’ and ‘NEW’ versions there are two very obviously different versions of Raiden 2 that have been documented for a while. First of all there is the regular Raiden II game, this has a sepia high score table in the attract mode.


Raiden 2 Regular Raiden 2 Regular

In addition to this version there is one dubbed ‘Easy version’ by many fans of the series. It can be identified by a coloured fighter on a black background behind the high score table instead of the usual picture. It’s not a simple difficulty rebalance either, some enemies have been moved about, as you can see from the 2nd screenshot comparing with the one above, the pictured enemy simply doesn’t appear in the first level with the regular version of the game.


Raiden 2 Easy Raiden 2 Easy

Some of the 68k based COP games have improved tho, for example I fixed the scrolling on the Godzilla game, although the reason the glitching was so obvious is because of the absurd way in which the game tilemaps are programmed. Instead of using the full range of the scroll register the game only uses 4-bits, allowing for a scroll range of 0 to 15- pixels, after that point they re-upload the entire tilemap shifted by a tile, rather than just adding a new column to one side and using bigger scroll values, it’s an enormously inefficient way of doing things! The problem was (due to missing private buffer) DMA the sync between the scroll values and the re-uploaded tilemaps was wrong.

system11 dumped a Visco ‘Go-Stop’ board, this runs on Seta ST-0016 based hardware, it’s currently non-working because it needs some attention, but it looks like it will reveal a few more secrets of the ST-0016 to us, the backgrounds for example clearly need a bigger tile setting enabled.


Go-Stop Go-Stop Go-Stop Go-Stop

 

NMK004 emulation

As of SVN revision 32100 NMK004 sound simulation has been replaced by emulation.

I can write more later, but for now the best place you can read up on the work that has been done is trap15’s blog posts. (I only helped hook his dump up in MAME)

Part 1: http://daifukkat.su/blog/archives/2014/09/05/nmk004_rom_dumping_progress/
Part 2: http://daifukkat.su/blog/archives/2014/09/07/nmk004_rom_dumping_part_2/
Part 3: http://daifukkat.su/blog/archives/2014/09/09/nmk004_rom_dumping_part_3_the_previous/
Part 4: http://daifukkat.su/blog/archives/2014/09/12/nmk004_rom_dumping_part_4_the_newer/
Part 5: http://daifukkat.su/blog/archives/2014/09/13/nmk004_rom_dumping_part_5_the_release/