News: 11 March 2016 - Forum Rules, Mobile Version
Current Moderators - DarkSol, KingMike, MathOnNapkins, Azkadellia

Author Topic: [GBA Graphics Hacking] Need help editing some stuff on Panel De Pon  (Read 415 times)

Kafke

  • Jr. Member
  • **
  • Posts: 31
    • View Profile
Hello :). Last time I posted here was about my Panel De Pon translation within Nintendo Puzzle Collection for gamecube. That's going pretty well (albeit slowly due to life problems), and I just managed to find the gba rom for the add-on game. So within Nintendo Puzzle Collection, there's a feature to have a gba game downloaded over the cord to your gba. I wanted to translate this (and perhaps extract it), so I went digging and found a file, ponagb2m_client.bin, which appears to just be a renamed gba rom. I took it and tried running it in a couple emulators. mGBA runs it perfectly, so that's what I've been using to debug. But interestingly vba doesn't run it. Any help with that mystery would be appreciated.

So the translation effort on this title has been going well. I've got a font table for it, and windhex32 displays the text perfectly. However, the pause menu is nowhere to be found. I'm guessing that it's likely an image being displayed.

Likewise, there's a few other images I need to edit: the title screen, a couple logos, the confirm and cancel buttons, etc.

Here's where I get stuck. I'm either an idiot when it comes to graphics hacking, or this game's graphics are harder to hack than I expected. Opening it up in Tile Molester and Tile Layer Pro seems to come up with nothing. Opening it with this tool (https://www.romhacking.net/utilities/529/) seems to work, and I can see the images, albeit they're unaligned and wrongly colored (and no amount of tweaking appears to fix that). Likewise, the extraction/importing doesn't seem to work properly, and I still can't find the pause menu!

Could I get some help with this?

Edit: I tried the rom through my supercard lite, but it failed to load, which is unfortunate. Any ideas on how to get this game working on accurate emulators and real hardware (without the dependency of the gc transfer)?
« Last Edit: September 21, 2017, 12:51:40 am by Kafke »

FAST6191

  • Hero Member
  • *****
  • Posts: 2142
    • View Profile
Re: [GBA Graphics Hacking] Need help editing some stuff on Panel De Pon
« Reply #1 on: September 21, 2017, 07:19:20 am »
The GBA supercards are awful as GBA flash carts so I would advise not going too much further with it -- the entire GBA supercard line, save for the rumble which had no memory at all, use inferior memory and thus most games get extensive speed patching and such. Get a proper flash cart (anything other than a supercard or one of the clones like the team cyclops one will be better) and try that if you want to go that path. Theoretically as multiboot should be all in RAM it should work but eh.
If you must then try running it through the header viewer of GBATA ( http://www.no-intro.org/tools.htm ) and maybe http://www.gameboy-advance.net/rom_tools/flash_advance_toolkit.htm to see if it gives you the option to fix it. Offhand I am not sure what the supercard does as far as soft and hard reset to launch and it might be something as simple as the header, said header might also fix the emulator issues.
It could be something like a GBA emulator will try to load it as a normal ROM (location 08000000-09FFFFFF + mirrors) in the memory where the multiboot game expects to find itself in the actual memory (the 02 or even 03 range) and that would quickly find itself coming unstuck.
Being memory based you could also build yourself a multiboot cable if you are really invested in this ( http://reinerziegler.de/GBA/gba.htm#Multiboot ). Depending upon what you are doing it might even be easier to do that than writing a GBA flash cart every time you want to test a new version out.
There is also the potential cowboy way of port a savestate and edit that (if it is all in memory it should all be there, hopefully nothing gets released after it is in VRAM or something) but I would say avoid that for now.

Other emulators. Multiboot games as they tend to be called can approach the world a bit differently. I am slightly surprised VBA did not work with it as we tend to find problems come not from inaccuracies but being overly harsh (improper headers and whatnot) and VBA tended not to do be that, though I don't know what VBA-m might have done. Did no$gba work with it? If it does then time for some tracing ( https://www.romhacking.net/documents/361/ , I know it is for the apparently non working VBA but the logic carries over to basically anything you want to debug on).


The utility you link is a decompression tool and given the multiboot games have a very limited amount of storage space (you kind of have to get it all in RAM after all, and still have enough to use with the game) that is not unexpected. It would also mean straight tile viewers are not likely to show much.
Colours are a palette thing so no worries there. Alignment I would have to see -- if it is just the usual jumble of tiles then so be it (figure out the map or work around it), if it is a more trapezoidal deformation then it might be a custom tile size.

Jorpho

  • Hero Member
  • *****
  • Posts: 3623
  • The cat screams with the voice of a man.
    • View Profile
Re: [GBA Graphics Hacking] Need help editing some stuff on Panel De Pon
« Reply #2 on: September 21, 2017, 08:28:48 am »
Wasn't there a version of Panel de Pon released for the GBA as part of Dr Mario and Panel de Pon (which was of course Dr Mario and Puzzle League outside of Japan)?  Perhaps it would be better to focus your efforts there first?
This depresses me. I feel like a goldfish right now...

Kafke

  • Jr. Member
  • **
  • Posts: 31
    • View Profile
Re: [GBA Graphics Hacking] Need help editing some stuff on Panel De Pon
« Reply #3 on: September 21, 2017, 06:51:39 pm »
Alright well some progress has been made and I've done some digging.

Other emulators. Multiboot games as they tend to be called can approach the world a bit differently. I am slightly surprised VBA did not work with it as we tend to find problems come not from inaccuracies but being overly harsh (improper headers and whatnot) and VBA tended not to do be that, though I don't know what VBA-m might have done. Did no$gba work with it? If it does then time for some tracing ( https://www.romhacking.net/documents/361/ , I know it is for the apparently non working VBA but the logic carries over to basically anything you want to debug on).

So it turns out that it is indeed a 'multiboot' rom, rather than a standalone gba rom. This is why vba didn't work out of the box. Once I renamed it to a .mb file, vba ran it fine. Likewise, that explains the issues with my flashcart. Once I threw it into a basic multi-rom loader, *that* gba rom ran fine on my supercard. It was just that it was a multiboot rom that was giving it issues.

So now I'm wondering how to go about wrapping it properly, without having a menu or w/e with only one game on it. The goal is to get it to be a standalone playable game in english. I'm not too interested in other convoluted hacks.

Wasn't there a version of Panel de Pon released for the GBA as part of Dr Mario and Panel de Pon (which was of course Dr Mario and Puzzle League outside of Japan)?  Perhaps it would be better to focus your efforts there first?

I was aware of the Dr Mario & Panel De Pon game for gba. And, in fact, wanted to do a restoration thing on it. Since the 'Panel De Pon' released is actually highly rebranded and has a few new options compared to the game I'm currently working on. What surprised me though, is I managed to extract a multiboot rom from it, which happens to be *identical* to the game I'm working on. It's just in english! All my translation efforts are done, fortunately. But I still need to edit the graphics to fix the title screen (it was changed to be puzzle league), and the logos throughout the game (all puzzle league).

Turns out that Dr Mario & Puzzle league has an option to send a multiboot rom over a link cable to another gba. That multiboot rom is the officially localized version, rather than just a direct copy of the puzzle league included on the cartridge.

On that end, I'm a bit lost on how to extract the puzzle league game itself (eliminating dr mario). Perhaps it'd just be a matter of patching the intro-sequence to skip the game select?

FAST6191

  • Hero Member
  • *****
  • Posts: 2142
    • View Profile
Re: [GBA Graphics Hacking] Need help editing some stuff on Panel De Pon
« Reply #4 on: September 22, 2017, 12:26:52 am »
Yeah patch the intro sequence out to boot directly to the game (if memory serves, I did used to like the Japanese version** with Dr Mario part of that bundle, it was also one of the ones to include the health and safety screen and a few patches were made for some of those which might be a place to start, if not the typical find the GBA binary routine will be a place to start*). GBA games don't have a file system so ditching games in these multi game affairs is not that easy, though I guess you could 0 out things if you were really concerned but it is way more effort than it is worth for me.

I don't know if the multigames are going to be one of the odd ones ( http://doc.kodewerx.org/hacking_gba.html#nonstandard ) but it is not impossible, on the other hand it might just be a compile and jump affair.

*there are nice versions with pictures, I even did a few elsewhere, but generally the first bytes in the ROM are an instruction, typically to jump to the end of the header. After that you have some I/O and then a jump/reference to somewhere in the 08?????? region. Said jump/reference is the binary proper in most cases (some intros and the exceptions linked above). You find where the jump to launch panel de pon is (possibly by debugging the selection menu) and add that and whatever setup it needs somewhere early in the sequence.

**no particular reason, just think it was the one I had.