David Haywood's Homepage
MAME work and other stuff

One of the Gang

May 18, 2014 Haze Categories: General News. 15 Comments on One of the Gang

Jets from Emu-France and Layer from Neo-Arcadia recently teamed up to dump a Japan set of Gang Wars, this prompted me to look into some of the currently logged bugs on Mametesters.


Gang Wars

It’s fair to say that Gang Wars isn’t really a memorable game for any of the right reasons, but the driver still deserves some attention. In present versions of MAME when you get to the 3rd stage of the game you see the following, with the ‘World’ version on the left, and the ‘US’ version on the right.


Gang Wars (World) Gang Wars (US)

As you can see, in the World version the ‘On The Way’ sign has corrupt lines going through it, on the US set it’s missing entirely.

The issue with the World set hasn’t always existed, for a long time the World set was a ‘bootleg’ set, using bootleg graphic ROMs, but a real World board was then dumped (including Mask ROMs for the graphics) and it was discovered that the program ROMs matched the already supported bootleg set, so the bootleg set was removed. Anyway, the source of that problem is actually simple, one of the newly dumped MASK roms was a bad dump, and has a ‘fixed bits’ problem in the first couple of tiles, it slipped under the radar when it was added (likely my fault)


Gang Wars (bad tiles)

A fresh dump of that ROM reveals it to be the same as you’d get if you combined the bootleg roms.


Gang Wars (good tiles)

with that ROM being used the World version of the game now looks correct again

Gang Wars - correct ingame

The issue with the US set is a little different. Those graphics aren’t actually used in the US set because when the US set was produced they made a number of enhancements, first of all they translated all the speech (the World version still plays Japanese speech samples for the story) and they polished up that sign post too, replacing the ‘ON THE WAY’ graphic with a more logical ‘ONE WAY’ graphic. Obviously they didn’t / couldn’t change the MASK roms for this, so instead they changed the 4 additional socketed graphic ROMs.

The World / bootleg versions have the following tiles near the end of the ROM (see position 9 on the first row)


Gang Wars (dummy tiles)

The US set attempts to draw this sign using the tiles from this position in ROM, which obviously gives the incorrect results you see at the start of this article. A dump of the graphic roms from the US set shows that the tiles in these positions have been changed.

Gang Wars (dummy tiles)

Using the correct graphic roms therefore gives the correct results for this scene in the US set too.


Gang Wars (US, correct tiles)

The newly dumped Japan version is like the World version, but with the story / power up screens shown in Japanese. It has the ‘On The Way’ sign.


Gang Wars (English) Gang Wars (Japanese)
Gang Wars (English) Gang Wars (Japanese)

One thing that did cross my mind is that maybe some of the MASK roms for Gang Wars were manufactured in a defective way, it could explain why they decided to move those tiles in the US version, however that theory doesn’t really hold weight because they still use some of the ‘blank’ tiles surrounding the sign from that part of the ROM (and so would stlll have graphic corruption) It’s most likely just coincidence, we’ve seen the first part of roms read badly (or simply go bad) in the past.

I’ve also readded the bootleg set, even if for all MAME purposes it matches the ‘World’ set aside from the split graphic roms. It has the potential to be interesting later on however because these Alpha bootlegs tended to use 68705 MCUs instead of the regular Alpha ones. We’ve seen this on a number of the boards, and for Kyros we actually currently load 2 MCUs

// not hooked up yet
ROM_REGION( 0x1000, "mcu", 0 )
ROM_LOAD( "kyros_68705u3.bin", 0x0000, 0x1000, CRC(c20880b7) SHA1(b041c36cbc4f348d74e0548df5cb14727f2d353b) ) // this one is from a bootleg PCB, program code *might* be compatible.
ROM_LOAD( "kyros_mcu.bin", 0x0000, 0x0800, CRC(3a902a19) SHA1(af1be8894c899b27b1106663ffaf2ab43fa1cdaa) ) // original MCU? (HD6805U1)

Eventually we should support these as 2 sets, each with the different MCU hooked up, but for now we just simulate the MCUs so it doesn’t matter.

Go to article.. »

UME 0.153ex3

May 16, 2014 Haze Categories: General News. 8 Comments on UME 0.153ex3

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

Some recent regression fixes have prompted me to put out a new ‘ex’ build, I’ll talk about them below.

0.153ex3 is built from SVN revision 30471

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

Here is the 0.153ex2 to 0.153ex3 SVN log

Also split mame/mess (non-ume) binaries of this revision can be found here

Points of Interest

As mentioned in the opening statement some significant regression fixes have gone in over the last few days. While the Amiga emulation has never been a strong point of MAME / MESS it had regressed to the stage of not even booting floppies (and several arcade games failing, eg. Upscope) in 0.153, those issues have been resolved by the developers over the last week. The codebase is now more flexible and more organized which should make emulating some of the more exotic add-on boards possible in the future (the base Amiga emulation hasn’t really improved much tho, so compatibility with games is still sketchy at best)

The reorganization of the MSX drivers continued as well, bringing those more or less back to where they were before the work was started too.

In terms of new additions I feel the most interesting one is ‘Coco Loco’ which Roberto mentions on his WIP page (I linked to the update in the comments of one of the previous updates)


Coco Loco Coco Loco Coco Loco
Coco Loco Coco Loco Coco Loco

This game is interesting because Petaco S.A were a Spanish company best known for their bootlegs but this (unless it’s bootlegged from a Console game?) appears to be an original rendition of Pacman, it also supports up to 4 players (one at a time, not simultaneously!) The gameplay (AI etc.) doesn’t really play like Pacman, and it has a ‘Speed Up’ button like a number of the Pacman bootlegs added so it’s interesting to see it in action.

Another piece of progress that has happened over the last week and is worth taking note of is the addition of Pong Doubles. This is the first discrete game other than the regular ‘Pong’ to be supported. Couriersud has been very busy with this discrete code, and it’s encouraging to see more titles working with it. The speed is understandably slower than Pong tho. (Please note, if you attempt to compile MAME with the Intel Compiler you’ll have to disable these drivers as it REALLY doesn’t like the way the Variadic Macros have been set up.)


Pong Doubles

Go to article.. »

Neo-Clone

May 15, 2014 Haze Categories: General News. 7 Comments on Neo-Clone

The ‘midas.c’ driver was created by Luca a while back, it runs 2 games ‘Live Quiz Show’ and ‘Hammer’


Live Quiz Show Hammer

One of the observations Luca made at the time is that the hardware was basically an enhanced clone of the NeoGeo, especially the video system which essentially worked in the same way but with some improvements (support for 256 colour tiles instead of 16 colour tiles being the main one)

There has been a ‘merge with NeoGeo driver’ note in the source for a while, and the game ‘Live Quiz Show’ had some noticeable graphic glitches on certain mini-games. I decided to find out if actually using the proper NeoGeo video code instead of the driver’s local implementation would help.

This required some refactoring of the NeoGeo video code in order to handle the different format graphics, and there were also a few other oddities I had to deal with such as the Y-Zoom table on the Midas hardware being uploaded by the main CPU rather than contained in a ROM.

Interestingly this uploaded Y-Zoom table ended up being the key to solving the graphic glitches, the table they upload is NOT the same as the regular NeoGeo ROM table, and treating the zoom as a simple linear zoom is what was causing the errors.

Anyway, with the NeoGeo sprites refactored to be a device, and the Midas sprites being a simple class inheriting the base NeoGeo sprite class with the various difference implemented there we end up with the following improvements. On the LEFT you can see the old glitched images, on the right are the images with the new code.


Live Quiz Show (glitched) Live Quiz Show

Live Quiz Show(glitched) Live Quiz Show
Comparison shots showing the bug fixed in Live Quiz Show

Less code, less duplication, less bugs, everybody wins.

Go to article.. »

Other News (part 4)

May 12, 2014 Haze Categories: General News. 11 Comments on Other News (part 4)

Here is another one I didn’t add myself, but feel is worth highlighting.

I’ve mentioned in past updates that every single Crazy Cross I’ve ever seen sold has actually been the Japanese version with the sellers simply using the ‘Crazy Cross’ title because it was better known outside of Japan under that name due to the home releases. I was actually very much doubting an English language version existed for the arcades, because even if there had been an Asia or Korean release in English we’d never seen a trace of it.

Well, I always love to be proved wrong over cases like this, and the other day Arzeno Fabrice* (aka zozo) actually found and dumped the proper English version of the game, and more surprising is that it isn’t some obscure Asia / Korea release, but an actual European release.


Puzzle Dama Crazy Cross
Puzzle Dama Crazy Cross
Puzzle Dama Crazy Cross
Puzzle Dama Crazy Cross
Puzzle Dama Crazy Cross
Puzzle Dama Crazy Cross

Note, due to a bug in MAME at the moment you have to go through the EEPROM initialization sequence EVERY time you boot the game or it will fail the a bunch of ROM checks (that’s reset with F2 held down) This has bug has been around for a few versions now, so there’s no guarantee it will be fixed when this hits a public release. A couple of other games in the GX driver currently suffer from similar issues.


Crazy Cross

Again Brian Troha added the dump, I’m just highlighting the finding because I thought some people here would find it interesting.

* he’s been dumping a few things lately, including an interesting earlier set of Sega’s Borench which appears to have buggy initialization code, causing sound to fail if NVRAM is corrupt – something they addressed in the later game revision.

Go to article.. »

Other News (part 3)

May 12, 2014 Haze Categories: General News. 1 Comment on Other News (part 3)

Bouncing Balls is one of those Korean titles that has always left me scratching my head. First of all it’s one of the few Comad games I can’t attribute to simply being a hack of something else (along with Pushman, which runs on the same hardware – the hardware being a copy of Capcom’s F1 Dream, but with different protection*)

* come to think of it, why is the original F1 Dream even marked as working, you can drive through the walls.

Second, they decided that the best theme for the game would be Warner Bros character designed, in this case Marvin the Martian and Duck Dodgers (Daffy Duck), unlicensed of course. The game is a simple puzzle game, and in the existing MAME set these characters are used for both the foreground sprites and in-game background images.

When I say it’s a simple puzzle game, I mean it’s a simple puzzle game, basic addition and subtraction, putting balls into the appropriate slots to reach a target value, without exceeding it. You’d be forgiven for thinking it was actually a game aimed at kids, but then the whole thing is turned upside down, because between rounds you get undressed / suggestive pictures of women. See these censored screenshots from MAME.


Bouncing Balls Bouncing Balls Bouncing Balls Bouncing Balls

Recently system11 dumped another version of the game, the new set still uses the WB characters for the foreground sprites, but replaces ALL the backgrounds with low quickly monochrome images of women, not just the bits between rounds. This is slightly more in Comad’s style, although it’s still the same rather pointless game! Interestingly this version also has patterned backgrounds rather than being blank.

It appears this set has less images overall because if you look in the test mode / tilemap viewer (the tilemaps are hardcoded as one big layout stored in ROM) then you can see only about 2/3rds of the tilemap has valid images in this new set with the rest being corrupt, as opposed to the older one where it was all used. ALL the roms are different on this set, so it isn’t just some cheap hack, Comad actually thought it was worth putting both of these to market.


Bouncing Balls Bouncing Balls Bouncing Balls Bouncing Balls

Had a version with no adult pictures at all shown up it might have actually made more sense, because I can’t see any adult actually wanting to spend any time with it unless they were completely innumerate; the images aren’t even worth seeing, and the game is Fun School level.

I didn’t actually spend any time adding this myself, Brian Troha took care of the addition because it simply slotted into the existing driver.

Go to article.. »

Other News (part 2)

May 7, 2014 Haze Categories: General News. 9 Comments on Other News (part 2)

I’ve mentioned the Afega shooters here before, and how they run on hardware basically copied from NMK (unsurprising because Afega’s first shooter was just a reskin of USAAF Mustang. The (final?) Afega shooter doesn’t really get as much coverage, maybe because it doesn’t carry the Afega name, or was never ‘licensed’ by them.

That game is the one known in MAME as Spectrum 2000 (with a Yonatech copyright) or Fire Hawk (with an ESD copyright)

Until recently MAME supported horizontal versions of both games, the exact relationship between them isn’t fully understood, but they are basically the same game. Spectrum 2000 is a buggy piece of garbage, you can glitch it out very early in the game, eg the first big enemy you encounter has a glitched state after you first blow it up, and if you blow it up a 2nd time it appears normal.


Spectrum 2000 Spectrum 2000
Spectrum 2000 Spectrum 2000 Spectrum 2000

I didn’t think it was actually possible for such a bug to simply slip under the radar, but it did, I tested this on the actual PCB around when it was dumped and the very same thing happened there!

There’s another bug, in the attract mode they manage to draw the ‘B’ button in the wrong place when it’s pressed down. I don’t know if this happens on the hardware, but it wouldn’t surprise me.


Spectrum 2000 Spectrum 2000

Firehawk, as I said, is basically the same game, but with a lot more polish (power up texts etc.) It has a normal explosion sequence for the first big enemy, and doesn’t have the issue with the button display in attract mode. I think it’s fairly safe to say it’s a newer version of the game.


Firehawk Firehawk
Firehawk Firehawk

Now what’s interesting is that Shoutime recently dumped a VERTICAL version of Spectrum 2000, the fact one exists wasn’t a surprise, there are horizontal and vertical versions of all the Afega shooters (more on that later) but what is surprising is that he thought it was an older version due to the board / rom types used. If you look at the game however it does NOT have the bug with the first big enemy.



What it does however have (and I haven’t verified this on the PCB) is the ships on the player select screen sometimes drifting off the screen if you coin the game up during the attract demos (not always) this hasn’t been verified on real hardware but the weird part is these are SPRITES, and there’s no global offset register or anything we should ignore on that screen. It also still has the weird display issue with the attract instructions (also not verified on hw)


Spectrum 2k Vertical Spectrum 2k Vertical

The story doesn’t end there however, because system11 dumped a vertical version of Firehawk as well. Unfortunately he didn’t dump the graphic roms so for now you can’t see anything and I can’t tell you much about this set.


Fire Hawk vertical Fire Hawk vertical

What IS interesting about the Firehawk is that it’s meant to be a switchable orientation set; Afega actually boasted this feature on a number of their games, and it’s true that several of the games contain graphics for both orientations (the Horizontal Firehawk we have does not) I always assumed this was a program rom switch, but apparently on this version of Firehawk it’s a dipswitch, and it can’t be a dipswitch simply banking the program roms either because they only contain one copy of the code. In all honesty I’m not sure how it works at this point!

There’s another annoying problem with all the Afega games in MAME, the lives display (regardless of if it’s drawn with sprites, or as part of the text layer) has corrupt colours for some of the ships. I don’t know / understand why this happens. There’s also an issue with some enemies popping up in strange places (the bottom corner). We previously had this issue with bullets in some of the games, but that was fixed by adding memory mirrors (and there are no unmapped accesses now). Maybe some of these issues are just ‘features’ of the original game; I think one day somebody is going to have to verify a lot of the issues against the boards.

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