Handheld Underground

Makon Crapstravaganza 2018 Part 1

posted by taizou @ 2018-03-11 23:56:59 Dumps

So, now I have a finalised GBX format spec, and an emulator supporting the new format, I can finally get to releasing some GBX ROMs! And what better way to herald the arrival of a fancy new ROM format than, uh, *shuffles papers*, seven Makon games?

That's right! Makon Soft Studios, makers of many highly-regarded classics, kept pumping em out all the way through the GBC era. These games do show some progression from their earlier stuff - they make WAY better use of colour, and sometimes even the music is more tolerable. Unfortunately they still suffer from too many control issues to be really enjoyable to play in any capacity.

The publisher here still appears to be NT/Ka Sheng/Ka Sing/卡聖, but they've switched to a new mapper with half bankswitching functionality (used by these Makon games) and an entirely new mechanism for selecting multicart games (which I've yet to figure out, so no multicart dumps just yet).

These games will only run in hhugboy v1.2.5 or later (although I recommend you use 1.2.6 or later since that fixes a save bug affecting at least one of these games). The GBX versions will run automatically, the raw .gbc format ones require you to manually select "NT (Makon) new" compatibility mode.

Pokémon: Mewtwo Strikes Back

First up! Mewtwo Strikes Back is a platform game more or less based on the superior unlicensed game "Pocket Monster" for Mega Drive and SNES. And with intro text attempting to tie it into the movie of the same name, with which it otherwise has no connection. Previously I dumped a Li Cheng hack of the Chinese version of this game, but now here's the English Makon original!

HEALTH WARNING!! Pikachu's electric attack in this game (A button) causes one colour in the background to flash rapidly between yellow and red, in a manner reminiscent of the infamous Pokémon episode Dennō Senshi Porygon. The effect isn't too bad when viewed on a Game Boy, but especially in later stages it can appear quite intense when displayed at a larger size on a modern backlit screen. Therefore please use caution when playing this game if you are sensitive to flashing/strobe effects!

GBX: Pokemon - Mewtwo Strikes Back (Unl) [C] [GBX].zip
Raw: Pokemon - Mewtwo Strikes Back (Unl) [C] [Raw].zip

Digimon Pocket

Later, Makon revisited Mewtwo Strikes Back, as they so often did, rejigging it into a completely "new" game. So the stage order is changed and it's now about Digimon instead of Pokemon. But one actually useful addition they made here is a save feature! The game now automatically saves after every stage you clear, meaning you no longer have to complete the whole damn thing in one sitting. This makes reaching the ending a lot easier... except they took the ending out.

HEALTH WARNING!! Since this game is basically just Mewtwo Strikes Back, the same red/yellow flashing effect is present here too.

GBX: Digimon Pocket (Unl) [C] [GBX].zip
Raw: Digimon Pocket (Unl) [C] [Raw].zip

Digimon 2

Another Digimon platform game, but this time they came up with something entirely new instead of rehashing a previous game! Probably for the last time! This one adds a mechanic whereby you have to fill up your "MP" bar by collecting items before being allowed to complete the level.

Thanks to Robyn for dumping this one an extremely long time ago!

GBX: Digimon 2 (Unl) [C] [GBX].zip
Raw: Digimon 2 (Unl) [C] [Raw].zip

Shuma Baolong 02 4 (數碼暴龍02 4)

Another Digimon game based on the Digimon 2 engine; I think this one may add more levels, although I haven't played through the entire thing to check. This is the Chinese version, I have an English version in my possession too and will hopefully be releasing that soon.

Note that this one was already dumped quite a while ago, and is in GoodGBX - my new dump matches it 1:1 so you can consider this a verification rather than a completely new thing (since a lot of unlicensed dumps in GoodGBX are of pretty dubious provenance)

GBX: Shuma Baolong 02 4 (Unl) [C] [GBX].zip
Raw: Shuma Baolong 02 4 (Unl) [C] [Raw].zip

Harry Potter 3

That Digimon engine makes another appearance, but the hero this time is equally-popular bootleg target Harry Potter, in a game trying to pass itself off as a tie-in to Prisoner of Azkaban (the book, specifically).

Unfortunately... this one is broken. On the real cartridge as well as in emulation, it crashes halfway through level 1. It should be possible to hack the save file to access later levels, however.

GBX: Harry Potter 3 (Unl) [C] [GBX].zip
Raw: Harry Potter 3 (Unl) [C] [Raw].zip

Street Fighter Zero 4 / Jieba Tianwang 4 (街霸天王4)

Tired of platform games yet? Good, because here's something completely different. It's a fighting game, based on Street Fighter Zero/Alpha 3! It's also a mess!

I'm not entirely sure if this one is a "true" Makon production, since it seems to have more links to Sachen than their usual work; there are elements of Sachen GBC games here, most obviously the COMPLETELY out-of-place Jurassic Boy 2 theme on the title screen. But it was certainly published through the same routes as Makon's games.

GBX: Street Fighter Zero 4 (Jieba Tianwang 4) (Unl) [C] [GBX].zip
Raw: Street Fighter Zero 4 (Jieba Tianwang 4) (Unl) [C] [Raw].zip

Capcom vs SNK: Millennium Fight 2001

And finally! This is another fighting game, and another original release of a game I've previously dumped in Li Cheng-hacked form. Most notably, this version has a bunch of extra frames in the intro - which is interesting (to me) because they used a high-colour trick seldom used on the GBC, switching palettes on the fly as lines are drawn, to circumvent the system's usual palette restrictions.

And as a game... it's also kind of a mess, but at least it has, like, four voice samples now! It is pretty different to Street Fighter Zero 4, to their credit, they didn't just take the old game and slap new characters in it.

Thanks to Pepper9801 for lending this cart (also an extremely long time ago)!

GBX: Capcom vs SNK - Millennium Fight 2001 (Unl) [C] [GBX].zip
Raw: Capcom vs SNK - Millennium Fight 2001 (Unl) [C] [Raw].zip

And that's it! For now...


hhugboy v1.2.6 release!

posted by taizou @ 2018-03-11 12:15:39 hhugboy

This one's a bugfix release - it fixes a long-standing issue in the way RAM banking was implemented in MBC5 for games using 32KB RAM.

Specifically it affected Fengkuang Dafuweng (causing saves to become corrupted if you started a new game then reset before naming your character), as well as one of my upcoming releases.

get it here!


hhugboy v1.2.5 release!

posted by taizou @ 2018-03-05 01:08:57 hhugboy

hey I released a new version of this damn emulator again

Most importantly it now supports the GBX format! AND adds support for some terrible video games! as per usual, the ROMs that would take advantage of that support have not been released yet! but they will be!

get it here!!


GBX v1.0 is HERE

posted by taizou @ 2018-02-22 22:47:44 Other Stuff

The GBX ROM format v1.0 is now finalised!

The spec can be found here.

Thanks to everyone who gave feedback! Although v1.0 is final, any comments and suggestions for future versions are still welcome!

Now to the business of actually implementing emulator support, releasing ROMs in the format, making a tool to edit/add/remove GBX footers...



New Game Boy ROM format proposal(??!)

posted by taizou @ 2018-02-19 02:44:54 Other Stuff


Currently, the common format for Game Boy and Game Boy Color ROMs (usually given the .gb/.gbc file extension) is just a raw binary dump of the ROM data from the cartridge. Unlike the NES, where some extra data must be tacked on to tell an emulator crucial details such as which of the hundreds of different mappers is used by the game, Nintendo's requirements for Game Boy developers specified an internal ROM header that must be populated with this information. So that's fine right? Emulators can just read the internal header! Nintendo, unintentionally, solved the problem and made emulation easier for everyone! Right??


For, you see, the header being populated correctly is a Nintendo requirement, not a hardware one. A real Game Boy requires a few things to be correct - the header checksum, the Nintendo logo, GBC/SGB flags to enable enhancements for those systems - but doesn't care about things like cartridge type and ROM size. So if you're an unlicensed dev, you can put any old shit in there. You might even intentionally set incorrect values to fool copiers and emulators. And if your game uses some kind of custom unlicensed mapper or copy protection, it's probably not even possible to represent it within the specs of Nintendo's header format!

Until now, most Game Boy emulators have relied on heuristic auto-detection for these games, checking for certain signifiers present in the ROM that can somewhat-reliably identify a given type of non-standard cartridge. hhugboy also allows you to select a cartridge type manually, to run games that are not correctly auto-detected. So far, this has sort of been okay - hhugboy's auto-detection works correctly for the most part, with only a handful of dumps needing manual selection.

But the new unlicensed dumps just keep coming, and the heuristic approach is getting increasingly unwieldy. I've recently dumped a bunch of games from a Certain Developer, and while it's possible to reliably identify their games, I haven't found a way to distinguish between the ones that run on their publisher's custom mapper and the ones that don't, meaning at least one set of those would end up only working via manual selection. There are a bunch of other carts I haven't yet tackled that I foresee causing similar problems.

So what I've been thinking is: why not create a new Game Boy ROM format, allowing all this information to be specified outside of the internal header? Admittedly the use cases for such a format at this point are fairly niche, so it would have to be low-overhead, backwards-compatible if possible and unintrusive. But hopefully it would be a step towards making emulation of unlicensed Game Boy games (and a handful of licensed ones too!) a much nicer thing to deal with and much less of a mess of heuristics and hacked dumps.

Here's my proposal for the format, which I'm tentatively calling GBX. Any and all feedback would be greatly appreciated, just leave a comment below! Even if you just want to call me a big dumbass or something!

(UPDATED 21/02/2018 current version 0.3)

When it's finalised, the next version of hhugboy will support it, and I'll probably make some kind of tool to allow for conversion to and from the new format, hashing, editing and other such stuff.