David Haywood's Homepage
MAME work and other stuff

The Importance of Alternate Versions

March 30, 2019 Haze Categories: General News. 11 Comments on The Importance of Alternate Versions

One of the things I picked up with the money that was donated is the following JAKKS Pacific Spiderman, which has a different, much more boxy looking shell than the more commonly seen one with GameKey port (and the later release of the same form with the port removed)


Spiderman 5-in-1 JAKKS

Various sources indicated that Spider-Man 5-in-1 started life as a game running on the SunPlus SPG110 based SoC (System on Chip), not the 2xx (usually 240) type SoCs found in all the GameKeyReady units. I felt due to the vastly different form factor here, which appears to be an earlier and less refined design (closer to the early SpongeBob unit, which is on even earlier hardware) that there was a good chance that the device pictured would be the version running on the SPG110 hardware.

It was.

While this contains exactly the same games as the already emulated GameKeyReady version it is useful for some very important reasons. Firstly, the Classic Arcade Pinball title is also running on SPG110, and was never ported to SPG2xx to my knowledge. The (undumped, but sourced) EA Sports units also run on SPG110.

The problem is, SPG110 actually differs from SPG2xx in some significant ways, not least it uses an entirely different palette format (HSL based instead of RGB based) and also has somewhat different video capabilities (Video RAM is private, only writable with the CPU via DMA / port uploads, sprite format is different, tile base register is shared, not per layer, priorities are per tile, not per layer, transparency handling is done with a separate table, not upper bit of palette etc.)

Having the same game on two different pieces of hardware makes it much easier to draw conclusions about how the unemulated hardware works by comparing code, data structures in RAM, register writes etc. between the two versions, thus telling us plenty about the previously undocumented and not fully understood SPG110.

This has allowed me to implement many features of the SPG110 hardware, to get this version booting. Note, the colours are not 100% correct yet, I’ve asked Olivier Galibert if he can look into it further as HSL decoding is not my strong point. On the left is the SPG110 set that I’ve been making improvements to, on the right is the SPG2xx set that is already emulated. This kind of reference for the colours in an already correctly emulated version is going to be an essential guideline for improving the decoding.


Spider-Man Spider-Man
Spider-Man Spider-Man
Spider-Man Spider-Man
Left: SPG110 hardware version with currently imperfect HSL decoding Right: SPG2xx hardware version with correct RGB decoding

As you may have noticed, both screens show sprites, and last time I showed Classic Arcade Pinball shots, it was lacking in sprites. Needless to say, it now has sprites with the recent work done.


Classic Arcade Pinball Classic Arcade Pinball
Classic Arcade Pinball Classic Arcade Pinball
SPG110 emulation improvements have given Classic Arcade Pinball sprites and controls

Again colours are still imperfect, but fixing Spider-Man should fix them here too. I also added inputs so you can actually play the game.

Sound is unemulated, but seems to be closely related to the SPG2xx stuff (probably with less channels) so I did some refactoring of all the SPG2xx code in the process, splitting various internal peripherals into sub device modules (including the I/O which is how I was able to hook up inputs easily here)

Interestingly videos show a shadow on the ball for this game, yet the hardware does not seem to have shadow sprite capability as SPG2xx does, so I’m currently puzzled about how that is being pulled off, it could be some raster interrupt abuse like that one SNES game does, but we’ll see. (I’m assuming there aren’t multiple versions of this on different hardware anyway, I didn’t think to take pictures of my unit running before sending it off to Sean for dumping)

The earlier version of the ‘Disney’ Plug and Play might also run on SPG110, the one we sourced and had dumped is the less common GameKeyReady unit (which works fine in MAME) but I still need to do a proper update about that (it’s supported in 0.208 tho)

Anyway, going to leave it at that for now, hopefully if the colours can be further fixed it will be more worthwhile showing screenshots later. I just wanted to highlight why buying this alt version of Spider-Man was a gamble that paid off in terms of it enabling me to make progress on other things too.

Go to article.. »

Take Me Home…

March 17, 2019 Haze Categories: General News. 3 Comments on Take Me Home…

As mentioned in the previous update, we also picked up an “I Can Play Guitar” from Fisher Price. It’s a toy along the same lines as the “I Can Play Piano” which bridges the gap between a simple toy / game, and actually learning how to play an instrument. There are 44 note buttons, 4 directional buttons, Enter, Home, Pause and a Whammy bar that acts like 2 additional button inputs. Like the Piano it can also switch between a mode with TV out, and a mode where it just acts as a Guitar.


I Can Play Guitar

It runs on SunPlus hardware, it didn’t take much to get it booting once Sean had analyzed the hardware and figured out how to dump the cartridges.

I Can Play Guitar I Can Play Guitar

I spent yesterday working out how it reads the inputs (where they all map etc.) and now have a mostly playable game. Only thing really missing is the eeprom emulation, as ‘load game’ assumes you’ve completed everything right now.

I already posted some screens of the title, so here are some of the song selections.


I Can Play Guitar I Can Play Guitar
I Can Play Guitar I Can Play Guitar
I Can Play Guitar I Can Play Guitar
I Can Play Guitar I Can Play Guitar
I Can Play Guitar I Can Play Guitar

As you can see, this only offers 6 songs per cartridge. There’s also a single ‘game’ in the game mode, which usually teaches you to play different chords. There’s also a ‘Freestyle’ mode. In terms of content this means you do get a bit less per cartridge than with the Piano, although in terms of the games that isn’t a big loss due to all the duplication that was present there anyway. There are 3 ‘difficulty’ levels for each song, with the first level just requiring you to strum, the 2nd requiring you to press the notes, and the 3rd requiring you to do both. I was a little surprised there weren’t further levels because despite teaching you to play chords in the game mode, the songs don’t actually seem to require them.

Here is a video of the thing running in MAME. You’ll note there are still some sound emulation issues, especially with the crowd noises on level 3, hopefully this will lead to further improvements in the SunPlus audio emulation.


Content not available.
Please allow cookies by clicking Accept on the banner

There isn’t a huge amount to see in the other modes, so I’ll leave it to you to check them out if you’re interested.

Once I’ve added the eeprom support I’ll probably be promoting this one to working.

Thanks again to those who donated and made the initial purchase possible.

Go to article.. »

More Tunes

March 15, 2019 Haze Categories: General News. Comments Off on More Tunes

One thing SunPlus hardware will be remembered for are the vast libraries of Kid’s toys it powered, especially those featuring popular licensed IP. Be it the VSmile systems, the JAKKS Pacific systems, or things more along the lines of what I’m covering here it was widely used by the industry.

Personally I view emulation of machines based on this kind of IP to be very important as typically, outside of the original release window, it becomes software trapped by licensing agreements, meaning there is no real chance of it being released in any official form again.

A Piano

One of the non-JAKKS units I picked up with the donations from the donations drive was another unit I was almost certain would be SunPlus based hardware and wanted to be able to study as I felt it would be useful to further improve the emulation of the SunPlus platforms by providing useful audio emulation test cases. The unit in question was a Fisher Price “I Can Play Piano” and it came with the basic ‘Piano Favorites’ starter cartridge.


I Can Play Piano

Sean took a look inside the unit, and confirmed that aside from the CPU glob there was nothing really of note, and while there are a lot of buttons etc. there was no evidence of an IO MCU or anything similar, meaning all multiplexing would be done by simple logic driven by the main CPU. It requires a cartridge to function in any capacity, even in the ‘Piano’ mode where there is no TV output, so it wasn’t too surprising that there wasn’t much more in the base unit, but it was good to have that verified.

Sean quickly established a pinout for the cartridge based on the study of the hardware, and was able to dump the included one with relative ease. As expected, it was indeed SunPlus hardware and it also booted in MAME without too much effort, although also, unsurprisingly, the sound was really bad at the time and inputs needed work as there was clearly some multiplexing of the keys going on.


Piano Favourites Piano Favourites Piano Favourites

Wanting to investigate some more of the software library for this thing, I picked up a number of cartridges for the system too, using my own money this time.


I Can Play Piano Cartridges

Jungle Boogie Jungle Boogie Jungle Boogie Jungle Boogie
Show Tunes Show Tunes Show Tunes Show Tunes
Scooby Doo Monster Madness Scooby Doo Monster Madness Scooby Doo Monster Madness Scooby Doo Monster Madness
Rockin Dance Party Rockin Dance Party Rockin Dance Party Rockin Dance Party
Jammin Jungle Safari Jammin Jungle Safari Jammin Jungle Safari Jammin Jungle Safari
Disney Princess Magical Melodies Disney Princess Magical Melodies Disney Princess Magical Melodies Disney Princess Magical Melodies


There are other cartridge in the library, which I also picked up (I believe we have a complete collection of them) but Sean is going to be busy for much of the year to come so they’ll be processed in due time. (Real life comes first, and Sean has dedicated a LOT of his time to our work over the past 5-6 months)

Anyway, I guess it might make sense to talk a bit more about what this thing is in the first place. The easiest way to sum it up would be to say it’s a training toy for learning to play the Piano / Electric Keyboard. It’s primarily aimed at a young audience, but does have a good set of features. Every cartridge contains 8 songs, 2 games, and a ‘freestyle’ mode, and can also be operated in a screenless ‘Piano’ mode where each cartridge has slightly different instruments and acts as a bare bones Piano.

In TV mode, which is the main mode pictured above the system offers a number of learning features. After selecting a song from the menu the unit lets you switch between several different ways of playing including the option of using your right hand or your left hand to learn different parts of the songs via a button toggle.

Right handed is mostly playing the main melody, while Left handed is playing the backing. Both as you’d expect expects you to use both hands to play the whole thing. There are usually some backing bits being played by the computer regardless, although much less so on the ‘Level 2’ difficulty setting where you are expected to play the majority of the notes. The ‘How to Play’ option in the Piano Favorites cartridge gives a quick tutorial on this and also explains that you can also adjust the tempo etc. to increase or decrease the difficulty (some songs, especially the classical ones are slower than you’d expect by default)


I Can Play Piano I Can Play Piano I Can Play Piano

One of the more interesting features of the unit is the ‘mode select’ which presents the screen in one of 4 different ways each taking the presentation a step closer to actual musical notation and stripping away helper features.

I Can Play Piano Mode 1 I Can Play Piano Mode 1
I Can Play Piano Mode 1 I Can Play Piano Mode 1

In no ‘song’ mode does the unit ever sound incorrect keypresses, so you can hammer away on the wrong keys as much as you want, which is a shame, because it would have been nice to see an assist free mode that simply acted as a piano but with the prompts, but I guess Fisher Price felt that would be a step too far.

As mentioned, every cartridge has a ‘freestyle’ mode, where you’re shown a range of suggested notes, and a backing track plays, often with notes triggering animations etc. This is alright, and would certainly have appeal to the target audience, but it would have been nice to be able to toggle off the background music and have it just act as a Piano with the visuals (the only way to get it to act as just a Piano is to take it out of TV mode)


I Can Play Piano Freestyle I Can Play Piano Freestyle
I Can Play Piano Freestyle I Can Play Piano Freestyle

There are also 2 games on each cartridge, and this is where maybe the product does disappoint a little; many of games on the cartridges are just obviously reskinning the basic 2 games from the Piano Favorites cartridge without changing how they play at all. Piano Favorites offers ‘Dodgeball’ and while the most of the others offer games with different names, for example ‘Food Fight’, in reality they’re the same game with different graphics.


I Can Play Piano Games
I Can Play Piano Games I Can Play Piano Games
I Can Play Piano Games I Can Play Piano Games

While the Dodgeball game can be fun, especially with 2 players, there is a huge amount of wasted potential here. For the Scooby-Doo cart BOTH games are actually just reskins, and where in Piano Favourites you press the colour of the car crossing the screen, in Scooby-Doo you press the colour of the ghosts.

I Can Play Piano Games I Can Play Piano Games

The other cartridges do mix things up a bit more, but never really get too creative, often being simple ‘copy the pattern you see’ type things. Maybe I should add screenshots of them too, but it’s probably better you just check them out.

Anyway, that’s “I Can Play Piano” and overall, despite the wasted potential I actually really like this product, and for what was basically a novelty Game Console in the form of an educational toy it does actually plug a gap in the market. I can see the potential for encouraging somebody to learn how to play using software like this, even if it does heap far too much praise on you for doing nothing at all. It is a shame that the software wasn’t more fully developed, because as mentioned there is a fair amount of wasted potential here, be it obvious options missing, the lack of balance in the praise it gives you, or the reuse of the same game concepts with different skins rather than presenting something unique for each cartridge. It’s good, but it could have been so much more.

This is one of those systems where I really think it would be interesting if somebody had the interest in developing new software for it; you’ve got a SunPlus CPU, a full keyboard worth of buttons (+ some extras) that’s actually pretty well built, and a handy cartridge slot. It would be an ideal pet project for somebody to take this and realize a bit more of the potential that was there.

Emulation of this has also contributed towards improving the SunPlus audio emulation, MooglyGuy has been working hard on improving the SunPlus audio over the past month and we’ve already seen huge improvements in how both this and the various JAKKS Pacific games sound.

I’ve recorded a video of the current state of I Can Play Piano when used with the Scooby-Doo cartridge (as of this morning, another audio fix has been pushed since). You’ll have to excuse my lack of ability to actually play the game (it would probably be easier with a real keyboard, not a PC keyboard where I can’t remember the key mappings) but you can get the general idea, and imagine what it might sound like if I actually pressed the correct keys. I’ve enjoyed working on the emulation of this, because until a month ago nobody had really even documented the tech it was running on, or considered it a valid emulation target, yet now I can sit here and see it running in MAME, knowing it won’t just be lost to time.


Content not available.
Please allow cookies by clicking Accept on the banner


*edit* a new video where you can hear the metronome sound in the background of the songs thanks to some fixes by MooglyGuy. (this can be turned off with a button, but previously didn’t work at all in MAME) Some instruments in ‘Piano only’ mode were also fixed by this (previously one of them was entirely silent in Piano Favourites and Show Tunes)

Content not available.
Please allow cookies by clicking Accept on the banner

A Guitar Too

I Can Play Piano wasn’t the only music game / console in the Fisher Price I Can Play range however, there was another, I Can Play Guitar.

I Can Play Guitar actually caught my eye before the Piano unit. There are a lot of Plug and Play Guitar Hero rip-offs on the market, many of them terrible (and one day we’ll hopefully emulate all of them) but the Fisher Price unit was a little different. Unlike the Guitar Hero clones this one aims for a slightly more serious chunk of the market. Not ‘Rocksmith’ level serious, where you’re using a real guitar, but the ‘in excess of 50 buttons’ kind of serious, where hand positions etc. matter. For a toy primarily aimed at children I thought this really set it aside from other products that were simply trying to cash in on the Guitar Hero craze, and made it a potentially interesting target to study. Again this one is SunPlus hardware, and again it boots, but in this case I haven’t yet mapped the inputs properly, so for now you’ll have to make do of some screenshots of the main menus.


Guitar Favourites Guitar Favourites Guitar Favourites
Guitar Greats Guitar Greats Guitar Greats
Surf's Up Surf's Up Surf's Up
Road Tunes Road Tunes Road Tunes
Nashville Hits Nashville Hits Nashville Hits

(again we have a complete set of cartridges for this, just Sean ran out of time before dumping the final 2, so they’ll be done at some date in the future)

Look out for more progress on this, and some other titles in a future update.

(I am still lagging behind on the coverage here, sorry about that)

Go to article.. »

XaviX Colour Space

March 7, 2019 Haze Categories: General News. 5 Comments on XaviX Colour Space

Olivier Galibert made some improvements to the colour decoding in XaviX. This improves the blues and stops everything having such a washed out look.


Before After
Before After
Before After
Before After
Before After
Before After
Before After
Before After
Before After
Before After
Before After
Before After
Before After
Before After
Before After
Before After
Before After
Before After
Before After

Several key features now closely match real hardware videos, including the more visible blues on the XaviX logo and in the background of Gaplus Phalanx

Go to article.. »

Geigeki Go Go Shooting

March 5, 2019 Haze Categories: General News. 4 Comments on Geigeki Go Go Shooting

While I do still have plenty to write about regarding JAKKS material that was purchased during my previous donation drive (much of it is supported in MAME 0.207) I haven’t found time between actually emulating stuff to do a comprehensive writeup for all of it yet (and for many of the items we still have to hope that Sean can find a way to dump them, but that’s the research side of things) Meanwhile another box of things that Peter Wilhelmsen purchased and ShouTime helped get shipped out of Japan arrived with Sean for dumping, one of those games being Geigeki Go Go Shooting. Sean dumped it (it was one of the easier cases) and it runs pretty much correctly without any modifications to the existing emulation.

There’s a warm feeling being able to emulate this kind of platform exclusive as the game wasn’t ported anywhere, so outside of the real hardware, emulation in MAME is the only way you can experience it. This will be supported in MAME 0.208.

This one could actually be interesting for other reasons too. According to the ‘Game Developer Research Institute’ hosted on smspower this game was programmed by Fupac, a company headed by a former employee of Compile, so could easily be in some ways influenced by earlier Compile material.

The game plays very well, and offers a range of difficulty options (including a ‘Super Hard’ mode where the bullets are very fast) The hitbox is of reasonable size for your ship (not too big, not too small) and everything is very responsive. It feels like a game developed by somebody with a liking for shmups. It even gets things like resetting your score on continue correct. Here are some screenshots.

Opening screens, menus etc.


Geigeki Go Go Shooting Geigeki Go Go Shooting Geigeki Go Go Shooting
Geigeki Go Go Shooting Geigeki Go Go Shooting Geigeki Go Go Shooting
Geigeki Go Go Shooting Geigeki Go Go Shooting Geigeki Go Go Shooting

Stage 1

Geigeki Go Go Shooting Geigeki Go Go Shooting Geigeki Go Go Shooting
Geigeki Go Go Shooting Geigeki Go Go Shooting Geigeki Go Go Shooting
Geigeki Go Go Shooting Geigeki Go Go Shooting Geigeki Go Go Shooting

Stage 2

Geigeki Go Go Shooting Geigeki Go Go Shooting Geigeki Go Go Shooting
Geigeki Go Go Shooting Geigeki Go Go Shooting Geigeki Go Go Shooting

Stage 3

Geigeki Go Go Shooting Geigeki Go Go Shooting Geigeki Go Go Shooting
Geigeki Go Go Shooting Geigeki Go Go Shooting Geigeki Go Go Shooting

Stage 4

Geigeki Go Go Shooting Geigeki Go Go Shooting Geigeki Go Go Shooting
Geigeki Go Go Shooting Geigeki Go Go Shooting Geigeki Go Go Shooting

Stage 5

Geigeki Go Go Shooting Geigeki Go Go Shooting Geigeki Go Go Shooting
Geigeki Go Go Shooting Geigeki Go Go Shooting Geigeki Go Go Shooting

The screenshots are all stills from an emulation video I made, that can be seen here. The sound emulation isn’t perfect, but it holds up fairly well.


Content not available.
Please allow cookies by clicking Accept on the banner


The game supports 1 or 2 players, each player having a dedicated Joystick, they looked like this.

Geigeki Go Go Shooting

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