David Haywood's Homepage
MAME work and other stuff

Deco Cassette in MAME 0.189

September 11, 2017 Haze Categories: General News. 8 Comments on Deco Cassette in MAME 0.189

MAME 0.189 was released the other day and one piece of progress that went into it, which I actually feel is one of the most significant progress made between 0.188 and 0.189 comes in the form of improvements to the DECO Cassette System driver. AJR has put a fair bit of effort into getting these things right, and in 0.189 it’s finally paid off.

Since it was first emulated the DECO Cassette System has proven tricky to emulate properly, not only due to the fragile nature of the games meaning that every dump we have should be treasured, but also because it was built as quite a flexible system, with the video system offering a number of different modes of operations, many only used in a handful of places. It also didn’t help that some of the games are just plain ugly on real hardware, almost as if even the programmers didn’t fully understand the hardware and sometimes ended up just accepting what was displayed was the best they were going to get, even if it wasn’t what they were aiming for.

One of the big issues the driver has always had came in the form of the way certain colour mixing modes work; the incorrect emulation of these resulted in a number of situations where the colours being shown in MAME did not match those being output by the original games running on the actual system. With MAME 0.189 it appears that this issue has finally been solved, every emulated Deco Cassette game now perfectly matches the colours in all the original hardware captures we have been able to find.

While not a particularly interesting game, one of the most obvious examples of where things improved was with Lucky Poker, old MAME shots are on the left, correct, newer MAME shots are on the right. You can see that the game gains a green background and black text boxes ingame, and a blue background on the title screen.


Lucky Poker (wrong colours) Lucky Poker (good colours)
Lucky Poker (wrong colours) Lucky Poker (good colours)

The Deco Cassette Multigame (an unofficial conversion for the hardware that uses a ROM containing the games instead of cassettes) also saw the selection menu become a lot less garish, now correctly showing a blue background.


Deco Cassette Multigame (wrong colours) Deco Cassette Multigame (good colours)

Astro Fantasia is another where the colours changed a lot, previously the emulation looked like this, with every stage having the same colours.


Astro Fantasia (wrong colours) Astro Fantasia (wrong colours)

With the fixes each stage gains a unique palette.


Astro Fantasia (good colours) Astro Fantasia (good colours)
Astro Fantasia (good colours) Astro Fantasia (good colours)

We have videos of the game Manhattan which show similar colours changing between levels, but from what I can tell that’s a different version of the game, the one we have doesn’t even attempt to write to any registers to do this. It isn’t uncommon for there to be multiple versions of Deco Cassette games. One game with significant colour changes between versions, which can now be seen is Rootin’ Tootin’ (aka LaPaPa)

In older MAME versions both versions of the game (the one with Rootin’ Tootin’ in attract, and the one with La Pa Pa in attract) used the same default blue background as the bios


La Pa Pa (Rootin' Rootin') (bad colours) Rootin' Rootin' (bad colours)

With the fixed colours there’s actually a very significant difference in the background colour of each set, one having what is actually a rather ugly green background, and the other going for a more neon look with a black background. While the green looks ugly, it is verified on hardware, it wouldn’t surprise me if the set with the black background is a newer set after players didn’t like the green much.


La Pa Pa (Rootin' Rootin') (good colours) La Pa Pa (Rootin' Rootin') (good colours)

Highway Chase was also much improved in 0.189, with the headlight effect working properly. The new colours are arguably uglier, with a blue road instead of a black road, but again this was a Data East design choice, the blue road is verified against hardware; you can see the same colours & graphics used in the ‘madalienb’ clone of ‘madalien’ so again it was probably something Data East changed over the course of several revisions until they were happy with it (although no cassette versions with the grey road have been seen) Left is Highway Chase in older MAME versions (headlight effect not working – always on but not masking anything, black road) and on the right is Highway Chase in newer versions (headlight masking works, road is blue)


Highway Chase (bad colours) Highway Chase (good colours)
Highway Chase (bad colours) Highway Chase (good colours)

There are many other examples of places where colours have changed, and as mentioned, in every case, even ones where things look subjectively worse, the new colours are verified against actual hardware videos, so again, big thanks to AJR for working on this because it really brings the actual driver for the system up to scratch. Now here’s hoping some more rare cassettes turn up and can be dumped before it’s too late for them

Go to article.. »

Gaelco Mania

September 5, 2017 Haze Categories: General News. No Comments on Gaelco Mania

The generally less interesting part of today’s news is about Gaelco’s Maniac Square.


Maniac Square

Again, a DS5002FP protected version of this game exists, and again we ended up finding a previously undumped set, which is clearly an alternate code revision while buying up boards for dumping. Like with Glass both sets identify as Version 1.0. The first of the boards was supplied by Charles MacDonald, so thanks to him goes for that.


Maniac Square Maniac Square
(boot screens from the 2 protected Maniac Square sets)

As with Glass, there was already a version of Maniac Square emulated, an unprotected version with the following boot screen. In this case they did actually remember to remove the Co-Processor message from the screen.


Maniac Square

So, what is there to say about Maniac Square? Not a huge amount really. The protected versions are now playable, as you can see in the screenshots below. From a gameplay point of view I’ve not been able to find anything different compared to the unprotected version.


Maniac Square Maniac Square
(gameplay shots from the protected version of Maniac Square)

It’s a simple ‘race against the clock’ columns game, and there are no difference to write home about when comparing the protected versions to the unprotected versions in this case. It’s the same simple game. Analysing the DS5002FP program was maybe a little more interesting, as it looks like there might be an entirely unused command in there (or I haven’t found the point in the game where it gets triggered) but again, it’s such a simple game there’s not really even much interesting the protection can be doing.

I guess the problem with Maniac Square is that the released game is very much overshadowed by the prototype version. For those not in the know, the prototype clone of Maniac Square, that has been in MAME for many years runs on different hardware and presents the game in an entirely different way, with different special block types, counters for each colour, a fake pinball style dot matrix display giving you messages of encouragement etc. it’s just a much more interesting piece of software. I guess the final release with the pressure of the timer lives up to the name of ‘Maniac Square’ a little better, but it’s simply an inferior product all round. So yeah, the most interesting thing about Maniac Square remains a prototype that has been emulated for over a decade, it’s good to know the protected originals are now emulated for the sake of competition, but there’s nothing really else to say about them.


Maniac Square prototype Maniac Square prototype
(The prototype, emulated since 2003, is still a more interesting game)

Go to article.. »

Glassic Gaming 1.0

September 5, 2017 Haze Categories: General News. 1 Comment on Glassic Gaming 1.0

Glass

One thing that has become clear while working with the Gaelco games is that the versioning they used was a bit of a mess. We have 2 World Rally sets that identify as “Version 1.0”, 2 protected Maniac Square sets that identify as “Version 1.0” and 2 protected Glass sets that identify as “Version 1.0” and the same for a number of other games, despite in all cases the code clearly being a different revision. Most Gaelco games display some kind of checksum on startup, but as we’ve seen with Alligator Hunt, that doesn’t even always tell you if the ROMs are different as in the case of Alligator Hunt the region control byte is outside of the checksummed area.

With Glass, there are also 2 versions that identify as “Version 1.1” and display 1994 Version on the title screen. One of those is the unprotected Korean version that has been emulated for a while now, the other is another protected set.

The problem with Glass is that Version 1.1 isn’t actually very good, the Korean version is censored (except for the end sequence, which apparently they missed) and the images are replaced with drawings, rather than photographs, again to make them more suitable to a wider audience. Even stranger than that, the 1.1 set lacks some of the gameplay elements of the 1.0 set, such as not including static ‘skulls’ in the playfield as part of the level designs that both block your shots and require you to navigate around as they kill you if you touch them.

Now, as mentioned, there are 2 “1.0” sets of Glass, both protected. The bootup screens for the versions we know about look like this

Glass Glass

I can’t tell you the exact difference between the two sets in terms of gameplay. In the case of Glass it calls the DS5002FP the ‘TURBO’ chip (it’s not really accelerating anything, just a fancy name) and as you can see in the above pictures, it is reporting as ‘OK’

That’s because, as you’ve probably guessed by now, we’ve managed to successfully dump the DS5002FP SRAM from a Glass PCB. This is also one of the rare occasions where the dump came out perfectly, interestingly it also used a Fujitsu MB84256A-70L type SRAM, like the World Rally 2 that also came out really well, maybe those chips are more reliable than the others, or maybe we just got lucky.

Below are some screenshots from the attract demo of the 1.0 sets showing the skulls in the playfield.


Glass Glass
Glass Glass
Glass Glass

Also here’s a video, recorded a few days ago before we’d verified the SRAM dump with a 2nd PCB


Now I’ve already mentioned that the Korean 1.1 set is a bit rubbish, but the SRAM dump we have also appears to work with the 1.1 protected set (not entirely surprising) and somehow, despite having the proper images, and no censorship, it seems to have had the entire attract gameplay demo stripped out, simply showing the ‘reveal’ sequence twice where usually it would show the game being played. At first I thought this might be because it requires a different SRAM content, but it actually looks like it’s just been intentionally removed instead. Not sure why anybody would do that (although I would be interested in knowing if anybody out there happens to own a board that shipped from factory as 1.1 and hasn’t been modified in any way can confirm it) The bootup screen for protected the 1.1 set looks like this, for reference.


Glass Glass

and to complete the set, the already emulated unprotected, censored version has the following boot screen (yes, they were too lazy to remove the ‘TURBO OK’ message, even if the Co-Processor isn’t used – it’s simply hardcoded to always show OK)


Glass

It would be interesting to know if there are any other Glass versions out there with different checksums shown on startup. Actually it would be interesting to know for quite a few of the Gaelco games, based on what we’ve found buying up boards for dumping the SRAMs it would seem there are quite a lot of alt revisions out there that maybe people haven’t noticed.

Go to article.. »

Hunting Alligators

August 29, 2017 Haze Categories: General News. 16 Comments on Hunting Alligators

Again, working with Morten Shearman Kirkegaard and Peter Wilhelmsen on this, so any time I say ‘we’ I mean those 2 with me doing the MAME / emulation side of things.

Tracking down Alligator Hunt boards where the Co-processor (DS5002FP) battery was still alive and the SRAM intact was no easy task. Due to the amount of time unprotected / hacked roms of the game have been available, and the fragility of the boards, a lot had already died, or unfortunately have been converted over prematurely by people wanting to avoid them dying, making it impossible to know if they still had valid code in the SRAM or not.


Alligator Hunt

Things got off to a good start when DarkSoft donated an Alligator Hunt PCB to the cause, the battery on that one was showing a worryingly low voltage, but the SRAM was still intact, and we managed to get a dump (complete with Highscores of a previous owner) However, as the dumping process still damages random bytes, a single board was not enough to be confident in enough in the dumped SRAM to say it was good; infact a number of bytes in a data table had to be handfixed just to get it to pass an internal checksum, luckily those bytes all came from one big table which was also present in the unprotected version, however, the code area of the DS5002FP SRAM had no such checksum.

Many sellers of the game were contacted, all but one were selling boards that had already been converted to use the unprotected set, something that is easy to tell from the program checksum printed on the startup screen of the game. The one board that didn’t match the checksum of the unprotected set was however still something of a mystery, it didn’t match the known checksum of the protected set either, so we weren’t exactly sure what it was going to be, but decided to take a gamble on buying it.

When it was arrived, it was dumped, and it turned out to be another unprotected set, which would have been a bit of a downer except for the fact that it was actually a very different set to the one in MAME. The new set has a different background on the title screen and skips the first 2 levels with the skateboarding kids, instead jumping straight to the ship launch and space levels. Obviously my first thought was that it might be some kind of hack, but all the code / data offsets in the ROM strongly indicate it’s compiled / assembled from scratch. Possibly a set used for a show or competition?


Alligator Hunt
Alligator Hunt Alligator Hunt

What was more curious about this set however, is despite being an unprotected set, not making use of the DS5002FP or SRAM, the voltage on the battery still showed good and the DS5002 box looked like it had never been opened or tampered with. This again makes me wonder if the ROMs on the PCB had been swapped on for a specific event, and then never swapped back to the protected set.

So, come the weekly dumping session it was decided that an attempt would be made to dump the SRAM on this board, to see if it actually contained anything valid. To cut the story short, it did, so this unknown version of Alligator Hunt, despite having an unprotected ROMset on the PCB, actually still contained the original code in the SRAM and gave us the 2nd dump we needed to verify the dump from the board DarkSoft provided. With the 2 dumps I was able to construct what I’m confident is a 100% correct version of the SRAM content which can be used to emulate the protected version of the game with certainty that the correct code is running and correct data is being provided by it.

The protected version we had was actually interesting for other reasons too, it’s has Spanish ‘win-quotes’ between levels, and Spanish subtitles on the cutscenes. Maybe not too surprising because Gaelco is a Spanish developer, but unexpected. I did for a while wonder if the DS5002FP might provide the region as it’s not unheard of for protection devices to supply a region byte; IGS did that all the time for example. You can see an English quote, and a Spanish quote on the screenshots below.


Alligator Hunt Alligator Hunt

Anyway, my uncertainty over what determined the language was quickly put to rest when I checked my email and found an email from a long-time MAME user who wishes to be identified as ‘Pablo’ saying that they’d dumped the program ROMs from a dead Alligator Hunt they had and one of them didn’t match MAME. The new dump quickly pointed at a byte in the main program ROM controlling the game region thus giving us a new parent set in MAME and making the Spanish set a clone.

Being the curious kind, I decided to see if the byte in question controlled anything else, and to my surprise it did. The byte in question not only controls the game language, but also the region warning (US, NON-US, or none) and maybe most interestingly the title screen. One bit in the byte causes the game to identify as ‘Lizard Hunt’ instead of Alligator Hunt. I’ve not heard of the game actually being released with this title, and no ROM using that title has ever been dumped, but it certainly existed as a possibility, maybe it was intended to be released to the US market with this title instead?


Lizard Hunt

Anyway, here are some videos, first from the newly emulated protected set, second from the new unprotected set.



Hopefully next in line is Glass, we have one SRAM dump from that which works, but like Alligator Hunt, we need to verify it with a 2nd. That would have been done already, except one of our PCBs was in too bad condition to cleanly attach the dumping device, so even if that PCB was working before we started, it didn’t survive the process. We’ve got another PCB on the way, hopefully that one is better, and hopefully we don’t need a 3rd to be 100% sure on it (there’s a possibility of that, Glass uses a lot of data tables, they’re not easy to verify against the unprotected set either)

We’ve still not managed to locate a single working PCB for ‘Play 2000’ which is worrying. Gambling titles are some of the most ‘at risk’ out there due to regulation etc. and ones like this where we know in a few years they’ll definitely all be dead due to the battery are especially at risk. Again, if there’s any possibility you might have one in your collection, please consider donating it.

Go to article.. »

Spike Heels

August 26, 2017 Haze Categories: General News. 1 Comment on Spike Heels

Darksoft, Sean Sutton, Surgeville & Smitdogg in association with The Dumping Union recently picked up a Korean game from 1998 called ‘Kick Ball’ developed by the otherwise unknown ‘Seoung Youn’

I looked into emulating it, and quickly found that most of the memory addresses being accessed by the 68k corresponded to those found on the Video System game Power Spikes, suggesting at very least that like most piece of Korean hardware it had been roughly cloned from something else.

Further work showed that this was actually one of those special Korean games where not only was the hardware cloned, but the entire game is actually a well disguised hack of the original title, in this case a hack of Power Spikes.

It’s not a straight graphic swap, the developer behind the hack actually attempted to turn what was a plain 2D game into a 2.5D game by adding vertical movement, otherwise it plays just like Power Spikes but with the players doing flips and backheels to hit the ball. Here are some comparison shots, note, the graphic priorities are currently incorrect.


Kick Ball Power Spikes
Kick Ball Power Spikes
Kick Ball Power Spikes
Kick Ball Power Spikes
Kick Ball Power Spikes
Kick Ball Power Spikes
Kick Ball Power Spikes
Kick Ball Power Spikes
Kick Ball Power Spikes
Kick Ball Power Spikes
Kick Ball Power Spikes

Go to article.. »

TH Strikes Back is now WORKING

August 15, 2017 Haze Categories: General News. 22 Comments on TH Strikes Back is now WORKING

We picked up 2 more TH Strikes Back PCBs (thanks to Kevin Eshbach for providing one of them) and dumped the DS5002FP SRAM on each of them.

Using the existing read, and these 2 new reads we were able to apply a ‘majority wins’ rule on each byte and obtain a correct dump. (about 5 or 6 bytes differed from each board but never the same bytes)

These bytes have all been hand verified, so now I’m confident we now have a 100% good dump of the DS5002FP SRAM for TH Strikes Back (Thunder Hoop 2) as a result the game works fine in MAME (aside from some video priority glitches on the title screen but these are unrelated to the protection)

Note, we still need another PROTECTED (not converted to de-suicide ROMS) Alligator Hunt to verify the dump we did of that before releasing it and at least one additional Target Hits (we only have 1 copy) before we can confidently release that also. It’s fairly clear at this point that random bytes get corrupted during the process, so without multiple copies to dump we can’t trust the data.

Also the call still goes out for anybody with a working Play 2000, ideally 2 people.

It’s easy enough to tell if you have an Alligator Hunt where the battery still works as the protected sets will save the Top 2 high scores to the SRAM so those scores are retained even after powering down the PCB. The desuicide sets have nowhere to save it so the top 2 scores reset to default when you power off. We need another working copy of the protected version (ie the one that saves the top 2 scores)

The other way to identify the protected version is if it shows ‘CHKSUM ROM: 2B34128B’ on startup, these boards are useful to us.

A board that’s already been hacked to not use the battery will show ‘CHKSUM ROM: F9C6891D’ instead, such boards are useless to us as the SRAM on them is already dead.

There are no known unprotected versions of Target Hits or of Play 2000, so if you have either of those in working condition we could do with them.

We currently have a number of Glass boards, and hopefully 2 Maniac Square boards and will tackle those soon.

Please note that once we have reads we’re happy with they can be used to repair dead boards, but we don’t want to release dumps until we’re confident about them as there becomes a risk of people trying to repair boards with bad data, making it more difficult to obtain the PCBs we need to verify it.

Here’s a video of TH Strikes Back




TH Strikes Back
TH Strikes Back TH Strikes Back
TH Strikes Back TH Strikes Back
TH Strikes Back TH Strikes Back
TH Strikes Back TH Strikes Back
TH Strikes Back TH Strikes Back

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