Param.sfo: Difference between revisions

From PS4 Developer wiki
Jump to navigation Jump to search
(After looking through a few param.sfo's, I noticed that for the "FORMAT" attribute, the param_len is marked as 3, even though if it were a null-terminated string as it indicates by the fmt, it would be then marked as 4. so basically, for param_len I chang)
 
(5 intermediate revisions by 4 users not shown)
Line 4: Line 4:
Samples: [[param.sfo/samples]]
Samples: [[param.sfo/samples]]


'''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.vitadevwiki.com/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]].
'''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]].


The values contained in a parameter (other naming: key) of the SFO can be simplified as inputs/outputs for/from the content:
The values contained in a parameter (other naming: key) of the SFO can be simplified as inputs/outputs for/from the content:
Line 62: Line 62:
|-
|-
|colspan="9" style="text-align:center; background-color:#e2ffe2;" | '''Second chunk'''
|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:#55ff55;" | 0x1D0 || style="background-color:#55ff55;" | 0x04 || - || 01 00 00 00 || ? || ?
Line 71: Line 73:
| style="background-color:#dddddd;" | 0x1E8 || style="background-color:#dddddd;" | 0x10 || - || xx xx || ? || not used?
| 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:#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:#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 || ? || decimal of the product code?
| 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 || ? || ?
| style="background-color:#dddddd;" | 0x202 || style="background-color:#dddddd;" | 0x06 || - || C2 AC 03 00 00 35 || ? || ?
Line 398: Line 400:
{{Boxtip1|content='''Used by''':  All?}}
{{Boxtip1|content='''Used by''':  All?}}


Merged with [http://www.vitadevwiki.com/index.php?title=System_File_Object_%28SFO%29_%28PSF%29#CATEGORY PS Vita Category]
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;"
{| class="wikitable" style="text-align: center;border:2px dotted #123AAA;"
|-
|-
Line 405: Line 407:
! {{cellcolors|#505346|white}} PSVita
! {{cellcolors|#505346|white}} PSVita
! {{cellcolors|#505346|white}} PS4
! {{cellcolors|#505346|white}} PS4
! {{cellcolors|#505346|white}} App Type
! {{cellcolors|#505346|white}} Note
! {{cellcolors|#505346|white}} Note
|-
|-
| ac  || Additional Content || {{Yes2}} Yes || {{Yes2}} Yes || (PS4 theme also) e.g.: TOY MAKER for THE PLAYROOM (PS4)
| 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 ||
|-
|-
| bd || Blu-ray Disc? || {{dunno}} Unknown || {{Yes2}} Yes ||  
| gc || Game Content(?) || {{Yes2}} Yes || {{dunno}} Unknown || {{dunno}} Unknown ||  
|-
|-
| gc || Game Content(?) || {{Yes2}} Yes || {{dunno}} Unknown ||  
| gd || Game Digital Application || {{Yes2}} Yes || {{Yes2}} Yes || SCE_LNC_APP_TYPE_BIG_APP ||  
|-
|-
| gd  || Game Digital Application || {{Yes2}} Yes || {{Yes2}} Yes ||  
| {{cellcolors|#aaaaaa|white}}gda || System Application || {{Yes2}} Yes || {{Yes2}} Yes || SCE_LNC_APP_TYPE_MINI_APP ||  
|-
|-
| {{cellcolors|#aaaaaa|white}}gda || System Application || {{Yes2}} Yes || {{dunno}} Unknown ||  
| {{cellcolors|#aaaaaa|white}}gdb || - || {{Yes2}} Yes || {{dunno}} Unknown || SCE_LNC_APP_TYPE_INVALID ||  
|-
|-
| {{cellcolors|#aaaaaa|white}}gdb || - || {{Yes2}} Yes || {{dunno}} Unknown ||  
| {{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|#51001f|white}}gdc || Non-Game Big Application || {{Yes2}} Yes || {{Yes2}} Yes(?) || e.g.:  PS VITA Wake-up Club and others [http://www.vitadevwiki.com/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|#000fff|white}}gdd || BG Application || {{Yes2}} Yes || {{Yes2}} Yes ||  
| {{cellcolors|#00ff11|white}}gde || Non-Game Mini App / Video Service Native App || {{dunno}} Unknown || {{Yes2}} Yes || SCE_LNC_APP_TYPE_MINI_APP ||  
|-
|-
| {{cellcolors|#00ff11|white}}gde || Non-Game Mini App / Video Service Native App || {{dunno}} Unknown || {{Yes2}} Yes ||  
| 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 || e.g.: Amazon Instant Video (PS4)
| {{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 ||  
| {{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 || previous typo:gd0 or gdO?
| gdO  || PS2 Classic || {{dunno}} Unknown || {{Yes2}} Yes || {{dunno}} Unknown || previous typo:gd0 or gdO?
|-
|-
| gp  || Game Application Patch || {{Yes2}} Yes || {{Yes2}} Yes ||  
| gp  || Game Application Patch || {{Yes2}} Yes || {{Yes2}} Yes || {{dunno}} Unknown ||  
|-
|-
| {{cellcolors|#51001f|white}}gpc || Non-Game Big App Patch || {{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 ||  
| {{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 ||  
| {{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 ||  
| {{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 ||  
| {{cellcolors|#11f1f1|white}}gpl || PS Cloud Beta App Patch || {{dunno}} Unknown || {{Yes2}} Yes || {{dunno}} Unknown ||  
|-
|-
| sd  || Save Data || {{Yes2}} Yes || {{Yes2}} Yes ||  
| sd  || Save Data || {{Yes2}} Yes || {{Yes2}} Yes || {{dunno}} Unknown ||  
|-
|-
| la  || License Area (Vita)? || {{dunno}} Unknown || {{dunno}} Unknown ||  
| la  || License Area (Vita)? || {{dunno}} Unknown || {{dunno}} Unknown || {{dunno}} Unknown ||  
|-
|-
| wda  || - || {{Yes2}} Yes || {{dunno}} Unknown || e.g.: (Vita) User's Guide NPXS10060
| wda  || - || {{Yes2}} Yes || {{dunno}} Unknown || {{dunno}} Unknown || e.g.: (Vita) User's Guide NPXS10060
|-
|-
|}
|}
Line 519: Line 524:


====FORMAT====
====FORMAT====
{{Boxinfo3|content='''param_fmt''': utf-8<br />'''param_max_len''': 0x4 (4 bytes)<br />'''param_len''': 0x4? (4 bytes)}}
{{Boxinfo3|content='''param_fmt''': utf-8<br />'''param_max_len''': 0x4 (4 bytes)<br />'''param_len''': 0x3 (3 bytes)}}
{{Boxtip1|content='''Used by''':  PS4 Game (Blu-ray Disc), PS4 Game (Digital), PS4 Game Patch, Additional Content, PS2 Classic}}
{{Boxtip1|content='''Used by''':  PS4 Game (Blu-ray Disc), PS4 Game (Digital), PS4 Game Patch, Additional Content, PS2 Classic}}


Line 637: Line 642:
|-
|-
|}
|}
==== SAVEDATA_BLOCKS ====
{{Boxinfo3|content='''param_fmt''': uint64_t<br />'''param_max_len''': 0x8 (8 bytes)<br />'''param_len''':0x8 (8 bytes)}}
{{Boxtip1|content='''Used by''': PS4 Save Data}}
Sets size for save data PFS, same value as in decrypted param.sfo will be found in PFS header 'ndblock' [[PFS#Header/Superblock]]
Example if SAVEDATA_BLOCKS is set to 640:<br />
Save data uses block size of 32768 so 640x32768=20971520 will be size of PFS in bytes.


====SAVE_DATA_TRANSFER_TITLE_ID_LIST_x====
====SAVE_DATA_TRANSFER_TITLE_ID_LIST_x====
Line 680: Line 693:
====TITLE_ID====
====TITLE_ID====
{{Boxinfo3|content='''param_fmt''': utf-8<br />'''param_max_len''': 0x0C (12 bytes)<br />'''param_len''': 0xA (10 bytes)}}
{{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}}
{{Boxtip1|content='''Used by''': PS4 Game (Blu-ray Disc), PS4 Game (Digital), PS4 Game Patch, Additional Content, PS2 Classic, PS4 Save Data}}


Identifier ( [[Productcode]] ) of the content, in the format '''WXYZ12345'''.
Identifier ( [[Productcode]] ) of the content, in the format '''WXYZ12345'''.
Line 725: Line 738:


{{File Formats}}
{{File Formats}}
<noinclude>[[Category:Main]]</noinclude>
<noinclude>
[[Category:Main]]
</noinclude>

Latest revision as of 20:16, 9 August 2024

PARAM.SFO[edit | edit source]

See also Discussion page

Samples: param.sfo/samples

SFO (System File Object) file format can be also found on PSP, PSVITA, PS3. This page, as well as talk page, is mostly speculation about this content information file.

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[edit | edit source]

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.
Offset Size Name Example Value (conversion) Notes
PARAM.SFO container
First chunk
0x00 0x08 Magic ? 50 53 41 52 SCECDF ?
0x08 0x08 Version ? 01 00 00 00 01 00 00 00 v1.1? ?
0x08 0x08 - 01 00 00 00 00 00 00 00 ? ?
0x08 0x08 - 00 00 00 00 00 00 00 00 ? Start Of File offset?
0x20 0x08 - 02 00 00 00 00 00 00 00 ? ?
0x28 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)
0x30 0x08 - 00 00 00 00 00 00 00 00 -- not used?
0x38 0x08 Length first chunk/start second chunk? D0 01 00 00 00 00 00 00 01 D0 length first chunk/start second chunk offset?
0x40 0x08 - 30 04 00 00 00 00 00 00 ? ?
0x48 0x02 - 01 00 ? ?
0x4A 0x20 - xx ... xx ? sha256 hmac of (0x1F0 to 0x620)
0x6A 0x16 - FF FF ... 00 00 ? not used?
0x80 0x08 - 01 00 00 00 00 00 00 00 ? ?
0x08 0x08 - 00 08 00 00 00 00 00 00 ? Start Of PARAM.SFO offset?
0x90 0x08 Length PARAM.SFO? AC 01 00 00 00 00 00 00 01 AC length PARAM.SFO?
0x98 0x02 - 01 00 ? ?
0x9A 0x20 - xx ... xx ? sha256 hmac of (0x1F0 to end)
0xBA 0x16 - FF FF ... 00 00 ? not used?
0xD0 0x100 - xx ... xx ? Signature (sha256 of first 0xD0 bytes, RSASSA-PKCS1-v1_5 2048bit)
Second chunk
0x15C 0x08 - xx ... xx ? Unique User Identification
0x1D0 0x04 - 01 00 00 00 ? ?
0x1D4 0x04 FW version ? 52 01 1.52 System Firmware should be similar to one of the SFO parameter?
0x1D8 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
0x1E8 0x10 - xx xx ? not used?
0x1F8 0x02 - xx xx ? decimal of the product code
0x1FA 0x06 - C2 AC 03 00 00 34 ? ?
0x200 0x02 - xx xx ? deciamal of last accessed Title id
0x202 0x06 - C2 AC 03 00 00 35 ? ?
...
0x800 0x04 Magic of PARAM.SFO 00 50 53 46 PSF The PARAM.SFO start, see internal structure

Internal Structure[edit | edit source]

Header SFO[edit | edit source]

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 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
 typedef struct sfo_header_t {
     int magic; //PSF
     int version; //1.1
     int keyTableOffset;
     int dataTableOffset;
     int indexTableEntries;
 } sfo_header_t;

Index table[edit | edit source]

Starting at offset 0x14, this structure (0x10) is repeated the number of times defined in the header ( № of parameters)

Offset Data Length 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
 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;

Used on index table, type of data are:

param_fmt Format Notes
04 00 utf-8 Special Mode Used in contents generated by the system (e.g.: save data)
04 02 utf-8 Character string, NULL finished (0x00)
04 04 integer 32 bits unsigned

Key table[edit | edit source]

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[edit | edit source]

  • 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[edit | edit source]

APP_TYPE[edit | edit source]

Info
param_fmt: uint32_t
param_max_len: 0x4 (4 bytes)
param_len: 0x4 (4 bytes)
Tip
Used by: PS4 Game (Digital), PS4 Game Patch, PS2 Classic
Value Standard name 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[edit | edit source]

Info
param_fmt: utf-8
param_max_len: 0x8 (8 bytes)
param_len: 0x6 (6 bytes)
Tip
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[edit | edit source]

Info
param_fmt: uint32_t
param_max_len: 0x4 (4 bytes)
param_len: 0x4 (4 bytes)
Tip
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.

Hexadecimal Decimal Binary
(flags)
Notes
(feature)
FW Flag №
(flag required)
little endian big endian
???
01 00 00 00 00 00 00 01 1 00000000 00000000 00000000 00000001 The application does support the initial user's logout - 01
02 00 00 00 00 00 00 02 2 00000000 00000000 00000000 00000010 Enter Button Assignment for the common dialog: Cross button 1.05? 02
04 00 00 00 00 00 00 04 4 00000000 00000000 00000000 00000100 Menu for Warning Dialog for PS Move is displayed in the option menu - 03
08 00 00 00 00 00 00 08 8 00000000 00000000 00000000 00001000 The application supports Stereoscopic 3D - 04
10 00 00 00 00 00 00 10 16 00000000 00000000 00000000 00010000 The application is suspended when PS button is pressed (e.g. Amazon Instant Video) 1.05? 05
20 00 00 00 00 00 00 20 32 00000000 00000000 00000000 00100000 Enter Button Assignment for the common dialog: Assigned by the System Software - 06
40 00 00 00 00 00 00 40 64 00000000 00000000 00000000 01000000 The application overwrites the default behavior of the Share Menu - 07
80 00 00 00 00 00 00 80 128 00000000 00000000 00000000 10000000 - - 08
???
00 01 00 00 00 00 01 00 256 00000000 00000000 00000001 00000000 The application is suspended when the special output resolution is set and PS button is pressed - 09 (05)
00 02 00 00 00 00 02 00 512 00000000 00000000 00000010 00000000 HDCP is enabled - 10
00 04 00 00 00 00 04 00 1024 00000000 00000000 00000100 00000000 HDCP is disabled for non games app - 11
00 08 00 00 00 00 08 00 2048 00000000 00000000 00001000 00000000 - - 12
00 10 00 00 00 00 10 00 4096 00000000 00000000 00010000 00000000 - - 13
00 20 00 00 00 00 20 00 8192 00000000 00000000 00100000 00000000 - - 14
00 40 00 00 00 00 40 00 16384 00000000 00000000 01000000 00000000 This Application supports PlayStation VR - 15
00 80 00 00 00 00 80 00 32768 00000000 00000000 10000000 00000000 The application does not use the Download Data (?) CPU mode (6 CPU) - 16
???
00 00 01 00 00 01 00 00 65536 00000000 00000001 00000000 00000000 CPU mode (7 CPU) - 17
00 00 02 00 00 02 00 00 131072 00000000 00000010 00000000 00000000 - - 18
00 00 04 00 00 04 00 00 262144 00000000 00000100 00000000 00000000 - - 19
00 00 08 00 00 08 00 00 524288 00000000 00001000 00000000 00000000 - - 20
00 00 10 00 00 10 00 00 1048576 00000000 00010000 00000000 00000000 - - 21
00 00 20 00 00 20 00 00 2097152 00000000 00100000 00000000 00000000 - - 22
00 00 40 00 00 40 00 00 4194304 00000000 01000000 00000000 00000000 - - 23
00 00 80 00 00 80 00 00 8388608 00000000 10000000 00000000 00000000 The application supports NEO mode (PS4 pro) - 24
???
00 00 00 01 01 00 00 00 16777216 00000001 00000000 00000000 00000000 - - 25
00 00 00 02 02 00 00 00 33554432 0000001 000000000 00000000 00000000 - - 26
00 00 00 04 04 00 00 00 67108864 00000100 00000000 00000000 00000000 The Application Requires PlayStation VR - 27 (15?)
00 00 00 08 08 00 00 00 134217728 00001000 00000000 00000000 00000000 - - 28
00 00 00 10 10 00 00 00 268435456 00010000 00000000 00000000 00000000 - - 29
00 00 00 20 20 00 00 00 536870912 00100000 00000000 00000000 00000000 This Application Supports HDR 4.50(?) 30
00 00 00 40 40 00 00 00 1073741824 01000000 00000000 00000000 00000000 - - 31
00 00 00 80 80 00 00 00 2147483648 10000000 00000000 00000000 00000000 Display Location (?) - 32
  • Flag №1The application does not support the initial user's logout is set per default.
  • Flag №2 Dualshock cross button / Dualshock circle button 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[edit | edit source]

Info
param_fmt: uint32_t
param_max_len: 0x4 (4 bytes)
param_len: 0x4 (4 bytes)
Tip
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.

Hexadecimal Decimal Binary
(flags)
Notes
(feature)
FW Flag №
(flag required)
little endian big endian
???
01 00 00 00 00 00 00 01 1 00000000 00000000 00000000 00000001 - - 01
02 00 00 00 00 00 00 02 2 00000000 00000000 00000000 00000010 The application supports Video Recording Feature (SDK4000 or newer) - 02
04 00 00 00 00 00 00 04 4 00000000 00000000 00000000 00000100 The application supports Content Search Feature (SDK4000 or newer) - 03
08 00 00 00 00 00 00 08 8 00000000 00000000 00000000 00001000 - - 04
10 00 00 00 00 00 00 10 16 00000000 00000000 00000000 00010000 PSVR Personal Eye-to-Eye distance setting disabled (SDK4000 or newer) - 05
20 00 00 00 00 00 00 20 32 00000000 00000000 00000000 00100000 PSVR Personal Eye-to-Eye distance dynamically changeable (SDK4000 or newer) - 06
40 00 00 00 00 00 00 40 64 00000000 00000000 00000000 01000000 - - 07
80 00 00 00 00 00 00 80 128 00000000 00000000 00000000 10000000 - - 08
???
00 01 00 00 00 00 01 00 256 00000000 00000000 00000001 00000000 The application supports broadcast separate mode - 09
00 02 00 00 00 00 02 00 512 00000000 00000000 00000010 00000000 The library does not apply dummy load for tracking Playstation Move to CPU (SDK4000 or newer) - 10
00 04 00 00 00 00 04 00 1024 00000000 00000000 00000100 00000000 - - 11
00 08 00 00 00 00 08 00 2048 00000000 00000000 00001000 00000000 The application supports One on One match event with an old SDK (SDK 3500 or older) - 12
00 10 00 00 00 00 10 00 4096 00000000 00000000 00010000 00000000 The application supports Team on team tournament with an old SDK (SDK 4500 or older) - 13
00 20 00 00 00 00 20 00 8192 00000000 00000000 00100000 00000000 - - 14
00 40 00 00 00 00 40 00 16384 00000000 00000000 01000000 00000000 - - 15
00 80 00 00 00 00 80 00 32768 00000000 00000000 10000000 00000000 - - 16
???
00 00 01 00 00 01 00 00 65536 00000000 00000001 00000000 00000000 - - 17
00 00 02 00 00 02 00 00 131072 00000000 00000010 00000000 00000000 - - 18
00 00 04 00 00 04 00 00 262144 00000000 00000100 00000000 00000000 - - 19
00 00 08 00 00 08 00 00 524288 00000000 00001000 00000000 00000000 - - 20
00 00 10 00 00 10 00 00 1048576 00000000 00010000 00000000 00000000 - - 21
00 00 20 00 00 20 00 00 2097152 00000000 00100000 00000000 00000000 - - 22
00 00 40 00 00 40 00 00 4194304 00000000 01000000 00000000 00000000 - - 23
00 00 80 00 00 80 00 00 8388608 00000000 10000000 00000000 00000000 - - 24
???
00 00 00 01 01 00 00 00 16777216 00000001 00000000 00000000 00000000 - - 25
00 00 00 02 02 00 00 00 33554432 0000001 000000000 00000000 00000000 - - 26
00 00 00 04 04 00 00 00 67108864 00000100 00000000 00000000 00000000 - - 27
00 00 00 08 08 00 00 00 134217728 00001000 00000000 00000000 00000000 - - 28
00 00 00 10 10 00 00 00 268435456 00010000 00000000 00000000 00000000 - - 29
00 00 00 20 20 00 00 00 536870912 00100000 00000000 00000000 00000000 - - 30
00 00 00 40 40 00 00 00 1073741824 01000000 00000000 00000000 00000000 - - 31
00 00 00 80 80 00 00 00 2147483648 10000000 00000000 00000000 00000000 - - 32

CATEGORY[edit | edit source]

Info
param_fmt: utf-8
param_max_len: 0x4 (4 bytes)
param_len: 0x4 (4 bytes)
Tip
Used by: All?

Merged with PS Vita Category

Value Description PSVita PS4 App Type Note
ac Additional Content Yes Yes Unknown (PS4 theme also) e.g.: TOY MAKER for THE PLAYROOM (PS4)
bd Blu-ray Disc? Unknown Yes Unknown
gc Game Content(?) Yes Unknown Unknown
gd Game Digital Application Yes Yes SCE_LNC_APP_TYPE_BIG_APP
gda System Application Yes Yes SCE_LNC_APP_TYPE_MINI_APP
gdb - Yes Unknown SCE_LNC_APP_TYPE_INVALID
gdc Non-Game Big Application Yes Yes(?) SCE_LNC_APP_TYPE_BIG_APP e.g.: PS VITA Wake-up Club and others PCSx title ID (PSVita)
gdd BG Application Yes Yes SCE_LNC_APP_TYPE_DAEMON
gde Non-Game Mini App / Video Service Native App Unknown Yes SCE_LNC_APP_TYPE_MINI_APP
gdg CommonDialog Unknown Yes SCE_LNC_APP_TYPE_CDLG [SceLncService] Launch CommonDialog from ShellUI is not allowed.
gdk Video Service Web App Unknown Yes SCE_LNC_APP_TYPE_MINI_APP e.g.: Amazon Instant Video (PS4)
gdl PS Cloud Beta App Unknown Yes SCE_LNC_APP_TYPE_SHELL_APP
gdO PS2 Classic Unknown Yes Unknown previous typo:gd0 or gdO?
gp Game Application Patch Yes Yes Unknown
gpc Non-Game Big App Patch Yes Unknown Unknown
gpd BG Application patch Yes Unknown Unknown
gpe Non-Game Mini App Patch / Video Service Native App Patch Unknown Yes Unknown
gpk Video Service Web App Patch Unknown Yes Unknown
gpl PS Cloud Beta App Patch Unknown Yes Unknown
sd Save Data Yes Yes Unknown
la License Area (Vita)? Unknown Unknown Unknown
wda - Yes Unknown Unknown e.g.: (Vita) User's Guide NPXS10060

CONTENT_ID[edit | edit source]

Info
param_fmt: utf-8
param_max_len: 0x30 (48 bytes)
param_len: 0x25 (37 bytes)
Tip
Used by: PS4 Game (Digital), PS4 Game Patch, Additional Content, PS2 Classic

See Content ID

CONTENT_VER[edit | edit source]

Info
param_fmt: utf-8
param_max_len: 0x08 (8 bytes)
param_len: 0x06 (6 bytes)
Tip
Used by: Additional Content

e.g.: "01.00"

DEV_FLAG[edit | edit source]

Info
param_fmt: uint32_t
param_max_len: 0x4 (4 bytes)
param_len: 0x4 (4 bytes)
Tip
Used by: PS4 Game (Digital), PS4 Game Patch, Additional Content, PS2 Classic

---

DISC_NUMBER[edit | edit source]

Info
param_fmt: uint32_t
param_max_len: 0x4 (4 bytes)
param_len: 0x4 (4 bytes)
Tip
Used by: PS4 Game (Blu-ray Disc)

Disc number: count from 01.

DISC_TOTAL[edit | edit source]

Info
param_fmt: uint32_t
param_max_len: 0x4 (4 bytes)
param_len: 0x4 (4 bytes)
Tip
Used by: PS4 Game (Blu-ray Disc)

Total number of discs for this game.

DISP_LOCATION_x[edit | edit source]

Info
param_fmt: uint32_t
param_max_len: 0x4 (4 bytes)
param_len: 0x1? (1 bytes?)
Tip
Used by: PS4 Game (Digital)

DISP_LOCATION_1 : Initial State

DISP_LOCATION_2 : Triggered State

Value Standard name
0 Content Area
1 TV & Video

DOWNLOAD_DATA_SIZE[edit | edit source]

Info
param_fmt: uint32_t
param_max_len: 0x4 (4 bytes)
param_len: 0x4 (4 bytes)
Tip
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[edit | edit source]

Info
param_fmt: uint32_t
param_max_len: 0x4 (4 bytes)
param_len: 0x4 (4 bytes)
Tip
Used by: PS2 Classic
  • 258 (0x102)

FORMAT[edit | edit source]

Info
param_fmt: utf-8
param_max_len: 0x4 (4 bytes)
param_len: 0x3 (3 bytes)
Tip
Used by: PS4 Game (Blu-ray Disc), PS4 Game (Digital), PS4 Game Patch, Additional Content, PS2 Classic

"obs"

INSTALL_DIR_SAVEDATA[edit | edit source]

Info
param_fmt: utf-8
param_max_len: 0xc (12 bytes)
param_len: 0x9? (9 bytes)
Tip
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[edit | edit source]

Info
param_fmt: uint32_t
param_max_len: 0x4 (4 bytes)
param_len: 0x4 (4 bytes)
Tip
Used by: Additional Content
  • SHAREfactory theme: 1
  • SS Theme: 2

PARENTAL_LEVEL[edit | edit source]

Info
param_fmt: uint32_t
param_max_len: 0x4 (4 bytes)
param_len: 0x4 (4 bytes)
Tip
Used by: PS4 Game (Digital), PS4 Game Patch, PS2 Classic

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...

PROVIDER[edit | edit source]

Info
param_fmt: utf-8
param_max_len: 0x80 (128 bytes)
param_len:variable
Tip
Used by: Additional Content

e.g.: "Sony Computer Entertainment"

PROVIDER_xx[edit | edit source]

Info
param_fmt: utf-8
param_max_len: 0x80 (128 bytes)
param_len:variable
Tip
Used by: Additional Content

Same parameter than PROVIDER, outnumbered from _00 to _20 (for localized languages?)

PS3_TITLE_ID_LIST_FOR_BOOT[edit | edit source]

Info
param_fmt: utf-8
param_max_len: 0x200 (512 bytes)
param_len:variable
Tip
Used by: PS4 Game Patch)

Title IDs of the PS3 key Disc (upto 32 titles) required when booting

PUBTOOLINFO[edit | edit source]

Info
param_fmt: utf-8
param_max_len: 0x200 (512 bytes)
param_len:variable
Tip
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)
  • st_type= (Storage Type)
Value 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[edit | edit source]

Info
param_fmt: uint32_t
param_max_len: 0x4 (4 bytes)
param_len: 0x4 (4 bytes)
Tip
Used by: Additional Content, PS2 Classic

Or typo and name of this parameter is PUBTOOL_VER?

Seen: 0x1530000, 0x1930000, 0x2670000

REMOTE_PLAY_KEY_ASSIGN[edit | edit source]

Info
param_fmt: uint32_t
param_max_len: 0x4 (4 bytes)
param_len:Not used?
Tip
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 (PS4 SDK version 1.500 or newer)

  • 0x19 for PS2 Classic
Value 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

SAVEDATA_BLOCKS[edit | edit source]

Info
param_fmt: uint64_t
param_max_len: 0x8 (8 bytes)
param_len:0x8 (8 bytes)
Tip
Used by: PS4 Save Data

Sets size for save data PFS, same value as in decrypted param.sfo will be found in PFS header 'ndblock' PFS#Header/Superblock

Example if SAVEDATA_BLOCKS is set to 640:
Save data uses block size of 32768 so 640x32768=20971520 will be size of PFS in bytes.

SAVE_DATA_TRANSFER_TITLE_ID_LIST_x[edit | edit source]

Info
param_fmt: utf-8
param_max_len: 0x200 (512 bytes)
param_len:variable
Tip
Used by: PS4 Game Patch

Same parameter outnumbered from _1 to _7.

SERVICE_ID_ADDCONT_ADD_x[edit | edit source]

Info
param_fmt: utf-8
param_max_len: 0x14 (20 bytes)
param_len:Not used?
Tip
Used by: PS4 Game (Digital), PS4 Game Patch, PS2 Classic

Same parameter outnumbered from _1 to _7.

  • Value: 20

SYSTEM_ROOT_VER[edit | edit source]

Info
param_fmt: uint32_t
param_max_len: 0x4 (4 bytes)
param_len: 0x4 (4 bytes)
Tip
Used by: PS4 Game (Blu-ray Disc)

Minimum System Firmware needed to play this title

SYSTEM_VER[edit | edit source]

Info
param_fmt: uint32_t
param_max_len: 0x4 (4 bytes)
param_len: 0x4 (4 bytes)
Tip
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[edit | edit source]

Info
param_fmt: utf-8
param_max_len: 0x80 (128 bytes)
param_len: variable
Tip
Used by: PS4 Game (Blu-ray Disc), PS4 Game Patch, Additional Content, PS2 Classic

Default "title of the game" for all languages.

TITLE_xx[edit | edit source]

Info
param_fmt: utf-8
param_max_len: 0x80 (128 bytes)
param_len: variable
Tip
Used by: PS4 Game (Digital), PS4 Game Patch, Additional Content

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.

TITLE_ID[edit | edit source]

Info
param_fmt: utf-8
param_max_len: 0x0C (12 bytes)
param_len: 0xA (10 bytes)
Tip
Used by: PS4 Game (Blu-ray Disc), PS4 Game (Digital), PS4 Game Patch, Additional Content, PS2 Classic, PS4 Save Data

Identifier ( Productcode ) of the content, in the format WXYZ12345.

USER_DEFINED_PARAM_x[edit | edit source]

Info
param_fmt: uint32_t
param_max_len: 0x4 (4 bytes)
param_len: 0x4? (4 bytes)
Tip
Used by: PS4 Game (Digital), PS4 Game Patch

Same parameter outnumbered from _1 to _4.

...

VERSION[edit | edit source]

Info
param_fmt: utf-8
param_max_len: 0x8 (8 bytes)
param_len: 0x6 (6 bytes)
Tip
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[edit | edit source]

See Discussion 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.