David Haywood's Homepage
MAME work and other stuff

Hammering in My Head

February 10, 2018 Haze Categories: General News. 20 Comments on Hammering in My Head

Thanks to “alt/deepfb, Dan Dare, mad3001, Habi, Adonías, cpcmaniaco, Robcfg, Pablo Ruiz, Recreativas.org, and The Dumping Union” a rare PCB of the game ‘Hammer Boy’ was dumped.

Hammer Boy is one of a small number of games by Spanish developed Dinamic that was ported over to the arcades by Inder. The only other dumped title on this hardware is Megaphoenix, which I emulated a few years ago.

Hammer Boy is less of a change from the home ports than Megaphoenix was, utilizing only the 16 colour mode, rather than the 256 colour mode, meaning visually it’s pretty much a straight port of the Amiga / ST versions of the games (and personally I always liked the art better on the Amstrad CPC version even if it was ultra-low resolution)

The best way to think of the game is like a giant ‘Game & Watch’ title, with full colour graphics and some animation but the same basic gameplay. Unfortunately that does also extend to the controls which at best could be described as ‘sticky’ and are something of a source of frustration with all versions of the game (you can’t interrupt animations already playing to move position)

It’s maybe an odd choice to release as a full arcade machine in 1990, which might be why it never really gained much popularity, there are just 4 stages (Fort, Pirate, Castle, Space) at which point it loops with a higher difficulty. I guess it does fit the traditional arcade mold of being all about the high score, but is maybe a bit too simple.


Hammer Boy Hammer Boy
Hammer Boy Hammer Boy
Hammer Boy Hammer Boy
Hammer Boy Hammer Boy
Hammer Boy Hammer Boy
Hammer Boy Hammer Boy
Hammer Boy Hammer Boy
Hammer Boy Hammer Boy

Thanks should also go to Dirk Best for identifying what was wrong with the 68k -> PIC communication which was causing the dipswitches to not work, and AJR for improving the sound handling which was previously only good for Megaphoenix. My only real contribution here was identifying that it used a 4bpp mode instead of an 8bpp mode.

I recorded a video of the game running in MAME, sorry for the bad aspect / border at the bottom, I forgot that because this uses a TMS to drive the video that the screen mode and refresh rate are dynamic; I should have forced a recording size with -snapsize but forgot.


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

There was another arcade game called Hammer Boy; a 2001 release by Afega but that one isn’t dumped (it should be the same game as Mang-Chi tho, just with a different title)

Go to article.. »

Well it’s not Tony Hawk’s HD or 5 at least…

January 29, 2018 Haze Categories: General News. 2 Comments on Well it’s not Tony Hawk’s HD or 5 at least…

So.. FarSight Studios again


FarSight Logo

Was my guess of this latest dump being on the same hardware as Golden Tee Home Edition correct?

No, it wasn’t.

This one had a Sunplus QL8041C die and runs in the driver MAME calls ‘vii.cpp’ (which is still fairly preliminary, and lacks sound, but was good enough for this to run it seems)

What is it? Radica’s Connectv Skateboarder (if you’re in a PAL region) or PlayTV Skateboarder (if you’re in an NTSC region) Why the branding difference I don’t know, but that’s what they did. The ROM was dumped from an NTSC unit, but the region is just an IO port register. PAL offers a selection of languages. NTSC offers English or Spanish.


Radica Logo Radica Logo
Game Logo Game Logo

Let’s start with the most important page on the whole thing, the ‘tricks’ pages. There’s no point in even trying to play this if you don’t know them.


Tricks Tricks
Tricks Tricks
Tricks Tricks
Tricks Tricks

So they’re all one of more of the 3 buttons (M, X, and O) and a direction. Strangely enough never ‘Down’ even if there is a Down input because you need it during the menus for jumping.

The buttons are on a little controller you hold in your hand, the directions are achieved by leaning slightly to the side on a model Skateboard. Yes, it’s one of THOSE games.

There seem to be 2 levels of left / right input, a very slight one, used for incremental turns and menu control, and a full on lean that turns you quickly. I’m not entirely sure how best to map those in MAME since I’d be pushed to call it an analog input, so as things stand the ‘full’ turn inputs are presented as extra buttons. I don’t think there are 2 levels of input for the up/down control, it just seems to be digital.

Gameplay, it’s 2D, overhead-ish, I guess you’d say a bird’s-eye view. You’re always moving up the screen or to the side, never down the screen, so if you go past something you’re not getting back to it. Feels a bit odd if you’re expecting something like Tony Hawk’s or even 720 degrees where you have full roam of a skate park. There are various obstacles littering the park, you can do the tricks above on them, as long as you’ve remembered them.

There’s one park to choose at the start, and 3 characters.


Parks Parks
Characters Characters Characters

I believe you have to play Tournament mode to unlock the 2nd park. The game has a password save option. There’s also ‘Free Skate’ if you just want to goof around, otherwise it acts like you’d expect, there’s a timer, you get points for the tricks you do, assuming you land them without messing up, and presumably there’s a target score of some kind to beat. Not much else to it.


Freeskate mode Freeskate mode
Freeskate mode Freeskate mode
Freeskate mode Freeskate mode

I can’t comment on the sound, as there’s no sound emulation. Obviously the main gimmick of this thing is that it had the board controller, and it’s a TV game, so even if it’s from 2006 it isn’t going to look like something from that period, but I think the art captures the intended style / theme in a decent enough way.


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

Thanks again goes to Sean Riddle for dumping this.

*edit* Played it a bit, it seems mostly working. There are 3 Skate Park designs, although the game is kinda ‘cheap’ in that it reuses each one twice, so Park 1 and Park 2 are the same etc. just different difficulties.

Here are all the passwords. The final code lets you use all the staff as characters, which is kinda pointless but a nice touch I guess.


Unlock code Unlock code Unlock code
Unlock code Unlock code Unlock code

Here are some screenshots of the other designs those unlock


Tournament mode Tournament mode

The results pages have some graphical glitches, although a number of the other games in the same driver do, not sure if it’s a video emulation bug or a CPU core bug giving bad data to the video hardware. The ROM is confirmed as a good dump.


A Glitch

It’s a bit easy to play when you can just mash the buttons on a keyboard compared to the original device.

Go to article.. »

Things you’re probably not going to want to do #348693

January 28, 2018 Haze Categories: General News. 17 Comments on Things you’re probably not going to want to do #348693

In the previous updates I touched on how having proper emulation of the classics has made a lot of the old ports redundant for all but the sake of curiosity. Today I’m going to look at another device which for all intents and purposes is now completely redundant, but is also a sign of what people had to accept back in 1998 when it was released.

I’m talking about the Datel Game Booster for the original Sony Playstation. One of a number of unlicensed addons that were produced for the system.

The Datel Gamebooster was a device that plugged into the Playstation and allowed you to play Game Boy titles on your TV by plugging the cartridges into the adapter, similar to how you could get a Super Gameboy for your SNES. I’ve added support for this Datel Game Booster in MAME.


Game Booster Game Booster
Game Booster Game Booster

Great, fantastic, you can play Game Boy games on a Playstation, that’s pretty cool, right?

Well, there’s a catch. Let’s start with compatibility. It’s bad. Most games won’t work, those that appear to often end up crashing, even Tetris seems to crash after a while. I’ve done research on forums, and these aren’t bugs in the emulation of the device, these are bugs in the device.

Let’s take a step to the side here and talk about what the device actually is. You might think it would have some of the Game Boy hardware inside it, or at least a knock-off of the Game Boy hardware. After all, the official Super Game Boy for the SNES had a CPU inside it and everything. You’d be wrong. What we have here is a pure software emulator running from the ROM inside the device. On startup the device reads the cartridge you have plugged in and dumps the content to GameBoy cartridge ROM, using the standard Gameboy mapper addresses for banking, to the Playstation’s RAM. This isn’t much different to how you’d dump the cart with a cart copier, except instead of saving the file it just copies the data into RAM for temporary use. The emulator, which as mentioned, is contained in the ROM inside Datel’s device is then executed using the copy of the game ROM that was just read out.

This instantly limits you to only games using the standard banking scheme, with a maximum of 64 banks of 8192 bytes.

Of course, the emulator is based on 1998 emulation technology too, and in 1998 emulators weren’t exceptionally good, especially not if you were having to code them for a machine with a 34Mhz processor.

That brings us to our other issue. This is slow, VERY slow. By default it has a frameskip of 2, which alone is enough to ruin the gaming experience in many cases, but even with that many frames being skipped the titles run at around half speed, if that.

So you can play only a small part of your library, with bugs, at about half the speed of a real Game Boy. Sold yet?

It has no sound either. Sound isn’t emulated, the device makes no attempt whatsoever to emulate the Game Boy sound chips, so you’re playing the games in silence. It has a CD Player option that allows you to put a CD in the Playstation’s drive and use that, but it’s hardly a substitute for the real sounds. Then again, sound emulation would have made it even slower, and sound at less than 100% speed is a lot more noticeable than video.

Now the fact that there are homebrew NES emulators for the original Playstation (they’re not great, but they’re better than this) might suggest it possible that Datel could have optimized this further, but in reality trying to emulate anything on a 34Mhz processor isn’t a great idea, you have to cut a lot of corners somewhere.

But yes, even back in the day this thing wasn’t a great product. It was a novelty, some people no doubt found it rather geeky and cool, possibly even rebellious to be running Game Boy games on their original Playstation, but it was hardly practical.

There are a few interesting things about it. First of all it comes with a built in game, Rebound Mission, and I don’t know about you, but to me a Rebound Mission sounds like something you might decide to go on for a night out after being dumped.


Game Booster Game Booster
Game Booster Game Booster

It’s a simple game, the main problem is it’s as slow as everything else, because it’s apparently a Game Boy game Datel wrote, and are running under their emulator. I haven’t tried extracting the ROM to see if it really is yet, but I’ll probably give it a try, it might actually be enjoyable at full speed, but at the speed it runs it’s just tedious and lacks any challenge.

So is there anything else interesting about it? Well it attempts to use the Super Game Boy borders if they’re present, which is kinda neat and unexpected, as you can see here on the Centipede / Millipede pack.


Game Booster Game Booster
Game Booster Game Booster

However compatibility comes back to bite us again here, as while Centipede can be played, Millipede only hangs on the title screen you see and goes no further. Again there are posts saying this happens on the hardware, so this isn’t a MAME emulation bug, it’s a bug in Datel’s emulator.

I’ve also seen some other SGB games where trying to access the Datel built in menu causes them to crash, presumably a memory issue or something.

So yes, there’s a built in menu. What does it look like?


Game Booster

Game, Cheat, Trainer, Palette, Options..

Palette is interesting, but ultimately a bit pointless. Let’s have a look at it being used with Tetris 2


Game Booster Game Booster
Game Booster Game Booster

So yes, you can swap any of the 4 basic colours for another one of your choosing..

Cheat is a set of built in cheats that you can enable for various Game Boy games (which at least gives you some indication of what is expected to run) Trainer appears to be a cheat finder type thing, and Options, is just a set of options, where you can turn the CD player on, change the frameskip level, tell it to pixel double the image, or select from 3 built in borders for the regular games.


Game Booster Game Booster

Why emulate such a pointless device? Because we can, and because it documents a little piece of history, back in the day some people no doubt used this because it’s all they had. It shows how far we’ve come. Here are some videos.

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

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

My only closing thought on this is that it would have actually been interesting if somebody had done their own homebrew emulator that could use the cartslot, or if Datel had allowed it to load a different emulator from CD (although in both those cases you would have to use some of the Playstation’s RAM to load the emulator)

Emulating pointless things in MAME is a lot of fun.

It was also released for the N64, but with a short annoying music loop as the N64 didn’t even have a CD drive to give you that option. I haven’t looked at the N64 version (yet)

Go to article.. »

I do fancy a nice warm cup of Tee

January 24, 2018 Haze Categories: General News. 9 Comments on I do fancy a nice warm cup of Tee

SeanRiddle read the rom from another one of the Radica plug and plays. This time, instead of using a CPU with the die marked ELAN EU3A05 like Tetris and Space Invaders, this one used a die marked ELAN EU3A14.

It’s still 6502 based, and several things are similar, but the video hardware has changed at least, this one is no longer drawing sprites / tiles from ‘texture pages’ but seems to have opted for more traditional non-tile based sprites, and likewise the tiles for the tilemap organized in ROM in a normal way.

There are enough similarities to know the hardware is of the same origins, but enough differences to make it interesting. The palette handling and sound system for example are just the same, and it looks like the I/O might be too, but the DMA controller has high bytes for size and destination, shifting other registers along, even if I can’t see how they would be useful.

The game was developed by Farsight Studios, developers of the rather infamous NES/MD game collection ‘Action 52’ (although I did like some of the games) and flawed MD title ‘Art Alive’ (which would have been so much better with battery backup at least)

That said, they’re not afraid to show their roots, and proudly advertise said titles along with all others on their website.

What makes these TV games interesting is that they’re basically going back to that simple style of game that was found on the likes of Action 52, again with somewhat limited hardware compared to other platforms that were available by the mid 2000s when these were made. Farsight also list a number of other games that were done for Radica and likely run on the same, or at least similar hardware.

Anyhow I’ve started emulating it..


Golden Tee Home Edition Golden Tee Home Edition
Golden Tee Home Edition Golden Tee Home Edition
Golden Tee Home Edition Golden Tee Home Edition
Golden Tee Home Edition Golden Tee Home Edition

The sound emulation issues (bad sample decoding, some registers not understood causing repeating sound) are a lot more obvious here, so it sounds horrible for now. Background rendering needs work, especially for the 2D view when you’ve taken your shot. Taking your shot is also difficult right now because the trackball isn’t hooked up properly, it appears to be hooked up in a way that means it triggers interrupts on the CPU as it spins, so the CPU can count them and work out how fast you’re spinning it. Each axis is a different interrupt level, 2 bits in a control port determine the direction. Seems like a primitive way to do things, although not unheard of before, I need to work out how to hook it up in MAME.

Palette also feels very slightly off, just like the other one. I think the code I have is correctly following the HSL decoding scheme, so that’s a bit of a mystery at the moment.

Before this there was another Radica game called Real Swing Golf, also developed by Farsight but without the Golden Tee license. That uses a different controller type, but otherwise looks like a very similar game, so would probably fit in the same driver if it were to be dumped.

There were also later Golden Tee Home TV games, but those were developed by Jakks and are going to be different hardware (probably XaviX or unSP based) Those aren’t dumped tho.

Radica also released some games on Megadrive / Genesis based hardware, until now only 2 of those were dumped, and were hidden away in the MAME Software List rather than being standalone systems. I’ve moved them to be proper drivers (as they’re real systems, not cartridges). Sean Riddle also dumped a ‘Sensible Soccer’ one which has been added. For some reason it disagreed a bit with the existing Radica banking scheme, but it wasn’t difficult to make it happy.


Radica Sensible Soccer Radica Sensible Soccer

Radica Sensible Soccer Radica Sensible Soccer Radica Sensible Soccer

The good news is that the Sensible Soccer unit actually had 2 controllers wired in, unlike their Genesis 6-in-1 ones, and the Sonic Gold collection where there is only a single pad, and no way to connect another, meaning the 2 player options in the games (such as Sonic 2 VS mode) are entirely useless. It surprises me Sega allowed their name to be stamped on them without any attempt being made to remove the 2 player options from the menus!

*edit* here’s a video of the current Golden Tee Home Edition progress, turn your speakers down!


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

Go to article.. »

Radica Tetris..

January 18, 2018 Haze Categories: General News. 2 Comments on Radica Tetris..

I got Radica’s Tetris booting, it didn’t like the initial Stack Pointer value in the 6502 core, which according to Mametesters is incorrect for the A2600 too.

So far only player 1 works, because it seems to connect player 2 via a serial connection or something similar.

Unfortunately, it’s barely playable at all, the controls are oversensitive so you usually end up moving the piece 2 squares instead of one. I want to convince myself that this is an emulation issue, but watching people try to play the real thing makes me wonder if the issue isn’t with the weird controllers it uses but the actual game code, because they seemed to be quite frequently overshooting where they wanted to put the pieces too. It’s difficult to believe it’s meant to be as bad as it is in MAME, and I’m hoping it’s some side-effect of not having whatever player 2 needs hooked up, although I’m not actually optimistic.


Radica Tetris Radica Tetris
Radica Tetris Radica Tetris
Radica Tetris Radica Tetris

I also added preliminary sound to the driver, although it doesn’t play the music in Tetris yet because I think it’s relying on the sound chip generating interrupts (or possible just a timer interrupt) which isn’t yet supported. Also my ADPCM decoding is wrong, I havn’t figured out the format (it’s not the usual OKI one) so it sounds awful at the moment anyway.


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

I also made a video of the Space Invaders one, with me playing Phoenix to demonstrate the current state of the sound emulation there. Be warned, cover your ears ;-)


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

Go to article.. »

The Alternative to Emulation

January 15, 2018 Haze Categories: General News. 26 Comments on The Alternative to Emulation

Back in 2004 we lived in a time when not all ports of games were simply emulation based, but instead many were genuine reprogrammed piece of software. I briefly mentioned the Radica ‘5-in-1’ Space Invaders TV Game in my previous update, and that’s what I’ve been working on over the past week. If you follow my YouTube channel you’ll have noticed various Work in Progress updates on it.

It’s an interesting piece of hardware / software, and emulating it has so far been a lot closer to emulating a console than a piece of arcade hardware. Everything is driven off a 6502, but with various DMA channels and an unusual video system which stores graphics in texture pages, but then for the tilemaps, still addresses them as tiles etc. and in the case of Qix can also change the base pointer from ROM to RAM.

It also shows that back in 2004 this kind of thing was a viable product. Sure, there were emulators, and you could easily make a case that MAME ran all the games in this collection just fine back in 2004, although truth be told MAME wasn’t actually great back then (which is why it’s so painful to see people using MAME cores older than that just for the sake of running it on some god-awful hardware like the SNES mini)

So far I’ve managed to get most of the video features working, or at least have some understanding of them, although I don’t think anything is quite perfect yet. Transparency pen is definitely wrong, as is palette selection on the 8bpp sprites. Palette itself was an interesting one, it’s clearly based on some kind of HSL type colour model, not RGB, again making it very unusual compared to most arcade hardware I’ve emulated. Colours are mostly correct in MAME with this model, but certainly not quite right yet.

Sound, which I haven’t got around to emulating yet, appears to be 6-channel ‘DMA’ DAC style, where the game code sets pointers to rom and fires off a trigger. It looks like these might also generate a custom ‘finished’ interrupt too, as well as setting ‘finished’ flags (which the games wait on sometimes, hence the Radica logo vanishing so quickly I believe, because we’re always reporting sound finished right now)

Before continuing, here are some shots of the Space Invaders one running.


Radica Space Invaders Radica Space Invaders
Radica Space Invaders Radica Space Invaders
Radica Space Invaders Radica Space Invaders
Radica Space Invaders Radica Space Invaders

The programming on these is interesting too, the hardware clearly has a way of having higher priority tile clip out sprites and based on real hardware footage Lunar Rescue uses this at the edges of the screen to create a slightly narrower view. Strangely Space Invaders doesn’t, and instead has some ugly wrapping effects with the UFO even on real hardware. It seems like the individual games might have had different programmers behind them, because each one seems to make use of the hardware in slightly different ways. Aside the aforementioned clipping there are a number of other annoying issues issues too, for example the code buffers the sprites, so there’s a noticeable input delay. This delay is really noticeable in Qix where the background layer isn’t buffered so while moving you can see your line being drawn where the player sprite should be, ahead of the actual sprite! I’ve checked real hardware videos and the same is present there.

This is really where I was going when I said in 2004 these things were more viable than maybe they are today. None of the reproductions on offer here are perfect, it’s easy to tell them all apart from the arcade originals, but at the time standard definition CRT TVs were still in the majority and a number of these games ran on vertical monitors, so you’ve automatically got a resolution issue with most TVs being unable to display the required resolutions without at least altering the graphics / screen arrangement. It would also have been relatively expensive to have a CPU capable of emulating these things back then (the mainstream consoles of the period were only just capable of it) Likewise filling the units with the CPUs etc. that the original games used would also have been expensive (and likely the parts difficult to source) so instead you got ports, rewrites of the games that were suitable for the hardware available at the time. It’s not actually too different to how/why the 8-bit computers got ports in the 90s, except by 2004 it was much easier for developers to get access to original resources such as graphics / sound rather than having to do those from scratch too.

These days emulation has set the bar much higher, and while you still do see sub-par products like the NES Classic and various Raspberry Pi based solutions somehow selling despite still based on 15-20 year old emulation knowledge, they’re still a step up in quality than something you could just plug into your TV in 2004. Admittedly there are still hundreds of cheap Chinese handheld devices based on similar evolved 8-bit tech to these things, but very few of those claim to be in any way licensed.

I guess that’s what makes this kind of device fascinating to me, they’re official ports of the games just like any other, but they’re also “dead-end” ports, versions of the codebase that existed at the time and have no commercial reason to be brought forward; creations that exist because limitations of the time made them more acceptable back then.

Obviously MAME has roots in arcade emulation, and being able to show the course of evolution of these arcade games, how they ended up on home systems and in devices like this one actually means the path of the project is reflecting the course of the original material. How was Taito giving access to their 1978 hit Space Invaders in 2004? By allowing Radica to license the IP produce these devices so people could play it at home. Now, thanks to emulation, we can help to document that part of the story too, show where these things got it right, and where they got it wrong, and what possible reasons there were for that.

Radica didn’t only use this hardware for the Space Invaders product, there was also a gimmicky version of Tetris running on it, and probably plenty of other titles. We know they switched to a XaviX based solution at some point (which is more complex and has actual custom CPU opcodes etc.) but there are almost certainly a whole bunch of other products running off the same hardware as this one.

The Tetris one is interesting for many of the same reasons I highlighted above, it’s another thing that was licensed and ported all over the place, and being able to document / show that is culturally and historically important. Unfortunately the Tetris one crashes in MAME when you try to start a game at the moment, so it’s not too interesting to show at this point.


Radica Tetris Radica Tetris
Radica Tetris Radica Tetris
Radica Tetris Radica Tetris

One thing of note about the Tetris one is that you can access a hidden test mode by holding Down and Anticlockwise. Space Invaders contains images for a similar test mode, but I haven’t worked out how to access that one.


Radica Tetris Radica Tetris

This also allows player 2 inputs to be tested, which is going to be fun to figure out because I think they’re being read in a strange way, maybe via Serial or some hack of the ADC because they’re not read directly (which maybe shouldn’t be surprising, the P2 controller is optional and plugs into the P1 controller)

Anyway, I’m going to continue to try and improve these, look into adding the sound, see if I can figure out why Tetris crashes, and fix up the transparencies. I’m also hoping some more games on this hardware get dumped. Sean Riddle picked up a “Golden Tee Home Edition” and “Skateboarding” which both look like they might fit here (and if they do, both use horizontal scrolling to, so will provide additional evidence for improving the hardware emulation as nothing we have so far does)

*edit* I’ve improved the video emulation a bit, here’s an updated video showing the current state, some of this is a bit hacky due to lack of software to make conclusions, but at this point I think any visual problems aside the slightly off colours are the same as the real hardware.


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


Need to look into adding sound next.

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