David Haywood's Homepage
MAME work and other stuff

Huntin’ For Answers

June 15, 2019 Haze Categories: General News. 4 Comments on Huntin’ For Answers

The Huntin’ series are, as the titles suggest, Hunting games. Specifically they’re deer hunting plug and play titles released by Radica.

Huntin’ 1 and 2 run on XaviX hardware, whereas Huntin’ 3 appears to be a cost reduced version of Huntin ‘2 running on Elan EU3A14 hardware.

Both Huntin’2 and Huntin’3 were giving me some issues with emulation. Huntin’2 would crash if you opened up the pause menu or Trophy Room screens while Huntin’3 was missing many video emulation features.

I’ve spent the past week improving both of them. For Huntin’3 I added Ram based tiles, proper palette selections, proper priorities, proper bitplane depth selection and a rowscroll mode. There is still some kind of Windowing effect missing (used on the Trophy Room screen for highlighting and the timer in the Target Range mode)

Debugging Huntin’2 was trickier, as the CPU emulation would just crash when entering the screens and the underlying code on the XaviX titles is far from simple (it’s a complex task based engine with many pointers etc.) I figured out in the end that it appeared to be crashing as a result of stack corruption, with the stack descending too far in some cases and overwriting pointers that had been placed to other tasks. I had a hunch that maybe the extra bytes used by the extended Far Call and Far Return opcodes on the XaviX processor might be to blame, so I tried placing those in an extra, private, stack, and the crashing stopped. I don’t know for sure if that’s the correct solution, but it does solve my issue and seems feasible as it would maintain 6502 compatibility better that way.

I haven’t yet mapped the guns in any of the games, but it’s getting to the stage where that should be more realistic. Sound emulation on Huntin’3 is very poor due to incorrect ADPCM decoding.

Huntin’2 is on the left, Huntin’3 is on the right. I’ve tried to pick similar shots for each game so you can easily see how Huntin’3 is just a reskinned uglier version of Huntin’2 (and both are inferior games to the original Huntin’)


Huntin'2 Huntin'3
Huntin'2 Huntin'3
Huntin'2 Huntin'3
Huntin'2 Huntin'3
Huntin'2 Huntin'3
Huntin'2 Huntin'3
Huntin'2 Huntin'3
Huntin'2 Huntin'3
Huntin'2 Huntin'3
Huntin'2 Huntin'3
Huntin'2 Huntin'3

Go to article.. »

On Track

May 27, 2019 Haze Categories: General News. Comments Off on On Track

As mentioned in the previous post, I’ve been looking a bit at some Plug and Play games using a pair of blobs; based on Sean’s decap work those globs are a “Winbond 2005 BA5962” (large glob) and a “Winbond 200506 BA5934” (smaller glob)

As each of these Plug and Play architectures is like a console, with lots of flexible features, they can be quite difficult to figure out. That said I’ve managed to make some rapid progress over the past week (which can be followed on my YouTube page)

The games we have dumped running on this platform are “My First Dance Dance Revolution” and “Track & Field Challenge”, both from Konami. My First Dance Dance Revolution is the earlier of the 2 games, and has some amusing errors on the ‘caution’ screens.

My First Dance Dance Revolution


My First DDR My First DDR My First DDR
My First DDR My First DDR My First DDR
My First DDR My First DDR My First DDR

Track & Field Challenge


Track & Field Challenge Track & Field Challenge Track & Field Challenge
Track & Field Challenge Track & Field Challenge Track & Field Challenge
Track & Field Challenge Track & Field Challenge Track & Field Challenge

The CPU core hidden away in the globs appears to be a G65816, which is similar to that found on the SNES, although the rest of the hardware is rather different. Neither is in what I’d consider “working” state yet as the inputs are erratic, there are game logic bugs (timer always 0 in Track and Field, very slow arrows and hangs after songs in DDR) and also the video emulation is incomplete as you can see from the glitches in the screenshots. There are definitely more complex DMA modes I need to add support for, also sound isn’t emulated yet, I haven’t even started looking at that side of things.

Not bad for less than a week of work tho, these only showed a black screen a few days ago.

The progress I was making on Smart Fit Park (which is a newer SunPlus ‘System on a Chip’ instead) does seem to have stalled tho, again, each of these systems is like emulating a console, so when you’ve not got much dumped for a specific chip it can be difficult to figure everything out.

*edit* improved the DMA, which improves the backgrounds a bit (still missing scrolling tho)


Improved Improved
Improved Improved
Improved Improved

Go to article.. »

*tumbleweed*

May 23, 2019 Haze Categories: General News. 2 Comments on *tumbleweed*

Realized I’ve not actually posted an update on the main page here in a while. I have been adding various screenshots to the 2019 page to save me time when compiling the final end of year write-up, but that isn’t really obvious unless you look.

In terms of what I’ve been doing it’s mostly been a lot of work with nothing really to show for it yet. We identified several Plug and Play systems as using a newer SunPlus based “System on a Chip” with an updated CPU core (extra opcodes) and an entirely different peripheral mapping etc. The only dumped games on it thus far are Smart Fit Park (Spanish release) and Wireless Hunting, with the latter also having a larger than usual ROM and presumably some banking.

Smart Fit Park allowed me to make some progress with it, but there are still errors in the game logic, including hangs and crashes, incorrect speed etc. Wireless Hunting still does nothing as it isn’t clear how the extended ROM access works (the system has enough extra RAM that they might just be copying everything into RAM with the DMA as DMA parameters not used by Smart Fit Park are used by it) We know the Spongebob Bikini Bottom 500 racer also uses the same SoC and Sean is trying to get that dumped, although at the moment it is resisting.

We’ve also been trying to figure out the AX208 CPU properly for another system (which will require extracting an internal ROM)

Other than that, I’ve been buying (mostly with my own money at this point) a whole bunch of Plug and Play systems and having them shipped to Sean. Sean might not have time to process them until Winter at least, depending on real life workload, so they get added to the pile of things that were purchased with donations etc. Still, providing there are no disasters we have a nice collection for later all going well. He did manage to find time to dump some easy cases, so the remaining 2 “I Can Play Guitar” cartridges were dumped recently as well as a KR-1 e-kara cartridge (I added some pictures on the 2019 page) Even without being able to dump things yet Sean has been providing useful insight into the hardware inside the things that have been sent to him, plus I’ve been pulling apart some of the ones that have arrived with me (and making real hardware videos for my YouTube page) so even without visible progress there is research going on, and I have a better idea of the bigger picture with some of these things now. When you’re dealing with things that require specialist processing there are always going to be bottlenecks in the process as the number of people capable of handling them is tiny and those people are in demand.

I’ve also been trying to work out what on earth is needed to get the Konami Track + Field and My 1st DDR Plug and Play units booting, the code on those is absolutely horrendous and they end up taking a pointer from RAM then jumping to 0, because the RAM with the pointers in it gets erased after startup.

I’d like to be able to show more, and we’re definitely going to need a bit more help funding some of the remaining Plug and Plays, but I’m not going to ask for anything until some of the backlog is cleared, things that existing donations were put towards have been dumped, and I have more to show, rest assured, work is being done tho.

Go to article.. »

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

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