11 March 2016 - Forum Rules

Main Menu

Genesis ROM Hacking

Started by Retroagesz80, January 30, 2012, 09:01:03 AM

Previous topic - Next topic


Hi, I have been working on a translation of Tel Tel Stadium for the Genesis.

My question is this - is it possible to insert more text than what was originally there?

There are many places where the translation will not fit due to lack of space (number of bytes). Is it possible to insert more bytes without screwing up the ROM image. I have tried a couple things that I thought would work, but the ROM fails to play after. Can anyone help?

If it ain't broke, don't fix it.....


It depends. When you say you don't have enough space, do you mean "I'd like to fit in a string that's longer than the original," or "I know how to use pointers but I don't have enough space in the script block for everything"?
In the event of a firestorm, the salad bar will remain open.


What I mean is this, when translating from Japanese to English a line of in game text is shorter in Japanese than it English translation eg: Japanese was 3 characters and 3 bytes long, the translation was say 6 characters, 6 bytes long. So we end up with 3 bytes more, and no space to fit 6 bytes, only space for 3. Is there a workaround or anything else that can be done to insert the extra bytes? For now I have had to abbreviate words, which is fine for me, but when a new player wants to play with the translation, Im not sure they will understand some of these abbreviations.
If it ain't broke, don't fix it.....


It's called "pointer hacking".
A pointer is the data the game uses to find the ROM address of the string. If you change that, you can change where the string is (such as if you make one string shorter, you can make another longer. Or if there is free space, you can move the text there to make it longer).
For a Genesis ROM, you would just a hex search for the ROM address. (like if the text was at ROM address $123456, search the ROM for hex string "12 34 56")
"My watch says 30 chickens" Google, 2018