Editing Param.sfo

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:
== PARAM.SFO ==
== PARAM.SFO ==
See also {{talk}} page


Samples: [[param.sfo/samples]]
SFO (System File Object) file format can be also found on [http://www.psdevwiki.com/ps3/Eboot.PBP#PARAM.SFO PSP], [http://www.vitadevwiki.com/index.php?title=System_File_Object_%28SFO%29_%28PSF%29 PSVITA], [http://www.psdevwiki.com/ps3/PARAM.SFO PS3].


'''SFO''' ('''S'''ystem '''F'''ile '''O'''bject) file format can be also found on [http://www.psdevwiki.com/ps3/Eboot.PBP#PARAM.SFO PSP], [http://www.psdevwiki.com/vita/index.php?title=System_File_Object_%28SFO%29_%28PSF%29 PSVITA], [http://www.psdevwiki.com/ps3/PARAM.SFO PS3]. This page, as well as talk page, is mostly speculation about this [[Content_Information_Files|content information file]].
=== Header SFO===
 
The values contained in a parameter (other naming: key) of the SFO can be simplified as inputs/outputs for/from the content:
*Boot modifiers (flags).
*Information texts.
=== External Structure ===
Speculation about the Container wrapping the Data of the param.sfo File (only on disc?)
 
*length: 0x800 always?
 
*or first chunk starting at 0x38, ending at 0x208.
 
{| class="wikitable"
|-
! Offset !! Size !! Name !! Example !! Value (conversion) !! Notes
|+PARAM.SFO container
|-
|colspan="9" style="text-align:center; background-color:#e2ffe2;" | '''First chunk'''
|-
| style="background-color:#ff6666;" | 0x00 || style="background-color:#ff6666;" | 0x08 || '''Magic ?''' || 50 53 41 52 || SCECDF || ?
|-
| style="background-color:#66ff66;" | 0x08 || style="background-color:#66ff66;" | 0x08 || '''Version ?''' || 01 00 00 00 01 00 00 00 || v1.1? || ?
|-
| style="background-color:#6666ff;" | 0x08 || style="background-color:#6666ff;" | 0x08 || - || 01 00 00 00 00 00 00 00 || ? || ?
|-
| style="background-color:#efff66;" | 0x08 || style="background-color:#efff66;" | 0x08 || - || 00 00 00 00 00 00 00 00 || ? || Start Of File offset?
|-
| style="background-color:#6666ff;" | 0x20 || style="background-color:#6666ff;" | 0x08 || - || 02 00 00 00 00 00 00 00 || ? || ?
|-
| style="background-color:#efff66;" | 0x28 || style="background-color:#efff66;" | 0x08 || '''Length total ?''' || AC 09 00 00 00 00 00 00 || 09 AC || total length of the file/End Of File offset? (container+param.sfo)
|-
| style="background-color:#0066ff;" | 0x30 || style="background-color:#0066ff;" | 0x08 || - || 00 00 00 00 00 00 00 00 || -- || not used?
|-
| style="background-color:#efff66;" | 0x38 || style="background-color:#efff66;" | 0x08 || '''Length first chunk/start second chunk?''' || D0 01 00 00 00 00 00 00 || 01 D0 || length first chunk/start second chunk offset?
|-
| style="background-color:#dddddd;" | 0x40 || style="background-color:#dddddd;" | 0x08 || - || 30 04 00 00 00 00 00 00 || ? || ?
|-
| style="background-color:#55ff55;" | 0x48 || style="background-color:#55ff55;" | 0x02 || - || 01 00 || ? || ?
|-
| style="background-color:#dddddd;" | 0x4A || style="background-color:#dddddd;" | 0x20 || - || xx ... xx || ? || sha256 hmac of (0x1F0 to 0x620)
|-
| style="background-color:#aaffaa;" | 0x6A || style="background-color:#aaffaa;" | 0x16 || - || FF FF ... 00 00 || ? || not used?
|-
| style="background-color:#6666ff;" | 0x80 || style="background-color:#6666ff;" | 0x08 || - || 01 00 00 00 00 00 00 00 || ? || ?
|-
| style="background-color:#efff66;" | 0x08 || style="background-color:#efff66;" | 0x08 || - || 00 08 00 00 00 00 00 00 || ? || Start Of PARAM.SFO offset?
|-
| style="background-color:#dd01dd;" | 0x90 || style="background-color:#dd00dd;" | 0x08 || '''Length PARAM.SFO? ''' || AC 01 00 00 00 00 00 00 || 01 AC || length PARAM.SFO?
|-
| style="background-color:#55ff55;" | 0x98 || style="background-color:#55ff55;" | 0x02 || - || 01 00 || ? || ?
|-
| style="background-color:#dddddd;" | 0x9A || style="background-color:#dddddd;" | 0x20 || - || xx ... xx || ? || sha256 hmac of (0x1F0 to end)
|-
| style="background-color:#aaffaa;" | 0xBA || style="background-color:#aaffaa;" | 0x16 || - || FF FF ... 00 00 || ? || not used?
|-
| style="background-color:#dddddd;" | 0xD0 || style="background-color:#dddddd;" | 0x100 || - || xx ... xx || ? || Signature (sha256 of first 0xD0 bytes, RSASSA-PKCS1-v1_5 2048bit)
|-
|colspan="9" style="text-align:center; background-color:#e2ffe2;" | '''Second chunk'''
|-
| style="background-color:#55ff55;" | 0x15C || style="background-color:#55ff55;" | 0x08 || - || xx ... xx || ? || Unique User Identification
|-
| style="background-color:#55ff55;" | 0x1D0 || style="background-color:#55ff55;" | 0x04 || - || 01 00 00 00 || ? || ?
|-
| style="background-color:#d0000d;" | 0x1D4 || style="background-color:#d0000d;" | 0x04 || '''FW version ?''' || 52 01 || 1.52 || [[System Firmware]] should be similar to one of the SFO parameter?
|-
| style="background-color:#d0000d;" | 0x1D8 || style="background-color:#d0000d;" | 0x10? || '''Product code ?''' || 43 55 53 41 30 30 32 35 30 00 00 00 00 00 00 00 || CUSA00250 || [[Productcode]] should be similar to the Title id parameter
|-
| style="background-color:#dddddd;" | 0x1E8 || style="background-color:#dddddd;" | 0x10 || - || xx xx || ? || not used?
|-
| style="background-color:#d0000d;" | 0x1F8 || style="background-color:#d0000d;" | 0x02 || - || xx xx || ? || decimal of the product code
|-
| style="background-color:#dddddd;" | 0x1FA || style="background-color:#dddddd;" | 0x06 || - || C2 AC 03 00 00 34 || ? || ?
|-
| style="background-color:#d0000d;" | 0x200 || style="background-color:#d0000d;" | 0x02 || - || xx xx || ? || deciamal of last accessed Title id
|-
| style="background-color:#dddddd;" | 0x202 || style="background-color:#dddddd;" | 0x06 || - || C2 AC 03 00 00 35 || ? || ?
|-
|colspan="9" style="text-align:center; background-color:#e2e2ff;" | ...
|-
| style="background-color:#505346;" | 0x800 || style="background-color:#505346;" | 0x04 || '''Magic of PARAM.SFO''' || 00 50 53 46 || PSF || The PARAM.SFO start, see internal structure
|-
|}
 
=== Internal Structure ===
==== 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;"
*[https://raw.github.com/wargio/vitatool/master/sfo_stuff.c sfo_stuff.c]
 
{| 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'''
|-
| 0x00 || 00 50 53 46 || 0x04 || " PSF" Magic
|-
| 0x04 || 01 01 00 00 || 0x04 || Version
|-
| 0x08 || xx xx 00 00 || 0x04 || Key table start offset
|-
| 0x0C || xx xx 00 00 || 0x04 || Data table start offset
|-
| 0x10 || xx 00 00 00 || 0x04 || № of entries in index table
|-
|}
 
<source lang="c">
typedef struct sfo_header_t {
    int magic; //PSF
    int version; //1.1
    int keyTableOffset;
    int dataTableOffset;
    int indexTableEntries;
} sfo_header_t;
</source>
 
==== Index table ====
Starting at offset 0x14, this structure (0x10) is repeated the number of times defined in the header ( № of parameters)
 
{| 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 (type of data)
|-
| 0x18 || xx xx 00 00 || 0x04 || parameter length
|-
| 0x1C || xx xx 00 00 || 0x04 || parameter max length
|-
| 0x20 || 00 00 00 00 || 0x04 || Data table offset
|-
|}
 
<source lang="c">
typedef struct indexTableEntry_t {
    unsigned int16 keyOffset; //offset of keytable + keyOffset
    unsigned int16 param_fmt; //enum (see below)
    unsigned int32 paramLen;
    unsigned int32 paramMaxLen;
    unsigned int32 dataOffset; //offset of datatable + dataOffset
} indexTableEntry_t;
</source>
 
Used on index table, type of data are:
 
{| 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 || Used in contents generated by the system (e.g.: save data)
|-
| 04 02 || style="background-color:#DDDD00;" | utf-8 || Character string, NULL finished (0x00)
|-
| 04 04 || style="background-color:#DD00DD;" | integer || 32 bits unsigned
|-
|}
 
==== Key table ====
Ordered alphabetically, each name of parameters of this table is NULL terminated with 1 blank byte (0x00) to separate them.
 
The table has padding at the end to align their size to a multiply of 4 ( if matches with a multiply of 4 this padding doesn't exist)
 
==== Data table ====
*UTF-8 entries never uses all the reserved bytes, needs 1 blank byte (0x00) after the last character.
 
*Integer entries uses all the reserved bytes.
 
=== Parameters Descriptions===
====APP_TYPE====
{{Boxinfo3|content='''param_fmt''': uint32_t<br />'''param_max_len''': 0x4 (4 bytes)<br />'''param_len''': 0x4 (4 bytes)}}
{{Boxtip1|content='''Used by''':  PS4 Game (Digital), PS4 Game Patch, PS2 Classic }}
 
{| class="wikitable" style="text-align: center;border:2px solid #000EEE;"
|-
| style="background-color:#505346; color:#FFFFFF;" |'''Value'''
| style="background-color:#505346; color:#FFFFFF;" |'''Standard name''' 
| style="background-color:#505346; color:#FFFFFF;" |'''Note''' 
|-
| 0 || Not Specified
|-
| 1 || Paid Standalone Full App || allows only the purchased user and users on the same activated console to play with certain number of console limitation.
|-
| 2 || Upgradable App || single application binary that can be upgraded from free trial to paid full application based on the purchased status of skus on PlayStation®Store or license information on Blu-ray Disc. Trial sku can be also played on Kiosk unit.
|-
| 3 || Demo App ||  has no limitation on number of consoles to be played. Demo application is typically distributed from PlayStation®Store or Disc for free. This application can be played on Kiosk unit.  This application cannot have trophies.
 
e.g.  A non-upgradable demo application, a free full application without an AC, applications created for specific events
|-
| 4 || Freemium App || free full application that comes with paid additional contents.  This application may have trophies of freemium game scope.
|-
|}
 
====APP_VER====
{{Boxinfo3|content='''param_fmt''': utf-8<br />'''param_max_len''': 0x8 (8 bytes)<br />'''param_len''': 0x6 (6 bytes)}}
{{Boxtip1|content='''Used by''': PS4 Game (Digital), PS4 Game Patch, PS2 Classic}}
 
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====
{{Boxinfo3|content='''param_fmt''': uint32_t<br />'''param_max_len''': 0x4 (4 bytes)<br />'''param_len''': 0x4 (4 bytes)}}
{{Boxtip1|content='''Used by''':  PS4 Game (Digital), PS4 Game Patch, Additional Content, PS2 Classic}}
 
Can contains 32 flags that can be turned on/off to activate/deactivate features allowed for the game/apps content.
 
FW min for FW column (SYSTEM_VER) seen.
 
Flag № column is for easy wikify/chat.
 
{| class="wikitable" style="font-size:x-small; text-align: center;border:3px ridge #000FFF;"
|-
! colspan="2" | Hexadecimal !! rowspan="2" | Decimal !! rowspan="2" | Binary <br /> (flags) !! rowspan="2" | Notes  <br /> (feature) !! rowspan="2" | FW || rowspan="2" | Flag № <br /> (flag required)
|-
! little endian !! big endian
|- bgcolor="#DDDDDD"
| style="background-color:black;" | || colspan="6" style="text-align:center;" | ???
|-
| {{stylematrix}} '''01''' 00 00 00 || 00 00 00 '''01''' || 1 || 00000000 00000000 00000000 0000000'''1''' || The application does support the initial user's logout || - || 01
|-
| {{stylematrix}} '''02''' 00 00 00 || 00 00 00 '''02''' || 2 || 00000000 00000000 00000000 000000'''1'''0 || Enter Button Assignment for the common dialog: Cross button || 1.05? || 02
|-
| {{stylematrix}} '''04''' 00 00 00 || 00 00 00 '''04''' || 4 || 00000000 00000000 00000000 00000'''1'''00 || Menu for Warning Dialog for PS Move is displayed in the option menu || - || 03
|-
| {{stylematrix}} '''08''' 00 00 00 || 00 00 00 '''08''' || 8 || 00000000 00000000 00000000 0000'''1'''000 || The application supports Stereoscopic 3D || - || 04
|-
| {{stylematrix}} '''10''' 00 00 00 || 00 00 00 '''10''' || 16 || 00000000 00000000 00000000 000'''1'''0000 || The application is suspended when PS button is pressed (e.g. Amazon Instant Video) || 1.05? || 05
|-
| {{stylematrix}} '''20''' 00 00 00 || 00 00 00 '''20''' || 32 || 00000000 00000000 00000000 00'''1'''00000 || Enter Button Assignment for the common dialog: Assigned by the System Software || - || 06
|-
| {{stylematrix}} '''40''' 00 00 00 || 00 00 00 '''40''' || 64 || 00000000 00000000 00000000 0'''1'''000000 || The application overwrites the default behavior of the Share Menu || - || 07
|-
| {{stylematrix}} '''80''' 00 00 00 || 00 00 00 '''80''' || 128 || 00000000 00000000 00000000 '''1'''0000000 || - || - || 08
|- bgcolor="#DDDDDD"
| style="background-color:black;" | || colspan="6" style="text-align:center;" | ???
|-
| {{stylematrix}} 00 '''01''' 00 00 || 00 00 '''01''' 00 || 256 || 00000000 00000000 0000000'''1''' 00000000 ||  The application is suspended when the special output resolution is set and PS button is pressed || - || 09 (05)
|-
| {{stylematrix}} 00 '''02''' 00 00 || 00 00 '''02''' 00 || 512 || 00000000 00000000 000000'''1'''0 00000000 ||  HDCP is enabled || - || 10
|-
| {{stylematrix}} 00 '''04''' 00 00 || 00 00 '''04''' 00 || 1024 || 00000000 00000000 00000'''1'''00 00000000 ||  HDCP is disabled for non games app || - || 11
|-
| {{stylematrix}} 00 '''08''' 00 00 || 00 00 '''08''' 00 || 2048 || 00000000 00000000 0000'''1'''000 00000000 ||  - || - || 12
|-
| {{stylematrix}} 00 '''10''' 00 00 || 00 00 '''10''' 00 || 4096 || 00000000 00000000 000'''1'''0000 00000000 ||  - || - || 13
|-
| {{stylematrix}} 00 '''20''' 00 00 || 00 00 '''20''' 00 || 8192 || 00000000 00000000 00'''1'''00000 00000000 ||  - || - || 14
|-
| {{stylematrix}} 00 '''40''' 00 00 || 00 00 '''40''' 00 || 16384 || 00000000 00000000 0'''1'''000000 00000000 ||  This Application supports PlayStation VR || - || 15
|-
| {{stylematrix}} 00 '''80''' 00 00 || 00 00 '''80''' 00 || 32768 || 00000000 00000000 '''1'''0000000 00000000 ||  <s>The application does not use the Download Data (?)</s> CPU mode (6 CPU) || - || 16
|- bgcolor="#DDDDDD"
| style="background-color:black;" | || colspan="6" style="text-align:center;" | ???
|-
| {{stylematrix}} 00 00 '''01''' 00 || 00 '''01''' 00 00 || 65536 || 00000000 0000000'''1''' 00000000 00000000 || CPU mode (7 CPU) || - || 17
|-
| {{stylematrix}} 00 00 '''02''' 00 || 00 '''02''' 00 00 || 131072 || 00000000 000000'''1'''0 00000000 00000000 ||  - || - || 18
|-
| {{stylematrix}} 00 00 '''04''' 00 || 00 '''04''' 00 00 || 262144 || 00000000 00000'''1'''00 00000000 00000000 ||  - || - || 19
|-
| {{stylematrix}} 00 00 '''08''' 00 || 00 '''08''' 00 00 || 524288 || 00000000 0000'''1'''000 00000000 00000000 ||  - || - || 20
|-
| {{stylematrix}} 00 00 '''10''' 00 || 00 '''10''' 00 00 || 1048576 || 00000000 000'''1'''0000 00000000 00000000 ||  - || - || 21
|-
| {{stylematrix}} 00 00 '''20''' 00 || 00 '''20''' 00 00 || 2097152 || 00000000 00'''1'''00000 00000000 00000000 ||  - || - || 22
|-
| {{stylematrix}} 00 00 '''40''' 00 || 00 '''40''' 00 00 || 4194304 || 00000000 0'''1'''000000 00000000 00000000 ||  - || - || 23
|-
| {{stylematrix}} 00 00 '''80''' 00 || 00 '''80''' 00 00 || 8388608 || 00000000 '''1'''0000000 00000000 00000000 ||  The application supports NEO mode (PS4 pro) || - || 24
|- bgcolor="#DDDDDD"
| style="background-color:black;" | || colspan="6" style="text-align:center;" | ???
|-
| {{stylematrix}} 00 00 00 '''01''' || '''01''' 00 00 00 || 16777216 || 0000000'''1''' 00000000 00000000 00000000 ||  - || - || 25
|-
| {{stylematrix}} 00 00 00 '''02''' || '''02''' 00 00 00 || 33554432 || 000000'''1''' 000000000 00000000 00000000 ||  - || - || 26
|-
| {{stylematrix}} 00 00 00 '''04''' || '''04''' 00 00 00 || 67108864 ||  00000'''1'''00 00000000 00000000 00000000 ||  The Application Requires PlayStation VR || - || 27 (15?)
|-
| {{stylematrix}} 00 00 00 '''08''' || '''08''' 00 00 00 || 134217728 || 0000'''1'''000 00000000 00000000 00000000 ||  - || - || 28
|-
| {{stylematrix}} 00 00 00 '''10''' || '''10''' 00 00 00 || 268435456 || 000'''1'''0000 00000000 00000000 00000000 ||  - || - || 29
|-
| {{stylematrix}} 00 00 00 '''20''' || '''20''' 00 00 00 || 536870912 || 00'''1'''00000 00000000 00000000 00000000 ||  This Application Supports HDR || 4.50(?) || 30
|-
| {{stylematrix}} 00 00 00 '''40''' || '''40''' 00 00 00 || 1073741824 || 0'''1'''000000 00000000 00000000 00000000 ||  - || - || 31
|-
| {{stylematrix}} 00 00 00 '''80''' || '''80''' 00 00 00 || 2147483648 || '''1'''0000000 00000000 00000000 00000000 ||  Display Location (?) || - || 32
|-
|}
 
*'''Flag №1'''The application does not support the initial user's logout is set per default.
*'''Flag №2''' {{padcross}} / {{padcircle}} button assignment can be set per title using the param.sfo - it is however recommended to not deviate from the system standard as set per region/country. Without a value set, it defaults to the system standard.
*'''Flag №16''' CPU mode must be 6 CPU mode if extra USB Audio devices are used
*'''Flag №27''' The Application Requires PlayStation VR: By removing it, you can bypass (some games only?) the requirement of connecting the PSVR and experience a PSVR game without the VR.
 
====ATTRIBUTE2====
{{Boxinfo3|content='''param_fmt''': uint32_t<br />'''param_max_len''': 0x4 (4 bytes)<br />'''param_len''': 0x4 (4 bytes)}}
{{Boxtip1|content='''Used by''':  PS4 Game Patch}}
 
Can contains 32 flags that can be turned on/off to activate/deactivate features allowed for the game/apps content.
 
FW min for FW column (SYSTEM_VER) seen.
 
Flag № column is for easy wikify/chat.
 
{| class="wikitable" style="font-size:x-small; text-align: center;border:3px ridge #000FFF;"
|-
! colspan="2" | Hexadecimal !! rowspan="2" | Decimal !! rowspan="2" | Binary <br /> (flags) !! rowspan="2" | Notes  <br /> (feature) !! rowspan="2" | FW || rowspan="2" | Flag № <br /> (flag required)
|-
! little endian !! big endian
|- bgcolor="#DDDDDD"
| style="background-color:black;" | || colspan="6" style="text-align:center;" | ???
|-
| {{stylematrix}} '''01''' 00 00 00 || 00 00 00 '''01''' || 1 || 00000000 00000000 00000000 0000000'''1''' || - || - || 01
|-
| {{stylematrix}} '''02''' 00 00 00 || 00 00 00 '''02''' || 2 || 00000000 00000000 00000000 000000'''1'''0 || The application supports Video Recording Feature (SDK4000 or newer) || - || 02
|-
| {{stylematrix}} '''04''' 00 00 00 || 00 00 00 '''04''' || 4 || 00000000 00000000 00000000 00000'''1'''00 || The application supports Content Search Feature (SDK4000 or newer) || - || 03
|-
| {{stylematrix}} '''08''' 00 00 00 || 00 00 00 '''08''' || 8 || 00000000 00000000 00000000 0000'''1'''000 || - || - || 04
|-
| {{stylematrix}} '''10''' 00 00 00 || 00 00 00 '''10''' || 16 || 00000000 00000000 00000000 000'''1'''0000 || PSVR Personal Eye-to-Eye distance setting disabled (SDK4000 or newer) || - || 05
|-
| {{stylematrix}} '''20''' 00 00 00 || 00 00 00 '''20''' || 32 || 00000000 00000000 00000000 00'''1'''00000 || PSVR Personal Eye-to-Eye distance dynamically changeable (SDK4000 or newer) || - || 06
|-
| {{stylematrix}} '''40''' 00 00 00 || 00 00 00 '''40''' || 64 || 00000000 00000000 00000000 0'''1'''000000 || - || - || 07
|-
| {{stylematrix}} '''80''' 00 00 00 || 00 00 00 '''80''' || 128 || 00000000 00000000 00000000 '''1'''0000000 || - || - || 08
|- bgcolor="#DDDDDD"
| style="background-color:black;" | || colspan="6" style="text-align:center;" | ???
|-
| {{stylematrix}} 00 '''01''' 00 00 || 00 00 '''01''' 00 || 256 || 00000000 00000000 0000000'''1''' 00000000 || The application supports broadcast separate mode || - || 09
|-
| {{stylematrix}} 00 '''02''' 00 00 || 00 00 '''02''' 00 || 512 || 00000000 00000000 000000'''1'''0 00000000 || The library does not apply dummy load for tracking Playstation Move to CPU (SDK4000 or newer) || - || 10
|-
| {{stylematrix}} 00 '''04''' 00 00 || 00 00 '''04''' 00 || 1024 || 00000000 00000000 00000'''1'''00 00000000 || - || - || 11
|-
| {{stylematrix}} 00 '''08''' 00 00 || 00 00 '''08''' 00 || 2048 || 00000000 00000000 0000'''1'''000 00000000 || The application supports One on One match event with an old SDK (SDK 3500 or older) || - || 12
|-
| {{stylematrix}} 00 '''10''' 00 00 || 00 00 '''10''' 00 || 4096 || 00000000 00000000 000'''1'''0000 00000000 || The application supports Team on team tournament with an old SDK (SDK 4500 or older) || - || 13
|-
| {{stylematrix}} 00 '''20''' 00 00 || 00 00 '''20''' 00 || 8192 || 00000000 00000000 00'''1'''00000 00000000 || - || - || 14
|-
| {{stylematrix}} 00 '''40''' 00 00 || 00 00 '''40''' 00 || 16384 || 00000000 00000000 0'''1'''000000 00000000 || - || - || 15
|-
|-
| {{stylematrix}} 00 '''80''' 00 00 || 00 00 '''80''' 00 || 32768 || 00000000 00000000 '''1'''0000000 00000000 || - || - || 16
| style="background-color:#50464F; color:#FFFFFF;" |'''Offset'''
|- bgcolor="#DDDDDD"
| style="background-color:#50464F; color:#FFFFFF;" |'''Data'''
| style="background-color:black;" | || colspan="6" style="text-align:center;" | ???
| style="background-color:#50464F; color:#FFFFFF;" |'''Length'''
| style="background-color:#50464F; color:#FFFFFF;" |'''Notes'''
|-
|-
| {{stylematrix}} 00 00 '''01''' 00 || 00 '''01''' 00 00 || 65536 || 00000000 0000000'''1''' 00000000 00000000 || - || - || 17
| 0x0 || 0x00505346 || 0x04 || PSF Magic
|-
|-
| {{stylematrix}} 00 00 '''02''' 00 || 00 '''02''' 00 00 || 131072 || 00000000 000000'''1'''0 00000000 00000000 || - || - || 18
| 0x4 || 0x01010000 || 0x04  || Version
|-
|-
| {{stylematrix}} 00 00 '''04''' 00 || 00 '''04''' 00 00 || 262144 || 00000000 00000'''1'''00 00000000 00000000 || - || - || 19
| 0x8 || - || 0x04 || Value Start
|-
|-
| {{stylematrix}} 00 00 '''08''' 00 || 00 '''08''' 00 00 || 524288 || 00000000 0000'''1'''000 00000000 00000000 || - || - || 20
| 0xC || - || 0x04 || Params Start
|-
|-
| {{stylematrix}} 00 00 '''10''' 00 || 00 '''10''' 00 00 || 1048576 || 00000000 000'''1'''0000 00000000 00000000 || - || - || 21
| 0x4 || - || 0x04 || N° of params/values
|-
| {{stylematrix}} 00 00 '''20''' 00 || 00 '''20''' 00 00 || 2097152 || 00000000 00'''1'''00000 00000000 00000000 || - || - || 22
|-
| {{stylematrix}} 00 00 '''40''' 00 || 00 '''40''' 00 00 || 4194304 || 00000000 0'''1'''000000 00000000 00000000 || - || - || 23
|-
| {{stylematrix}} 00 00 '''80''' 00 || 00 '''80''' 00 00 || 8388608 || 00000000 '''1'''0000000 00000000 00000000 || - || - || 24
|- bgcolor="#DDDDDD"
| style="background-color:black;" | || colspan="6" style="text-align:center;" | ???
|-
| {{stylematrix}} 00 00 00 '''01''' || '''01''' 00 00 00 || 16777216 || 0000000'''1''' 00000000 00000000 00000000 || - || - || 25
|-
| {{stylematrix}} 00 00 00 '''02''' || '''02''' 00 00 00 || 33554432 || 000000'''1''' 000000000 00000000 00000000 || - || - || 26
|-
| {{stylematrix}} 00 00 00 '''04''' || '''04''' 00 00 00 || 67108864 ||  00000'''1'''00 00000000 00000000 00000000 || - || - || 27
|-
| {{stylematrix}} 00 00 00 '''08''' || '''08''' 00 00 00 || 134217728 || 0000'''1'''000 00000000 00000000 00000000 || - || - || 28
|-
| {{stylematrix}} 00 00 00 '''10''' || '''10''' 00 00 00 || 268435456 || 000'''1'''0000 00000000 00000000 00000000 || - || - || 29
|-
| {{stylematrix}} 00 00 00 '''20''' || '''20''' 00 00 00 || 536870912 || 00'''1'''00000 00000000 00000000 00000000 || - || - || 30
|-
| {{stylematrix}} 00 00 00 '''40''' || '''40''' 00 00 00 || 1073741824 || 0'''1'''000000 00000000 00000000 00000000 || - || - || 31
|-
| {{stylematrix}} 00 00 00 '''80''' || '''80''' 00 00 00 || 2147483648 || '''1'''0000000 00000000 00000000 00000000 || - || - || 32
|-
|-
|}
|}


====CATEGORY====
=== Parameters ===
{{Boxinfo3|content='''param_fmt''': utf-8<br />'''param_max_len''': 0x4 (4 bytes)<br />'''param_len''': 0x4 (4 bytes)}}
{{Boxtip1|content='''Used by''':  All?}}
 
Merged with [http://www.psdevwiki.com/vita/index.php?title=System_File_Object_%28SFO%29_%28PSF%29#CATEGORY PS Vita Category]
{| class="wikitable" style="text-align: center;border:2px dotted #123AAA;"
|-
! {{cellcolors|#505346|white}} Value
! {{cellcolors|#505346|white}} Description
! {{cellcolors|#505346|white}} PSVita
! {{cellcolors|#505346|white}} PS4
! {{cellcolors|#505346|white}} App Type
! {{cellcolors|#505346|white}} Note
|-
| ac  || Additional Content || {{Yes2}} Yes || {{Yes2}} Yes || {{dunno}} Unknown || (PS4 theme also) e.g.: TOY MAKER for THE PLAYROOM (PS4)
|-
| bd  || Blu-ray Disc? || {{dunno}} Unknown || {{Yes2}} Yes || {{dunno}} Unknown ||
|-
| gc  || Game Content(?) || {{Yes2}} Yes || {{dunno}} Unknown || {{dunno}} Unknown ||
|-
| gd  || Game Digital Application || {{Yes2}} Yes || {{Yes2}} Yes || SCE_LNC_APP_TYPE_BIG_APP ||
|-
| {{cellcolors|#aaaaaa|white}}gda || System Application || {{Yes2}} Yes || {{Yes2}} Yes || SCE_LNC_APP_TYPE_MINI_APP ||
|-
| {{cellcolors|#aaaaaa|white}}gdb || - || {{Yes2}} Yes || {{dunno}} Unknown || SCE_LNC_APP_TYPE_INVALID ||
|-
| {{cellcolors|#51001f|white}}gdc || Non-Game Big Application || {{Yes2}} Yes || {{Yes2}} Yes(?) || SCE_LNC_APP_TYPE_BIG_APP || e.g.:  PS VITA Wake-up Club and others [http://www.psdevwiki.com/vita/index.php?title=Talk:Title_ID#PCS PCSx title ID] (PSVita)
|-
| {{cellcolors|#000fff|white}}gdd || BG Application || {{Yes2}} Yes || {{Yes2}} Yes || SCE_LNC_APP_TYPE_DAEMON ||
|-
| {{cellcolors|#00ff11|white}}gde || Non-Game Mini App / Video Service Native App || {{dunno}} Unknown || {{Yes2}} Yes || SCE_LNC_APP_TYPE_MINI_APP ||
|-
| gdg || CommonDialog || {{dunno}} Unknown || {{Yes2}} Yes || SCE_LNC_APP_TYPE_CDLG || [SceLncService] Launch CommonDialog from ShellUI is not allowed.
|-
| {{cellcolors|#ff1111|white}}gdk || Video Service Web App || {{dunno}} Unknown || {{Yes2}} Yes || SCE_LNC_APP_TYPE_MINI_APP || e.g.: Amazon Instant Video (PS4)
|-
| {{cellcolors|#11f1f1|white}}gdl || PS Cloud Beta App || {{dunno}} Unknown || {{Yes2}} Yes || SCE_LNC_APP_TYPE_SHELL_APP ||
|-
| gdO  || PS2 Classic || {{dunno}} Unknown || {{Yes2}} Yes || {{dunno}} Unknown || previous typo:gd0 or gdO?
|-
| gp  || Game Application Patch || {{Yes2}} Yes || {{Yes2}} Yes || {{dunno}} Unknown ||
|-
| {{cellcolors|#51001f|white}}gpc || Non-Game Big App Patch || {{Yes2}} Yes || {{dunno}} Unknown || {{dunno}} Unknown ||
|-
| {{cellcolors|#000fff|white}}gpd || BG Application patch || {{Yes2}} Yes || {{dunno}} Unknown || {{dunno}} Unknown ||
|-
| {{cellcolors|#00ff11|white}}gpe || Non-Game Mini App Patch / Video Service Native App Patch || {{dunno}} Unknown || {{Yes2}} Yes || {{dunno}} Unknown ||
|-
| {{cellcolors|#ff1111|white}}gpk || Video Service Web App Patch || {{dunno}} Unknown || {{Yes2}} Yes || {{dunno}} Unknown ||
|-
| {{cellcolors|#11f1f1|white}}gpl || PS Cloud Beta App Patch || {{dunno}} Unknown || {{Yes2}} Yes || {{dunno}} Unknown ||
|-
| sd  || Save Data || {{Yes2}} Yes || {{Yes2}} Yes || {{dunno}} Unknown ||
|-
| la  || License Area (Vita)? || {{dunno}} Unknown || {{dunno}} Unknown || {{dunno}} Unknown ||
|-
| wda  || - || {{Yes2}} Yes || {{dunno}} Unknown || {{dunno}} Unknown || e.g.: (Vita) User's Guide NPXS10060
|-
|}
 
====CONTENT_ID====
{{Boxinfo3|content='''param_fmt''': utf-8<br />'''param_max_len''': 0x30 (48 bytes)<br />'''param_len''': 0x25 (37 bytes)}}
{{Boxtip1|content='''Used by''': PS4 Game (Digital), PS4 Game Patch, Additional Content, PS2 Classic}}
 
See [[Content ID]]
 
====CONTENT_VER====
{{Boxinfo3|content='''param_fmt''': utf-8<br />'''param_max_len''': 0x08 (8 bytes)<br />'''param_len''': 0x06 (6 bytes)}}
{{Boxtip1|content='''Used by''': Additional Content}}
 
e.g.: "01.00"
 
====DEV_FLAG====
{{Boxinfo3|content='''param_fmt''': uint32_t<br />'''param_max_len''': 0x4 (4 bytes)<br />'''param_len''': 0x4 (4 bytes)}}
{{Boxtip1|content='''Used by''':  PS4 Game (Digital), PS4 Game Patch, Additional Content, PS2 Classic}}
 
---
 
====DISC_NUMBER====
{{Boxinfo3|content='''param_fmt''': uint32_t<br />'''param_max_len''': 0x4 (4 bytes)<br />'''param_len''': 0x4 (4 bytes)}}
{{Boxtip1|content='''Used by''':  PS4 Game (Blu-ray Disc)}}
 
Disc number: count from 01.
 
====DISC_TOTAL====
{{Boxinfo3|content='''param_fmt''': uint32_t<br />'''param_max_len''': 0x4 (4 bytes)<br />'''param_len''': 0x4 (4 bytes)}}
{{Boxtip1|content='''Used by''':  PS4 Game (Blu-ray Disc)}}
 
Total number of discs for this game.
 
====DISP_LOCATION_x====
{{Boxinfo3|content='''param_fmt''': uint32_t<br />'''param_max_len''': 0x4 (4 bytes)<br />'''param_len''': 0x1? (1 bytes?)}}
{{Boxtip1|content='''Used by''':  PS4 Game (Digital)}}
 
DISP_LOCATION_1 : Initial State
 
DISP_LOCATION_2 : Triggered State
 
{| class="wikitable" style="text-align: center;border:2px solid #000EEE;"
|-
| style="background-color:#505346; color:#FFFFFF;" |'''Value'''
| style="background-color:#505346; color:#FFFFFF;" |'''Standard name''' 
|-
| 0 || Content Area
|-
| 1 || TV & Video
|-
|}
 
====DOWNLOAD_DATA_SIZE====
{{Boxinfo3|content='''param_fmt''': uint32_t<br />'''param_max_len''': 0x4 (4 bytes)<br />'''param_len''': 0x4 (4 bytes)}}
{{Boxtip1|content='''Used by''': PS4 Game Patch, PS2 Classic}}
 
The application does not use the Download Data if 0 MiB
*0 MiB
*64 MiB
*128 MiB
*256 Mib
*512 Mib
*1 GiB
 
====EMU_VERSION====
{{Boxinfo3|content='''param_fmt''': uint32_t<br />'''param_max_len''': 0x4 (4 bytes)<br />'''param_len''': 0x4 (4 bytes)}}
{{Boxtip1|content='''Used by''': PS2 Classic}}
 
*258 (0x102)
 
====FORMAT====
{{Boxinfo3|content='''param_fmt''': utf-8<br />'''param_max_len''': 0x4 (4 bytes)<br />'''param_len''': 0x4? (4 bytes)}}
{{Boxtip1|content='''Used by''':  PS4 Game (Blu-ray Disc), PS4 Game (Digital), PS4 Game Patch, Additional Content, PS2 Classic}}
 
"obs"
 
====INSTALL_DIR_SAVEDATA====
{{Boxinfo3|content='''param_fmt''': utf-8<br />'''param_max_len''': 0xc (12 bytes)<br />'''param_len''': 0x9? (9 bytes)}}
{{Boxtip1|content='''Used by''': PS4 Game (Digital), PS4 Game Patch}}
 
Similar to TITLE_ID, identifier ( [[Productcode]] ) of the content, in the format '''WXYZ12345'''.
 
Used by demo trials/cross platforms titles.
 
====IRO_TAG====
{{Boxinfo3|content='''param_fmt''': uint32_t<br />'''param_max_len''': 0x4 (4 bytes)<br />'''param_len''': 0x4 (4 bytes)}}
{{Boxtip1|content='''Used by''': Additional Content}}
 
*SHAREfactory theme: 1
*SS Theme:  2
 
====PARENTAL_LEVEL====
{{Boxinfo3|content='''param_fmt''': uint32_t<br />'''param_max_len''': 0x4 (4 bytes)<br />'''param_len''': 0x4 (4 bytes)}}
{{Boxtip1|content='''Used by''': PS4 Game (Digital), PS4 Game Patch, PS2 Classic}}
 
It is a [http://en.wikipedia.org/wiki/Video_game_content_rating_system scale to rate the content] for the different users based in user profile settings and international rating systems as: [http://en.wikipedia.org/wiki/Pan_European_Game_Information PEGI], [http://en.wikipedia.org/wiki/Entertainment_Software_Rating_Board ESRB], [http://en.wikipedia.org/wiki/Computer_Entertainment_Rating_Organization CERO], etc...
 
====PROVIDER====
{{Boxinfo3|content='''param_fmt''': utf-8<br />'''param_max_len''': 0x80 (128 bytes)<br />'''param_len''':variable}}
{{Boxtip1|content='''Used by''': Additional Content}}
 
e.g.: "Sony Computer Entertainment"
 
====PROVIDER_xx====
{{Boxinfo3|content='''param_fmt''': utf-8<br />'''param_max_len''': 0x80 (128 bytes)<br />'''param_len''':variable}}
{{Boxtip1|content='''Used by''': Additional Content}}
 
Same parameter than PROVIDER, outnumbered from _00 to _20 (for [[Languages|localized languages]]?)
 
====PS3_TITLE_ID_LIST_FOR_BOOT====
{{Boxinfo3|content='''param_fmt''': utf-8<br />'''param_max_len''': 0x200 (512 bytes)<br />'''param_len''':variable}}
{{Boxtip1|content='''Used by''': PS4 Game Patch)}}
 
Title IDs of the PS3 key Disc (upto 32 titles) required when booting
 
====PUBTOOLINFO====
{{Boxinfo3|content='''param_fmt''': utf-8<br />'''param_max_len''': 0x200 (512 bytes)<br />'''param_len''':variable}}
{{Boxtip1|content='''Used by''': PS4 Game (Digital), Additional Content, PS2 Classic}}
 
Contains infos (UTF-8) separated by a comma (0x2C):
*c_date= yyyymmdd format (creation date)
 
*bgmhome_loud=-36.48 (used on Additional Content ps4 theme)
 
*sdk_ver=xxxxxxxx (digits to indicate [[SCEI PS4 SDK|PS4 SDK version]])
 
*st_type= (Storage Type)
 
{| class="wikitable" style="text-align: center;border:2px solid #000EEE;"
|-
| style="background-color:#505346; color:#FFFFFF;" |'''Value'''
| style="background-color:#505346; color:#FFFFFF;" |'''Standard name''' 
|-
| bd25 || Blu-ray Distribution max 25 GB
|-
| bd50 || Blu-ray Distribution max 50 GB
|-
| digital25 || Digital Distribution max 25 GB
|-
| digital50 || Digital Distribution max 50 GB
|-
|}
 
*asa=
 
*img0_l0_size=
*img0_l1_size=
*img0_ch_size=
*img0_sc_ksize=
*img0_pc_ksize=
 
====PUBTOOL_VERSION====
{{Boxinfo3|content='''param_fmt''': uint32_t<br />'''param_max_len''': 0x4 (4 bytes)<br />'''param_len''': 0x4 (4 bytes)}}
{{Boxtip1|content='''Used by''': Additional Content, PS2 Classic}}
 
Or typo and name of this parameter is PUBTOOL_VER?
 
Seen: 0x1530000, 0x1930000, 0x2670000
 
====REMOTE_PLAY_KEY_ASSIGN====
{{Boxinfo3|content='''param_fmt''': uint32_t<br />'''param_max_len''': 0x4 (4 bytes)<br />'''param_len''':Not used?}}
{{Boxtip1|content='''Used by''': PS4 Game (Digital), PS4 Game Patch, PS2 Classic}}
 
The Application uses one of the key assignment patterns (from A to H) for the Remote Play ([[SCEI PS4 SDK|PS4 SDK version]] 1.500 or newer)
 
*0x19 for PS2 Classic
 
{| class="wikitable" style="text-align: center;border:2px solid #000EEE;"
|-
| style="background-color:#505346; color:#FFFFFF;" |'''Value'''
| style="background-color:#505346; color:#FFFFFF;" |'''Standard name''' 
|-
| 0 || Pattern A
|-
| 1 || Pattern B
|-
| 2 || Pattern C
|-
| 3 || Pattern D
|-
| 4 || Pattern E
|-
| 5 || Pattern F
|-
| 6 || Pattern G
|-
| 7 || Pattern H
|-
|}
 
====SAVE_DATA_TRANSFER_TITLE_ID_LIST_x====
{{Boxinfo3|content='''param_fmt''': utf-8<br />'''param_max_len''': 0x200 (512 bytes)<br />'''param_len''':variable}}
{{Boxtip1|content='''Used by''': PS4 Game Patch}}
Same parameter outnumbered from _1 to _7.
 
====SERVICE_ID_ADDCONT_ADD_x====
{{Boxinfo3|content='''param_fmt''': utf-8<br />'''param_max_len''': 0x14 (20 bytes)<br />'''param_len''':Not used?}}
{{Boxtip1|content='''Used by''': PS4 Game (Digital), PS4 Game Patch, PS2 Classic}}
Same parameter outnumbered from _1 to _7.
 
*Value: 20
 
====SYSTEM_ROOT_VER====
{{Boxinfo3|content='''param_fmt''': uint32_t<br />'''param_max_len''': 0x4 (4 bytes)<br />'''param_len''': 0x4 (4 bytes)}}
{{Boxtip1|content='''Used by''': PS4 Game (Blu-ray Disc)}}
 
Minimum [[System Firmware]] needed to play this title
 
====SYSTEM_VER====
{{Boxinfo3|content='''param_fmt''': uint32_t<br />'''param_max_len''': 0x4 (4 bytes)<br />'''param_len''': 0x4 (4 bytes)}}
{{Boxtip1|content='''Used by''': PS4 Game (Blu-ray Disc), PS4 Game (Digital), PS4 Game Patch, PS2 Classic}}
 
Minimum [[System Firmware]] needed to play this title (conveniently, the [PS4VOLUME]/PS4/UPDATE/PS4UPDATE.PUP file (Blu-ray Disc) will be at least this version)
 
====TITLE====
{{Boxinfo3|content='''param_fmt''': utf-8<br />'''param_max_len''': 0x80 (128 bytes)<br />'''param_len''': variable}}
{{Boxtip1|content='''Used by''': PS4 Game (Blu-ray Disc), PS4 Game Patch, Additional Content, PS2 Classic}}
 
Default "title of the game" for [[Languages|all languages]].
 
====TITLE_xx====
{{Boxinfo3|content='''param_fmt''': utf-8<br />'''param_max_len''': 0x80 (128 bytes)<br />'''param_len''': variable}}
{{Boxtip1|content='''Used by''': PS4 Game (Digital), PS4 Game Patch, Additional Content}}
 
Same than TITLE but for [[Languages|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.
 
====TITLE_ID====
{{Boxinfo3|content='''param_fmt''': utf-8<br />'''param_max_len''': 0x0C (12 bytes)<br />'''param_len''': 0xA (10 bytes)}}
{{Boxtip1|content='''Used by''': PS4 Game (Blu-ray Disc), PS4 Game (Digital), PS4 Game Patch, Additional Content, PS2 Classic}}
 
Identifier ( [[Productcode]] ) of the content, in the format '''WXYZ12345'''.
 
====USER_DEFINED_PARAM_x====
{{Boxinfo3|content='''param_fmt''': uint32_t<br />'''param_max_len''': 0x4 (4 bytes)<br />'''param_len''': 0x4? (4 bytes)}}
{{Boxtip1|content='''Used by''': PS4 Game (Digital), PS4 Game Patch}}
 
Same parameter outnumbered from _1 to _4.
 
...
 
====VERSION====
{{Boxinfo3|content='''param_fmt''': utf-8<br />'''param_max_len''': 0x8 (8 bytes)<br />'''param_len''': 0x6 (6 bytes)}}
{{Boxtip1|content='''Used by''': PS4 Game (Digital), PS4 Game Patch, Additional Content, PS2 Classic}}
 
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).
 
e.g.: "01.00"
 
=== Notes ===
 
See {{talk}} page.
 
Edit :
 
06/July/2018
 
as i've found, 3 parameters which weren't here.
 
PT_PARAM, "08 00 00 00" on GTA V 1.27 update CUSA00419.
 
PUBTOOLMINVER, "00 00 99 02" (while PUBTOOLVER is "00 00 38 03") on Flynn and Freckles CUSA09872.
 
TARGET_APP_VER, "30 31 2E 30 33 00 00 00" (visibly as 01.03, while APP_VER seen as 01.04, "30 31 2E 30 34 00 00 00") on SWORD ART ONLINE Re: Hollow Fragment 1.04 update CUSA02560.
 
Edit :
 
17/July/2018


i found another parameter which wasn't here.


USB_DIR_LIST, "47 54 0A 43 41 4E 5F 45 43 55 0A 44 52 56 5F 4C 4F 47 0A 6D 75 73 69 63 0A 70 69 63 74 75 72 65" (visibly as "GT.CAN_ECU.DRV_LOG.music.picture"), the size is 256 bytes and the rest of the bytes are zeros, found in Gran Turismo Sport.


{{File Formats}}
{{File Formats}}
<noinclude>[[Category:Main]]</noinclude>
<noinclude>[[Category:Main]]</noinclude>
Please note that all contributions to PS4 Developer wiki are considered to be released under the GNU Free Documentation License 1.2 (see PS4 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)