David Haywood's Homepage
MAME work and other stuff
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.

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)


You can follow any responses to this entry through the RSS 2.0 feed.

Hammer Boy on the title screen has that – “Hey, I am cool like Sonic The Hedgehog” look. Thanks for the work on this Dirk and Haze! Looks like it is worth trying once or twice down the road.

It’s awesome to see this game found, preserved and emulated, great work and thanks to all involved!

I used to wonder if the Hammer Boy arcade had ever actually been released and it turned out that it could be played at the Madrid Amusement Park, along with the still unrecovered After The War. Had I known back in the day…

On the subject of MAME recordings and out of curiosity, which parameters do you usually set for your 60 FPS videos with correct aspect ratio?

Mame recordings I just use -aviwrite (and if it’s a dynamic res game use a fixed snapsize)

Beyond that I just use VLC to encode that .avi file using H-264 codec and scaling set to resolution 1440×1080 (for horizontal games)

It’s not perfect, and would be nice to have a sharp prescale first, but it’s a quick and easy way that doesn’t require any heavy software or creation of intermediate video files past the .avi MAME outputs. There are probably better options, but for what I need to demonstrate it gets the job done with the things that matter being correct.

Ah ok, thanks for the tips. I’m using OBS for properly prescaled, crisp clear 1080p captures but I can only get (mostly) solid 60 FPS for the weaker-than-CPS1 systems that way, that’s why I was wondering if I was missing a parameter that allowed MAME to, for example, record a 1080p movie that’s been prescaled by 3 and antialiased. Guess I’m out of luck!

By the way, the problem with the dynamic resolution in your video reminds me of the Amstrad CPC emulation bug that I’ve recently reported over at Mame Testers (instead of stretching the picture, the excess vertical resolution will just be shoved to the bottom of the screen with some of the contents it had before the resolution change), perhaps it could be related?

My understanding of the CPC bug is that it isn’t the true bug at all if you have to adjust the physical controls on the monitor after changing it on hardware anyway, the only thing MAME isn’t doing is rolling the display when you change it? That’s because in MAME the logic is kinda backwards and it considers the screen to be the source of the sync signals, rather than syncing the screen to the signals generated by the other hardware.

…I’m not really sure how having to adjust the “V-Hold” knob so that the picture stops rolling can be related to MAME showing static “garbage” in the lines that should be just unused, but I’m most likely missing some technical explanation for it.

The only visible result on real hardware is “top and bottom look black now” (albeit with certain imperfections), which I guess would have the effect of stretching the picture vertically in other displays, just like MAME does when starting in 60Hz mode directly (I’ll be able to check the effect on a TV set once the RGB cable I ordered arrives).

Well you want MAME to perform an auto-adjustment that apparently the hardware also requires a manual intervention for, that’s what I was meaning.

But… MAME already “adjusts” the vertically moving picture automatically, it just adds garbage graphics where there should be none.

The point is more MAME adjusts nothing, so you get garbage, although maybe I’m misunderstanding what was said, it sounds like on real hardware you have to adjust the monitor to get rid of the rolling and garbage.

The knob only adjusts the rolling. It can probably be turned to a specific position where there’s no need to adjust it after the Hz change, so I don’t know why it seems relevant for the bug report.

Real hardware shows no garbage at all, just black unused space, as seen in the video I recorded. Also, if I remember correctly, the last used line is only partially rendered and one of the topmost lines (second one?) is left unrendered, sandwiched between rendered lines. But maybe this is a normal thing in certain systems, I don’t know.

Say, does Hammer Boy happen to have a test mode identical to that of Megaphoenix and Little Robin? Those latter two have identical test modes in spite of Robin having been made by TCH, and if memory served you’d previously left note of the similarity suggesting a potential relation in megaphx.cpp.

test mode is nothing but a very basic ‘grid’ this time around, I think because it’s an earlier / more primitive game / codebase.

hello haze
i faced a similar problem when using the aviwrite function for tetris the grand master : different resolutions for the warning screen,title screen,etc
ended up circumnavigating the problem with some ghetto solution (mngwrite ? don’t remember)
so the correct command would be something like
mame tgmj -aviwrite tgm.avi -snapsize (fixed ? auto ? dynamic ?) ?

since they’re mostly 4:3 games in the majority of cases

mame tgmj -aviwrite tgm.avi -snapsize 640×480
would give you a usable file.

pixels aren’t going to be as sharp as they might otherwise be, and if the actual refresh rate changes there might still be audio desync problems, but that’s something of a problem with the .avi container, or at the very least, the majority of software that can work with .avi (and the more exotic formats, while more flexible often lack the software support for such things to work properly too, it’s something of an unusual use case)

thanks for your reply and sorry for the ot
i tried using that command and it doesn’t really work for me,still facing the same issue
here is how it looks when converted and upscaled to 1280×960
i am using ffmpeg for the conversion but that shouldn’t really make a difference,the problem lies in the way aviwrite copes with the different resolutions (obv ?)
anyway,if you are willing to further discuss this i might send you a pm on reddit i guess ?

Since I’m a Game & Watch retro fan, I thought it was kinda fun to see a game like this. Do anyone have more examples of Game & Watch like video games?

@Mbit: There’s a whole “Game & Watch Gallery” series (also known as “Game Boy Gallery”) that spans the Game Boy, Super Game Boy and Game Boy Advance systems, all of them supported by MAME. These include “modern” versions of certain games in a similar fashion to Hammer Boy (itself a modernized version of “Fire Attack” which, by the way, has already been acquired for inclusion in MAME).

Yeah, it’s not an especially common thing to see in arcade games, because such titles are typically too ‘simple’ and don’t make sense in an environment where the one thing you had was stupidly high rom / ram capacity compared to the home systems at the time.

The 8-bit computers had their fair share of games that felt a lot like ‘Game and Watch’ style things to me tho.

Games like Bridge It for the CPC ( https://www.youtube.com/watch?v=xfjNPGZBN0k ) have you opening / closing bridges in order to get your men across

The Train Game on the ZX Spectrum took that concept further, with a set of points for each key on the keyboard, and, once the game gets going (which it doesn’t on the videos I can find) a whole bunch of high speed trains ( https://www.youtube.com/watch?v=zxdg16nIH34 )

I guess you could say that some of the redemption games, like Chicken Farm have similar gameplay to those too ( https://www.youtube.com/watch?v=fuid7Ip9YGE )

Flash Kobito Kun for Wonder Swan Color is the most advanced Game And Watch style game I know of.

i see . thanks

Leave a Reply

Your email address will not be published. Required fields are marked *

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.