tales of phantasia jp GBA mGBA cheat file generator

sleepingkirby

Member
OP
Newcomer
Joined
Apr 18, 2007
Messages
24
Trophies
1
XP
120
Country
United States
Hi everyone.

My first thread here, please take it easy on me.
I like Tales of Phantasia. Like, a lot. And I have a lot of cheat codes for the GBA Japanese version (sadly, I lost a lot of my PSX codes due to a hard drive crash). And in order to preserve them, (and there's so much it doesn't make sense to make a static file of them), I've written a html page with plain javascript that will generate a mGBA cheat file. If there's a request for another format, I'll be glad to make a version (or a dropdown) for that as well. I know it's a bit of a folly to post this on an English site but I do want to preserve it somehow.

You can find it here:
https://github.com/sleepingkirby/top_gba_cheat_code-generater

EU version can be found here:
https://github.com/sleepingkirby/top_gba_cheat_code-generater/tree/EU

I might make one more update to this once I get my save game back into Thor. I know I found the cheat before to keep/have the common key.

Thank you.

タエルズオフファンタジア ゲームボーイアドバンス
 
Last edited by sleepingkirby,

FAST6191

Techromancer
Editorial Team
Joined
Nov 21, 2005
Messages
36,795
Trophies
5
XP
28,504
Country
United Kingdom
Always liked cheat generator things, especially when it makes sense for such huge numbers of variables.

As you say the Japanese version is probably not going to be hugely popular around here*, but at the same time the Japanese ROM hacking/cheat making/emulator/flash cart forums, sites and discussion boards seem to be a bit thin on the ground.

While normally this is an English only site if you wanted to put a few Japanese keywords so people there stand a better chance of finding this then go ahead.

*those looking into GBA Tales of Phantasia we normally suggest the European version and http://www.romhacking.net/hacks/130/ to sort the font as the NA version... it has a bit of mild competition on the GBA for worst of the bad handheld early 2000s translations but has little to fear on that front. I will leave it to others to debate the best of the GBA, SNES and PS1 (various translations http://www.romhacking.net/?page=tra...&title=tales+phantasia&author=&transsearch=Go ).
 

sleepingkirby

Member
OP
Newcomer
Joined
Apr 18, 2007
Messages
24
Trophies
1
XP
120
Country
United States
As you say the Japanese version is probably not going to be hugely popular around here*, but at the same time the Japanese ROM hacking/cheat making/emulator/flash cart forums, sites and discussion boards seem to be a bit thin on the ground.

While normally this is an English only site if you wanted to put a few Japanese keywords so people there stand a better chance of finding this then go ahead.
Thank you for advice. Agreed. It's not as important to me about popularity as it is getting the info out of my own laptop. This is a lot of data. The good thing about this is that the addressing offsets for this, it's NA or EU counterpart is that it's usually only off by a few bytes. I would rework this for the NA but, I can't bring myself past the opening movie where they removed the opening song. A little bit of a tangent, but I know from experience that the psx version of tales of phantasia has the same memory layout as the GBA version (not the same address range, of course, but the layout is the same). I actually used the PSX version as a base to find the GBA memory addresses.

I'll be more than happy to run through the EU version and make an EU version (with patch) if someone wants me to. That's one of the reasons why I wanted to get this info out. The addressing between versions are usually off by a few bytes (usually within 255 bytes). It wouldn't be that hard for me to this plain file through perl and translate the addressing from one offset to another.
 

FAST6191

Techromancer
Editorial Team
Joined
Nov 21, 2005
Messages
36,795
Trophies
5
XP
28,504
Country
United Kingdom
If it is a simple offset then great, though I would probably add a tick box/check box to add the amount in the javascript side of things rather than whole new table if it is going to be that. I am usually wary though at least going between Japanese and not as you then get 16 bit vs 8 bit encodings (but keeping same max length of text box) and while things usually end up in the same rough area then if you do have different 8-16 bit strings sprinkled in the middle it all makes a big mess for conversion. Save files being the biggest offenders but as saves by the GBA era tended to just be memory dumped into the save file at the end of the game/save point then... yeah.
 

sleepingkirby

Member
OP
Newcomer
Joined
Apr 18, 2007
Messages
24
Trophies
1
XP
120
Country
United States
If it is a simple offset then great, though I would probably add a tick box/check box to add the amount in the javascript side of things rather than whole new table if it is going to be that.
Noted. Let me rest a bit and then change that tomorrow. I know the page seems simple, but it was a good amount of work to get all the things like code validation, code entry tracking, address increments, etc. going and then make sure all the codes are correct. (I kept spreadsheet of almost all of these values. But since it was for my own personal use, I had to validate all the addresses.)
I am usually wary though at least going between Japanese and not as you then get 16 bit vs 8 bit encodings (but keeping same max length of text box) and while things usually end up in the same rough area then if you do have different 8-16 bit strings sprinkled in the middle it all makes a big mess for conversion. Save files being the biggest offenders but as saves by the GBA era tended to just be memory dumped into the save file at the end of the game/save point then... yeah.
It shouldn't be a problem in this case. The japanese characters in this case take just 8 bits (I actually had to map out those values.). But even if it is, I'm okay with doing the manual work/checking.
 

FAST6191

Techromancer
Editorial Team
Joined
Nov 21, 2005
Messages
36,795
Trophies
5
XP
28,504
Country
United Kingdom
Take all the time you want -- it is not like the game is going to suddenly change tomorrow with an update (watch Nintendo suddenly release a v1.1 for eshop tomorrow with some extra content a la the Mario one with ereader levels).

I did wonder if you would have had to go through and give it a token check. Hopefully it is just a matter of finding whichever version has the lowest address (granted javascript should be able to subtract) and adding a value to said base depending upon which box if selected.
 

sleepingkirby

Member
OP
Newcomer
Joined
Apr 18, 2007
Messages
24
Trophies
1
XP
120
Country
United States
Take all the time you want -- it is not like the game is going to suddenly change tomorrow with an update (watch Nintendo suddenly release a v1.1 for eshop tomorrow with some extra content a la the Mario one with ereader levels).
Sorry, programmer habit. Always set expectations and all that.
I did wonder if you would have had to go through and give it a token check. Hopefully it is just a matter of finding whichever version has the lowest address (granted javascript should be able to subtract) and adding a value to said base depending upon which box if selected.
So, by pure coincidence, my wife started playing TOP on PSX with me. And, for the most part, that's how I found the codes on the PSX version. The memory structure is mostly the same. The one difference so far is that them number amount for each item for the PSX version uses a full 2 bytes instead of half a byte. Which isn't too surprising as it's pretty obvious that the gba version is closer to the SNES version than the PSX.

Also, updated the code to allow to set the amount of item to set. I'll run through the EU version and modify it for that.

Also, I'm wondering if I should make this into something that anyone with basic HTML knowledge can use.
 

sleepingkirby

Member
OP
Newcomer
Joined
Apr 18, 2007
Messages
24
Trophies
1
XP
120
Country
United States
I just went through the EU version of the game to check the codes. First off, wow is the localized version hot garbage. I don't think I've ever felt that a game has ever been ruined that badly by a localization. Graphics being cheapened down, some tile memory straight up missing, can't change the character name. What's worst, looking at the tiles, they kept the original english alphabet tiles and the replaced hiragana and katana with the english alphabet... again... Not lower case, just upper case again...

Nevertheless, here's the EU version of the cheat file generator:
https://github.com/sleepingkirby/top_gba_cheat_code-generater/tree/EU
all the codes turned out to be exactly the same with the exception of battle codes and name codes because they expanded the amount of characters to accommodate that it requires more characters to spell out the english versions of the character's name. That also results in some stat codes being pushed back. But not skill codes or inventory or anything else.

With that being said, I'll come back and fix the name code and the stat codes later because I'll have to get a list of the ID's to tiles. The battle codes have already been fixed.
 

FAST6191

Techromancer
Editorial Team
Joined
Nov 21, 2005
Messages
36,795
Trophies
5
XP
28,504
Country
United Kingdom
I did mention the font tweak above for the EU version, however if you think that is bad... I imagine I will hear the "gah" from here if you look into the NA effort for the GBA effort.
Probably more the NA effort but for those playing along at home https://tcrf.net/Tales_of_Phantasia_(Game_Boy_Advance) (has things for other versions as well)

Text encoding strikes again it seems. If you are still contemplating some kind of click this to change region aka add something to the offset then you could split things up into separate windows/tables/arrays as dictated by text positions but too much of that and it is going to start being a mess where separate things could get it done.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
  • BigOnYa @ BigOnYa:
    Is that a 7950 FX gpu u have? It says it is Vulcan capable. 7800/7900 series both are capable.
  • K3Nv2 @ K3Nv2:
    Pretty sure it's a GIGABYTE GV R795WF3 3GD Radeon HD 7950 3GB 384-bit
    +1
  • K3Nv2 @ K3Nv2:
    I'm hoping the wasps and spiders haven't mated on it
  • BigOnYa @ BigOnYa:
    Should be fine, blow it real good....(not with mouth) and can even take apart and rubbing alcohol clean.
  • K3Nv2 @ K3Nv2:
    For a nas system and emulation 6c should be plenty
  • K3Nv2 @ K3Nv2:
    My movie app updated I,robot for a second I was like did they really remake it
  • BigOnYa @ BigOnYa:
    Why not just use your new main pc, and just get a 50 foot HDMI cable to your TV.
  • K3Nv2 @ K3Nv2:
    Not all of us like long cords up our arse
    +1
  • K3Nv2 @ K3Nv2:
    And I like getting use out of hardware I own or it just becomes dust
    +1
  • BigOnYa @ BigOnYa:
    Not like you have a woman in house to bitch bout the cords. That's true, may as well use what you have.
  • K3Nv2 @ K3Nv2:
    Be a man and use your cord on her
  • K3Nv2 @ K3Nv2:
    Might think about getting a storage unit brand new one opened 5×5 for like $15 a month
  • BigOnYa @ BigOnYa:
    Where you gonna shower tho?
  • K3Nv2 @ K3Nv2:
    Your wife said I could shower with her
    +1
  • K3Nv2 @ K3Nv2:
    Ribs actually turned out decent bit confused everyone said 200F is internal temp but fell off bone anyway at 165
    +1
  • BigOnYa @ BigOnYa:
    I usually just cook ribs till they start to fall off, I don't measure temp.
  • K3Nv2 @ K3Nv2:
    Diarrhea already Have it
  • FluffyLunamoth @ FluffyLunamoth:
    Haven't been back in a long while, whatever happened to the for sale forum?
  • BigOnYa @ BigOnYa:
    They sold it off. Just kidding. https://gbatemp.net/forums/trading-area.160/
  • FluffyLunamoth @ FluffyLunamoth:
    Oh thanks. Now to find it for myself, weird that I missed it...
  • FluffyLunamoth @ FluffyLunamoth:
    Oh I'm dumb lmao
  • SylverReZ @ SylverReZ:
    It's the trading forum, you need about 100 posts for that.
  • K3Nv2 @ K3Nv2:
    That's your man
    +2
    K3Nv2 @ K3Nv2: That's your man +2