Editing Talk:PARAM.PFD

Jump to navigation Jump to search
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.

Latest revision Your text
Line 1: Line 1:
[https://www.sendspace.com/file/jmo0do pfd_sfo_tools_code by flat_z]
== Sperimental PFD Reader ==
== Sperimental PFD Reader ==
To compile it just place it inside the ps3tools folder and add '''pfd''' into the makefile  in the last '''TOOLS +=''' line [[User:Deroad|Deroad]] 20:09, 15 July 2012 (MSK)
To compile it just place it inside the ps3tools folder and add '''pfd''' into the makefile  in the last '''TOOLS +=''' line [[User:Deroad|Deroad]] 20:09, 15 July 2012 (MSK)
Line 17: Line 15:


Just a collection of PARAM (.bin .pfd .sfo .tpf) files: http://www.mirrorcreator.com/files/0OAXGOHN/PARAM.rar_links
Just a collection of PARAM (.bin .pfd .sfo .tpf) files: http://www.mirrorcreator.com/files/0OAXGOHN/PARAM.rar_links
==PARAM.PFD Structure generation process==
*This is more than speculation, is a representation of how mirror's edge PARAM.PFD was generated, and how the index numbers are used to "jump" to the next one. I did this table weeks ago, and there was something wrong i realized at the end but thanks to it i understood how the PARAM.PFD is generated using timestamps, probably the table is wrong (because the mirror's edge file im using as example has been updated several times by his owner) but we need to use something like this to order them also it can help others
From files timestamps----->to----->PARAM.PFD
Last time modifyed timestamp
{| class="wikitable"
|-
! Timestamp !! File Name (by timestamp) !! Next jump offset from Xtable !! Next jump offset from Filetable !! Generated table
|-
| rowspan="2" style="background-color:#DDDDDD;" | 2009/06/14 7:20:12 || PARAM.SFO || 0x72 + 0x01 || {{no}} || PARAM.SFO
|-
| SAVTOC0.BIN || 0x72 + 0x0C || {{no}} || SAVTOC0.BIN
|-
| rowspan="12" style="background-color:#DDDDDD;" | 2009/06/14 7:20:14 || SAV0.BIN || ?? || 0x06 || SAV33.BIN
|-
| SAV3.BIN || 0x72 + 0x72 + 0x1F || {{no}} || SAV14.BIN
|-
| SAV5.BIN || 0x10 || {{no}} || SAV3.BIN
|-
| SAV6.BIN || 0x1B || {{no}} || SAV22.BIN
|-
| SAV7.BIN || 0x72 + 0x14 || {{no}} || SAV21.BIN
|-
| SAV8.BIN || 0x72 + 0x72 + 0x0B || {{no}} || SAV13.BIN
|-
| SAV13.BIN || 0x0D || {{no}} || SAV5.BIN
|-
| SAV14.BIN || 0x72 + 0x72 + 0x15 || {{no}} || SAV6.BIN
|-
| SAV16.BIN || 0x19 || {{no}} || SAV7.BIN
|-
| SAV21.BIN || 0x72 + 0x13 || {{no}} || SAV8.BIN
|-
| SAV22.BIN || 0x17 || {{no}} || SAV16.BIN
|-
| SAV33.BIN || 0x72 + 0x72 + 0x0E || {{no}} || SAV0.BIN
|-
| rowspan="19" style="background-color:#DDDDDD;" | 2009/06/14 7:20:16  || SAV1.BIN || ??? || 0x05 || SAV19.BIN
|-
| SAV2.BIN || 0x11 || {{no}} || SAV15.BIN
|-
| SAV9.BIN || 0x72 + 0x72 + 0x18 || {{no}} || SAV20.BIN
|-
| SAV10.BIN || 0x72 + 0x72 + 0x1A || {{no}} || SAV11.BIN
|-
| SAV11.BIN ||0x12  || {{no}} || SAV12.BIN
|-
| SAV12.BIN || 0x72 + 0x72 + 0x04 || {{no}} || SAV9.BIN
|-
| SAV15.BIN || 0x72 + 0x72 + 0x1C || {{no}} || SAV17.BIN
|-
| SAV17.BIN || 0x07 || {{no}} || SAV18.BIN
|-
| SAV18.BIN || ??? || 0x02 || SAV2.BIN
|-
| SAV19.BIN || 0x72 + 0x72 + 0x72 + 0x72 + 0x72 + 0x72 + 0x03 || {{no}} || SAV1.BIN
|-
| SAV20.BIN || 0x72 + 0x72 + 0x1D || {{no}} || SAV23.BIN
|-
| SAV23.BIN || ??? || 0x16 || SAV10.BIN
|-
| SAV26.BIN || ??? || 0x08 || SAV35.BIN
|-
| SAV27.BIN || ??? || 0x09 || SAVTOC1.BIN
|-
| SAV28.BIN || ??? || 0x0A || SAV36.BIN
|-
| SAV35.BIN || 0x72 + 0x72 + 0x20 || {{no}} || SAV26.BIN
|-
| SAV36.BIN || 0x0F || {{no}} || SAV27.BIN
|-
| SAV38.BIN || 0x72 + 0x72 + 0x1E || {{no}} || SAV28.BIN
|-
| SAVTOC1.BIN || ??? || 0x00 || SAV38.BIN
|-
|}
*The problem is the timestamps of the "protected files" changed when the owner of this game save updated it (we must suppose he did lot of times). Its needed to understand if this update process rebuilds all the tables reasigning the "index nº's" or if the positions of the "protected files" are moved inside "protected files table". Also is needed to verify how new files are added to the "protected files table" when the game generate new ones. To verify all this is needed to begin with a "fresh created" game save, understand how has been built, and compare how it changes after several updates, this is where i stopped ;)
*This means the examples from this mirror's edge game save (downloaded from gamefaq) are not enought to explain how it works, are needed at least 3 different game saves generated by the same user in the same ps3, or in other words... all the examples must be replaced :/
**1.- A copy of the folder the first time the game save is generated (copyed from hdd, NOT exported to usb)
**2.- A copy of the folder after a "normal" update (no new files are added to the "protected files table")
**2.- A copy of the folder after a "special" update (new files are added to the "protected files table")
**This completes all the behaviours/functions possibles for PARAM.PFD related with his creation/updates
Please note that all contributions to PS3 Developer wiki are considered to be released under the GNU Free Documentation License 1.2 (see PS3 Developer wiki:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

To protect the wiki against automated edit spam, we kindly ask you to solve the following hCaptcha:

Cancel Editing help (opens in new window)

Template used on this page: