David Haywood's Homepage
MAME work and other stuff

The Colour of your Nemesis?

May 23, 2014 Haze Categories: General News. 24 Comments on The Colour of your Nemesis?

Sometimes I’ll use this blog to cover MAME updates that have nothing to do with my work, especially if the developers involved don’t have their own pages to highlight the changes. The following post is one such example of this.

As well as the impressive netlist work done for Pong (and Pong Doubles) Couriersud (along with AWJ) also took a look at the palette handling in the earlier “nemesis.c” driver games from Konami, a bugbear in MAME for a number of users due to the poor colour reproduction we’ve had for a while.

Really old versions of MAME used some palette hacks, these were incorrect, andwere eventually dropped from MAME leading to rather washed out colours in the baseline build. These hacks were allowed to live on in MAMEFX based builds, but unless you wanted to risk use of an unofficial build you were stuck with with the bad colours or old versions.

Correct colour reproduction in the driver benefited from Couriersud’s knowledge of discrete components, the actual PCBs used a rather odd setup resulting in an unusual gamma ramp for the colours. Working with AWJ this was correctly implemented in MAME, so all future versions will have correct colours again

Older MAME / MAMEUIFX
(hacked colours)
Current MAME
(bad colours)
Next version of MAME
(good colours)

I’m always glad to see things like this improving in MAME.

The other reason for doing this update is I’m wondering if anybody has a Final Star Force PCB and can record the attract mode intro sequence for me and maybe make some close-up shots of other areas? I’m 99% sure it’s wrong in MAME, but need to know what it should look like.

Go to article.. »

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.. »

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