Author Topic: (PSX) Final Fantasy 7 PAL -Damage Break-  (Read 7775 times)

SymphoniC

  • *
  • Posts: 46
  • Mind hack.
    • View Profile
(PSX) Final Fantasy 7 PAL -Damage Break-
« on: 2011-07-24 23:11:02 »
       Before I get started with the main question, I'd like to start with a hello to everyone here at Qhimm. I'm new here but also I'm an experienced moderator and hacker at http://www.lan.st, which is a console hacking forum (many breakthroughs in PSP hacking have happened there). I must say... it's quite impressive that the PSX version of Final Fantasy 7 is actually hackable to the extent that it is and since I enjoy mods and modding and Final Fantasy ;-) , I'd like to help you all out around here with FF hacking in general and inform you that I'm familiar with several programming languages, hex editting, etc. So yes you can throw technical details my way and I can actually understand you. Introduction out of the way, let's get started immediately.
 
       I'd like to bring damage and HP break to all regions of FF7 psx. Those of you who are familiar with ARMs PSX Damage Break patch for FF7 may notice that this patch causes a crash at the start of battle in other region versions of this game. I've tested this on FF7 PAL region code SCES-00867 and can confirm that ARMs patch is unfortunately non effective for this copy of FF7. It may or may not work for other regions, I suspect that it works in NTSC-J copies, but I can't test that. Anyways, the problem probably lies in the way that these versions of the game are coded, we all know that there are resolution differences between NTSC and PAL. Afaik, the coding that influences how much damage is possible can be found in files "Batini.X" and/or "Battle.X" within the "Battle" folder, I suspect that control over max HP may be found there as well. So I suppose before I get too ahead of myself I'm going to ask... do we have any documentation on those files with this region? If not, and if no one around here knows anything about what's in those files then maybe someone can point out to me the best resources to use to debug/reverse those files and make the proper modifications because modifying PSX games is definitely a whole new creature for me. But like I said before if anyone knows anything about these files that is useful then by all means pitch in and I'll gladly get started on making a patch/es for this and other regions of FF7 so that everyone can enjoy the benefits of this modification. Thank you!
 
PS - I assume that we use PSX assembly to make these kinds of mods. I have everything I need to do it, so while I await replies I'm going to get started, again... anyone with ideas or info that will help, let me know!
« Last Edit: 2011-07-25 01:01:20 by SymphoniC »

xLostWingx

  • *
  • Posts: 801
  • No Comment
    • View Profile
    • FFVII Lost Wing Mod/Hacks
Re: (PSX) Final Fantasy 7 PAL -Damage Break-
« Reply #1 on: 2011-07-25 01:41:48 »
Welcome to the forums.  While I cannot help you with that particular area, I am certain that you will be hearing from at least a few members shortly.  If you have not already checked the wiki, it may include some of the information you are looking for http://wiki.qhimm.com/FF7

SymphoniC

  • *
  • Posts: 46
  • Mind hack.
    • View Profile
Re: (PSX) Final Fantasy 7 PAL -Damage Break-
« Reply #2 on: 2011-07-25 06:30:21 »
Thank you for the reply. I'll certainly take a look. I've also come up with another interesting idea which is entirely out of topic for this particular thread, but would make for an interesting discussion. I'll post it later. Any other members that would be of any help in this area, your input will be greatly appreciated.

syntax error

  • *
  • Posts: 147
    • View Profile
Re: (PSX) Final Fantasy 7 PAL -Damage Break-
« Reply #3 on: 2011-07-25 09:37:45 »
With that interesting idea,
     do you mean porting a visually reworked FF VII to the PS3?

« Last Edit: 2011-07-25 09:42:34 by syntax error »

Bosola

  • Fire hazard!
  • *
  • Posts: 1752
    • View Profile
    • My YouTube Channel
Re: (PSX) Final Fantasy 7 PAL -Damage Break-
« Reply #4 on: 2011-07-25 12:19:29 »
SymphoniC, whilst I can't directly point to the ASM involved, might I suggest you try out the psX emulator's R3000 debugger?  You may be able to locate the subroutine you seek.

SymphoniC

  • *
  • Posts: 46
  • Mind hack.
    • View Profile
Re: (PSX) Final Fantasy 7 PAL -Damage Break-
« Reply #5 on: 2011-07-26 00:12:52 »
With that interesting idea,
     do you mean porting a visually reworked FF VII to the PS3?

Actually, I was thinking since the battle camera's movements for the PSX version are somewhat jerky... we may be able to take camera in the battle engine, and rework it so that camera movements within battle would be much smoother, perhaps interpolate the transitions between each frame/cam coordinates. I would imagine that FFVII's coding regulates it's framerate so that may play a part in whether we could do this, along with keeping the size of the files in the discs at proper. But that's a whole nother thread right there.
 
Porting a visually reworked FFVII to the PS3... Well seeing as how the PS3 is exploitable now for homebrew, and also considering how much messing around we are able to do with the inner workings of FFVII itself, I suppose we could break through many limitations of the PSX version by porting the actual game engine over for use with the PS3. I would imagine it would be quite a project. I wouldn't expect any high definition Advent Children style FFVII as an end result, but a certainly nicer and smoother version of the game could be doable. Since I don't have a PS3, I can't do it... but it's an idea for others to think about.

SymphoniC, whilst I can't directly point to the ASM involved, might I suggest you try out the psX emulator's R3000 debugger?  You may be able to locate the subroutine you seek.
Bosola yes and thank you. I was hoping there was an alternative to pcsxtrace, a bit of a pain to set up even though I finally got it working right. I will try this, savestates weren't working for me in pcsxtrace anyways.

Update : pSX has plenty of debugging goodies. I'll certainly use that, and it was easier to set up than ePSXe, wow.
« Last Edit: 2011-07-26 01:09:19 by SymphoniC »

obesebear

  • *
  • Posts: 1389
    • View Profile
Re: (PSX) Final Fantasy 7 PAL -Damage Break-
« Reply #6 on: 2011-07-26 02:57:53 »

Actually, I was thinking since the battle camera's movements for the PSX version are somewhat jerky... we may be able to take camera in the battle engine, and rework it so that camera movements within battle would be much smoother, perhaps interpolate the transitions between each frame/cam coordinates. I would imagine that FFVII's coding regulates it's framerate so that may play a part in whether we could do this, along with keeping the size of the files in the discs at proper. But that's a whole nother thread right there.
Actually NFITC1 already made some progress on this for the pc version, so he may be able to give you some insight.

SymphoniC

  • *
  • Posts: 46
  • Mind hack.
    • View Profile
Re: (PSX) Final Fantasy 7 PAL -Damage Break-
« Reply #7 on: 2011-07-26 03:43:39 »
Good to know Obesebear. I'll most certainly keep that in mind, for now I'm going to keep the focus on this particular project with HP/Damage break for other regions because I'm often busy composing music, moderating lan.st's forums, and I have a gf to take care of amongst many other things... never take a bite bigger than you can handle. But since I have spare time to do at least one project at a time I'll definitely tackle this. I'm reading up on PSX docs to familiarize myself with the system and learn everything I need to know. I appreciate the replies so far, you all seem very helpful and that's what makes projects successful. On a side note, I sent a PM to ARMs in hopes that he might have some insight for me, no reply yet.

Update : After a long time of searching through old threads, I finally found a thread where ARMs was just starting to figure out how to do this for the PSX, some useful info. Does anyone know if dziugo still frequents these forums? I may or may not need his help. All I really need is info on how ARMs figured out how to do this. It looks like he simply compared the changes from the damage break patch for the pc and FF7.exe and used that to find where to change the PSX version's 9999 limit. He also must've used a cheat plugin to help him out here.

If I can figure out how to do this, I will be making patches for all regions of FF7 PSX, and not just a damage break, but also an HP/MP 9999/999 cap removal as well. Not everyone has an NTSC copy of FF7, I believe everyone should benefit from these kinds of mods. Of course credits will go to those involved in helping this project.
« Last Edit: 2011-07-26 08:02:34 by SymphoniC »

SymphoniC

  • *
  • Posts: 46
  • Mind hack.
    • View Profile
Re: (PSX) Final Fantasy 7 PAL -Damage Break-
« Reply #8 on: 2011-07-26 09:39:08 »
Well as far as damage breaking is concerned, I believe I may have found something. Now correct me if I'm wrong, but from what I've seen with other's attempts at HP break, there will be shapes to indicate that Hp break has occurred (obviously before cosmetic fixes have been done to FF7's engine to show the actual true number representing the character's HP) is that how it is with damage break also? Using Cloud at maximum strength, with his ultimate weapon, and some hero dinks, attacking the enemy shows 0 damage and oddly enough kills the creature. Does anyone know anything about this? Did I find the right subroutine or did I mess with something I shouldn't have? I have yet to see damage breaking before cosmetic hacks were done to the battle engine's number representation for damage so I wouldn't know.
 
UPDATE : Things are looking really good so far. I can confirm that I've succesfully broken HP and MP's caps as well as breaking the damage limit for both HP and MP. As a double check measure of testing, by forcing a rediculously small cap on all of these, I managed to force damage done to an enemy for example to be 22 HP with a high powered character. Similarily, let's say that Cloud's HP is at max 9800. I found the HP limit and set it to 25. His HP was still 9800, but once it crossed 9999 it instantly went to an all time low maximum of 25 HP. These edits were made in real time.
 
I believe there are 2 other caps for levelling up HP/MP that I have yet to find. I assume that the damage caps that I found control both enemies max attack damage and party member's max attack damage as well. Other than that, I'm going to have to figure out how to get all the digits to display properly. Fortunately MP is already intended to be able to reach 9999 so no cosmetic changes are neccessary for MP if I decide to cap it at 9999. Does anyone have some easy answers as far as getting these digits to show properly? Especially with that 0 damage kill... that still fascinates me :)
« Last Edit: 2011-07-26 18:02:39 by SymphoniC »