Param.sfo: Difference between revisions
m (→PARAM.SFO) |
mNo edit summary |
||
Line 10: | Line 10: | ||
=== Internal Structure === | === Internal Structure === | ||
==== Header SFO==== | ==== Header SFO ==== | ||
This is the Header of a SFO file. | This is the Header of a SFO file. | ||
{| class="wikitable sortable" style="text-align: center;border:2px solid # | {| class="wikitable sortable" style="text-align: center;border:2px solid #53464F;" | ||
|- | |- | ||
| style="background-color:# | | style="background-color:#505346; color:#FFFFFF;" |'''Offset''' | ||
| style="background-color:# | | style="background-color:#505346; color:#FFFFFF;" |'''Data''' | ||
| style="background-color:# | | style="background-color:#505346; color:#FFFFFF;" |'''Length''' | ||
| style="background-color:# | | style="background-color:#505346; color:#FFFFFF;" |'''Notes''' | ||
|- | |- | ||
| | | 0x00 || 00 50 53 46 || 0x04 || PSF Magic | ||
|- | |- | ||
| | | 0x04 || 01 01 00 00 || 0x04 || Version | ||
|- | |- | ||
| | | 0x08 || xx xx 00 00 || 0x04 || Value Start | ||
|- | |- | ||
| | | 0x0C || xx xx 00 00 || 0x04 || Params Start | ||
|- | |- | ||
| 0x10 || | | 0x10 || xx 00 00 00 || 0x04 || N° of params/values | ||
|- | |||
|} | |||
==== Index table ==== | |||
Index table starts at offset 0x14, and has for each parameter an entrance of a length 0x10: | |||
{| class="wikitable sortable" style="text-align: center;border:2px solid #53464F;" | |||
|- | |||
| style="background-color:#505346; color:#FFFFFF;" |'''Offset''' | |||
| style="background-color:#505346; color:#FFFFFF;" |'''Data''' | |||
| style="background-color:#505346; color:#FFFFFF;" |'''Length''' | |||
| style="background-color:#505346; color:#FFFFFF;" |'''Notes''' | |||
|- | |||
| 0x14 || 00 00 || 0x02 || key_table_offset | |||
|- | |||
| 0x16 || 04 0x || 0x02 || param_fmt | |||
|- | |||
| 0x18 || xx xx 00 00 || 0x04 || param_len | |||
|- | |||
| 0x1C || xx xx 00 00 || 0x04 || param_max_len | |||
|- | |||
| 0x20 || 00 00 00 00 || 0x04 || data_table_offset | |||
|- | |||
|} | |||
Used on index table, type of data are (param_fmt): | |||
{| border=2 style="text-align: center;" | |||
|- | |||
| style="background-color:#505346; color:#FFFFFF;" |'''param_fmt''' | |||
| style="background-color:#505346; color:#FFFFFF;" |'''Format''' | |||
| style="background-color:#505346; color:#FFFFFF;" |'''Notes''' | |||
|- | |||
| 04 00 || style="background-color:#00DDDD;" | utf-8 Special Mode || not used? | |||
|- | |||
| 04 02 || style="background-color:#DDDD00;" | utf-8 || Character string, NULL finished (0x00) | |||
|- | |||
| 04 04 || style="background-color:#DD00DD;" | integer || 32 bits unsigned | |||
|- | |- | ||
|} | |} | ||
Line 51: | Line 89: | ||
====CATEGORY==== | ====CATEGORY==== | ||
{{Boxinfo3|content='''param_fmt''': utf-8<br />'''param_max_len''': 0x4 (4 bytes)<br />'''param_len''': | {{Boxinfo3|content='''param_fmt''': utf-8<br />'''param_max_len''': 0x4 (4 bytes)<br />'''param_len''': 0x4 (4 bytes)}} | ||
{{Boxtip1|content='''Used by''': PS4 Disc, PS4 HDD Game, PS4 Game Patch}} | {{Boxtip1|content='''Used by''': PS4 Disc, PS4 HDD Game, PS4 Game Patch}} | ||
See [http://www.vitadevwiki.com/index.php?title=System_File_Object_%28SFO%29_%28PSF%29#Category PS Vita Category] | See [http://www.vitadevwiki.com/index.php?title=System_File_Object_%28SFO%29_%28PSF%29#Category PS Vita Category] | ||
{| class="wikitable" style="text-align: center;border:2px solid # | {| class="wikitable" style="text-align: center;border:2px solid #000EEE;" | ||
|- | |- | ||
| style="background-color:# | | style="background-color:#505346; color:#FFFFFF;" |'''Value''' | ||
| style="background-color:# | | style="background-color:#505346; color:#FFFFFF;" |'''Standard name''' | ||
|- | |- | ||
| bd || Bluray Disc? | | bd || Bluray Disc? | ||
Line 101: | Line 139: | ||
====FORMAT==== | ====FORMAT==== | ||
{{Boxinfo3|content='''param_fmt''': utf-8<br />'''param_max_len''': 0x4 (4 bytes)<br />'''param_len''': | {{Boxinfo3|content='''param_fmt''': utf-8<br />'''param_max_len''': 0x4 (4 bytes)<br />'''param_len''': 0x4? (4 bytes)}} | ||
{{Boxtip1|content='''Used by''': PS4 Disc, PS4 HDD Game, PS4 Game Patch}} | {{Boxtip1|content='''Used by''': PS4 Disc, PS4 HDD Game, PS4 Game Patch}} | ||
Line 113: | Line 151: | ||
====PUBTOOLINFO==== | ====PUBTOOLINFO==== | ||
{{Boxinfo3|content='''param_fmt''': utf-8<br />'''param_max_len''': 0x200 (512 bytes)<br />'''param_len''': | {{Boxinfo3|content='''param_fmt''': utf-8<br />'''param_max_len''': 0x200 (512 bytes)<br />'''param_len''':variable?}} | ||
{{Boxtip1|content='''Used by''': PS4 HDD Game}} | {{Boxtip1|content='''Used by''': PS4 HDD Game}} | ||
Line 119: | Line 157: | ||
====SERVICE_ID_ADDCONT_ADD_x==== | ====SERVICE_ID_ADDCONT_ADD_x==== | ||
{{Boxinfo3|content='''param_fmt''': utf-8<br />'''param_max_len''': | {{Boxinfo3|content='''param_fmt''': utf-8<br />'''param_max_len''': 0x14 (20 bytes)<br />'''param_len''':Not used?}} | ||
{{Boxtip1|content='''Used by''': PS4 HDD Game, PS4 Game Patch}} | {{Boxtip1|content='''Used by''': PS4 HDD Game, PS4 Game Patch}} | ||
Same parameter outnumbered from _1 to _7. | Same parameter outnumbered from _1 to _7. | ||
Line 142: | Line 180: | ||
====TITLE_ID==== | ====TITLE_ID==== | ||
{{Boxinfo3|content='''param_fmt''': utf-8<br />'''param_max_len''': | {{Boxinfo3|content='''param_fmt''': utf-8<br />'''param_max_len''': 0x0C (12 bytes)<br />'''param_len''': 0xA (10 bytes)}} | ||
{{Boxtip1|content='''Used by''': PS4 Disc, PS4 HDD Game, PS4 Application Patch}} | {{Boxtip1|content='''Used by''': PS4 Disc, PS4 HDD Game, PS4 Application Patch}} | ||
Revision as of 22:03, 30 November 2013
PARAM.SFO
SFO (System File Object) file format can be also found on PSP, PSVITA, PS3.
This page, as well as talk page is mostly about speculation.
External Structure
Only on disc?
Internal Structure
Header SFO
This is the Header of a SFO file.
Offset | Data | Length | Notes |
0x00 | 00 50 53 46 | 0x04 | PSF Magic |
0x04 | 01 01 00 00 | 0x04 | Version |
0x08 | xx xx 00 00 | 0x04 | Value Start |
0x0C | xx xx 00 00 | 0x04 | Params Start |
0x10 | xx 00 00 00 | 0x04 | N° of params/values |
Index table
Index table starts at offset 0x14, and has for each parameter an entrance of a length 0x10:
Offset | Data | Length | Notes |
0x14 | 00 00 | 0x02 | key_table_offset |
0x16 | 04 0x | 0x02 | param_fmt |
0x18 | xx xx 00 00 | 0x04 | param_len |
0x1C | xx xx 00 00 | 0x04 | param_max_len |
0x20 | 00 00 00 00 | 0x04 | data_table_offset |
Used on index table, type of data are (param_fmt):
param_fmt | Format | Notes |
04 00 | utf-8 Special Mode | not used? |
04 02 | utf-8 | Character string, NULL finished (0x00) |
04 04 | integer | 32 bits unsigned |
Parameters Descriptions
APP_TYPE
...
APP_VER
The format is XX.YY where "XX" and "YY" are numbers, and the point "." is included in the string, e.g: 01.00 for the first stable version released.
ATTRIBUTE
Can contains 32 flags that can be turned on/off to activate/deactivate features allowed for the game/apps content.
CATEGORY
See PS Vita Category
Value | Standard name |
bd | Bluray Disc? |
gd | - |
gdk | - |
gp | Game Patch? |
CONTENT_ID
The format is:
DISC_NUMBER
Disc number: count from 01.
DISC_TOTAL
Total number of discs for this game.
DISP_LOCATION_x
DISP_LOCATION_1 & DISP_LOCATION_2
DOWNLOAD_DATA_SIZE
...
FORMAT
"obs"
PARENTAL_LEVEL
It is a scale to rate the content for the different users based in user profile settings and international rating systems as: PEGI, ESRB, CERO, etc...
PUBTOOLINFO
contain creation data?, sdk version?
SERVICE_ID_ADDCONT_ADD_x
Same parameter outnumbered from _1 to _7.
SYSTEM_ROOT_VER
Minimum FW to be play this game?
SYSTEM_VER
Minimum FW to be play this game?
TITLE
Default "title of the game" for all languages.
TITLE_ID
Identifier of the content, in the format WXYZ12345.
TITLE_xx
Same than TITLE but for localized languages.
An .SFO can contain several TITLE_xx where xx is a number for a regional code.
The "default" TITLE is always present when other "localized" TITLE_xx are used.
VERSION
Version content of the game: Disc revision, or Package revision. The number increases when the content is re-released or re-packaged for whatever reason that doesn't affect the main executable (e.g. when a disc game reaches platinum sales, or "game of the year edition" including extra contents).