tales of phantasia jp GBA mGBA cheat file generator

sleepingkirby

Member
OP
Newcomer
Joined
Apr 18, 2007
Messages
24
Trophies
0
XP
110
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,798
Trophies
3
XP
28,405
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
0
XP
110
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,798
Trophies
3
XP
28,405
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
0
XP
110
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,798
Trophies
3
XP
28,405
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
0
XP
110
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
0
XP
110
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,798
Trophies
3
XP
28,405
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
  • MysticStarlight @ MysticStarlight:
    usb expansion? I know the PS4 can do this
  • Xdqwerty @ Xdqwerty:
    @MysticStarlight, oh Yea I recall my PS3 can do that
  • Xdqwerty @ Xdqwerty:
    Modded ofc
  • Xdqwerty @ Xdqwerty:
    Speaking of my PS3 i havent downloaded any games yet bc my wifi is too slow
  • Xdqwerty @ Xdqwerty:
    and also because blackouts here are very common and that could damage the console
  • MysticStarlight @ MysticStarlight:
    Do you have a surge protector or an UPS?
  • BigOnYa @ BigOnYa:
    Yea but to play the next gen games, you must have those games on internal, or buy the official ssd expansion cards, which are expensive
  • Xdqwerty @ Xdqwerty:
    @MysticStarlight, dunno what each one of those are
  • Xdqwerty @ Xdqwerty:
    @MysticStarlight, my PS3 was already modded when my dad bought it for me and my brother
  • MysticStarlight @ MysticStarlight:
    A surge protector is a device that protects your electronics from fluctuations. I recommend having your console plugged into one of those
  • MysticStarlight @ MysticStarlight:
    An UPS is even better because it has an internal battery that keeps your system on even if the power goes out, but it's much more expensive obviously
  • Xdqwerty @ Xdqwerty:
    @MysticStarlight, oh i recall seeing one in some in the houses of some relatives, including my dad's apartment
  • Xdqwerty @ Xdqwerty:
    @MysticStarlight, although whatever device we plug into them stops getting power anyways lol
  • MysticStarlight @ MysticStarlight:
    that's weird
  • Xdqwerty @ Xdqwerty:
    @MysticStarlight, and oh i was talking about ups
  • Xdqwerty @ Xdqwerty:
    No not that one
  • Xdqwerty @ Xdqwerty:
    Surge protectors are what i was talking about
  • Xdqwerty @ Xdqwerty:
    Yea I got confused for a bit
  • BakerMan @ BakerMan:
    @Xdqwerty literally juan:
    +1
  • BigOnYa @ BigOnYa:
    On the series s/x you can use a external HD but any next gen games must be on your internal ssd, or you can buy a ssd expansion card, but pricey. Any xbone, 360, or og Xbox games can be played from external tho.
  • K3Nv2 @ K3Nv2:
    Series §€×
  • BigOnYa @ BigOnYa:
    Insert **** here
  • K3Nv2 @ K3Nv2:
    What a tiny memory card
  • BigOnYa @ BigOnYa:
    Rumble packs are important
  • K3Nv2 @ K3Nv2:
    Make sure it's fully charged
    K3Nv2 @ K3Nv2: Make sure it's fully charged