David Haywood's Homepage
MAME work and other stuff

Get Over Here!

April 5, 2012 Haze Categories: General News. 21 Comments on Get Over Here!

Emulating Fruit Machines is in many ways a process quite different to emulating a video based system. With video based systems you tend to get obvious large ranges of data writes relating to sprite lists, tilemaps, palettes and the like which usually allow you to make easy headway with the drivers, leaving the trickier more intricate IO details for later.

Fruit Machines are the opposite way around, they’re primarily IO, and if you don’t get that right, you don’t see anything. Almost everything is driven through ports, data often doesn’t get written at all unless status bits are correct, and you’re dealing with interrupts from multiple sources rather than having an obvious ‘trigger every frame’ vblank interrupt.

Thankfully there was a lot of part reuse, and for the majority of cases the boards are stacks of off-the-shelf components, for which documentation is available, and many of the needed components are already emulated in MAME, although not always to the required level.

One of my initial goals is to at least get everything doing *something* Allowing sets to run their ROM/RAM tests is good for sorting things out, and providing a base for further progress to be made. If they test other ROMs like their sound roms that’s even better because an awful lot of these fruit machine dumps are missing their sound roms, or have been paired up with the wrong ones, and it helps to know.

One of the systems I’ve been looking at a little bit lately is the Scorpion 4 one, it’s been emulated elsewhere for a while, and uses a 68000 based processor which makes it easier for me to work with due to familiarity. It’s not all plain sailing however, the 68000 it uses is actually a 68307 which means it has a number of onboard peripherals in order to simplify the actual PCB designs. These include a timer unit, serial unit, custom interrupt controller and hardware for ‘memory protection’ In addition there are other similar peripheral chips on the actual board, all of which need emulating properly.

Scorpion 4 Motherboard (source unknown)
Scorpion 4 Motherboard

It’s quite a cute looking board with the colourful dipswitches, and as you can see there are only a handful of actual components on there, with the 68307 doing the majority of the work. All the additional hardware driven by the board plugs into the various ports positioned around the edge (lamps, reels, hoppers etc. all marked near the connectors) with the game card and optional graphics expansion board going in the slots near the CPU. One thing to note, the sound chip (a YMZ280B) is on the game cards, odd design choice, but there you go.

I’ve spent the last couple of days stubbing up support for some of these and hooking up devices and peripherals that we already emulate to the driver, including the VFD ‘display’ which is on one of the ports. Quite a few things, including the timers and interrupt generation are hacked up for now, but it at least gives up a few pictures of the system booting and testing the game ROM + sound ROMs. I also had to fix up an issue with the YMZ280B data readback, which could have potentially crashed anything else in MAME using that chip and attempting to read the ROM data!


Fever Pitch
Fever Pitch

Fever Pitch

Fever Pitch

Fever Pitch

Fever Pitch


The majority of games have a 4 letter manufacturer assigned game code, and 8 digit ROM code associated with them which matches what’s printed on the ROM labels. This is important because there are many, many sets for each game to comply with different regulations, or use different additional hardware.


Lucky Balls
Lucky Balls

Crazy Climber
Crazy Climber

Tetris
Tetris

Club Class
Club Class

South Park
South Park

Obviously not much to look at, and if you want to play these things you’re still best off using the existing emulators for now, but it’s a sign of some progress being made. Most of the sets which boot this far complain about the reels, or meters, which I believe should be the same as the older Scorpion 2 platform, meaning much of the code is already there.

Roughly half the games in the driver don’t at all boot yet, they appear to be communicating with a different kind of VFD, or don’t use one at all (it isn’t actually visible on many of the cabinets anyway, but provides useful diagnostics information) Quite a lot complain about missing sound ROMs, or bad sound ROMs, although having them boot this far has allowed me to sort out a good number of the ones which were just being loaded incorrectly.

Some people still seem to be under the impression that these things can’t be emulated further than this, but if you’ve been following MAME you’ll have seen several recent additions of non-video games. Robbie‘s work on Janken Man for example shows a non-video game using the MAME layout / artwork system. ’30 Test’ is another recent addition along similar lines. The existing system might have it’s limitations but is clearly capable of providing the basic framework needed for any non-video based system as long as it isn’t depending on physical elements which none of the fruit machines really do.

The Scorpion 4 motherboard did actually have a video expansion available for it, known as the Adder 4. This adds an additional 68340 processor (similar to the 68307 but with more complex peripherals and a 32-bit core like the 68020) Only one Adder 4 game is fully dumped (Skill Dice) but that will be an interesting target in the more traditional MAME sense once the basics are all emulated.

I’ll probably continue to work on this for a while (ideally I’d like everything in the driver to display *something*), then possibly bring another driver or two up to a similar level. Progress is admittedly slow (it’s more or less only myself and James Wallace looking at any of this stuff) but I’d like to see various drivers getting to a stage where there are enough good visual indications if changes being made are correct or not because this will make it easier for others to get involved if it takes their fancy.

Go to article.. »

The Unknown Derby…

April 2, 2012 Haze Categories: General News. 15 Comments on The Unknown Derby…

I mentioned ‘Super Derby’ in my previous update, which was a 90s Horse Racing gambler from Playmark and it just so happens that a similar game has just shown up too. Obviously an earlier production, and originating in Japan rather than Italy it lacks any form of title screen and we don’t know what it is.

Paul Swan dumped the ROMs from an unknown PCB (high quality pics on forum post) and ‘hap‘ has been working on the emulation (as you can see if you check the MAME GIT link on the left) however it would help if somebody knew what it was actually called!

The PCB is marked EFI TG-007, and it uses an 8085 CPU (like Polaris) but there don’t seem to be any real hints at who made it, or the correct title.

I’ve uploaded a video of the emulation in action, if anybody can match it up with a flyer, or has further details on the origins of the game please leave a comment here, or on the YouTube video



Go to article.. »

Current State of Combined Projects

March 31, 2012 Haze Categories: General News. 9 Comments on Current State of Combined Projects

I’ve had a number of people ask about this… The current state of the universal / combined MAME+MESS builds is simple.

The patch for the universal build target (posted 14th Feb 2012) still works as expected. This makes no changes to the existing source files, and simply adds a new folder called ‘uni’ containing details of the build target.

All that’s needed is for you to check out the current MESS sources from their public SVN or the GIT linked on the left and apply the patch, then change the target to ‘uni’ in the makefile ( or compile with make TARGET=uni )

There are no known current conflicts & everything should work just as well as it does in the individual builds. All validity checks pass. The compiler / linker still doesn’t report conflicting class names, but hopefully those have all been resolved manually.

Still no word on this going in the tree officially, but the work is all done and has been for a while. As stated previously the only thing I’d do is rebrand the target as ‘une’ the “UNiveral Emulator”

For whatever reason the megatech.xml & stv.xml (used for loading of those systems via software lists) are missing from the MESS distributions despite being in a shared folder, so you might want to copy those over from MAME if you plan on using the softlists for them, however the standard ‘internal lists’ still work fine in those cases as long as you don’t want multi-slot support.

I’ll probably post binaries sometime around the next full release, but I’d like to see the remaining CHD issues (random hangs) ironed out first, the ECC CD compression patch I sent Aaron applied in a suitable / clean way, and the lists all updated to use CHDv5 hashs where appropriate.

Go to article.. »

My Luck is Booming

March 24, 2012 Haze Categories: General News. 16 Comments on My Luck is Booming

f205v dumped a Playmark game called Lucky Boom, it appears to be a cross between Pang and a gambling game.

Recognized it as the same hardware as ‘Super Derby’ which I did a driver for many years ago, seems to slot right in, just minor changes to the Memory Map and IRQ level.

Kinda pointless.. You get 1min 30s to play, you have to shoot the balls like in Pang, then try to collect 3 of the same item in order to get points, which of course never actually show up apart from the lowest scoring ones. Points win you tickets, and that seems to be about it.


Lucky Boom Lucky Boom

Lucky Boom Lucky Boom

Lucky Boom Lucky Boom

Go to article.. »

Give me all your demons / They don’t scare me now

March 22, 2012 Haze Categories: General News. 42 Comments on Give me all your demons / They don’t scare me now

The IGS027A chips are meant to be scary boxes of hell, and in most cases they are.

** If used correctly **

I was looking at Demon Front and noticed something odd. Unlike ‘The Gladiator’ and most of the other later type games the code in the external ARM rom makes no reference to the internal ROM space. There are no obvious jumps back to the internal code area anywhere.

So I did a quick mod, wrote some fake ARM code to set up the stack pointer and then jump straight to the external area, and this happened.



Now while I can’t guarantee this is perfectly emulated because it’s possible the internal ARM code should be setting up some more things before jumping to the external code it’s still a huge surprise, and looks like a massive oversight when the game was developed. I guess the biggest surprise is that it’s taken until now to notice, it’s literally an 8-word patch.

My only theory is that maybe if this is the first game with an ‘Execute Only’ area IGS wanted to contain all the internal code in that area to make it more secure, but it has the opposite effect. I guess I should probe it a bit to see if there is anything interesting there at all.


Demon Front Demon Front

Demon Front Demon Front

Demon Front Demon Front

Go to article.. »

Stalactites & Stalagmites

March 21, 2012 Haze Categories: General News. 28 Comments on Stalactites & Stalagmites

‘Fantastic’ and ‘Kong’ both of which featured in my previous WIP update here were cheap Brazilian produced rip-offs of classic games which made use of graphics from the original games but were completely reprogrammed from scratch leaving them with a feel very different from the games they aspired to be.

It’s therefore somewhat appropriate that the current update is about a game with similar traits, albeit it officially licensed this time around.

First, let’s look at three games which the current versions of MAME support:



THESE ARE CAVE GAMES

DonPachi DoDonPachi DonPachi

Yep, the iconic DonPachi, and it’s sequels DoDonPachi and DoDonPachi Dai-Ou-Jou. 3 games produced by well known ‘bullet-hell’ shooter manufacturer Cave with the latter being released on a single board variant of the IGS produced PGM platform.

Now let’s look at another game:


THIS IS NOT A CAVE GAME

DoDonPachi 2 - Bee Storm DoDonPachi 2 - Bee Storm

DoDonPachi 2, note how the game only displays ‘licensed by Cave’ (and only even displays that in the Japanese version)

DoDonPachi 2, or Bee Storm as it’s otherwise known is a pseudo-sequel to DoDonPachi, but it was developed & published entirely by IGS, not by Cave. Like many IGS games it also suffers from a complete lack of ports, essentially a situation I call ‘PCB-locked’ and because the game wasn’t made by Cave, and appears to have been completely disowned by Cave as well many fans of the series in a similar way to how Nintendo disown the CD-i Zelda and Mario titles, it would seem an official port of this game is unlikely to ever happen.

I can only assume the game was produced as part of the deal which would later see Cave make use of the PGM hardware in single board form for what were arguably their best 3 releases, EspGaluda, Ketsui and Dai-Ou-Jou.

The game certainly looks like a Cave title, but that’s because the majority of the graphics have been recycled from DoDonPachi with minor adjustments (which is also a shame the PGM board is capable of much better visuals, as Cave themselves showed later) the real problem is it doesn’t play like one and there are threads all over the place which pull apart exactly how the game differs from a proper Cave title, everything from scores not resetting on continue, to bees having no special meaning, bosses having no energy bars, lack of score based extends, and a completely different scoring / chaining / bullet ‘buzzing’ mechanic.

That doesn’t mean it’s a bad game. It could possibly be considered the most accessible game in the series, IGS went to great trouble to localize it as was done for many PGM games, which makes the lack of ports seem even stranger; it’s also considered easier, with a practice mode for beginners. The real problem is if you’ve already played DoDonPachi there isn’t a lot new to see, and the execution simply isn’t as polished as the original game. As a game it’s not terrible but the DoDonPachi name gives a burden of expectation which simply isn’t met.

Until now DoDonPachi 2 wasn’t working in MAME which surprised a lot of people because the official Cave titles on PGM hardware have been working for a while now. Obviously the main point of this update is to show that progress has been made on the emulation of the game, and it is now functional.

Most mid-late PGM titles have additional sub-cpus, used as either protection, or to boost the power of the system. Some games make very weak use of these CPUs, which was the case with the 3 Cave titles, simulating the expected behaviour was trivial. DoDonPachi 2 on the other hand, being produced by IGS instead of Cave makes extensive use of the extra CPU for many critical tasks during gameplay, the only way to emulate the games is to emulate the sub CPU.

For the mid-late released games this was a fast ARM based CPU with internal and external ROM data. To properly emulate any of these PGM games the internal ROM has to be dumped out which is easier said than done, especially for anything produced after 2002 where the data seems to be fully secured against reading. Luckily DoDonPachi 2 uses one of the earlier chips and with a bit of trickery could be read out.

The result of running the game in MAME with the sub-cpu emulated can be seen in the video below. The board used was a Japanese board, and the Internal ROM supplies the region data, so without any hacks it runs as the Japanese version. Sound doesn’t seem very good right now, but that’s probably the ICS emulation.



thanks to ‘rtw’ for working with me on getting this one up and running. For reference, without the ARM emulated no bullets ever spawn, the options on your ship don’t work correctly, there are no medals, and your ship vanishes entirely after the first level eventually leaving the game unplayable.

Some additional screenshots of the game running properly:


DoDonPachi 2 - Bee Storm DoDonPachi 2 - Bee Storm DoDonPachi 2 - Bee Storm

DoDonPachi 2 - Bee Storm DoDonPachi 2 - Bee Storm DoDonPachi 2 - Bee Storm

Note this will NOT help with the following games which have fully secured areas in their internal ROMs. Don’t ask about them
Demon Front, The Gladiator – Road of the Sword / Shen Jian, Oriental Legend Special/Super Plus, The Killing Blade Plus/EX, Happy 6-in-1, S.V.G. – Spectral vs Generation

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