11 March 2016 - Forum Rules

Main Menu

Tales of Phantasia SNES (Enhancement) (Slow WIP)

Started by justin3009, September 06, 2011, 07:33:56 PM

Previous topic - Next topic


These updates are really cool to see!

I've always had a soft spot for the SNES version of ToP, and while I've been keeping myself from getting too hyped on account of this being such an ambitious project which could thus take quite a while to release, I'm sure it will be worth the wait :thumbsup:


Been doing updates quite a bit but here's a damn good one that I finished up yesterday. I'm still cleaning up the item menu but I'm making great progress.

All item names are now prerendered graphics. This results in all item pointers essentially being null at this point. Item descriptions are broken slightly but that's because I need to reimport them with the new text table I have setup, otherwise they're just fine.

I've also made a pretty hefty change log essentially stating what I have done so far and gives an idea of what's been done. Things are progressing on this pretty steadily overall. I'm hoping I can get all the in-game menus done and get manual mode setup for each character properly before I slap out a demo. I want to get at least the basics of everything functioning so bug testing can happen but that's probably going to be awhile still.

Change Log
- Dialogue has been decompressed entirely and moved into a new location. New dictionary text has
   been added along with a DTE to compress text further, but not as much as the original. However,
   doing it this way allows for easy extraction and insertion.
- Menu font, menu sprites and battle general VRAM have been decompressed and are modifiable allowing
   easier access to rehandling specific graphics.
- The function that draws each menu has been completely scrapped along with their associated hardset
   tile map. A new routine has been implemented that allows any window size to be drawn on any
   layer including BG4.
- BG4's "Tales of Phantasia" logo has been removed from the menu due to the above change. This
   allows more text to be stored into VRAM.
- An 8x8 VWF routine has been implemented for drawing specific string instances.
   (IE: Character names, character titles, etc..)
- All PC RAM extending from $7E:6A91 to $7E:7091 has been shrunk down and remapped a bit.
   Each PC was originally #$0100 bytes. This has been radically reduced to #$00C0 as most
   of those bytes were unused on the overworld.
      * This now allows up to eight PCs to be in a party at once instead of five!
      * Only five were recruitable at a time, but this is being increased in this version
        to eight characters!
- With the above change in place, the 4 ACTIVE party members in battle will get their data stored to
   $7E:7C91 to $7E:8091 which will allow full usage of the #$0100 original bytes. At the end of
   battle, these bytes get copied back into the overworld at their now standard #$00C0.
      * This allows up to eight PCs properly and does not interfere with anything else!
- PC names can now be eight letters instead of the original hardcapped six letters.

- PC's 'Skill' learning code has been dramatically altered.
   * The original game did one byte per skill per character. This has been heavily changed to be
      eight skills per byte! This allows an extreme expansion on what each characters skill list
      can be and now also fully supports eight characters!

- SRAM has been heavily modified to allow more data to be saved properly.
   * Data has been shifted back by #$00A0 which allows an ENORMOUS expansion of saved data.
   * Eight characters are now supported statistically in SRAM.
   * Eight letter names are now supported in SRAM.
   * An interesting note: There were 27 unused bytes stored to SRAM on the original game. Not sure
     why this was the case but hey they can be used for whatever purpose now.
- All PC battle data has been entirely moved into a new location allowing for massive expansion.

- All PC graphics, sprite assembly and animation data has been shifted around and redone to allow
   for much needed expansion. The same goes for their respective weapons.
- The projectile and particle effect pointer table has been moved to allow for brand new data.

- Various portions of spells have been moved for expansion.
   * Spell table has been moved.
   * Spell TP cost table has been moved.
   * Spell cast timer table has been moved.
   * Spell menu icons table has been moved.
   * Spell type table has been moved. (Whether it will pause the game or not)
   * Spell element(?) table has been moved. (This is an odd one as the element is set in the spells
     themselves.. but there is a preset table possibly for other reasons.

- The entire SFX and voice table has been moved to allow for more voices to be imported.

- Voice length has been figured out so the ARAM tables will have to be revamped entirely.

- All voices will be using 11025khz consistently instead of varying qualities.

- Cless, Mint, Arche, Chester, and Klarth will all use PS1 or later game voices for higher quality.

- Brambard has been updated from NPC to PC. He was originally meant to be playable but was entirely
   scrapped. The only thing that remained were his 'Raise Dead' sprites and his tactics icon in
   battle. There are a few screenshots of him in battle scattered on the internet but that's it.
      * Brambard's voice actor will be Kenji Hamada! (Ronixis in Star Ocean: First Departure)
      * Brambard is still a heavy WIP, as such, his skill set is subject to change at any time.

- Rhea Scarlet has been updated from NPC to guest PC. She may have been meant to be playable due
   to her also having 'Raise Dead' sprites and a tactics icon.
      * She will play like Mint essentially being an on-ground spell caster. She can learn a few
        spells much like Arche could. However, once her segment of the story is completed Arche
        will overwrite her slot but WILL retain whatever stats and equipment you had on Rhea
        at the time.
      * Rhea will have no weapons equippable for her.
      * Rhea will use Arche's voice actress still but with completely different voices.

- Two more characters will be available but are going to be kept hidden for now as I'm not sure
   if I can feasibly get their events coded properly.

- PC stats upon joining the team has been completely rewritten from the ground up and allows for
   extreme customization for any stat, level, artes, etc.. to be setup.

- All PCs will be playable in this version instead of just Cless. As of right now, everyone
   functions quite well in auto, semi-auto and a full on manual mode too. Manual mode will be
   available from the get go.
      * Cless functions mostly on auto but he uses no techniques right now as PC AI has not
        been figured out entirely. What is known is that if any PC has a spell list set
        in battle, it will FORCEFULLY make them use spells even if they're not supposed to.

- All PCs will have a spell cast, run and spell release function.
   * Some characters will not use spell cast but it's there to be consistent across the board
     and will not crash the game if a character is forced to cast a spell.

- Chester will have his PS1 artes included in this version.
   * Ice Fang (Touga) and Hell Pyre (Guren) are implemented with variant voices.
   * Chester will also have a few new artes to add more variety.

- Many new sprites are introduced for all characters in battle for their new actions.

- All item names, arte names, PC names, titles, etc.. will now use an 8x8 VWF font to allow
   for much more text to be displayed on a screen. This will give the added benefit of full
   length names that aren't cut off due to space limitations.

- The Status menu has been updated with a few new displayed stats.
   * A new stat has been added into the game called "Intellect". Functionally, this will be the same
     as most standard JRPGs. It will be the base for all "Magic Attack" damage in-game but ALSO be
     the base for each PC's elemental resistance, aka "Magic Defense" in the Status Menu.
   * All resistances have had their coded updated in battle so it's a 1:1 percent based
     system instead of being a bit mask setting like the original.
         * Resistance elemental icons have been updated thanks to LJSTAR!
   * A new feature from Star Ocean where if you have more than one character in your party, it will
     display arrows on the sides of the character indicating you can go to another screen.

- Status portraits have been moved to a new location and recoded to allow for new portraits on
   any new character introduced into the game.

- The Options menu has been updated with new features and also condensed options.
   * New feature where you can now set the in-game music and SFX/Voice volume.
   * Event and Battle Voices have been condensed into one option called "Voices".
   * Combo Count has been removed and enabled by default for now.
   * Difficulty has been added with options for four difficulties.
      * The difficulties are: Easy, Normal, Hard and Mania
         * Only "Normal" and "Hard" function as they are the default difficulties.

- PCs will be swappable in the menu. Although, overworld sprites may not show this change yet.
   * The game is very hardcoded to show specific sprites and not the characters in their
     respective character slots. This makes things incredibly complicated to work with.

- Jet boots are no longer required for running on maps.

- LJSTAR for the elemental resist icons! His pixel art is gorgeous and his coding projects are fantastic!
   Follow him at:

- Mopoz for his basis for decompressed text!
'We have to find some way to incorporate the general civilians in the plot.'

'We'll kill off children in the Juuban district with an infection where they cough up blood and are found hanging themselves from cherry blossom trees.'


That's an insane update, it blows my mind what you are doing for this game. Hacking God. /bow

Ice Man

Just stumbled upon this and let me say this is beyond awesome. Very great work so far and I sure as well want to play it when it's done!


Just came in to say that this enchancement is amazing!


Been working on this very steadily over the past number of months even with everything going on. - Options menu complete. - Save/Load menu are complete. - Added in a brand new menu where you can swap PCs appropriately. - Inventory menu is complete. - Equipment menu is complete. - Artes menu is complete! Couple bugs to work out but otherwise it does work! - New shop menu layout and updates.

There have been significant updates to things even after all of these such as:
1. The game now reloads ALL tiles it needs when leaving the menu!
   * Downside to this is that it takes longer to leave the menu now, pretty much like most RPGs. Star Ocean, FF6, etc..
   * Upside is that I have MASSIVE amounts of VRAM room to play with in the menus!

2. Save/Load game menu has proper state displaying when pressing "Select".

3. Button sprites were updated in the menus.

4. Inventory Menu for item names was completely redone so now it's much smoother and way more in-line with the game.

5. All menu text that's not prerendered now uses the same dictionary compression and DTE as the in-game dialogue.
   * This cut down a TREMENDOUS amount of space consumption.
   * All VWF text, including item names, menu names, etc.. use these methods of compression.

6. A clone/expansion of the original sprite loading function in the game to allow new graphics!
   * This is being used currently for all menu buttons.
   * Will be used later for all PC graphics and item graphics so they can be expanded upon.

I still have a couple menus to complete and bug fix still for the main game but they are JUST about done, FINALLY. After that, it's fixing up the Battle Menus and then it's onto bug testing! I temporarily introduced two extra 'reserve' slots for PCs that needs to be seriously watched. This was done so all 8 PC slots could be used at any time.

Brambard may be struck down to being an NPC for awhile until I can figure out exactly how I'm going to include him properly and when I can have him officially join the party. Still haven't worked on event editing yet so this may even be too much to handle but we'll see what happens.

There's probably more to report here but I'm kind of scatterbrained currently. Otherwise, yeah, lots of updates, lots of progress, things are looking good.
'We have to find some way to incorporate the general civilians in the plot.'

'We'll kill off children in the Juuban district with an infection where they cough up blood and are found hanging themselves from cherry blossom trees.'


This is awesome. You know, I am holding myself to play this game auntil you release the patch. So many good things! Many thanks for your hard work!


Just saw some of the new posts on your Twitter and I gotta say it looks really great and I'm excited to play this. So glad one of my favorite JRPGs ever is getting such special enhancement treatment. The improved sound and voices are fantastic!


Haven't actively posted here in awhile but there's been a lot of updates and changes in the background and some other discussions on a couple servers for things.


  • All menus are done, as far as I know of. There may be some visual bugs I missed but otherwise every menu is essentially complete.

  • All playable characters I'm hoping for have been confirmed thus far but if they can make it in will be the question. There's definitely enough room in ROM to do it, but altering any event data to properly support them is painful. I do have all the event pointers found and modifiable, however, I have no proper way to recompress them. So I'd have to decompress any major events that display all characters which.. I clearly do not have enough room for this so we'll see where this goes.

  • Brambard is going to be cut back to either an NPC or a locked stat guest character, unfortunately. He was my main goal to make fully playable but actually incorporating him fully into the story would require massive amounts of story content editing, dialogue editing and what not. I do not have the ROM space to support this. What may be done though is I can just complete his entire move set and have like a built-in cheat engine thing to add him and the other possible characters into the party to play with. It wouldn't break any events or anything either since it'd be strictly battle at that point.

  • Every single voice in the game has been updated aside from Morrison's "If there is evil in this world" quote as there's no new recording of this, Martel's lines which I can update, but I'd need to find one that isn't Mint and a couple monster screeches. Otherwise, every single character's voice has been updated.

  • Voice ARAM setup has been updated for specific voice ranges instead of specified voices themselves. This makes it FAR easier to incorporate new voices and I've made it so up to about.. 3 seconds at most can play at a higher quality. But that's unnecessary at this point since they can be split up pretty easily.

  • All characters, I believe, should function pretty cleanly as PCs now. There's definitely some oddities I need to tweak up but they are overall incredibly solid to play as overall.

  • All artes/spells for characters have been altered from being character specific to now being in a universal table much like later games. So Cless no longer is the only one who can use "Demon Fang" per se. As long as a character has an animation, they can use it properly as well. This was necessary for the game to understand the difference between artes/spells in shortcut keys. Although this limits to 255 artes/spells at max, it makes it far easier to setup who has what.

  • Arte/spell names in battle have been updated to appear more stylish much like the GBA version. They also, hopefully, should cause less lag when drawing. The drawing process was split up between 6 frames so it'll always take 6 frames before the name is drawn. Splitting it up though should cause less lag overall in battle when names are drawn. However, I've included it in the "Options" menu to disable drawing arte/spell names and subtitles in general.

  • Battle subtitles are technically added. There's a lot more to be done here still but they do function and have their own font set from arte/spell names.

  • Klarth's Pact rings have been updated stat wise to somewhat resemble later games but have also been modified to some extent to be unique considering Chameleon is an SNES/GBA unique only summon. His ring adds in a very unique setup where Klarth gains 25% resistance to all non-elemental spells and 25% Status resistance. (IE: Poison, Petrified, Paralyzed, Stunned).

  • Fixed the "Tidal Axe" in the original game to be the PS1's variant where it's a Light elemental axe with the proper name. DeJap changed the name from the looks of it but the element was Water in the SNES version.. which was odd. Honestly, it could go either way.

  • Slight alteration to most menus that use VWF descriptions. I've added some new code that actually helps render things a lot quicker on the VWF side in the menu so overall the menus are MUCH faster than DeJap's in regard.

  • Some events have redone dialogue. Recruiting Rhea, obtaining Chameleon, defeating Demeter are the ones that come to mind. They're generally using the iOS translation for those lines now.

  • Fixed numerous amounts of bugs in and outside of battle.

  • "Demon Fang" has been updated to use a projectile instead of a spell. I have no idea why it was coded in both tables in the original but this has been remedied entirely to be purely a projectile.

  • All "Ougi" artes for Cless function and are FAARRRRR easier to customize than the original game's. The only one missing currently is the "Rising Phoenix" variants and "Rising Phoenix" itself. This one's a bit tricky to work with. Otherwise, with how things are coded, you can basically combine any and all artes relatively easily if someone was bored enough and wanted to have fun.

  • The ENTIRETY of "Victory" has been updated. It has been completely revamped to be more like Tales of Eternia and beyond. When the final enemy is defeated, it'll fade the screen quickly to white, preset all PC's X/Y coordinates and then go through a series of quick events displaying: EXP/Gald obtained, items obtained, level ups, spells/artes learned or mastered and then ending.

  • Chester has three artes in battle functioning although one of them is still a WIP. His are going to be a bit weird to work with especially with "Wild Rain" and "Gale Shot". Those will quickly eat up a ton of OAM room and I'm not really sure how I can handle that nicely.

There's probably some more updates here and there but I'm drawing a blank so here's just a list of my disorganized mess of thoughts. I've still got a lot of work to do unfortunately on this but overall a demo release should hopefully be possible. Playing up to getting Arche seems to work overall just fine right now minus a couple enemy hiccups. But that's due to the game's own coding and nothing of my own.
'We have to find some way to incorporate the general civilians in the plot.'

'We'll kill off children in the Juuban district with an infection where they cough up blood and are found hanging themselves from cherry blossom trees.'


Have you considered messing around with the encounter rates? They can get obnoxious in some places.


Yep, that's on my todo list to alter for damn sure. It is absolutely dreadful in a handful of areas.
'We have to find some way to incorporate the general civilians in the plot.'

'We'll kill off children in the Juuban district with an infection where they cough up blood and are found hanging themselves from cherry blossom trees.'


That is an extremely impressive list of updates, fantastic!

Regarding encounter rates, well the holy bottles are affordable and available quite early, so not that big of an issue in my book. Maybe increasing their duration though could be pretty handy  ::)


But shouldn't Cless be using his Techs to level them up?
Would fewer encounters create an issue with that?

Though I've only made a few serious efforts to finish ToP, and none have panned out yet. So I could be wrong.
"My watch says 30 chickens" Google, 2018


Quote from: KingMike on April 07, 2021, 11:56:29 PM
But shouldn't Cless be using his Techs to level them up?
Would fewer encounters create an issue with that?

Though I've only made a few serious efforts to finish ToP, and none have panned out yet. So I could be wrong.
The encounter rate is pretty standard JRPG but there are a few very specific locations where it's actually obscene. One of them is right at the start of the game after you leave Toltus and have to head north through a valley. The encounter rate there is ludicrously high.

Though, I'll have to wait for more opinions on it when I get around to releasing a demo or something, Cless in manual mode makes it far easier to increase your arte usage rate since you can use them when you want and not have to wait for him to run back to his original spot. There's also the removal of "ranges" making it easier as well.

Quote from: khalismur on April 07, 2021, 11:12:22 PM
That is an extremely impressive list of updates, fantastic!

Regarding encounter rates, well the holy bottles are affordable and available quite early, so not that big of an issue in my book. Maybe increasing their duration though could be pretty handy  ::)
Holy Bottles, unfortunately, set the steps to #$FF (255) when used which is the max.
'We have to find some way to incorporate the general civilians in the plot.'

'We'll kill off children in the Juuban district with an infection where they cough up blood and are found hanging themselves from cherry blossom trees.'

Ok Impala!

Been following this for some time and have to say that you've made some very impressive enhancements to an already good game. This will surely become the definitive edition of Tales of Phantasia!  :thumbsup:


Could you make it so that when a character levels up, the stat increasing ISN'T randomized?  Instead, it's always maximum?  I think the stats that are vulnerable to randomness are HP, Atk, Def, and Agi.  And the maximum stat gain per level are +5HP, +1 Atk (+2 for Cless and Chester), +1 Def, and +1 Agi (+2 for Cless and Chester).

Random stat up makes me save state, then fight the same battle over and over again until my character levels up in a way that stat I gain is maximized.  And I hate doing it, so I just stop playing the game.

Red Soul

I had no idea this was even a thing. Shining Force flashbacks with the bad level up rolls.


I always promise my self I won't follow justin3009 threads because he does mind blowing work and it's a pain to have to wait for the "finished" product, but I never listen...

But I hope this doesn't get ruined by to many "balance" changes like hmsong suggests, if you are going to re-balance everything, I hope that there are two patches.


No balance changes really so far. Most of Klarth's Pact Rings were slightly updated to be more like PS1 in resistances but otherwise the SNES stats are kept as they're far better overall. Right now it's just heavy focus on getting things in a functioning manner. There's a TON of bugs right now that a couple beta testers noted so I'm trying my best to get this fixed. I think within just the past few days I've fixed at least 15 of them and there's still another 25ish. Most don't break anything but a couple were extremely serious.
'We have to find some way to incorporate the general civilians in the plot.'

'We'll kill off children in the Juuban district with an infection where they cough up blood and are found hanging themselves from cherry blossom trees.'


This is probably the hack I'm the most patiently waiting for since I seen some comments in the old forums. I occasionally follow your Twitter account for the updates and I'm happy to see how, despite slow, this project keeps progressing and constantly having interesting changes. I'd love to help as betatester if you ever need, as ToP was the first unofficial translation I ever played many years ago and still one of my favorite RPGs ever and I'm really very very interested to play this. Congrats for all the hard work for so many years and good luck with the project :)