David Haywood's Homepage
MAME work and other stuff

Expanding the (emulated) Mappyverse

October 19, 2018 Haze Categories: General News. 10 Comments on Expanding the (emulated) Mappyverse

I’ve continued to poke around at the XaviX emulation and figured out what was preventing the Namco Nostalgia 1 TV game from running. Namco Nostalgia 1 contains Mappy, Xevious and arranged versions of said games.

(technical reason, the lda ($0a), y style instructions are expected to fetch the pointer from zero page ram, but the actual data pointed to needs to be fetched from ROM, at least for upper banks)

The Nostalgia collections also make aggressive use of the screen clipping registers, for whatever reason in the Mappy remix the developers decided to clip the house to a single pixel at each side of the playfield, even if the full house is present in the graphics. I implemented the clipping based on other games, but it seems like I was clipping a pixel too much off the left side, so in the video I recently uploaded the left border is missing. Not clipping that column of pixels does result in an unwanted space where you can see the background between the status bar and left edge in Snowboarder, but I have a feeling that would happen on hardware, and Mr. Do’s videos of the Nostalgia games are of far higher quality than any of the Snowboarder (non SSX version) so I’m going with what the better videos show as evidence.

Interestingly the high score handling on both the Mappy games in this collection appears to be broken, showing the high score as ’00’ or ‘000’ in / when the high score table is presented rather than the true high score. I thought this was an emulation bug, but again checking Mr Do’s original hardware videos the exact same thing happens there. I’m not sure what happens if you beat the real score, possibly that fixes it, unless high scores simply don’t work at all?

Below are some screenshots of the boot screens and the arranged Mappy game, which plays like an Arkanoid style game where holding the button down at the right time gives you extra jump height (but don’t do it 3 times in a row as your rope changes colour and will snap if you attempt to do a high jump while it’s red)


Namco Nostalgia 1 Namco Nostalgia 1
Namco Nostalgia 1 Namco Nostalgia 1
Namco Nostalgia 1 (Mappy) Namco Nostalgia 1 (Mappy)
Namco Nostalgia 1 (Mappy) Namco Nostalgia 1 (Mappy)
Namco Nostalgia 1 (Mappy) Namco Nostalgia 1 (Mappy)
Namco Nostalgia 1 (Mappy) Namco Nostalgia 1 (Mappy)

The Xevious arrangement takes the form of a flag collection / bombing run style game, where you’re rushing to the end of stages against a clock with various things slowing you down rather than outright killing you.


Namco Nostalgia 1 (Xevious) Namco Nostalgia 1 (Xevious)
Namco Nostalgia 1 (Xevious) Namco Nostalgia 1 (Xevious)
Namco Nostalgia 1 (Xevious) Namco Nostalgia 1 (Xevious)
Namco Nostalgia 1 (Xevious) Namco Nostalgia 1 (Xevious)
Namco Nostalgia 1 (Xevious) Namco Nostalgia 1 (Xevious)

The classic versions of each game run too


Namco Nostalgia 1 (Mappy) Namco Nostalgia 1 (Mappy)
Namco Nostalgia 1 (Mappy) Namco Nostalgia 1 (Mappy)
Namco Nostalgia 1 (Xevious) Namco Nostalgia 1 (Xevious)
Namco Nostalgia 1 (Xevious) Namco Nostalgia 1 (Xevious)

Fixing the bug that was causing Namco Nostalgia 1 to not boot also allowed Radica’s Baseball 2 to show some screens, although I haven’t got the analog inputs hooked up, so it isn’t yet playable.


Radica Baseball 2 Radica Baseball 2
Radica Baseball 2 Radica Baseball 2

Adding EE-PROM support allowed Excite Fishing to show a few more screens, before moaning about the EE-PROM again because presumably my hookup is still incorrect (the Nostalgia games no longer moan either, but don’t remember your changes properly even if they do write them to the EE-PROM)


excite fishing DX excite fishing DX

I also started looking at the Super XaviX a bit, which needed additional opcodes etc. implementing in the CPU core. The most impressive progress with that one is Dirt Rebel MX, where the menu screens are fully functional, and the game even seems to control, but graphics need work (definitely needs raster interrupts for the road rendering)


Dirt Rebel MX Dirt Rebel MX
Dirt Rebel MX Dirt Rebel MX
Dirt Rebel MX Dirt Rebel MX
Dirt Rebel MX Dirt Rebel MX

XaviXport Tennis also reaches ingame, although again probably needs raster interrupts to do the linescroll effect on the court, and also has no working controls other than a single button to advance through menus. This also runs in an interlace mode and sends the fields on alternating frames, which means the entire image shakes ups and down at the moment, I’ll probably have to figure out a ‘clean’ way to deinterlace and render in a higher resolution otherwise it’s migraine inducing.


XavixPort Tennis XavixPort Tennis
XavixPort Tennis XavixPort Tennis
XavixPort Tennis XavixPort Tennis
XavixPort Tennis XavixPort Tennis
XavixPort Tennis XavixPort Tennis

Lord of the Rings shows some stuff, but appears to use DMA in a strange way, and doesn’t transfer a valid palette (and goes no further than these screens)


Lord of the Rings Lord of the Rings

Dragon quest does similar also expecting a weird DMA behavior, but gets stuck on this screen instead (it does actually upload a palette, but I’d hacked up palette use for making the previous screenshots and not restored it)

Dragon Quest

Star Wars seems to make more extensive use of the custom opcodes and is currently not showing anything.

Go to article.. »

Slapping a Tiger would be a poor life choice

October 12, 2018 Haze Categories: General News. 13 Comments on Slapping a Tiger would be a poor life choice

I’ve been doing a bit of work on the XaviX emulation in MAME (technology used by a number of Plug and Play TV Games) and in that time I’ve made some decent progress with the emulation. While still far from perfect (some graphical problems, no sound, poor performance) I feel there has been enough progress to show some of it here. Some of the most noteworthy things using the hardware are the Taito / Namco Nostalgia collections which were released in Japan in 2006.

Taito Nostalgia 1 contains “Slap Fight” and “KiKi KaiKai” and remixed versions of them.
Below is the remix version of Slap Fight which mixes Slap Fight with another classic, Tiger Heli, giving you the Tiger Heli ship instead of the regular Slap Fight one. Due to the compressed screen size this version of the game is very difficult. The KiKi KaiKai allows you to play as the main character from Bonze Adventure instead.


Taito Nostalgia 2 Taito Nostalgia 2
Slap Fight Tiger Slap Fight Tiger
Slap Fight Tiger Slap Fight Tiger
Slap Fight Tiger Slap Fight Tiger

Namco Nostalgia 2 contains “Gaplus” and “Dragon Buster” again with remixed versions.
Below you can see the Gaplus remix “Gaplus Phalanx” where instead of shooting things you must capture the grey enemies while avoiding capturing the red ones (and not hitting anything in the process)

Namco Nostalgia 2 Namco Nostalgia 2
Gaplus Phalanx Gaplus Phalanx
Gaplus Phalanx Gaplus Phalanx
Gaplus Phalanx Gaplus Phalanx

Taito Nostalgia 1 contains “Legend of Kage” and “Gladiator” plus the usual remixes of them. Below is Amazones, the remix of Gladiator. Note, with current emulation missing the EEPROM support the key assignments are invalid by default and get lost every time you exit the game, but they can be assigned each time.

Taito Nostalgia 1 Taito Nostalgia 1
Amazones Amazones
Amazones Amazones
Amazones Amazones

Namco Nostalgia 1 still doesn’t run properly, so no shots from that one at the moment.

Outside of Japan the XaviX technology was used mostly by games with novelty controllers. Progress has been made on the emulation of some of those too.

Graphics were much improved in Radica’s Play TV Boxing, menus now look solid, priorities are correct, sprites fill the screen properly etc.


Radica Boxing Radica Boxing
Radica Boxing Radica Boxing

Radica’s Bass Fishing game no longer crashes when you enter gameplay, and no longer has corrupt text in the menus. Inputs aren’t fully mapped yet tho.


Radica Bass Fishing Radica Bass Fishing
Radica Bass Fishing Radica Bass Fishing

Radica’s Card Night no longer crashes upon reaching the main menu, and has more correct graphics. The glitch where it rendered a corrupt menu over the startup screens is gone too.


Radica Card Night Radica Card Night
Radica Card Night Radica Card Night

The Radica Madden & Football games now show their startup screens (EA license screen on Madden, Farsight developer screen on Football) and also prompt the player to throw the ball (not emulated) to start, rather than crashing at that point.


Radica Madden Radica Madden
Radica Football Radica Football

The e-kara things now have a scrolling screen and colours that aren’t garbage (although no inputs exist to get past this screen) and the Fisher Price ‘Rescue Heroes’ shows a startup screen now before crashing. Excite Fishing DX moans about the EEPROM.


e-kara Rescue Heroes
Excite Fishing DX

Wild Adventure Mini Golf shows some startup screens before getting to an animated display asking you to swing the club to start (not hooked up)


Wild Adventure Mini Golf Wild Adventure Mini Golf

Radica’s Baseball 2 shows it’s secret test menu, and also a startup screen, but crashes after showing the Radica Logo


Radica Baseball 2 Radica Baseball 2

Radica’s Ping Pong now boots, although you can’t serve.


Radica Ping Pong Radica Ping Pong
Radica Ping Pong

Radica’s Monster Truck has improved priorities (although controls still aren’t hooked up)


Radica Monster Truck Radica Monster Truck
Radica Monster Truck Radica Monster Truck

Snowboard has some minor improvements but still needs the raster interrupt hooking up for the ground


Radica Snowboarder Radica Snowboarder

While many of these still aren’t playable the progress over the last few days has taken most of them from doing almost nothing to looking much more like what they’re meant to be, and a much better picture of the overall hardware.

None of this would have been possible without Sean Riddle dumping the majority of these titles and Peter Wilhelmsen purchasing many of them for that purpose.

Go to article.. »

Little Changes (part 2)

October 2, 2018 Haze Categories: General News. 19 Comments on Little Changes (part 2)

The Steel Force changes mentioned in the previous update didn’t make 0.202, but should be in for 0.203, but I wanted to take this opporunitiy to highlight some more small changes that will be also be in 0.203.

I said before it’s not always ‘low profile’ titles that get fixes, and the last week or two has seen some bug fixes to better known titles that are just as important.

First I’ll start with CPS3, and a long-standing bug with the combo meters in JoJo’s Venture / JoJo’s Bizarre Adventure. This is one that back in the day I didn’t really put any research into due to unwanted attention and misuse of MAME for commercial bootlegs, but given that its been 10 years, the hype has died down and people still wanted to see it fixed, I decided to give it a look.

Actually a fairly simple problem. The game is only capable of displaying one Combo counter at a time, draws them off screen and uses ‘rowscroll’ to ‘bounce’ them into the display, so not only was the 2nd combo meter missing (because it never got scrolled on) but the ‘bounce’ on the Player 1 side was missing too, which was a dead giveaway for what the problem was. I was actually looking at CPS3 already with a view to fixing some of the palette manipulation effects in the later (P2 side) stages of Red Earth so fixing this was just sidetracking a bit. I might do an update about the palette stuff in Red Earth if I figure that out too.


JoJo's Venture
JoJo's Venture JoJo's Venture
JoJo's Bizarre Adventure
JoJo's Bizarre Adventure JoJo's Venture

The next piece of work isn’t mine, but that of Mooglyguy (Ryan Holtz) and happppp. This concerns the ‘Mirror Mode’ in Rave Racer (as well as the rear view mirror and a number of elements in other System 22 games)

To active mirror mode you should enter a code during the 3-2-1 countdown at the start of a race. Once this countdown appears, quickly turn the steering wheel RIGHT then RIGHT again, then press the BRAKE and GAS pedals together. If done correctly the display will instantly flip. To do it in MAME without analog controls you’ll want to set the digial speeds, sensitivity and auto-center speed on all the controls up high (100 did the trick for me)

Previously the mirror view did not properly flip the screen, but instead acted like the screen was flipped without showing the effect, meaning it basically just played with reversed controls and the speedometer needle in the incorrect position. Mooglyguy researched the issue, and happppp worked out how to implement it in the driver. Some optimizations were made at the same time meaning the driver also performs a bit better than it did before.


Rave Racer
Rave Racer Rave Racer
Rave Racer Rave Racer

So there you go, two fixes to the emulation of some better known platforms that will be in MAME 0.203 and higher.

Not covered here in pictures, but equally important are some changes smf has made to the Playstation GPU emulation, fixing bugs in Silent Hill (non-arcade) as well as Psyvariar, the latter which was rendering the game near unplayable on later levels due to intense flickering of the background graphics (that fix is in 0.202) Again this is a ‘higher profile’ change due to the popularity of the home system and because many popular arcade titles made use of Playstation based hardware. The Psyvariar fix is timely too because of the massive improvements in the sound emulation the driver received recently (far surpass anything that could be classed as ‘Little Changes’)

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