A Closer Look at Hacking

16 years ago by Mato

Last few days has been a flurry of hacking work, but most of it is stuff that isn’t really visibly noticeable. When we combined our work with harmony’s work, a bunch of stuff needed tweaking so it would all work in harmony (ouch @ unintended pun). And one law of ROM hacking might be that fixing one thing can break a handful of other things, so I worked the last couple days getting things fixed and looking nice again. Still got lots more to do, but before long things will be looking even better than before, so I’m excited.

These pics here aren’t anything special to most people and look pretty buggy and possibly like a step backwards in some cases, but trust me, they’re indeed very good from a dev standpoint.


  • The music player code is helpful.
    Many routines share code with it.

  • Unexpected (and currently ugly),
    but it works!

  • This menu uses some shared code

  • (Don’t mind the names,
    they’re still in 16-bit format)

The game was developed by multiple teams within the same company, so there are lots of different routines that need to be hacked. And they’re all intertwined in a weird, ugly mess, so to hack them up, we just gotta tackle one routine at a time. Luckily, sometimes routines are shared by other parts of the game, as I showed way back in the menu update.

Anyway, while the super crashy problems are still there, the other hacking is still coming along nicely. Never mind the graphical glitches and missing hooks here, they’re to be expected right now, but will be fixed.


Also, thanks to shared routines, got the music player stuff working nice with the latest and more accurate translations ๐Ÿ˜€

While I’m discussing hacking, I thought I might show some stuff from the actual hacking side of things. It’s a really complicated and aggravating process. But it can be fun too.

Every hacker has his or her own preferred set of tools, here are a bunch of mine for this project. I did try to register no$gba a while back but no response at all from the author guy ๐Ÿ™ no$gba would make things MUCH easier too, blah.

Here are a bunch of pics of hacking tools and hack-related stuff. Staring at this stuff all day will make you start to think like a microprocessor ๐Ÿ˜›


  • VBA’s disassembler is kind of useful

  • Some new assembly code
    to reprogram the game

  • VBA-SDLH is useful, but still unwieldy

  • Part of our organizational tool

  • Some C code to create new data files

  • A hex editor. Very important.

That doesn’t include huge 16 MB trace logs that byuu and others have tried to go through to figure out those crashing bugs. Hacking is tough ๐Ÿ™

Anyway, as things progress and things look better and better, you can be sure I’ll post more pics and stuff here. Aside from those deadly crash bugs (which make no sense but we’ll figure out eventually), everything else is coming along well ๐Ÿ™‚

Posted on Saturday, November 17th, 2007 at 12:58 pm by Mato, filed under Uncategorized. You can follow any responses to this entry through the RSS 2.0 feed. Comments and pings are currently closed.

54 Responses to “A Closer Look at Hacking”

  1. Nin10dude said 16 years ago:

    Mindnumbingly confusing stuff for someone not in the loop with ROM hacking, though I guess it’s nice to get a little peak behind the scenes. ๐Ÿ˜› Keep up with the awesome work.

  2. Moulinoski said 16 years ago:

    Progress is progress! …even if it is “backwards”. XD

    If you say you’re getting more stuff done, then we’ll believe you- you’re the hacker, we’re the bunch here salivating! YOU should know how much progress has been done! n_n

  3. EarthboundFanatic said 16 years ago:

    Keep up the good work! We all appreciate it.

  4. Steve said 16 years ago:

    What are you guys using to insert all hacks into the ROM? I assume that you’re adding the changes via a script to a clean ROM every time.

    I really hope you can get the no$gba license. From what I heard, there is no better.

  5. Mato said 16 years ago:

    Steve: Yeah, that’s what that command.txt thing is, it builds the latest version from a fresh ROM.

    It’s funny, cause right after I posted this, I managed to modify another routine to fix some more stuff, stuff that I showed here ๐Ÿ˜›

  6. diablow said 16 years ago:

    Hey, maybe someone would like to contact no$gba author and maybe even buy the debugger version of no$gba for the team? We could gather a buck or two from everyone at community for a good cause ๐Ÿ˜‰

  7. Malokero said 16 years ago:

    this is going to be great!
    ๐Ÿ˜›

  8. Mato said 16 years ago:

    diablow: A bunch of people on the team already have it, just not me ๐Ÿ˜ But I don’t wanna steal the guy’s hard work, so I’m hoping he’ll finally send me the stuff I need.

    I don’t want any money involved with this project, donations or otherwise. Money makes things icky, and makes it seem much more illegal in companies’ eyes probably.

  9. A Fan said 16 years ago:

    I suppose it’s quite unlikely, but I was looking at the no$gba site and did notice that he apparently has troubles sending email to Hotmail accounts: http://nocash.emubase.de/hotmail.htm

    That couldn’t possibly be the problem, could it? Or even some similar issue with spam filters (maybe his mail server is on an RBL for some reason?).

    Just speculation, but you know that there are lots of us out here who want to do anything we can to help ๐Ÿ™‚

    Hope you get your registered version ASAP!

  10. Mato said 16 years ago:

    Nah I use gmail’s mail server, and I check the spam filter regularly just in case he replies and it gets sent there. No luck though.

  11. A Fan said 16 years ago:

    It’s worse than I thought… he says he uses his own self-written mail program no$msg. All sorts of anti-spam things like greylisting could hose that, depending on exactly how he wrote the program. Given that a lot of spam filtering nowadays depends on finding RFC non-compliance and punishing it, well, I might register on their forum and send a private message or whatever to see what’s up.

    Especially if he’s using something like his own self-written mailer, I have to feel like he has registrations automated somehow, so that makes me feel like a delay indicates that something isn’t working correctly.

  12. G.Wicks said 16 years ago:

    I wish I had a brain for programming. I’d hack all day like Paul Bunyan.

  13. Vaan said 16 years ago:

    You guys are awesome! I can’t wait for the finished patch.

  14. TheReaper said 16 years ago:

    Good to hear that you guys have been hacking,also I hope that you get a response from the author of no$gba emulator and thanks for showing us pictures of hacking tools and hack related stuff.

  15. Crazed Hippie said 16 years ago:

    Your team is totally rad! keep up the good work.

    and good luck!

  16. XOB said 16 years ago:

    Let the force be with you all! ^^

  17. Coconut of Enlightenment said 16 years ago:

    This is all stuff that I’m just barely learning as a CS major. I can decipher some of it just by looking at the code. I doubt i’d be much help, though. Still, I bet it’s a great exercise in hacking technique. By the time this project is done, you’ll be able to hack anything.

  18. Dr. Meat said 16 years ago:

    Seeing screenshots of those hacking programs really makes me appreciate the work you guys are doing for us poor souls who can’t understand Japanese (and, presumably, have no intention of trying to).

  19. Dee said 16 years ago:

    this will not get out before 2009 right?

  20. mushroom omlet said 16 years ago:

    A flurry is always a good thing, especially with both crushed Oreos and M&M

  21. tibbs said 16 years ago:

    OMG!
    The ROM with the menu patch works top notch on my DS flashcard!

    That’s really great, good luck to you guys!

  22. Gman said 16 years ago:

    Interestingly, Mother 2/Earthbound is said to be unusually neat and organized on a programming level. Probably because they scrapped everything and started over from scratch halfway through production, then finished the final version in a single year. Mother has a tradition of being scrapped and started from scratch… Oh great, I bet I just jinxed the translation : (

  23. mushroom omlet said 16 years ago:

    ^a differint company “brownie factory” I belive actually made this game where Nintendo made the outher 2

  24. mushroom omlet said 16 years ago:

    mistake
    the name of the company is Brownie Brown

  25. EliotAndrews said 16 years ago:

    Wow, the whole process is quite messy-looking. Nevertheless, I have faith – You guys have the knowledge and skills. Keep it up!

  26. Ness said 16 years ago:

    This obviously looks hard….
    And i think i speeak for when i just want to say thanx
    I know im not first to thank you but i still want to thanx you
    I hope the project is finished soon…

    thanx

  27. eriote said 16 years ago:

    Thank you!

    Muchas gracias por el trabajo que estรกis haciendo!!! รnimo!!!

  28. Silver Streak said 16 years ago:

    Wow, the shared routines thing sounds about as messy as dependencies in Linux. ๐Ÿ˜ฎ

  29. Asakura said 16 years ago:

    omfg 16mbs of logs man O.o that is a little amount of text

  30. Adam said 16 years ago:

    I can’t believe you guys know how to do stuff like this. It sure is insane. You guys are doing great!

  31. Moulinoski said 16 years ago:

    Tibbs said “OMG!
    The ROM with the menu patch works top notch on my DS flashcard!

    Thatโ€™s really great, good luck to you guys!”

    How did you get Mother 3 to run on a DS flashcard?! O_o I can only imagine you meant GBA instead of DS.

    …I kinda wish I had a GBA flashcart… =_= Then I wouldn’t have to play Mother 3 on my PSP…

  32. Hunter said 16 years ago:

    there’s a new channel on the wii called check mii out, you can posty your miis online. we should make as many mother series characters as we can and post them. i’ve already seen some as well as created some. they even have contests and stuff

  33. 7ucky said 16 years ago:

    Hey Mato,

    I was just wondering (since I don’t know much about hacking), do you think you guys would/could ever get to the point where you’ve figured out EVERYthing but one or two of those major crash bugs?

    Like I said, just curious about the process. Thanks for the update!

  34. Mato said 16 years ago:

    7ucky: Yeah, that’s probably what’s going to wind up happening. Though I *think* some of those evil menu crash bugs might wind up being fixed when we fix some other stuff soon.

  35. mushroom omlet said 16 years ago:

    @Moulinoski

    there are slot 2 devises witch work in both DS and gba mode these devises are considered a bit out of date for DS mode though

    the frount runers are supercard and M3, the supercard is cheaper but its RAM is a little too slow for gba mode (not used in DS mode) but should be fine for an RPG, with games with a lot of sprites on the screen at the same time it tends to get slowed way down. Where are M3’s RAM can handle all gba games

  36. tcichosz said 16 years ago:

    You know… you could DL the full version of no$gba somewhere. If it really would help you guys that much, then it’s probably justified. Pay him later if he needs it. I’ve seen it around places. But, you know, I didn’t say that.

  37. hunter said 16 years ago:

    yeah, if this guy wants your money, he should email you back. don’t let this stand in your way. download it somewhere and then register later. seems like quite a silly roadblock

  38. Ivan said 16 years ago:

    You know, I wanted to commend you on the desire not to see money enter the program. It hurts people, and I think the point of Earthbound is to incite joy; we all know you will be able to do everything you need, and we know that when you get it done, it will get done! ๐Ÿ˜€ Please continue to try hard, as always we believe in you!

  39. tibbs said 16 years ago:

    @Moulinoski

    No, I meant DS ๐Ÿ™‚

    I have an EZ Flash 5 – 3 in 1 for both GBA and DS games. Slot1 > DS flash card. Slot2 > Added ram for GBA and rumble pack. Both (DS and GBA games) work great!

    (Can’t wait for Mother 3 in English ^^)

  40. wtfitsed said 16 years ago:

    haha these posts make me so happy

  41. Jerry "The King" Lawler said 16 years ago:

    Creepy

  42. Moulinoski said 16 years ago:

    Oh. I didn’t know there were those types of flashcarts. ๐Ÿ˜› I’ve seen just the M3 Simply… which is Slot 1 only. I only got it to play my old Gameboy games (since the DS can’t run GB/C cartridges). I wish I had gotten that EZ Flash thing. ๐Ÿ˜› Sounds spiffy…

  43. mushroom omlet said 16 years ago:

    if you want gba just get you a cheap 5

  44. mushroom omlet said 16 years ago:

    I was not intending on finishing that post but sence it somehow ended up posted Iwas going to say if you want gba just get yourselfone of the cheap old gba flashcarts

  45. Moulinoski said 16 years ago:

    Well, I’m kinda paranoid on the whole flashcart thing now because of the raids (Divineo, although I would have never guess the owner was a criminal…). I’ll look around, then, and see what I find. ๐Ÿ˜› How cheap is cheap, though? ๐Ÿ˜›

    (I’m currently playing Mother 3 on my PSP, which does have a bigger screen… But the sound comes out kinda bad-ish in general. Its still listen-able, though. The one thing that gripes at me when playing it on my PSP is the PSP’s buttons… The D-pad is eck, the analog is eck, and no matter what you press: CLICK!!! and a thousand cats die. ;_;)

    Aaaand I bet there’ll be an update from Tomato by Friday. >:D

  46. Nturtle said 16 years ago:

    This Thanksgiving I am thankful for the M3 translation project. ๐Ÿ™‚

  47. mushroom omlet said 16 years ago:

    btw, I have been meaning to say this sooner but even though the FAQ here says outherwise it is possiple to replace the ROM in the orginal mother3 cartrige with a prom.eprom, eeprom or flashrom and have it work

    doing so requires you to be experienced with soldering/ desoldering to the point you can do delicate soldering on small close togther pins by hand, natually you need an eeprom programmer also
    I know how to do this

  48. mushroom omlet said 16 years ago:

    ^ I do not know why I dont finish my thought in one post

    the hardest part of the prosess is adjusting the mask rom to match the pinout of a regular one

  49. mushroom omlet said 16 years ago:

    ^ I do not know why I dont finish my thought in one post

    the hardest part of the prosess is adjusting the mask rom to match the pinout of a regular one just like the old nes ones
    the mask rom is just a mask rom and unlike some people seem to thing is contains no glue logic

  50. Mato said 16 years ago:

    Is it harder than typing a response in an internet blog? ๐Ÿ˜‰

    The FAQ still stands, that’s not replacing the original data, that’s bypassing it.

  51. mushroom omlet said 16 years ago:

    I have a sticky enter button and english is not my first language

  52. Moulinoski said 16 years ago:

    @mushroom omlet: It kinda shows, but just doing the effort to write in English makes you praiseworthy! Hoorah! *Shoves you some beer… and my own, too, since I don’t drink*

  53. Taylor said 16 years ago:

    I am going to donate a pile of money to you guys when this is done. A small pile, but a pile nonetheless.

    Playing through EB on Thanksgiving Day!

  54. Hiro0015 said 16 years ago:

    Holy crap, I can actually tell the basics of your assembly language Oo… AAAAH damned Electrical Engineering…