[PC FF7 2012] Files that changed in the recent FF7 ReRelease

  • Thread starter Thread starter dziugo
  • Start date Start date
Status
Not open for further replies.
So it is. I will get on it.

edit: another thing. What is the point of them nopping the unused functions in chocobo races?  That won't do anything will it?  No speed up or anything?
It might speed up, yes, but not much (noone would notice). NOP is actually an "xchg eax, eax" command (exchanges values of the same registry, thus resulting in no changes), so it doesn't require memory access. The NOPed instructions did use memory access, so they were slower. The memory would already be in processor's cache though. Academic problem I guess.

Most likely it was just being safe - why introducing entropia when you can choose not to? ;p Jedwin's patch NOPed the instruction, but still saved *something* as a result - a value from the previous block. I've tried to establish what was missing there, why the address would be unaccessible now, and it most likely was a source-code comment made - leaving out the unneeded part, forgetting about this little fragment that still tried to access it.
 
I am placing break points all over.  So far the ones I am seeing are related to some sort of input being nopped? Like at 0041F5DC
 in memory for 1.02 exe.

I will map as many of these in excel and upload to google soon.

edit:

0061F6D4 (1.02  0021EAD4) seems to be related to a value you changed.  This is changed in my 9999hp patcher and here in this list.
lots of 10 27 (10000) changed to 30 75 (12405) .  What is it doing?
 
Last edited:
It seems the new driver has GYPT???  Is this an oversight from you Dziugo? or whoever uploaded this change log?
[also likely that the 9999 patch is here too in this list which it shouldnt be]

Starting memory address 006767D9 for example. until 00676833

If so I need a comparison with a clean 1.02 and from memory (without aalis driver) with new ff7.
That will narrow down precisely what "fixes" this new game has made.

edit

it also seems that this is a comparison between the exes?  I need the comparison with memory since all these values have gotten in the way....  I have tons of aali driver changes here which are injected at runtime and are not visible in 1.02 exe(unless they are in same place as aalis with new driver?)

edit 2:

I have dumped original 1.02 memory.  Now awaiting Covarr and to do ff7_en.

edit 3:

I have dumped the original 1.02 memory with the new ff7 memory, and compared the .text area.  There are 879 bytes of difference.  The reason your list is larger is because you compared memory with aali's driver active and your own code (like gypt) active.

edit 4:

253 of the 879 bytes I have checked so far are jumps to the new driver and pointers to new code in new exe.  I will post excel when I am ready :)

edit 5:

The following is WIP of new addresses and use in code.  I will do as much as I can.
It is already looking like working out what is fixed from this is not likely...
depends how it has all been implemented.  We will see.

https://docs.google.com/spreadsheet/ccc?key=0AlJH_wU1qqN4dEFDeUtFMWtiZkF3WVB3OUZSd3dGdEE#gid=1

edit 6: Note.  They haven't used Qhimm's chocobo fix.  No.  They've used Aali's.  Aali's driver nops the same ones as this "new" game.  Other areas have also been blatantly stolen 1:1 or used to work out their own problems.  They have definitely looked at Aali's driver when making their own.  No doubt.  You only need to look at the changes in the database above and compare the memory to a 1.02 using aali's driver.
 
Last edited:
It seems the new driver has GYPT???  Is this an oversight from you Dziugo? or whoever uploaded this change log?
[also likely that the 9999 patch is here too in this list which it shouldnt be]

Starting memory address 006767D9 for example. until 00676833
Oops ;) Yes, it contained most of the YAMP patches, sorry as it was not intended :evil:

If so I need a comparison with a clean 1.02 and from memory (without aalis driver) with new ff7.
That will narrow down precisely what "fixes" this new game has made.

edit

it also seems that this is a comparison between the exes?  I need the comparison with memory since all these values have gotten in the way....  I have tons of aali driver changes here which are injected at runtime and are not visible in 1.02 exe(unless they are in same place as aalis with new driver?)
It was a comparison between ff7_en.exe (the original one - dump was taken ?two days ago? when I haven't yet tried the YAMP patches) and the ff7_en.exe running with most of the YAMP patches applied. Like it was said before, it was supposed to be a list of the changes done at runtime - not a list of changes between 1.02 and 1.05/1.06.

edit 2:

I have dumped original 1.02 memory.  Now awaiting Covarr and to do ff7_en.

edit 3:

I have dumped the original 1.02 memory with the new ff7 memory, and compared the .text area.  There are 879 bytes of difference.  The reason your list is larger is because you compared memory with aali's driver active and your own code (like gypt) active.
You mean the updated Aali's driver for the new release? Yeah, of course I used that ;) Didn't use Aali's driver (ever), so there were only YAMP changes.

edit 4:

253 of the 879 bytes I have checked so far are jumps to the new driver and pointers to new code in new exe.  I will post excel when I am ready :)
Yeah, that's why I moved to other stuff when I started checking what've changed ;) 879 bytes changed still sounds like much.

edit 5:

The following is WIP of new addresses and use in code.  I will do as much as I can.
It is already looking like working out what is fixed from this is not likely...
depends how it has all been implemented.  We will see.

https://docs.google.com/spreadsheet/ccc?key=0AlJH_wU1qqN4dEFDeUtFMWtiZkF3WVB3OUZSd3dGdEE#gid=1

edit 6: Note.  They haven't used Qhimm's chocobo fix.  No.  They've used Aali's.  Aali's driver nops the same ones as this "new" game.  Other areas have also been blatantly stolen 1:1 or used to work out their own problems.  They have definitely looked at Aali's driver when making their own.  No doubt.  You only need to look at the changes in the database above and compare the memory to a 1.02 using aali's driver.
If I were to make a chocobo fix, I'd have done it the same way (NOP the whole block), as that would be just common sense.

Other than that: OMG
And: Great job!

Edit:
Let's do some more digging before making any conclusions. Others are welcome to make their input too, I'll try not to troll anyone with fake changes from this point ;) (sorry again)
 
Last edited:
Yeah, it could well be that they just ended at the same conclusions... but I am a little suspicious :P

I will carry on documenting the new exe today.  Can you tell me which addresses are to do with the mdef fix?
 
Yeah, it could well be that they just ended at the same conclusions... but I am a little suspicious :P

I will carry on documenting the new exe today.  Can you tell me which addresses are to do with the mdef fix?
The one made by NFITC1 (YAMP based) is around 006C51DE - Aali's driver supposedly patches it differently, never cared to look how (I see 006C5154 address in your list, maybe there?).
 
very likely... it does use the menu system at a lot (when setting equip/materia etc).
The new game jumps to its driver there too.
 
Ok, I've installed the Aali's driver. The new version is a rip-off.

Here is the dump of the destination jump of the MDef fix (from Aali's):
Code: [Select]
Code:
Address   Hex dump                  Command                                  Comments1004A190    8B4424 04               MOV EAX,DWORD PTR SS:[ESP+4]1004A194    8B0D 485A0910           MOV ECX,DWORD PTR DS:[10095A48]1004A19A    0FB69401 F8040000       MOVZX EDX,BYTE PTR DS:[EAX+ECX+4F8]1004A1A2    A1 B85B0910             MOV EAX,DWORD PTR DS:[10095BB8]1004A1A7    8B0490                  MOV EAX,DWORD PTR DS:[EDX*4+EAX]1004A1AA    8B5424 08               MOV EDX,DWORD PTR SS:[ESP+8]1004A1AE    83FA 03                 CMP EDX,31004A1B1    77 5D                   JA SHORT 1004A2101004A1B3    FF2495 14A20410         JMP DWORD PTR DS:[EDX*4+1004A214]1004A1BA    8B15 485C0910           MOV EDX,DWORD PTR DS:[10095C48]1004A1C0    69C0 84000000           IMUL EAX,EAX,841004A1C6    0FBE4C08 70             MOVSX ECX,BYTE PTR DS:[ECX+EAX+70]1004A1CB    6BC9 2C                 IMUL ECX,ECX,2C1004A1CE    0FB64411 04             MOVZX EAX,BYTE PTR DS:[EDX+ECX+4]1004A1D3    C3                      RETN1004A1D4    69C0 84000000           IMUL EAX,EAX,841004A1DA    0FBE4408 71             MOVSX EAX,BYTE PTR DS:[ECX+EAX+71]1004A1DF    8B0D 4C5C0910           MOV ECX,DWORD PTR DS:[10095C4C]1004A1E5    8D04C0                  LEA EAX,[EAX*8+EAX]1004A1E8    0FB64481 02             MOVZX EAX,BYTE PTR DS:[EAX*4+ECX+2]1004A1ED    C3                      RETN1004A1EE    833D 14CA0810 00        CMP DWORD PTR DS:[1008CA14],01004A1F5    74 19                   JE SHORT 1004A2101004A1F7    69C0 84000000           IMUL EAX,EAX,841004A1FD    0FBE4408 71             MOVSX EAX,BYTE PTR DS:[ECX+EAX+71]1004A202    8D14C0                  LEA EDX,[EAX*8+EAX]1004A205    A1 4C5C0910             MOV EAX,DWORD PTR DS:[10095C4C]1004A20A    0FB64490 03             MOVZX EAX,BYTE PTR DS:[EDX*4+EAX+3]1004A20F    C3                      RETN1004A210    33C0                    XOR EAX,EAX1004A212    C3                      RETN
From dOTEMU:
Code: [Select]
Code:
Address   Hex dump                  Command                                  Comments1000EB20    8B4424 04               MOV EAX,DWORD PTR SS:[ESP+4]1000EB24    8B0D A4B00210           MOV ECX,DWORD PTR DS:[1002B0A4]1000EB2A    0FB69401 F8040000       MOVZX EDX,BYTE PTR DS:[EAX+ECX+4F8]1000EB32    A1 68B10210             MOV EAX,DWORD PTR DS:[1002B168]1000EB37    8B0490                  MOV EAX,DWORD PTR DS:[EDX*4+EAX]1000EB3A    8B5424 08               MOV EDX,DWORD PTR SS:[ESP+8]1000EB3E    83FA 03                 CMP EDX,31000EB41    77 5D                   JA SHORT 1000EBA01000EB43    FF2495 A4EB0010         JMP DWORD PTR DS:[EDX*4+1000EBA4]1000EB4A    8B15 74B10210           MOV EDX,DWORD PTR DS:[1002B174]1000EB50    69C0 84000000           IMUL EAX,EAX,841000EB56    0FBE4C08 70             MOVSX ECX,BYTE PTR DS:[ECX+EAX+70]1000EB5B    6BC9 2C                 IMUL ECX,ECX,2C1000EB5E    0FB64411 04             MOVZX EAX,BYTE PTR DS:[EDX+ECX+4]1000EB63    C3                      RETN1000EB64    69C0 84000000           IMUL EAX,EAX,841000EB6A    0FBE4408 71             MOVSX EAX,BYTE PTR DS:[ECX+EAX+71]1000EB6F    8B0D 78B10210           MOV ECX,DWORD PTR DS:[1002B178]1000EB75    8D04C0                  LEA EAX,[EAX*8+EAX]1000EB78    0FB64481 02             MOVZX EAX,BYTE PTR DS:[EAX*4+ECX+2]1000EB7D    C3                      RETN1000EB7E    833D 706E0210 00        CMP DWORD PTR DS:[10026E70],01000EB85    74 19                   JE SHORT 1000EBA01000EB87    69C0 84000000           IMUL EAX,EAX,841000EB8D    0FBE4408 71             MOVSX EAX,BYTE PTR DS:[ECX+EAX+71]1000EB92    8D14C0                  LEA EDX,[EAX*8+EAX]1000EB95    A1 78B10210             MOV EAX,DWORD PTR DS:[1002B178]1000EB9A    0FB64490 03             MOVZX EAX,BYTE PTR DS:[EDX*4+EAX+3]1000EB9F    C3                      RETN1000EBA0    33C0                    XOR EAX,EAX1000EBA2    C3                      RETN
 
Yup.  They've basically been looking at Aali's driver to make their own!
 
Hmm... Considering that the Aali's work is not actually a driver (it's a rendering engine), they mindlessly ripped even that were surely inspired even by the name.
 
Yeah, I did think that too when I first saw it. That even the name was the same.  So far I have found no real fixes that we don't already have.  Those differences there are, seem to be mostly concerned with how their driver changes the key config screen.

There are a few other driver jumps that aali doesn't jump with though.
[17:03] <Aali> you think this is news to me?

[and in response to the question if he had been asked for his driver]

[17:21] <Aali> there was no funny business from their side
[17:21] <Aali> enough said
So there we have it.  The new driver is really just aali's driver in large part :)  Heavily based on it (at the least), and the fixes used too.

This means there are unlikely to be any new fixes with this "new driver".  Which is a real shame because I had hoped there would be some stuff we could use from the new game.  But that's Enix for you these days.  Quick fix.  Quick buck. They can't even be bothered using their own work these days when it comes to FF7.

I suppose that also means they may have the source code, but just couldn't be arsed.
 
Last edited:
Yeah, I did think that too when I first saw it. That even the name was the same.  So far I have found no real fixes that we don't already have.  Those differences there are, seem to be mostly concerned with how their driver changes the key config screen.

There are a few other driver jumps that aali doesn't jump with though.
So there we have it.  The new driver is really just aali's driver in large part :)  Heavily based on it (at the least), and the fixes used too.

This means there are unlikely to be any new fixes with this "new driver".  Which is a real shame because I had hoped there would be some stuff we could use from the new game.  But that's Enix for you these days.  Quick fix.  Quick buck. They can't even be bothered using their own work these days when it comes to FF7.

I suppose that also means they may have the source code, but just couldn't be arsed.
Yes, that woud be possible - they might still have it and just decided not to give it out to 3rd party.
 
Could it be that they only found the FFVII PSX sourcecode in their basement?
 
Could it be that they only found the FFVII PSX sourcecode in their basement?
That reminds me; anyone tried to reverse the whole pc engine back to code before with any success?
Guess it can't be done until every single thing in the engine has been figured out?

Still can't believe that they scrap the original code.
Maybe the other company just approached them and said they "could do something to make it work on the newest windows" and they just went along to make a quick buck like everyone has been saying. And no sources were shared.
 
Last edited:
Could it be that they only found the FFVII PSX sourcecode in their basement?
Unlikely, else the fixes would be integral to the executable.

That reminds me; anyone tried to reverse the whole pc engine back to code before with any success?
FF7.exe is an x86 binary. There are x86 disassemblers. Draw your own conclusions.
 
In light of the fact this driver is likely to have exact same fixes as aalis driver does, I will leave the excel document I made as is.  If anyone wants to add to it or work with it, let me know and I will clear you for editing.
 
Status
Not open for further replies.
Back
Top