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

Author Topic: Final Fantasy Origins  (Read 484 times)


  • Jr. Member
  • **
  • Posts: 27
    • View Profile
Final Fantasy Origins
« on: May 29, 2020, 02:31:29 am »
Hi everyone. I'm not exactly new to this forum, I am new to hacking a game though. Final Fantasy origins has a proper translation and it's fine, but one thing I cannot get over is the fact that I cannot customize controls and have to use X to confirm and O to cancel, I actually like it the other way around.

My question is this, are there any tools or can someone point me in the general direction of how would I hack the game files in order to swap the function of those buttons? If I can even swap the button graphics of the games it'd be even better.

Thanks in advance to anyone that can help.


  • Hero Member
  • *****
  • Posts: 3013
    • View Profile
Re: Final Fantasy Origins
« Reply #1 on: May 29, 2020, 11:23:46 am »
There are some options for this game. Looking at the manual you might be out of luck for this one (it might have been the later games that allow a switch between the Japanese menu style and Western as most know the concept) but try and see.

Anyway various options.

Consoles have their controller/keyboard/whatever change some bits on a register usually every frame/vblank (more modern PC stuff makes a note of divorcing input from such things but I will skip that as for the purposes of most hacking it still works the same way). The PS1 is a bit fancier than some older systems in that it does packets rather than straight fiddling or parallel fun but still

A cheat, especially if your cheat device has some kind of boolean option, might be able to figure out where these packets land in memory and twiddle then around to press the other button. This might well be game wide so you also gain that.

The game itself will however read the value when it wants to do something. You would set a debugger to wait for anything that read it (or maybe was interrupted when it happened) and point it at the other value instead, repeating the process for the cancel.
"anything" however can mean dozens of different things that the button might be used for across the game. As it is just menus rather than working around say a dodgy button, weak emulation controls or something similar then OK.

This game does however apparently offer a measure of customisation so you can also look at that. The manual and a search make it seem as though it is only a few shortcuts on the L and R buttons that can have some macros and shortcuts added (always run might also be a problem but I will leave that). However if playing coder then rather than have a this and that and not this and then that button handler it might well be easier to just redefine the lot and restrict the customisation options (but not the underlying code) to just a few things. Find these in a cheat search (finding flags is annoying but doable) and then see if you can edit the blocked customisation before.
The third option would be if the game used a bunch of setting choices rather than full customisation (or gated one like noted there) then there might be some kind of definition pattern you can tweak rather than going at code level.

Changing the corresponding graphics could be done graphically (often easier but might be some fallout elsewhere), or might involve editing a script (the button icons can just as easily be options in text), and might be a combo of the two for something if the game treats a press X to continue prompt at scripting level and you don't want to edit a text scripting handler.

The crazy option is, as mentioned, that Japan tends to opt for the other way and have X be cancel. Backporting a script is not unheard of as a workaround to something theoretically a lot more basic to a well versed hacker.

I will also note if you are like this with one game you will probably be like it with more. At this point I do need to note you can open up the controller, cut some traces and with a few minutes soldering some wires (maybe a switch too) you can have it swap around at your will.