Hacking Emulation ROM Hack GBA Emulator Translation inserting text without crashing

q-tipper

Member
OP
Newcomer
Joined
Dec 27, 2022
Messages
8
Trophies
0
Age
32
XP
54
Country
Estonia
i want to add text without crashing, let me explain:
If, for example, I add a single letter to a text, adding 1 byte to the game, the game will no longer work, is there a way to avoid this?
 

Maeson

Well-Known Member
Member
Joined
Apr 3, 2013
Messages
1,193
Trophies
2
XP
3,461
Country
Spain
Of course the game will not longer work, by adding bytes of information you shift everything after those bytes, so when the code of the game looks for the exact part of a code or text, it is no longer there and reads the incorrect data.

If you want to change text, you have to either use the space already used by the text, or learn how the text routine work, locate free space on the rom and relocate the text there, changing the pointers that tell the game where it needs to look for each string of text.
 

Maeson

Well-Known Member
Member
Joined
Apr 3, 2013
Messages
1,193
Trophies
2
XP
3,461
Country
Spain
It's often long strings of "00", sometimes "FF". "Random" characters are game code.


You can check romhacking.net for tutorials and newbie information on this stuff.
 

FAST6191

Techromancer
Editorial Team
Joined
Nov 21, 2005
Messages
36,798
Trophies
3
XP
28,405
Country
United Kingdom
Hashes should not be a problem for the GBA.

As above you need to repoint. GBA pointers are typically within the ROM itself, which leads most to the shorthand of "pointers start with 08" as the GBA ROM is visible at 08000000 through 09FFFFFF (and a few other locations but I am going to be hard pressed to find an example of anything using those) and as most are 16 megs or less then only 08 gets touched. To that end most search for 08 and if you have a bunch of them with say 6 bytes between them (08??##%% where the blank is the location in the ROM, give or take some byte flipping, though 08 is a perfectly valid thing to find within the pointer itself so don't expect hard 6 byte gaps, and I have seen other things within pointer fields like formatting commands). Obviously everything uses pointers but text should be fairly obvious (if you know where the text is then the pointer will match, and most other things will be fairly fixed lengths where text might not be).

Most look for extra space at the end of the ROM (00 and FF being the usual filler, I have examples of games that use it as useful info but most of those come down to "skip 100 bytes and then start using that as blank space").
Bonus for the GBA is you can trivially expand a GBA ROM to 32 megabytes if you need to (literally just add space to the end of the ROM), though if you can keep it under 16 megs then that is considered good form for various flash cart users (very few will not be able to run the full 32 but it can be tedious vs 16).
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • Xdqwerty @ Xdqwerty:
    @BigOnYa, i dont use it
  • Xdqwerty @ Xdqwerty:
    i use the "center camera in object" action
  • Xdqwerty @ Xdqwerty:
    and i cant find that smart camera extension
  • BigOnYa @ BigOnYa:
    Sorry, its called Smooth Camera
    +1
  • S @ salazarcosplay:
    @BigOnYa we should have a meeting with other forum memebers and take shrooms
  • S @ salazarcosplay:
    i think you would be a great trip guider
  • BigOnYa @ BigOnYa:
    Nuh, I'd wonder off somewhere probably
  • BigOnYa @ BigOnYa:
    My wifey made some Sun tea yesterday, and cut up some peaches in let sit in there w the teabags, shit is Da bomb. Bout to try it with some peach vodka..
  • S @ salazarcosplay:
    @BigOnYa sounds wish we could see Randy on south park do that , drinking the peach vodka
  • Xdqwerty @ Xdqwerty:
    @salazarcosplay, im more of a casual south park fan, i dont watch it that often
  • BigOnYa @ BigOnYa:
    Its gluten free
  • K3Nv2 @ K3Nv2:
    lol it's too offensive
    +1
  • BigOnYa @ BigOnYa:
    Nuh not that good, not many alcohols taste good in tea. At least I haven't found any.
  • K3Nv2 @ K3Nv2:
    I tried that peach alcohol in cans tasted like crap
  • F @ foresthag:
    You could fermen(tea). That'd taste excellent. Or make you go blind, who is to say?
    +1
  • K3Nv2 @ K3Nv2:
    Twisted tea iirc
    +1
  • BigOnYa @ BigOnYa:
    Only one I liked was that mikes hard lemonade tea, but i couldn't drink it all day
  • Xdqwerty @ Xdqwerty:
    @K3Nv2, gonna make a jumping sprite
  • BigOnYa @ BigOnYa:
    You can add platform character behavior to any sprite, just disable the default controls for it, and make it jump/move in your code. The rectangle behavior is cool too for enemies.
  • Xdqwerty @ Xdqwerty:
    @BigOnYa, how is it cool?
  • Xdqwerty @ Xdqwerty:
    @BigOnYa, and i meant jumping sprite for the player
  • BigOnYa @ BigOnYa:
    It makes it move around constantly in different directions, like a enemy moving back n forth from one side to other
  • Xdqwerty @ Xdqwerty:
    @BigOnYa, and i dont think the rectangular movement behavior works for platform games
  • BigOnYa @ BigOnYa:
    Yea it does. And you can add platform character behavior to your own charcter, and it will have move and jump already setup for you, space bar is jump, arrows move
  • Xdqwerty @ Xdqwerty:
    @BigOnYa, i already added the platform character behaviour to the player since i started doing this
    +1
    Xdqwerty @ Xdqwerty: @BigOnYa, i already added the platform character behaviour to the player since i started doing this +1