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.
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.
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)
A fresh dump of that ROM reveals it to be the same as you’d get if you combined the bootleg roms.
with that ROM being used the World version of the game now looks correct again
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)
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.
Using the correct graphic roms therefore gives the correct results for this scene in the US set too.
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.
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.