11 March 2016 - Forum Rules

Main Menu

Any reason to NOT relocate text?

Started by Seihen, March 18, 2016, 08:36:58 PM

Previous topic - Next topic


So, to make a long story short, I'm working on a translation of "Chocobo Land – A Game of Dice" for the GBA. I've made a table file, figured out what some (most?) of the control codes do, located the pointers, and even dumped the script. Now, before I get to work on translating and going through the hassle of re-calculating pointers, I just wanted to ask:

If you have a large amount of empty space in the rom (which this game does), is there any compelling reason to NOT relocate the entire script and have the pointers point to the end, rather than deal with trying to squeeze in the script in between all the data? I mean, I suppose you could point to future compatibility with other hacks (if another person ALSO used that empty space, then it'd be completely incompatible), but to be honest, that seems really unlikely here considering how little interest there is in the game.

Before I move much further, I want to make a custom program to edit the script, so I figured I'd ask here before I made any decisions on how to deal with re-inserting and re-pointing!


Aaaaand, a progress shot, just to show that script re-insertion is working:


For the GBA? One kind of reason but mostly no. I should also note expansion of a GBA ROM amounts to put some some space at the end of it -- the full 32 megs that the GBA can address on a cart is available to every cart without qualification, there are no banks, no memory controllers and no mappers (and no max size/end of ROM note either like the DS has for some things). for the exceptions, two video titles.

The kind of reason.
If you have a 16 meg title and are thinking about going to 32 then the more common flash carts available (the EZ4 and EZ 3 in 1) only have 128Mbit (16 megabytes for those playing along at home) of RAM and at least 256 Mbit of NOR. NOR is slow to write and fiddly so if you do not have to go into the 32 meg range (the 09000000-09FFFFFF pointer section in the most common cart memory location/mirror) then flash cart users will thank you for it. If you do then expand away.
Way back there were also flash carts with more limited memory (1024Mbit was god tier and 256 or 512 was far more normal) and if you stuck your hack at the end of the ROM and that would prevent trimming from happening, you get a couple of megs off multiple ROMs and you have enough space for another ROM on your cart. Various scene groups did that for trainers and intros at times and got moaned at for it (with predictable results).

Future hacks? Forget about it. If one exists (a lot of the final fantasy GBA ports have hacks designed to work together/not interfere with each other) then that is up to you how you play it, if none exist then it is up to the next hackers to work out what they want to do. If you have looked at something those involved with Mother 3 might have written then that is probably the most jam packed of any GBA ROM worth hacking -- the other 256Mbit titles have plenty of space in them, or they are collections (why would you hack a collection when they invariably add nothing as far as bugfixes) or video titles. In this case you have a 64 Mbit title so even if you left it at that and used all the extra space then some would be future hacker has 24 megabytes/192Mbit to play with, plus whatever they wanted to claw back from the presumably redundant original script section.

Short version. If it makes your life easier then go for it.


Thanks! This is just the answer I was looking for. Frankly, it looks like it'll just be a whole lot easier to relocate rather than bother with all the calculating hassle, especially considering that the rom is nowhere near the full 8mb as-is. The only issue I'm facing now is this god-forsaken full-width font. At the very least, a half-width would be nice, though VWF would be the best choice.

Not sure I'm qualified for that at this point, unfortunately. Guess the script work comes first!


Some cartmod sellers producing repro carts by butchering existing SNES games were moaning at romhacking project topics when the person doing the actual romhacking job would expand the ROM and thus make their lives harder. One of the major reasons why those retranslation projects for FF6/CT (expanded to ExHiRom) get so much hate online. IMHO, screw them.

That's more or less what the bogus "compatibility" concern means. Other hacks should still work on the original ROM portions pre-expansion. No reason to refrain from expanding the ROM whenever needed and possible, and put text/graphics there instead of worrying about stuff crammed together overflowing. It makes life easier.


Use relocation as much as you can, it's not like it makes that much of a difference. Use all the extra space to add new code and data, don't think too much about future patches. If your translation is well made, I'm sure hackers will try and cooperate with any expansion strategies and work around them.