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 21: Line 21:
===header===
===header===
At offset 0x0, length 0x14 (20 bytes)
At offset 0x0, length 0x14 (20 bytes)
{{Boxcode|code=<syntaxhighlight lang="c">
{{Boxcode|content=<syntaxhighlight lang="c">
struct sfo_header
struct sfo_header
{
{
Line 37: Line 37:
Every entry belongs to a '''key''' name in the '''key_table''' and defines a '''data''' area in the '''data_table'''
Every entry belongs to a '''key''' name in the '''key_table''' and defines a '''data''' area in the '''data_table'''


{{Boxcode|code=<syntaxhighlight lang="c">
{{Boxcode|content=<syntaxhighlight lang="c">
struct sfo_index_table_entry
struct sfo_index_table_entry
{
{
Line 123: Line 123:


===SFX===
===SFX===
{{Boxtip3|content= SFX is used in some discs with special content<br />SFX can be used as "templates" to generate SFO files<br />SFX can be created using a SFO as the "source". See: [[Dev_Tools#SFO2SFX|SFO2SFX]]}}
{{Boxtip3|content= SFX are used in some disc with special content<br />SFX Can be used as "templates" to generate SFO files<br />SFX Can be created using a SFO as the "source". See: [[Dev_Tools#SFO2SFX|SFO2SFX]]}}


{{Boxcode|code=<syntaxhighlight lang="xml">
{{Boxcode|content=<syntaxhighlight lang="xml">
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<paramsfo add_hidden="false">
<paramsfo add_hidden="false">
Line 138: Line 138:
This table contains all the parameters known/found for an overview of the requirements needed to build a specific PARAM.SFO for a specific HDD content (SFO's and SFX's used in disc media are not included here).
This table contains all the parameters known/found for an overview of the requirements needed to build a specific PARAM.SFO for a specific HDD content (SFO's and SFX's used in disc media are not included here).


{| class="wikitable" style="line-height:100%;;"  
{| border="1" cellspacing="0" cellpadding="5" border="#999" class="wikitable" style="border:1px solid #999; border-collapse: collapse;"  
|-
|-
! colspan=4 rowspan=3 | param !! colspan=12 | Used in SFO/SFX with [[#CATEGORY|CATEGORY]]
! colspan=4 rowspan=3 | param !! colspan=12 | Used in SFO/SFX with [[#CATEGORY|CATEGORY]]
Line 286: Line 286:
When the savedata ownership has been removed (by official DEX feature "fake save data owner") = FFFFFFFFFFFFFFFF
When the savedata ownership has been removed (by official DEX feature "fake save data owner") = FFFFFFFFFFFFFFFF


====ACCOUNTID (for trophies)====<!--messed up name when trophies was implemented-->
===ACCOUNTID===
{{Boxinfo3|content='''param_fmt''': utf8<br />'''param_max_len''': 0x10 (16 bytes)<br />'''param_len''': 0x10 (16 bytes)}}
{{Boxinfo3|content='''param_fmt''': utf8<br />'''param_max_len''': 0x10 (16 bytes)<br />'''param_len''': 0x10 (16 bytes)}}
{{Boxtip1|content='''Used by''': Trophy}}
{{Boxtip1|content='''Used by''': Trophy}}
Line 341: Line 341:
Values are stored in "Little Endian" format inside the SFO, to represent the whole tables in a "human readable" format has been needed to convert them to "Big Endian" and then to "[http://tizzyt-archive.blogspot.jp/2013/08/learning-binary.html Binary]".
Values are stored in "Little Endian" format inside the SFO, to represent the whole tables in a "human readable" format has been needed to convert them to "Big Endian" and then to "[http://tizzyt-archive.blogspot.jp/2013/08/learning-binary.html Binary]".


{| style="font-size:11px;"
|-
|
{| class="wikitable"
{| class="wikitable"
|+ATTRIBUTE flags<br>for bootable content
|+ATTRIBUTE flags for firmware features (1<sup>st</sup> byte)
! colspan="2" | Hexadecimal !! rowspan="2" | Decimal !! rowspan="2" | Binary<br>(flags) !! Feature
! colspan="2" | Hexadecimal !! rowspan="2" width="75" | Decimal !! rowspan="2" | Binary <br /> (flags) !! colspan="4" | Feature
|-
|-
! little endian !! big endian !! for bootable content
! little endian !! big endian !! width="365" | Bootable !! Save Data !! Disc Subfolders
|-
|-
| colspan="5" {{cellcolors|black}}  
| {{cellcolors|black|lime}} '''01''' 00 00 00 || 00 00 00 '''01''' || style="text-align:right;" | 1 || 00000000 00000000 00000000 0000000'''1''' || bgcolor="#DD6666" | '''PSP Remote Play (v1)''' || '''Copy Protected''' || '''Subfolder Enabled'''
|-
|-
| {{cellcolors|black|lime}} '''01''' 00 00 00 || 00 00 00 '''01''' || style="text-align:right;" | 1 || 00000000 00000000 00000000 0000000'''1''' || bgcolor="#DD6666" | '''PSP Remote Play (v1)'''
| {{cellcolors|black|lime}} '''02''' 00 00 00 || 00 00 00 '''02''' || style="text-align:right;" | 2 || 00000000 00000000 00000000 000000'''1'''0 || '''PSP<!--// and PSVita ? //--> Export''' || ''Not Used Yet'' || ''Not Used Yet''
|-
|-
| {{cellcolors|black|lime}} '''02''' 00 00 00 || 00 00 00 '''02''' || style="text-align:right;" | 2 || 00000000 00000000 00000000 000000'''1'''0 || '''PSP<!--// and PSVita ? //--> Export'''
| {{cellcolors|black|lime}} '''04''' 00 00 00 || 00 00 00 '''04''' || style="text-align:right;" | 4 || 00000000 00000000 00000000 00000'''1'''00 || bgcolor="#DD6666" | '''PSP Remote Play (v2)''' <small>''requires: PSP Remote Play (v1)''</small> || ''Not Used Yet'' || ''Not Used Yet''
|-
|-
| {{cellcolors|black|lime}} '''04''' 00 00 00 || 00 00 00 '''04''' || style="text-align:right;" | 4 || 00000000 00000000 00000000 00000'''1'''00 || bgcolor="#DD6666" | '''PSP Remote Play (v2)''' <small>''requires: PSP Remote Play (v1)''</small>
| {{cellcolors|black|lime}} '''08''' 00 00 00 || 00 00 00 '''08''' || style="text-align:right;" | 8 || 00000000 00000000 00000000 0000'''1'''000 || '''XMB In-Game Forced Enabled''' || ''Not Used Yet'' || ''Not Used Yet''
|-
|-
| {{cellcolors|black|lime}} '''08''' 00 00 00 || 00 00 00 '''08''' || style="text-align:right;" | 8 || 00000000 00000000 00000000 0000'''1'''000 || '''XMB In-Game Forced Enabled'''
| {{cellcolors|black|lime}} '''10''' 00 00 00 || 00 00 00 '''10''' || style="text-align:right;" | 16 || 00000000 00000000 00000000 000'''1'''0000 || '''XMB In-Game Disabled''' || ''Not Used Yet'' || ''Not Used Yet''
|-
|-
| {{cellcolors|black|lime}} '''10''' 00 00 00 || 00 00 00 '''10''' || style="text-align:right;" | 16 || 00000000 00000000 00000000 000'''1'''0000 || '''XMB In-Game Disabled'''
| {{cellcolors|black|lime}} '''20''' 00 00 00 || 00 00 00 '''20''' || style="text-align:right;" | 32 || 00000000 00000000 00000000 00'''1'''00000 || '''XMB In-Game Background Music''' || ''Not Used Yet'' || ''Not Used Yet''
|-
|-
| {{cellcolors|black|lime}} '''20''' 00 00 00 || 00 00 00 '''20''' || style="text-align:right;" | 32 || 00000000 00000000 00000000 00'''1'''00000 || '''XMB In-Game Background Music'''
| {{cellcolors|black|lime}} '''40''' 00 00 00 || 00 00 00 '''40''' || style="text-align:right;" | 64 || 00000000 00000000 00000000 0'''1'''000000 || '''System Voice Chat''' ? ''(See note)'' || ''Not Used Yet'' || ''Not Used Yet''
|-
|-
| {{cellcolors|black|lime}} '''40''' 00 00 00 || 00 00 00 '''40''' || style="text-align:right;" | 64 || 00000000 00000000 00000000 0'''1'''000000 || '''System Voice Chat''' ? <small>''(See notes below)''</small>
| {{cellcolors|black|lime}} '''80''' 00 00 00 || 00 00 00 '''80''' || style="text-align:right;" | 128 || 00000000 00000000 00000000 '''1'''0000000 || '''PSvita Remote Play''' || ''Not Used Yet'' || ''Not Used Yet''
|}
 
{| class="wikitable"
|+ATTRIBUTE flags for firmware screens ? (2<sup>nd</sup> byte)
! colspan="2" | Hexadecimal !! rowspan="2" width="75" | Decimal !! rowspan="2" | Binary <br /> (flags) !! colspan="4" | Feature
|-
|-
| {{cellcolors|black|lime}} '''80''' 00 00 00 || 00 00 00 '''80''' || style="text-align:right;" | 128 || 00000000 00000000 00000000 '''1'''0000000 || '''PSvita Remote Play'''
! little endian !! big endian !! width="365" | Bootable
|-
| colspan="5" {{cellcolors|black}}
|-
|-
| {{cellcolors|black|lime}} 00 '''01''' 00 00 || 00 00 '''01''' 00 || style="text-align:right;" | 256 || 00000000 00000000 0000000'''1''' 00000000 || bgcolor="#66DD66" | '''Move Controller Warning'''
| {{cellcolors|black|lime}} 00 '''01''' 00 00 || 00 00 '''01''' 00 || style="text-align:right;" | 256 || 00000000 00000000 0000000'''1''' 00000000 || bgcolor="#66DD66" | '''Move Controller Warning'''
Line 380: Line 380:
| {{cellcolors|black|lime}} 00 '''10''' 00 00 || 00 00 '''10''' 00 || style="text-align:right;" | 4096 || 00000000 00000000 000'''1'''0000 00000000 || '''Stereoscopic 3D Warning'''
| {{cellcolors|black|lime}} 00 '''10''' 00 00 || 00 00 '''10''' 00 || style="text-align:right;" | 4096 || 00000000 00000000 000'''1'''0000 00000000 || '''Stereoscopic 3D Warning'''
|-
|-
| {{cellcolors|black|lime}} 00 '''20''' 00 00 || 00 00 '''20''' 00 || style="text-align:right;" | 8192 || 00000000 00000000 00'''1'''00000 00000000 || ''Used by PlayStation Now Beta'' <small>''(a notification screen ?)''</small>
| {{cellcolors|black|lime}} 00 '''20''' 00 00 || 00 00 '''20''' 00 || style="text-align:right;" | 8192 || 00000000 00000000 00'''1'''00000 00000000 || ''Used by PlayStation Now Beta''
|-
|-
| {{cellcolors|black|lime}} 00 '''40''' 00 00 || 00 00 '''40''' 00 || style="text-align:right;" | 16384 || 00000000 00000000 0'''1'''000000 00000000 || {{cellcolors|lightgrey}} ''Not Used Yet''
| {{cellcolors|black|lime}} 00 '''40''' 00 00 || 00 00 '''40''' 00 || style="text-align:right;" | 16384 || 00000000 00000000 0'''1'''000000 00000000 || ''Not Used Yet''
|-
|-
| {{cellcolors|black|lime}} 00 '''80''' 00 00 || 00 00 '''80''' 00 || style="text-align:right;" | 32768 || 00000000 00000000 '''1'''0000000 00000000 || {{cellcolors|lightgrey}}''Not Used Yet''
| {{cellcolors|black|lime}} 00 '''80''' 00 00 || 00 00 '''80''' 00 || style="text-align:right;" | 32768 || 00000000 00000000 '''1'''0000000 00000000 || ''Not Used Yet''
|-
|}
| colspan="5" {{cellcolors|black}}  
 
|-
{| class="wikitable"
| {{cellcolors|black|lime}} 00 00 '''01''' 00 || 00 '''01''' 00 00 || style="text-align:right;" | 65536 || 00000000 0000000'''1''' 00000000 00000000 || '''Install Disc'''
|+ATTRIBUTE flags for game & software features ? (3<sup>rd</sup> byte)
|-
! colspan="2" | Hexadecimal !! rowspan="2" width="75" | Decimal !! rowspan="2" | Binary <br /> (flags) !! colspan="4" | Feature
| {{cellcolors|black|lime}} 00 00 '''02''' 00 || 00 '''02''' 00 00 || style="text-align:right;" | 131072 || 00000000 000000'''1'''0 00000000 00000000 || '''Install Packages'''
|-
| {{cellcolors|black|lime}} 00 00 '''04''' 00 || 00 '''04''' 00 00 || style="text-align:right;" | 262144 || 00000000 00000'''1'''00 00000000 00000000 || <span style="color:#ff0000">''Unknown !!!''</span>
|-
| {{cellcolors|black|lime}} 00 00 '''08''' 00 || 00 '''08''' 00 00 || style="text-align:right;" | 524288 || 00000000 0000'''1'''000 00000000 00000000 || '''Game Purchase Enabled'''
|-
| {{cellcolors|black|lime}} 00 00 '''10''' 00 || 00 '''10''' 00 00 || style="text-align:right;" | 1048576 || 00000000 000'''1'''0000 00000000 00000000 || '''License related ?''' <small>''(See notes below)''</small>
|-
| {{cellcolors|black|lime}} 00 00 '''20''' 00 || 00 '''20''' 00 00 || style="text-align:right;" | 2097152 || 00000000 00'''1'''00000 00000000 00000000 || bgcolor="#9999DD" | '''PCEngine''' (X0)
|-
| {{cellcolors|black|lime}} 00 00 '''40''' 00 || 00 '''40''' 00 00 || style="text-align:right;" | 4194304 || 00000000 0'''1'''000000 00000000 00000000 || '''License Logo Disabled'''
|-
| {{cellcolors|black|lime}} 00 00 '''80''' 00 || 00 '''80''' 00 00 || style="text-align:right;" | 8388608 || 00000000 '''1'''0000000 00000000 00000000 || '''Move Controller Enabled'''
|-
| colspan="5" {{cellcolors|black}}
|-
| {{cellcolors|black|lime}} 00 00 00 '''01''' || '''01''' 00 00 00 || style="text-align:right;" | 16777216 || 0000000'''1''' 00000000 00000000 00000000 || bgcolor="#9999DD" | Reserved (X1) <small>''requires: PCEngine'' ?</small>
|-
|-
| {{cellcolors|black|lime}} 00 00 00 '''02''' || '''02''' 00 00 00 || style="text-align:right;" | 33554432 || 000000'''1'''0 00000000 00000000 00000000 || bgcolor="#9999DD" | Reserved (X2) <small>''requires: PCEngine'' ?</small>
! little endian !! big endian !! width="365" | Bootable !! Patches (Overwrite flags)
|-
|-
| {{cellcolors|black|lime}} 00 00 00 '''03''' || '''03''' 00 00 00 || style="text-align:right;" | 50331648 || 000000'''11''' 00000000 00000000 00000000 || bgcolor="#9999DD" | Reserved (X3) <small>''requires: PCEngine'' ?</small>
| {{cellcolors|black|lime}} 00 00 '''01''' 00 || 00 '''01''' 00 00 || style="text-align:right;" | 65536 || 00000000 0000000'''1''' 00000000 00000000 || '''Install Disc''' || ''Unknown''
|-
|-
| {{cellcolors|black|lime}} 00 00 00 '''04''' || '''04''' 00 00 00 || style="text-align:right;" | 67108864 || 00000'''1'''00 00000000 00000000 00000000 || bgcolor="#9999DD" | '''NeoGeo''' (X4) <small>''requires: PCEngine''</small>
| {{cellcolors|black|lime}} 00 00 '''02''' 00 || 00 '''02''' 00 00 || style="text-align:right;" | 131072 || 00000000 000000'''1'''0 00000000 00000000 || '''Install Packages''' || ''Unknown''
|-
|-
| {{cellcolors|black|lime}} 00 00 00 '''05''' || '''05''' 00 00 00 || style="text-align:right;" | 83886080 || 00000'''1'''0'''1''' 00000000 00000000 00000000 || bgcolor="#9999DD" | Reserved (X5) <small>''requires: PCEngine'' ?</small>
| {{cellcolors|black|lime}} 00 00 '''04''' 00 || 00 '''04''' 00 00 || style="text-align:right;" | 262144 || 00000000 00000'''1'''00 00000000 00000000 || ''Unknown'' || param_key: '''RESOLUTION''', '''SOUND_FORMAT''', and ATTRIBUTE flag: '''Remote Play'''
|-
|-
| {{cellcolors|black|lime}} 00 00 00 '''06''' || '''06''' 00 00 00 || style="text-align:right;" | 100663296 || 00000'''11'''0 00000000 00000000 00000000 || bgcolor="#9999DD" | Reserved (X6) <small>''requires: PCEngine'' ?</small>
| {{cellcolors|black|lime}} 00 00 '''08''' 00 || 00 '''08''' 00 00 || style="text-align:right;" | 524288 || 00000000 0000'''1'''000 00000000 00000000 || '''Game Purchase Enabled''' || ''Unknown''
|-
|-
| {{cellcolors|black|lime}} 00 00 00 '''07''' || '''07''' 00 00 00 || style="text-align:right;" | 117440512 || 00000'''111''' 00000000 00000000 00000000 || bgcolor="#9999DD" | Reserved (X7) <small>''requires: PCEngine'' ?</small>
| {{cellcolors|black|lime}} 00 00 '''10''' 00 || 00 '''10''' 00 00 || style="text-align:right;" | 1048576 || 00000000 000'''1'''0000 00000000 00000000 || ''Unknown (See note)'' || ATTRIBUTE flag: '''XMB In-Game'''
|-
|-
| {{cellcolors|black|lime}} 00 00 00 '''08''' || '''08''' 00 00 00 || style="text-align:right;" | 134217728 || 0000'''1'''000 00000000 00000000 00000000 || {{cellcolors|lightgrey}} ''Not Used Yet''
| {{cellcolors|black|lime}} 00 00 '''20''' 00 || 00 '''20''' 00 00 || style="text-align:right;" | 2097152 || 00000000 00'''1'''00000 00000000 00000000 || bgcolor="#6666DD" | '''PCEngine''' (X0) || ATTRIBUTE flag: '''Move Controller warning'''
|-
|-
| {{cellcolors|black|lime}} 00 00 00 '''10''' || '''10''' 00 00 00 || style="text-align:right;" | 268435456 || 000'''1'''0000 00000000 00000000 00000000 || {{cellcolors|lightgrey}} ''Not Used Yet''
| {{cellcolors|black|lime}} 00 00 '''40''' 00 || 00 '''40''' 00 00 || style="text-align:right;" | 4194304 || 00000000 0'''1'''000000 00000000 00000000 || '''License Logo Disabled''' || ATTRIBUTE flag: '''Stereoscopic 3D warning'''
|-
|-
| {{cellcolors|black|lime}} 00 00 00 '''20''' || '''20''' 00 00 00 || style="text-align:right;" | 536870912 || 00'''1'''00000 00000000 00000000 00000000 || {{cellcolors|lightgrey}} ''Not Used Yet''
| {{cellcolors|black|lime}} 00 00 '''80''' 00 || 00 '''80''' 00 00 || style="text-align:right;" | 8388608 || 00000000 '''1'''0000000 00000000 00000000 || '''Move Controller Enabled''' || ATTRIBUTE flag: '''Move Controller Enabled'''
|-
| {{cellcolors|black|lime}} 00 00 00 '''40''' || '''40''' 00 00 00 || style="text-align:right;" | 1073741824 || 0'''1'''000000 00000000 00000000 00000000 || {{cellcolors|lightgrey}} ''Not Used Yet''
|-
| {{cellcolors|black|lime}} 00 00 00 '''80''' || '''80''' 00 00 00 || style="text-align:right;" | 2147483648 || '''1'''0000000 00000000 00000000 00000000 || {{cellcolors|lightgrey}} ''Not Used Yet''
|}
|}
|
 
{| class="wikitable"
{| class="wikitable"
|+ATTRIBUTE flags<br>for non bootable content
|+ATTRIBUTE flags for ? (4<sup>th</sup> byte)
! colspan="3" | Feature
! colspan="2" | Hexadecimal !! rowspan="2" width="75" | Decimal !! rowspan="2" | Binary <br /> (flags) !! colspan="4" | Feature
|-
! for Save Data !! for Disc Subfolders !! for Patches
|-
| colspan="5" {{cellcolors|black}}
|-
| '''Copy Protected''' || '''Subfolder Enabled''' || {{cellcolors|lightgrey}} ''Not Used Yet''
|-
| {{cellcolors|lightgrey}} ''Not Used Yet'' || {{cellcolors|lightgrey}} ''Not Used Yet'' || {{cellcolors|lightgrey}} ''Not Used Yet''
|-
| {{cellcolors|lightgrey}} ''Not Used Yet'' || {{cellcolors|lightgrey}} ''Not Used Yet'' || {{cellcolors|lightgrey}} ''Not Used Yet''
|-
| {{cellcolors|lightgrey}} ''Not Used Yet'' || {{cellcolors|lightgrey}} ''Not Used Yet'' || {{cellcolors|lightgrey}} ''Not Used Yet''
|-
|-
| {{cellcolors|lightgrey}} ''Not Used Yet'' || {{cellcolors|lightgrey}} ''Not Used Yet'' || {{cellcolors|lightgrey}} ''Not Used Yet''
! little endian !! big endian !! width="365" | Bootable
|-
|-
| {{cellcolors|lightgrey}} ''Not Used Yet'' || {{cellcolors|lightgrey}} ''Not Used Yet'' || {{cellcolors|lightgrey}} ''Not Used Yet''
| {{cellcolors|black|lime}} 00 00 00 '''01''' || '''01''' 00 00 00 || style="text-align:right;" | 16777216 || 0000000'''1''' 00000000 00000000 00000000 || bgcolor="#6666DD" | Reserved (X1) <small>''requires: PCEngine'' ?</small>
|-
|-
| {{cellcolors|lightgrey}} ''Not Used Yet'' || {{cellcolors|lightgrey}} ''Not Used Yet'' || {{cellcolors|lightgrey}} ''Not Used Yet''
| {{cellcolors|black|lime}} 00 00 00 '''02''' || '''02''' 00 00 00 || style="text-align:right;" | 33554432 || 000000'''1'''0 00000000 00000000 00000000 || bgcolor="#6666DD" | Reserved (X2) <small>''requires: PCEngine'' ?</small>
|-
|-
| {{cellcolors|lightgrey}} ''Not Used Yet'' || {{cellcolors|lightgrey}} ''Not Used Yet'' || {{cellcolors|lightgrey}} ''Not Used Yet''
| {{cellcolors|black|lime}} 00 00 00 '''03''' || '''03''' 00 00 00 || style="text-align:right;" | 50331648 || 000000'''11''' 00000000 00000000 00000000 || bgcolor="#6666DD" | Reserved (X3) <small>''requires: PCEngine'' ?</small>
|-
|-
| colspan="5" {{cellcolors|black}}  
| {{cellcolors|black|lime}} 00 00 00 '''04''' || '''04''' 00 00 00 || style="text-align:right;" | 67108864 || 00000'''1'''00 00000000 00000000 00000000 || bgcolor="#6666DD" | '''NeoGeo''' (X4) <small>''requires: PCEngine''</small>
|-
|-
| {{cellcolors|lightgrey}} ''Not Used Yet'' || {{cellcolors|lightgrey}} ''Not Used Yet'' || {{cellcolors|lightgrey}} ''Not Used Yet''
| {{cellcolors|black|lime}} 00 00 00 '''05''' || '''05''' 00 00 00 || style="text-align:right;" | 83886080 || 00000'''1'''0'''1''' 00000000 00000000 00000000 || bgcolor="#6666DD" | Reserved (X5) <small>''requires: PCEngine'' ?</small>
|-
|-
| {{cellcolors|lightgrey}} ''Not Used Yet'' || {{cellcolors|lightgrey}} ''Not Used Yet'' || {{cellcolors|lightgrey}} ''Not Used Yet''
| {{cellcolors|black|lime}} 00 00 00 '''06''' || '''06''' 00 00 00 || style="text-align:right;" | 100663296 || 00000'''11'''0 00000000 00000000 00000000 || bgcolor="#6666DD" | Reserved (X6) <small>''requires: PCEngine'' ?</small>
|-
|-
| {{cellcolors|lightgrey}} ''Not Used Yet'' || {{cellcolors|lightgrey}} ''Not Used Yet'' || {{cellcolors|lightgrey}} ''Not Used Yet''
| {{cellcolors|black|lime}} 00 00 00 '''07''' || '''07''' 00 00 00 || style="text-align:right;" | 117440512 || 00000'''111''' 00000000 00000000 00000000 || bgcolor="#6666DD" | Reserved (X7) <small>''requires: PCEngine'' ?</small>
|-
|-
| {{cellcolors|lightgrey}} ''Not Used Yet'' || {{cellcolors|lightgrey}} ''Not Used Yet'' || {{cellcolors|lightgrey}} ''Not Used Yet''
| {{cellcolors|black|lime}} 00 00 00 '''08''' || '''08''' 00 00 00 || style="text-align:right;" | 134217728 || 0000'''1'''000 00000000 00000000 00000000 || ''Not Used Yet''
|-
|-
| {{cellcolors|lightgrey}} ''Not Used Yet'' || {{cellcolors|lightgrey}} ''Not Used Yet'' || {{cellcolors|lightgrey}} ''Not Used Yet''
| {{cellcolors|black|lime}} 00 00 00 '''10''' || '''10''' 00 00 00 || style="text-align:right;" | 268435456 || 000'''1'''0000 00000000 00000000 00000000 || ''Not Used Yet''
|-
|-
| {{cellcolors|lightgrey}} ''Not Used Yet'' || {{cellcolors|lightgrey}} ''Not Used Yet'' || {{cellcolors|lightgrey}} ''Not Used Yet''
| {{cellcolors|black|lime}} 00 00 00 '''20''' || '''20''' 00 00 00 || style="text-align:right;" | 536870912 || 00'''1'''00000 00000000 00000000 00000000 || ''Not Used Yet''
|-
|-
| {{cellcolors|lightgrey}} ''Not Used Yet'' || {{cellcolors|lightgrey}} ''Not Used Yet'' || {{cellcolors|lightgrey}} ''Not Used Yet''
| {{cellcolors|black|lime}} 00 00 00 '''40''' || '''40''' 00 00 00 || style="text-align:right;" | 1073741824 || 0'''1'''000000 00000000 00000000 00000000 || ''Not Used Yet''
|-
|-
| {{cellcolors|lightgrey}} ''Not Used Yet'' || {{cellcolors|lightgrey}} ''Not Used Yet'' || {{cellcolors|lightgrey}} ''Not Used Yet''
| {{cellcolors|black|lime}} 00 00 00 '''80''' || '''80''' 00 00 00 || style="text-align:right;" | 2147483648 || '''1'''0000000 00000000 00000000 00000000 || ''Not Used Yet''
|-
| colspan="5" {{cellcolors|black}}
|-
| {{cellcolors|lightgrey}} ''Not Used Yet'' || {{cellcolors|lightgrey}} ''Not Used Yet'' || <span style="color:#ff0000">''Unknown !!!''</span>
|-
| {{cellcolors|lightgrey}} ''Not Used Yet'' || {{cellcolors|lightgrey}} ''Not Used Yet'' || <span style="color:#ff0000">''Unknown !!!''</span>
|-
| {{cellcolors|lightgrey}} ''Not Used Yet'' || {{cellcolors|lightgrey}} ''Not Used Yet'' || param_key: '''RESOLUTION''', '''SOUND_FORMAT''', and ATTRIBUTE flag: '''Remote Play'''
|-
| {{cellcolors|lightgrey}} ''Not Used Yet'' || {{cellcolors|lightgrey}} ''Not Used Yet'' || <span style="color:#ff0000">''Unknown !!!''</span>
|-
| {{cellcolors|lightgrey}} ''Not Used Yet'' || {{cellcolors|lightgrey}} ''Not Used Yet'' || ATTRIBUTE flag: '''XMB In-Game'''
|-
| {{cellcolors|lightgrey}} ''Not Used Yet'' || {{cellcolors|lightgrey}} ''Not Used Yet'' || ATTRIBUTE flag: '''Move Controller warning'''
|-
| {{cellcolors|lightgrey}} ''Not Used Yet'' || {{cellcolors|lightgrey}} ''Not Used Yet'' || ATTRIBUTE flag: '''Stereoscopic 3D warning'''
|-
| {{cellcolors|lightgrey}} ''Not Used Yet'' || {{cellcolors|lightgrey}} ''Not Used Yet'' || ATTRIBUTE flag: '''Move Controller Enabled'''
|-
| colspan="5" {{cellcolors|black}}
|-
| {{cellcolors|lightgrey}} ''Not Used Yet'' || {{cellcolors|lightgrey}} ''Not Used Yet'' || {{cellcolors|lightgrey}} ''Not Used Yet''
|-
| {{cellcolors|lightgrey}} ''Not Used Yet'' || {{cellcolors|lightgrey}} ''Not Used Yet'' || {{cellcolors|lightgrey}} ''Not Used Yet''
|-
| {{cellcolors|lightgrey}} ''Not Used Yet'' || {{cellcolors|lightgrey}} ''Not Used Yet'' || {{cellcolors|lightgrey}} ''Not Used Yet''
|-
| {{cellcolors|lightgrey}} ''Not Used Yet'' || {{cellcolors|lightgrey}} ''Not Used Yet'' || {{cellcolors|lightgrey}} ''Not Used Yet''
|-
| {{cellcolors|lightgrey}} ''Not Used Yet'' || {{cellcolors|lightgrey}} ''Not Used Yet'' || {{cellcolors|lightgrey}} ''Not Used Yet''
|-
| {{cellcolors|lightgrey}} ''Not Used Yet'' || {{cellcolors|lightgrey}} ''Not Used Yet'' || {{cellcolors|lightgrey}} ''Not Used Yet''
|-
| {{cellcolors|lightgrey}} ''Not Used Yet'' || {{cellcolors|lightgrey}} ''Not Used Yet'' || {{cellcolors|lightgrey}} ''Not Used Yet''
|-
| {{cellcolors|lightgrey}} ''Not Used Yet'' || {{cellcolors|lightgrey}} ''Not Used Yet'' || {{cellcolors|lightgrey}} ''Not Used Yet''
|-
| {{cellcolors|lightgrey}} ''Not Used Yet'' || {{cellcolors|lightgrey}} ''Not Used Yet'' || {{cellcolors|lightgrey}} ''Not Used Yet''
|-
| {{cellcolors|lightgrey}} ''Not Used Yet'' || {{cellcolors|lightgrey}} ''Not Used Yet'' || {{cellcolors|lightgrey}} ''Not Used Yet''
|-
| {{cellcolors|lightgrey}} ''Not Used Yet'' || {{cellcolors|lightgrey}} ''Not Used Yet'' || {{cellcolors|lightgrey}} ''Not Used Yet''
|-
| {{cellcolors|lightgrey}} ''Not Used Yet'' || {{cellcolors|lightgrey}} ''Not Used Yet'' || {{cellcolors|lightgrey}} ''Not Used Yet''
|}
|}
|}


'''ATTRIBUTE flags for bootable content (1<sup>st</sup> byte)'''
'''ATTRIBUTE flags for bootable content (1<sup>st</sup> byte)'''
The flags stored at 1st byte seems to be related with firmware features
{{Boxframe4|content=
{{Boxframe4|content=
{{Boxframe1|content='''Portables'''
{{Boxframe1|content='''Portables'''
Line 552: Line 473:


'''ATTRIBUTE flags for bootable content (2<sup>nd</sup> byte)'''
'''ATTRIBUTE flags for bootable content (2<sup>nd</sup> byte)'''
The flags stored at 2nd byte seems to be related with warning and notification screens
{{Boxframe4|content=
{{Boxframe4|content=
{{Boxframe1|content='''Move'''
{{Boxframe1|content='''Move'''
Line 570: Line 490:


'''ATTRIBUTE flags for bootable content (3<sup>rd</sup> byte)'''
'''ATTRIBUTE flags for bootable content (3<sup>rd</sup> byte)'''
The flags stored at 3rd byte seems to be related with game & software features
{{Boxframe4|content=
{{Boxframe4|content=
{{Boxframe1|content='''Discs'''
{{Boxframe1|content='''Discs'''
Line 682: Line 601:
{{Boxtip1|content='''Used by''': All but Trophy}}
{{Boxtip1|content='''Used by''': All but Trophy}}


The next tables represents the columns where the content is placed in the [[XMB]] and the CATEGORY asociated.
The next table represents the columns where the content is placed in the [[XMB]] and the CATEGORY asociated.


{{PS3 Disc Game Structure}}
{| class="wikitable"
 
|+PS3 HDD Game Structure
{{PS3 HDD Game Structure}}
! colspan="3" rowspan="2" | FileSystem Path in device<BR />dev_hdd0/game/<[[PARAM.SFO#TITLE_ID|TITLE_ID]]>/ !! rowspan="2" | XMB Icon !! colspan="8" | [[PARAM.SFO#CATEGORY|CATEGORY]] !! rowspan="2" | Since !! rowspan="2" | Generated by !! rowspan="2" | Description and Examples
|-
! {{icon category photo}} !! {{icon category music}} !! {{icon category video}} !! {{icon category tv}} !! {{icon category game}} !! {{icon category network}} !! {{icon category psn}} !! Name
|-
| colspan="3" rowspan="19" | [[PARAM.SFO]] || {{icon content ps3}} || '''AP''' || || || || || || || App Photo || || {{media pkg}} || PlayMemories
|-
| {{icon content ps3}} || || '''AM''' || || || || || || App Music || || {{media pkg}} || Qriocity Music Unlimited
|-
| {{icon content ps3}} || || || '''AV''' || || || || || App Video || || {{media pkg}} || Netflix, LoveFilm, Maxdome
|-
| {{icon content ps3}} || || || '''BV''' || || || || || Broadcast? Video || || {{media pkg}} ||
|-
| {{icon content ps3}} || || || || '''AT''' || || || || App TV || || {{media pkg}} || QOOK TV, Now TV, Torne (TV/Video Services Column hidden when no installed content)
|-
| {{icon content ps3}} || || || || '''WT''' || || || || Web? TV || 3.70 || {{media pkg}} || [http://www.animaxtv.de/ps3player Animaxtv], 4oD etc...starts Web Browser from [[Web Browser|LINK.XML]] with corresponding [[Online_Connections#TV.2FVideo_Services| online page]].
|-
| {{icon content ps3}} || || || || || || '''CB''' || || CELL? BE? || || {{media pkg}} || [[Life with PlayStation]], [http://www.scei.co.jp/folding/en/ Folding@home]
|-
| {{icon content ps3}} || || || || || || || '''AS''' || App Store ? || 4.46+ ? || {{media pkg}} || PlayStation Now
|-
| {{icon content ps3}} || || || || || || || '''HM''' || Home || || {{media pkg}} || PlayStation Home
|-
| {{icon content ps3}} || || || --- || || --- || || '''SF''' || Store Frontend? || || {{media pkg}} || PlayStation Store
|-
| {{icon content ps3}} || || || || || '''HG''' || || || HDD Game || 1.00 || {{media pkg}} || Combined with [[PARAM.SFO#ATTRIBUTE | ATTRIBUTE]] generates "subcategories" e.g:{{icon content pcengine}} and {{icon content neogeo}}
|-
| {{icon content ps2}} || || || || || '''2G'''  || || || PS2 Game || 1.31 || {{media ps2 dvd}} || PS2 Discs installed in internal HDD, only in "backward compatible" PS3's. See: [[Emulation]]
|-
| {{icon content ps2}} || || || || || '''2P''' || || || PS2 PSN ? || 3.70 || {{media pkg}} || "'''PS2 Classics'''". Re-edited PS2 games released as a .pkg in "PlayStation Store"
|-
| {{icon content ps1}} || || || || || '''1P''' || || || PS1 PSN ? || 1.70 || {{media pkg}} || "'''PS1 Classics'''". Re-edited PS1 games released as a .pkg in "PlayStation Store"
|-
| {{icon content pspminis}} || || || || || '''MN''' || || || PSP Minis || 3.15 || {{media pkg}} || "'''PSP Minis'''". Format inherited from PSP
|-
| {{icon content pspremaster}} || || || || || '''PE''' || || || PSP Emulator || 3.70 || {{media pkg}} || "'''PSP Remasters'''". Re-edited PSP games released as a .pkg in a "Install Disc"
|-
| {{icon content psp}} || || || || || '''PP''' || || || PSP || || {{media pkg}} || Not bootable, but can be copyed to a PSP or PS VITA (? as option suggest it on XMB)
|-{{cellcolors|lightblue}}
| {{icon content ps3}} || || || || || '''GD''' || || || Game Data || || {{media ps3 bd}} and {{media pkg}} || PS3 disc installs, Game updates, Game DLC, Game common user data (e.g: GT5)
|-{{cellcolors|lightblue}}
| {{icon content ps2}} || || || || || '''2D''' || || || PS2 Data || 1.31 || {{media ps2 dvd}} and {{media pkg}} || PS2 Emulator Data, DLC for PS2 Disc games (related with CATEGORY 2G). See: [[Emulation]]
|-
| C00/ || colspan="2" | [[PARAM.SFO]] || colspan="9" {{cellcolors|lightgrey}} Used with CATEGORY: '''HG''', and others ? ||  ||  || Demo
|-
| L00/ <small>''(up to 05)''</small> || colspan="2" | [[PARAM.SFO]] || colspan="9" {{cellcolors|lightgrey}} Used with CATEGORY: '''HG''', and others ? ||  ||  || Restricted content based in License Area Number
|-
| USRDIR/ || colspan="2" | [[SELF_File_Format_and_Decryption|EBOOT.BIN]] || colspan="9" {{cellcolors|lightgrey}} Used with CATEGORY: All above except '''2G''' and '''2D''' || 1.00 ||  || Main executable
|-
| USRDIR/ || colspan="2" | [[Emulation#Virtual_PS2_HDD|IMAGE.DAT]] || colspan="9" {{cellcolors|lightgrey}} Used with CATEGORY: '''2G''' and '''2D''' || 1.31 ||  || PS2 Virtual HDD
|-
| DRMDIR/ || colspan="2" | [[PKG_DIGEST.DAT]] || colspan="9" {{cellcolors|lightgrey}} || 2.80 ||  || Installation folder security hashes
|-
| HTMLDIR/ || colspan="2" | Empty ? || colspan="9" {{cellcolors|lightgrey}} ||  ||  || Example: Torne
|-
| SHOPDIR/ || colspan="2" | ? || colspan="9" {{cellcolors|lightgrey}} ||  ||  || Unknown, used in NPJA90001
|-
| [[XMB_Manuals#MANUAL_in_Game|MANUAL]]/ || colspan="2" | 001.DDS <small>''(up to 999)''</small> || colspan="9" {{cellcolors|lightgrey}} || 4.21 ||  || Game/app manuals made with pictures
|-
! colspan="3" rowspan="2" | FileSystem Path in device<BR />dev_hdd0/home/<userid>/ !! rowspan="2" | XMB Icon !! colspan="8" | [[PARAM.SFO#CATEGORY|CATEGORY]] !! rowspan="2" | Since !! rowspan="2" | Generated by !! rowspan="2" | Description and Examples
|-
! {{icon category photo}} !! {{icon category music}} !! {{icon category video}} !! {{icon category tv}} !! {{icon category game}} !! {{icon category network}} !! {{icon category psn}} !! Name
|-
| rowspan="2" | savedata/ || rowspan="2" | [[PARAM.SFO#SAVEDATA_DIRECTORY|SAVEDIR]] || [[PARAM.SFO]] || {{icon content ps3}} || || || || || '''SD''' || || || Save Data || 1.00 || {{icon content ps3}} || See: [[Game_Saves#Game_Saves_PS3 | Game Saves - PS3]]
|-
| [[PARAM.PFD]] || colspan="9" {{cellcolors|lightgrey}} ||
|-
| rowspan="2" | minis_savedata/ || rowspan="2" | [[PARAM.SFO#SAVEDATA_DIRECTORY|SAVEDIR]] || rowspan="2" | [[PARAM.SFO]] || {{icon content pspminis}} || || || || || '''MS''' || || || Memory Stick? || 3.15 || {{icon content pspminis}} || See: [[Game_Saves#Game_Saves_Minis.2FPSP_Remaster.2F_PSP | Game Saves - Minis]]
|-
| {{icon content pspremaster}} || || || || || '''MS''' || || || Memory Stick? || || {{icon content pspremaster}} || See: [[Game_Saves#Game_Saves_PSP_Remaster | Game Saves - PSP Remaster]]
|-
| psp2_backup/ || colspan="2" | etc... || {{icon content psvita}} || || || || || {{No}} || || || || 4.00 || Transfer || PSvita contents. Not bootable, import/export to PSvita
|-
|}


*Notes
*Notes
**[[Game_Saves#Game_Saves_PS1 | PS1 Game Saves]] and [[Game_Saves#Game_Saves_PS2 | PS2 Game Saves]] are stored in a Virtual Memory Card (<Virtual MemCard>.VM1 for PS1 and <Virtual MemCard>.VM2 for PS2) without a PARAM.SFO
**[[Game_Saves#Game_Saves_PS1 | PS1 Game Saves]] and [[Game_Saves#Game_Saves_PS2 | PS2 Game Saves]] are stored in a Virtual Memory Card (<Virtual MemCard>.VM1 for PS1 and <Virtual MemCard>.VM2 for PS2) without a PARAM.SFO
**PS Store icon on XMB Video and Game columns might only appear according to your settings<!--//ps icon video XMB column Works on jp, it can works also temporally on us and gb)//-->
**PS Store icon on XMB Video and Game columns might only appear according to your settings<!--//ps icon video XMB column Works on jp, it can works also temporally on us and gb)//-->
----
====Blu-Ray disc structure details====
{| class="wikitable" style="font-size:x-small;"
|+PS3 Disc Game Structure
! colspan="4" rowspan="3" | FileSystem Path in device<BR />dev_bdvd/ !! rowspan="3" | XMB<BR />icon !! colspan="8" | SFB/SFO/SFX Mandatory Parameters !! rowspan="3" | Since !! rowspan="3" | Enabled by
|-
! rowspan="2" | [[PARAM.SFO#APP_VER|APP_VER]] !! rowspan="2" | [[PARAM.SFO#ATTRIBUTE|ATTRIBUTE]] !! rowspan="2" | [[PARAM.SFO#BOOTABLE|BOOTABLE]] !! colspan="3" | [[PARAM.SFO#CATEGORY|CATEGORY]] !! rowspan="2" | [[PARAM.SFO#TITLE|TITLE]] !! rowspan="2" | [[PARAM.SFO#TITLE_ID|TITLE_ID]]
|-
! {{icon category video}} !! {{icon category game}} !! Name
|-
| colspan="4" | [[PS3_DISC.SFB]] || colspan="8" {{cellcolors|lightgrey}} || {{yes}} || 1.00 || {{cellcolors|black|white}} Enables others with '''HYBRID_FLAG'''
|-
| rowspan="9" | PS3_GAME/ || colspan="3" | [[PARAM.SFO]] || {{media ps3 bd}} || {{Opt}} || {{Opt}} || {{Opt}} ||  || '''DG''' || Disc Game || {{Yes}} || {{Yes}} || 1.00 || '''HYBRID_FLAG''' (g) in PS3_DISC.FSB
|-
| USRDIR/ || colspan="2" | [[SELF_File_Format_and_Decryption|EBOOT.BIN]] || colspan="9" {{cellcolors|lightgrey}} || 1.00 || '''BOOTABLE''' (1) in parent PARAM.SFO
|-
| rowspan="2" | INSDIR/ || colspan="2" | [[PARAM.SFO]] || {{no}}? || {{Yes}} || {{No}} || {{No}} ||  || '''AR''' || Autoinstall Root || {{No}} || {{No}} || ? || '''HYBRID_FLAG''' (g) in PS3_DISC.FSB ?
|-
| colspan="2" | [[PKG_files|DATA000.PKG]] <small>''(up to 999)''</small> || colspan="9" {{cellcolors|lightgrey}} || ? ||
|-
| rowspan="3" | PKGDIR/ || colspan="2" | [[PARAM.SFO]] || {{media ps3 bd install}} || {{No}} || {{Yes}} || {{No}} ||  || '''DP''' || Disc Packages || {{Yes}} || {{Yes}} || 1.00 ? || '''ATTRIBUTE''' (131072) in parent PARAM.SFO
|-
| rowspan="2" | PKG01/<BR /><small>''(up to 99)''</small> || [[PARAM.SFO]] || {{media pkg preinstall}} || {{No}} || {{No}} || {{No}} ||  || '''IP''' || Install Package || {{Yes}} || {{Yes}} || 1.00 ? || '''ATTRIBUTE''' (1) in parent PARAM.SFO
|-
| [[PKG_files|INSTALL.PKG]] || colspan="9" {{cellcolors|lightgrey}} || 1.00 ? ||
|-
| LICDIR/ || colspan="2" | [[LIC.DAT]] || colspan="9" {{cellcolors|lightgrey}} || 1.00 ||
|-
| TROPDIR/ || <[[PARAM.SFO#NPCOMMID|NPCOMMID]]>/ || [[TROPHY.TRP]] || colspan="9" {{cellcolors|lightgrey}} || 2.40 ||
|-
| rowspan="3" | PS3_GM01/<BR /><small>''(up to 99?)''</small> || colspan="3" | [[PARAM.SFO]] || {{media ps3 bd}} || {{Opt}} || {{Opt}} || {{Opt}} ||  || '''DG''' || Disc Game || {{Yes}} || {{Yes}} || 4.00+ ? || '''HYBRID_FLAG''' (g) in PS3_DISC.FSB
|-
| USRDIR/ || colspan="2" | [[SELF_File_Format_and_Decryption|EBOOT.BIN]] || colspan="9" {{cellcolors|lightgrey}} || 4.00+ ? || '''BOOTABLE''' (1) in parent PARAM.SFO
|-
| LICDIR/ || colspan="2" | [[LIC.DAT]] || colspan="9" {{cellcolors|lightgrey}} || 4.00+ ? || dev_bdvd/PS3_GAME/LICDIR/LIC.DAT
|-
| rowspan="5" | PS3_CONTENT/ || rowspan="2" | THEMEDIR/ || colspan="2" | [[PARAM.SFO]] || {{media ps3 bd install}} || {{No}} || {{Yes}} || {{No}} ||  || '''TR''' || Theme Root || {{Yes}} || {{No}} ? || 2.00+ || '''HYBRID_FLAG''' (T) in PS3_DISC.FSB
|-
| D001/ || [[PlayStation 3 Theme (P3T)|DATA001.P3T]]<BR /><small>''(up to 999)''</small> || {{media pkg preinstall}} || colspan="8" {{cellcolors|lightgrey}} || 2.00+ || '''ATTRIBUTE''' (1) in parent PARAM.SFO
|-
| rowspan="3" | VIDEODIR/ || colspan="2" | [[PARAM.SFO]] || {{media ps3 bd video}} || {{No}} || {{Yes}} || {{No}} || '''VR''' ||  || Video Root || {{Yes}} || {{No}} ? || ? || '''HYBRID_FLAG''' (V) in PS3_DISC.FSB
|-
| rowspan="2" | D001/<BR /><small>''(up to 999)''</small> || [[PARAM.SFO]] || ? <!--// video_tex_default from category_plugin_full.rco ? //--> || {{No}} || {{No}} || {{No}} || '''VI''' ||  || Video Item || {{Yes}} || {{No}} || ? || '''ATTRIBUTE''' (1) in parent PARAM.SFO
|-
| [[Multimedia_Formats_and_Tools|DATA000.MP4]] || colspan="9" {{cellcolors|lightgrey}} || ? ||
|-
| rowspan="7" | PS3_EXTRA/ || colspan="3" | [[PARAM.SFO]] || {{media ps3 bd}} || {{No}} || {{Yes}} || {{No}} ||  || '''XR''' || Extra Root || {{Yes}} || {{Yes}} || 3.41- || '''HYBRID_FLAG''' (g) in PS3_DISC.FSB ?
|-
| rowspan="2" | D001/<BR /><small>''(up to 999)''</small> || colspan="2" | [[PARAM.SFO|PARAM.SFX]] || {{icon content pkg}} || {{No}} || {{No}} || {{No}} ||  || '''IP''' || Install Package || {{Yes}} || {{No}} || 3.41- || '''ATTRIBUTE''' (1) in parent PARAM.SFO
|-
| colspan="2" | [[PKG_files|DATA000.PKG]] || colspan="9" {{cellcolors|lightgrey}} || 3.41- ||
|-
| rowspan="2" | D002/<BR /><small>''(up to 999)''</small> || colspan="2" | [[PARAM.SFO|PARAM.SFX]] || {{icon content theme}} || {{No}} || {{No}} || {{No}} ||  || '''TI''' || Theme Item || {{Yes}} || {{No}} || 3.41- || '''ATTRIBUTE''' (1) in parent PARAM.SFO
|-
| colspan="2" | [[PlayStation 3 Theme (P3T)|DATA000.P3T]] || colspan="9" {{cellcolors|lightgrey}} || 3.41- ||
|-
| rowspan="2" | D003/<BR /><small>''(up to 999)''</small> || colspan="2" | [[PARAM.SFO|PARAM.SFX]] || {{icon content video}} || {{No}} || {{No}} || {{No}} ||  || '''VI''' || Video Item || {{Yes}} || {{No}} || 3.41- || '''ATTRIBUTE''' (1) in parent PARAM.SFO
|-
| colspan="2" | [[Multimedia_Formats_and_Tools|DATA000.MP4]] || colspan="9" {{cellcolors|lightgrey}} || 3.41- ||
|-
| PS3_VPRM/ || colspan="3" | [[PARAM.SFO]] || {{media ps3 bd video}} || {{No}} || {{No}} || {{No}} || '''DM''' ||  || Disc Movie || {{No}} || {{No}} || ? || '''HYBRID_FLAG''' (v) in PS3_DISC.FSB
|-
| PS3_UPDATE/ || colspan="3" | [[Playstation_Update_Package_(PUP)|UPDATE.PUP]] || colspan="9" {{cellcolors|lightgrey}} || 1.00 ? || '''HYBRID_FLAG''' (u) in PS3_DISC.FSB
|-
|}
<div style="float:right">[[Image:icon media ps3 bd.png|200px|thumb|left|PS3 Blu Ray]]<br /></div>
These are "fake Blu-Ray discs" with the minimal values inside SFO's/SFX's needed for the structure to work, and the needed '''HYBRID_FLAG''''s inside the main [[PS3_DISC.SFB]]. All the files are 100% hand made from scratch and tested.
'''Game discs in folder PS3_GAME'''
The basic structure of a game disc.
0GAM00001
|--- PS3_DISC.SFB <--- HYBRID_FLAG (g), TITLE_ID (0GAM00001)
|--- PS3_GAME
      |--- PARAM.SFO <--- CATEGORY (DG), TITLE_ID (0GAM00001)
      |--- USRDIR
          |--- EBOOT.BIN
'''Movie discs in folder PS3_VPRM'''
This is the part of a Blue-Ray movie structure related with the PS3 system. Described as "hybrid disc" when contains a game+movie e.g: Metal Gear Solid HD Collection (BLUS30847)
0MOV00001
|--- PS3_DISC.SFB <--- HYBRID_FLAG (v), TITLE_ID (blank)
|--- AACS
|    |--- DUPLICATE (2.cer 2.tbl 1.lst 1.cc1 3.inf)
|    |--- (2.cer 2.tbl 1.lst 1.cc1 3.inf)
|--- BDMV
|    |--- AUXDATA
|    |    |--- sound.bdmv
|    |--- BACKUP
|    |    |--- CLIPINF
|    |    |    |--- (11.clpi)
|    |    |--- PLAYLIST
|    |    |    |--- (6.mpls)
|    |    |--- index.bdmv
|    |    |--- MovieObject.bdmv
|    |--- CLIPINF
|    |    |--- (11.clpi)
|    |--- META
|    |    |--- DL
|    |        |--- bdmt_eng.xml
|    |        |--- thumb_L.jpg
|    |        |--- thumb_S.jpg
|    |--- PLAYLIST
|    |    |--- (6.mpls)
|    |--- STREAM
|    |    |--- (11.m2ts)
|    |--- index.bdmv
|    |--- MovieObject.bdmv
|--- CERTIFICATE
|--- PS3_VPRM
      |--- PARAM.SFO <--- CATEGORY (DM)
'''Game discs in folder PS3_CONTENT'''
<div style="float:right">[[Image:icon media ps3 bd_video.png|200px|thumb|center|PS3 Blu Ray video content]]<br /></div>
<div style="float:right">[[Image:icon media_ps3_bd_install.png|200px|thumb|center|PS3 Blu Ray install content]]<br /></div>
Themes folder is mounted as a "secondary icon" under the "main game icon". Doesn't need/admit an SFO/SFX, the icon contained in the theme is resized and displayed inside a bubble, also the '''TITLE''' of the Theme is used for the content.
Video folder is mounted on video column. Videos can not be copied to the internal or external storage.
0CONT00001
|--- PS3_DISC.SFB <--- HYBRID_FLAG (TV), TITLE_ID (0CONT00001)
|--- PS3_CONTENT
      |--- THEMEDIR
      |    |--- PARAM.SFO <--- ATTRIBUTE (01000000), CATEGORY (TR), TITLE (Themes)
      |    |--- D000
      |        |--- DATA001.P3T
      |        |--- DATA002.P3T
      |--- VIDEODIR
          |--- PARAM.SFO <--- ATTRIBUTE (01000000), CATEGORY (VR), TITLE (Videos)
          |--- D001
          |    |--- PARAM.SFO <--- CATEGORY (VI), TITLE (Video 1)
          |    |--- DATA000.MP4
          |--- D002
                |--- PARAM.SFO <--- CATEGORY (VI), TITLE (Video 2)
                |--- DATA000.MP4
'''Game discs in folder PS3_GAME/PKGDIR'''
<div style="float:right">[[Image:icon media_ps3_bd_install.png|200px|thumb|left|PS3 Blu Ray install content]]<br /></div>
Can be considered an "expansion" of the basic blu-ray structure of a game disc, activated by the flag '''00000200''' in the [[#ATTRIBUTE|ATTRIBUTE]] of the PARAM.SFO inside PS3_GAME. Packages are displayed in subfolders inside bubbles with its icons resized.
When the packages are installed, the file PARAM.SFO from PKGDIR is renamed to DISC.SFO and copyed inside the installation folder.
0PKG00001
|--- PS3_DISC.SFB <--- HYBRID_FLAG (g), TITLE_ID (0PKG00001)
|--- PS3_GAME
      |--- PARAM.SFO <--- ATTRIBUTE (00000200), CATEGORY (DG)
      |--- PKGDIR
          |--- PARAM.SFO <--- ATTRIBUTE (0100000), CATEGORY (DP), TITLE (Packages)
          |--- PKG01
          |    |--- PARAM.SFO <--- CATEGORY (IP), TITLE (Package 1)
          |    |--- INSTALL.PKG
          |--- PKG02
                |--- PARAM.SFO <--- CATEGORY (IP), TITLE (Package 2)
                |--- INSTALL.PKG
'''Game discs in folder PS3_GAME/INSDIR'''
Can be considered an expansion of the basic blu-ray game disc structure, activated by default with the "g" HYBRID_FLAG from PS3_DISC.SFB
The presence of INSDIR forces a mandatory installation (warning screen with "Yes" or "No", if selecting "No" the game doesnt boots) performed in main XMB (before starting the game). When the installation is completed the game boots
Inside game_ext_plugin.rco/english.xml
<Text name="msg_game_cannot_start_wo_install_need_area_install_ask">This game cannot be started unless it is installed on the system storage.
To install on the system storage you must create a game partition of %1.
Do you want to start installing?</Text>
Used for "game patches" and "game expansion packs". The PARAM.SFO inside "'''INSDIR'''" contains the "'''APP_VER'''" of the bigger patch of the folder. Note that "download content" packages doesnt contains "'''APP_VER'''" so its installation doesnt updates the main game. For this reason "'''APP_VER'''" is only related with patches. Other types of PKG can be installed but the main game will reload the message above because it was expecting to have a game patch.
0INS00001
|--- PS3_DISC.SFB <--- HYBRID_FLAG (g), TITLE_ID (0INS00001)
|--- PS3_GAME
      |--- PARAM.SFO <--- CATEGORY (DG)
      |--- INSDIR
          |--- PARAM.SFO <--- APP_VER (01.02), CATEGORY (AR)
          |--- DATA000.PKG
          |--- DATA001.PKG
'''Game discs in folder PS3_EXTRA'''
Icon sizes is the same used in "PStore news" menu ([[http://www.blogcdn.com/www.joystiq.com/media/2009/08/firmrwae300ps3.jpg big squares of 486x405 pixels]]). see: [[Content_Information_Files|Content Information Files]]
Similar as PKGDIR, the file PARAM.SFO from <span style="text-decoration: line-through;">PKGDIR</span> (seems typo error) is renamed to DISC.SFO.
0EXT00001
|--- PS3_DISC.SFB <--- HYBRID_FLAG (g), TITLE_ID (0EXT00001)
|--- PS3_GAME
|    |--- PARAM.SFO <--- CATEGORY (DG)
|--- PS3_EXTRA
      |--- PARAM.SFO <--- ATTRIBUTE (0100000), CATEGORY (XR), TITLE (Extras)
      |--- D001
      |    |--- PARAM.SFX <--- CATEGORY (IP), TITLE (Package 1)
      |    |--- DATA000.PKG
      |--- D002
      |    |--- PARAM.SFX <--- CATEGORY (IP), TITLE (Package 2)
      |    |--- DATA000.PKG
      |--- D003
      |    |--- PARAM.SFX <--- CATEGORY (VI), TITLE (Video 1)
      |    |--- DATA000.MP4
      |--- D004
      |    |--- PARAM.SFX <--- CATEGORY (VI), TITLE (Video 2)
      |    |--- DATA000.MP4
      |--- D005
      |    |--- PARAM.SFX <--- CATEGORY (TI), TITLE (Theme 1)
      |    |--- DATA000.P3T
      |--- D006
          |--- PARAM.SFX <--- CATEGORY (TI), TITLE (Theme 2)
          |--- DATA000.P3T
'''dev_bdvd/PS3_GM01/''' is a folder at the same level than PS3_GAME, is used for multiboot game discs (the only disc structure that supports '''direct''' multiboot). Each eboot is mounted using its own {{media ps3 bd}} icon. This discs uses speciall LIC.DAT files, see: [[LIC.DAT]] page
The two numbers at the end of the name '''PS3_GM01''' looks like a counter, but only '''PS3_GM01''' is supported (other numbers are not supported... yet)
----
You can download this structures to experiment with them or to look how SFO's SFX's are built ---> [[http://www.sendspace.com/file/o95vde| Blu-Ray fake discs by sandungas]]
*Remove-insert again disc might be required to make structures appears.
*DISC.SFO seems to force the user to start the installed game with the original disc with this message on XMB:
"to play this game, you must insert the following disc. Insert the disc, and then start the game
again.  (8001003E) Install disc"
This can/should be resolved by launching BD emulator,  removing the disc.sfo file, or using Lxx folders. See {{talk}} page


===CONTENT_ID===
===CONTENT_ID===
Line 724: Line 951:


The special byte "'''0A'''" displaces the text to the next line (a linefeed), this can be used to create long texts composed by several horizontall lines.
The special byte "'''0A'''" displaces the text to the next line (a linefeed), this can be used to create long texts composed by several horizontall lines.
====SAVEDATA_DETAIL (for minis savedata)====
{{Boxinfo3|content='''param_fmt''': utf8<br />'''param_max_len''': 0x400 (1024 bytes)<br />'''param_len''': variable}}
{{Boxtip1|content='''Used by''': Minis Save Data}}
Used to store texts generated by the game, the format s the same than [[PARAM.SFO#DETAIL|DETAIL]]


===GAMEDATA_ID===
===GAMEDATA_ID===
Line 750: Line 971:


Language used when the "trophy config file" [[Trophy_files#TROPCONF.SFM|TROPCONF.SFM]] was installed.
Language used when the "trophy config file" [[Trophy_files#TROPCONF.SFM|TROPCONF.SFM]] was installed.
{{PlayStation Languages}}
{{XMB languages}}


===LICENSE===
===LICENSE===
Line 766: Line 987:
The format is 4 letters + 5 numbers with optionally a subid (usually 0) : NPWRyyyyy_zz (e.g. NPWR00001_00)
The format is 4 letters + 5 numbers with optionally a subid (usually 0) : NPWRyyyyy_zz (e.g. NPWR00001_00)


====NPCOMMID (for trophies)====<!--messed up name when trophies was implemented-->
===NPCOMMID===
{{Boxinfo3|content='''param_fmt''': utf8<br />'''param_max_len''': 0x10 (16 bytes)<br />'''param_len''': 0xC (12 bytes)}}
{{Boxinfo3|content='''param_fmt''': utf8<br />'''param_max_len''': 0x10 (16 bytes)<br />'''param_len''': 0xC (12 bytes)}}
{{Boxtip1|content='''Used by''': Trophy}}
{{Boxtip1|content='''Used by''': Trophy}}
Line 838: Line 1,059:
***load trophy data when game boots (some games displays the list of trophies inside a game screen)
***load trophy data when game boots (some games displays the list of trophies inside a game screen)
***savedata system screen replaced/hidden (some games uses their own savedata screen instead of the system screens, in this case the system needs to disable the default screens or make it invisible, like in tomb raider)
***savedata system screen replaced/hidden (some games uses their own savedata screen instead of the system screens, in this case the system needs to disable the default screens or make it invisible, like in tomb raider)
**Another option is the first bytes at the beginning are configuring the internal structure of the PARAMS area, by defining the counters types or their positions
**Another option is the first bytes at the begining are configuring the internal structure of the PARAMS area, by defining the counters types or his positions
**Another option is the first bytes are simply the version of the savegame (1.1, 1.2, 1.3, and so on...) this "gamesave versions" could be defining some requirements of the whole PARAM.SFO structure, or/and the security used by the related [[PARAM.PFD]] and other secured files in the gamesave
**An another option is the first bytes are simply the version of the savegame (1.1, 1.2, 1.3, and so on...) this "gamesave versions" could be defining some requirements of the whole PARAM.SFO structure, or/and the security used by the related [[PARAM.PFD]] and other secured files in the gamesave


===PARAMS2===
===PARAMS2===
Line 846: Line 1,067:


Unknown, usually filled with zeroes
Unknown, usually filled with zeroes
===PARENTAL_LEVEL_x===
{{Boxinfo3|content='''param_fmt''': int32<br />'''param_max_len''': 0x4 (4 bytes)<br />'''param_len''': 0x4 (4 bytes)}}
{{Boxtip1|content='''Used by''': HDD Game}}
Used to restrict the content to a specific '''License Area'''. See [[Regions]]
The "'''x'''" at the end of the name PARENTAL_LEVEL_'''x''' defines the '''License Area''' wich is one of this list.
{| class="wikitable"
|-
! parameter !! License Area Name !! License Area Number !! Regions
|-
| PARENTAL_LEVEL_A ||SCEA || 01 || US, Canada (North America), Mexico, Central America, South America
|-
| PARENTAL_LEVEL_C || SCH || 05 || China
|-
| PARENTAL_LEVEL_E || SCEE || 02 || Europe/Middle East/Africa, U.K./Ireland, Australia/New Zealand (Oceania), Russia, Ukraine, India, Central Asia
|-
| PARENTAL_LEVEL_H || SCEH || 03 || Singapore/Malaysia (Southeast Asia), Taiwan, Hong Kong
|-
| PARENTAL_LEVEL_J || SCEJ || 00 || Japan
|-
| PARENTAL_LEVEL_K || SCEK || 04 || Korea (South Korea)
|-
|}
*All this parameters are used in group, ordered alphabetically, and preceded by a "standard" '''PARENTAL_LEVEL''' with the value '''00000000''' (disabled)
*Valid values are the same than '''PARENTAL_LEVEL''' (an scale from 1 to 11) with the only difference that the value for disable is '''FFFFFFFF'''
---example string---
00000000 05000000 0A000000 01000000 FFFFFFFF 06000000 0B000000
---example explain---
PARENTAL_LEVEL = 00000000 (disabled)
PARENTAL_LEVEL_A = 05000000 (level 5)
PARENTAL_LEVEL_C = 0A000000 (level 10)
PARENTAL_LEVEL_E = 01000000 (level 1)
PARENTAL_LEVEL_H = FFFFFFFF (disabled)
PARENTAL_LEVEL_J = 06000000 (level 6)
PARENTAL_LEVEL_K = 0B000000 (level 11)


===PARENTAL_LEVEL===
===PARENTAL_LEVEL===
Line 888: Line 1,149:
|}
|}


====PARENTAL_LEVEL_x (by license area)====
===PARENTALLEVEL===
{{Boxinfo3|content='''param_fmt''': int32<br />'''param_max_len''': 0x4 (4 bytes)<br />'''param_len''': 0x4 (4 bytes)}}
{{Boxtip1|content='''Used by''': HDD Game}}
 
Used to restrict the content to a specific '''License Area'''. See [[Regions]]
 
The "'''x'''" at the end of the name PARENTAL_LEVEL_'''x''' defines the '''License Area''' wich is one of this list.
 
{| class="wikitable"
|-
! parameter !! License Area Name !! License Area Number !! Regions
|-
| PARENTAL_LEVEL_A ||SCEA || 01 || US, Canada (North America), Mexico, Central America, South America
|-
| PARENTAL_LEVEL_C || SCH || 05 || China
|-
| PARENTAL_LEVEL_E || SCEE || 02 || Europe/Middle East/Africa, U.K./Ireland, Australia/New Zealand (Oceania), Russia, Ukraine, India, Central Asia
|-
| PARENTAL_LEVEL_H || SCEH || 03 || Singapore/Malaysia (Southeast Asia), Taiwan, Hong Kong
|-
| PARENTAL_LEVEL_J || SCEJ || 00 || Japan
|-
| PARENTAL_LEVEL_K || SCEK || 04 || Korea (South Korea)
|-
|}
 
*All this parameters are used in group, ordered alphabetically, and preceded by a "standard" '''PARENTAL_LEVEL''' with the value '''00000000''' (disabled)
*Valid values are the same than '''PARENTAL_LEVEL''' (an scale from 1 to 11) with the only difference that the value for disable is '''FFFFFFFF'''
 
---example string---
00000000 05000000 0A000000 01000000 FFFFFFFF 06000000 0B000000
---example explain---
PARENTAL_LEVEL = 00000000 (disabled)
PARENTAL_LEVEL_A = 05000000 (level 5)
PARENTAL_LEVEL_C = 0A000000 (level 10)
PARENTAL_LEVEL_E = 01000000 (level 1)
PARENTAL_LEVEL_H = FFFFFFFF (disabled)
PARENTAL_LEVEL_J = 06000000 (level 6)
PARENTAL_LEVEL_K = 0B000000 (level 11)
 
====PARENTALLEVEL (for trophies and PS1 games)====<!--messed up name when trophies was implemented-->
{{Boxinfo3|content='''param_fmt''': int32<br />'''param_max_len''': 0x4 (4 bytes)<br />'''param_len''': 0x4 (4 bytes)}}
{{Boxinfo3|content='''param_fmt''': int32<br />'''param_max_len''': 0x4 (4 bytes)<br />'''param_len''': 0x4 (4 bytes)}}
{{Boxtip1|content='''Used by''': PS1 Game, Trophy}}
{{Boxtip1|content='''Used by''': PS1 Game, Trophy}}
Line 951: Line 1,172:
{{Boxinfo3|content='''param_fmt''': int32<br />'''param_max_len''': 0x4 (4 bytes)<br />'''param_len''': 0x4 (4 bytes)}}
{{Boxinfo3|content='''param_fmt''': int32<br />'''param_max_len''': 0x4 (4 bytes)<br />'''param_len''': 0x4 (4 bytes)}}
{{Boxtip1|content='''Used by''': HDD Game}}
{{Boxtip1|content='''Used by''': HDD Game}}
<div style="float:right">[[File:Badregion-4.jpg|210px|thumb|right|Region checks]]</div>
 
Region restrictions for the content, added in firmware 3.30
Regions restrictions for the content, added in firmware 3.30


There are 12 valid [[Regions]], each region has a position assigned in the binary string, marked with an "'''1'''" when the region is prohibited, or a "'''0'''". when is allowed.
There are 12 valid [[Regions]], each region has a position assigned in the binary string, marked with an "'''1'''" when the region is prohibited, or a "'''0'''". when is allowed.
Line 986: Line 1,207:
| colspan="7" style="text-align:center; background-color:#DDDDDD;" | Examples
| colspan="7" style="text-align:center; background-color:#DDDDDD;" | Examples
|-
|-
| {{cellcolors|black|lime}} 01 F0 FF FF || FF FF F0 01 || 11111111 11111111 11110000 00000001 || || From 1 to 11 || [[http://www.psdevwiki.com/ps3/index.php?title=File:Badregion-4.jpg Photo]] of a PS3 DEX with '''Allowed Region=1-11''' (region 0 not allowed)
| {{cellcolors|black|lime}} 01 F0 FF FF || FF FF F0 01 || 11111111 11111111 11110000 00000001 || || From 1 to 11 || [[http://ps3.mediagen.fr/badregion-4_0900051787.jpg Photo]] of a PS3 DEX with '''Allowed Region=1-11''' (region 0 not allowed)
|-
|-
|}
|}
Line 1,021: Line 1,242:


*Tests
*Tests
**PS2 games remastered in PS3 format (not "ps2 classics") like "resident evil 4 HD" (CATEGORY=HG and TITLE_ID=NPEB00342) doesn't supports 1080 mode by default (or at least this one). 1080 mode in combination with SOUND_FORMAT (all SOUND_FORMAT modes enabled) the RESOLUTION flags are read but the PS3 crashes
**PS2 games remastered in PS3 format (not "ps2 classics") like "resident evil 4 HD" (CATEGORY=HG and TITLE_ID=NPEB00342) doesnt supports 1080 mode by default (or at least this one). 1080 mode in combination with SOUND_FORMAT (all SOUND_FORMAT modes enabled) the RESOLUTION flags are readed but the PS3 crashes
**Note the resolution for original PS1 disc games can vary (See: [[Emulation#Resolution|Emulation Resolution]]). The RESOLUTION flags used in PARAM.SFO's of "PS1 Classics Game" from PSN seems to be specific and not fixed sizes (e.g: 01 00 00 00). This will need another table if more are found
**Note the resolution for originall PS1 disc games can vary (See: [[Emulation#Resolution|Emulation Resolution]]). The RESOLUTION flags used in PARAM.SFO's of "PS1 Classics Game" from PSN seems to be specific and not fixed sizes (e.g: 01 00 00 00). This will need another table if more are found


*There are special RESOLUTION values for PS1 and PS2 Classics, and PSP Remasters ?. The resolution for original PS1 disc games can vary (See: [[Emulation#Resolution|Emulation Resolution]]). The RESOLUTION flags used in PARAM.SFO's of "PS1 Classics Game" from PSN seems to be specific (e.g: 01 00 00 00 for NTSC games and 02 00 00 00 for PAL games). This will need another table if more are found
*There are special RESOLUTION values for PS1 and PS2 Classics, and PSP Remasters ?. The resolution for original PS1 disc games can vary (See: [[Emulation#Resolution|Emulation Resolution]]). The RESOLUTION flags used in PARAM.SFO's of "PS1 Classics Game" from PSN seems to be specific (e.g: 01 00 00 00). This will need another table if more are found
 
===SAVEDATA_DETAIL===
{{Boxinfo3|content='''param_fmt''': utf8<br />'''param_max_len''': 0x400 (1024 bytes)<br />'''param_len''': variable}}
{{Boxtip1|content='''Used by''': Minis Save Data}}
 
Used to store texts generated by the game, the format s the same than [[PARAM.SFO#DETAIL|DETAIL]]


===SAVEDATA_DIRECTORY===
===SAVEDATA_DIRECTORY===
Line 1,032: Line 1,259:
Name of the folder where the game stores its SaveData. The format is: '''TITLE_IDxxxxx''' (9 bytes + 22 bytes max), e.g;: '''BLUS00001_savedata_01''' where:
Name of the folder where the game stores its SaveData. The format is: '''TITLE_IDxxxxx''' (9 bytes + 22 bytes max), e.g;: '''BLUS00001_savedata_01''' where:
*'''TITLE_ID''' Identifier of the content. Explained in [[#TITLE_ID|TITLE_ID]].
*'''TITLE_ID''' Identifier of the content. Explained in [[#TITLE_ID|TITLE_ID]].
*'''xxxxx''' Are texts (with variable length) to difference all the SaveDatas generated from the same game by the same user.
*'''xxxxx''' Are texts (with variable lenght) to difference all the SaveDatas generated from the same game by the same user.


===SAVEDATA_FILE_LIST===
===SAVEDATA_FILE_LIST===
Line 1,117: Line 1,344:
|-
|-
|}
|}
===SAVEDATA_TITLE===
{{Boxinfo3|content='''param_fmt''': utf8<br />'''param_max_len''': 0x80 (128 bytes)<br />'''param_len''': variable}}
{{Boxtip1|content='''Used by''': Minis Save Data}}
Subtitle of the Save, the format is the same than [[PARAM.SFO#SUBTITLE|SUBTITLE]]


===SOUND_FORMAT===
===SOUND_FORMAT===
Line 1,171: Line 1,404:


When the text is too long to fit in the screen it scrolls horizontally from right to left, if the '''Data_Used_Size''' is not correct this scroll doesn't flow properly. The same behaviour happens with TITLE, TITLE_xx, TITLEID0xx and TITLE_ID
When the text is too long to fit in the screen it scrolls horizontally from right to left, if the '''Data_Used_Size''' is not correct this scroll doesn't flow properly. The same behaviour happens with TITLE, TITLE_xx, TITLEID0xx and TITLE_ID
====SAVEDATA_TITLE (for minis savedata)====
{{Boxinfo3|content='''param_fmt''': utf8<br />'''param_max_len''': 0x80 (128 bytes)<br />'''param_len''': variable}}
{{Boxtip1|content='''Used by''': Minis Save Data}}
Subtitle of the Save, the format is the same than [[PARAM.SFO#SUBTITLE|SUBTITLE]]
<!-- ====SUB_TITLE_xx (for localized languages)====
Especulative, i dont remember to test it, but by looking at the sfo attributes used on vita it looks this one probably exists and is missing in ps3 wiki, is for localized subtitles texts in savedata contents, my bet is this feature is supported since firmware 1.00-->


===TARGET_APP_VER===
===TARGET_APP_VER===
Line 1,196: Line 1,420:


The special byte "'''0A'''" displaces the text to the next line (a linefeed), this can be used to create long texts composed by several horizontall lines, the maximun number of horizontal text lines allowed for the TITLE is 3 (in other words... you can use the "linefeed" byte 2 times)
The special byte "'''0A'''" displaces the text to the next line (a linefeed), this can be used to create long texts composed by several horizontall lines, the maximun number of horizontal text lines allowed for the TITLE is 3 (in other words... you can use the "linefeed" byte 2 times)
====TITLE_xx (for localized languages)====
{{Boxinfo3|content='''param_fmt''': utf8<br />'''param_max_len''': 0x80 (128 bytes)<br />'''param_len''': variable}}
{{Boxtip1|content='''Used by''': HDD Game}}
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.
{{PlayStation Languages}}


===TITLE_ID===
===TITLE_ID===
Line 1,223: Line 1,435:
**TEST***** All the disc images generated for debug PS3's in the development stages of the game
**TEST***** All the disc images generated for debug PS3's in the development stages of the game


====TITLEID0xx (for trophies with localized languages)====<!--messed up name when trophies was implemented-->
===TITLE_xx===
{{Boxinfo3|content='''param_fmt''': utf8<br />'''param_max_len''': 0x80 (128 bytes)<br />'''param_len''': variable}}
{{Boxtip1|content='''Used by''': HDD Game}}
 
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.
 
{{XMB languages}}
 
===TITLEID0xx===
{{Boxinfo3|content='''param_fmt''': utf8<br />'''param_max_len''': 0x10 (16 bytes)<br />'''param_len''': 0x9 (9 bytes)}}
{{Boxinfo3|content='''param_fmt''': utf8<br />'''param_max_len''': 0x10 (16 bytes)<br />'''param_len''': 0x9 (9 bytes)}}
{{Boxtip1|content='''Used by''': Trophy}}
{{Boxtip1|content='''Used by''': Trophy}}
Line 1,233: Line 1,457:
The text contained inside default TITLEID000 is the same than [[#TITLE_ID|TITLE_ID]]
The text contained inside default TITLEID000 is the same than [[#TITLE_ID|TITLE_ID]]


{{PlayStation Languages}}
{{XMB languages}}


===VERSION===
===VERSION===
Line 1,279: Line 1,503:
| colspan="5" style="text-align:center;" | Etc...
| colspan="5" style="text-align:center;" | Etc...
|}
|}
==Examples==
====Blu-Ray disc game structure details====
{{PS3 Disc Game Structure}}
<div style="float:right">[[Image:icon media ps3 bd.png|200px|thumb|left|PS3 Blu Ray]]<br /></div>
These are "fake Blu-Ray discs" with the minimal values inside SFO's/SFX's needed for the structure to work, and the needed '''HYBRID_FLAG''''s inside the main [[PS3_DISC.SFB]]. All the files are 100% hand made from scratch and tested.
'''Game discs in folder PS3_GAME'''
The basic structure of a game disc.
0GAM00001
|--- PS3_DISC.SFB <--- HYBRID_FLAG (g), TITLE_ID (0GAM00001)
|--- PS3_GAME
      |--- PARAM.SFO <--- CATEGORY (DG), TITLE_ID (0GAM00001)
      |--- USRDIR
          |--- EBOOT.BIN
'''Movie discs in folder PS3_VPRM'''
This is the part of a Blue-Ray movie structure related with the PS3 system. Described as "hybrid disc" when contains a game+movie e.g: Metal Gear Solid HD Collection (BLUS30847, BLES01419)
0MOV00001
|--- PS3_DISC.SFB <--- HYBRID_FLAG (v), TITLE_ID (blank)
|--- AACS
|    |--- DUPLICATE (2.cer 2.tbl 1.lst 1.cc1 3.inf)
|    |--- (2.cer 2.tbl 1.lst 1.cc1 3.inf)
|--- BDMV
|    |--- AUXDATA
|    |    |--- sound.bdmv
|    |--- BACKUP
|    |    |--- CLIPINF
|    |    |    |--- (11.clpi)
|    |    |--- PLAYLIST
|    |    |    |--- (6.mpls)
|    |    |--- index.bdmv
|    |    |--- MovieObject.bdmv
|    |--- CLIPINF
|    |    |--- (11.clpi)
|    |--- META
|    |    |--- DL
|    |        |--- bdmt_eng.xml
|    |        |--- thumb_L.jpg
|    |        |--- thumb_S.jpg
|    |--- PLAYLIST
|    |    |--- (6.mpls)
|    |--- STREAM
|    |    |--- (11.m2ts)
|    |--- index.bdmv
|    |--- MovieObject.bdmv
|--- CERTIFICATE
|--- PS3_VPRM
      |--- PARAM.SFO <--- CATEGORY (DM)
See: [https://www.psx-place.com/threads/4-84-3-starbuged-w-cobra-8-01-new-update-in-from-habib.23057/page-4#post-166700 1] and [https://www.psx-place.com/threads/jonnysps-ird-library-is-down.35178/page-2#post-315008 2]
'''Game discs in folder PS3_CONTENT'''
<div style="float:right">[[Image:icon media ps3 bd_video.png|200px|thumb|center|PS3 Blu Ray video content]]<br /></div>
<div style="float:right">[[Image:icon media_ps3_bd_install.png|200px|thumb|center|PS3 Blu Ray install content]]<br /></div>
Themes folder is mounted as a "secondary icon" under the "main game icon". Doesn't need/admit an SFO/SFX, the icon contained in the theme is resized and displayed inside a bubble, also the '''TITLE''' of the Theme is used for the content.
Video folder is mounted on video column. Videos can not be copied to the internal or external storage.
0CONT00001
|--- PS3_DISC.SFB <--- HYBRID_FLAG (TV), TITLE_ID (0CONT00001)
|--- PS3_CONTENT
      |--- THEMEDIR
      |    |--- PARAM.SFO <--- ATTRIBUTE (01000000), CATEGORY (TR), TITLE (Themes)
      |    |--- D000
      |        |--- DATA001.P3T
      |        |--- DATA002.P3T
      |--- VIDEODIR
          |--- PARAM.SFO <--- ATTRIBUTE (01000000), CATEGORY (VR), TITLE (Videos)
          |--- D001
          |    |--- PARAM.SFO <--- CATEGORY (VI), TITLE (Video 1)
          |    |--- DATA000.MP4
          |--- D002
                |--- PARAM.SFO <--- CATEGORY (VI), TITLE (Video 2)
                |--- DATA000.MP4
'''Game discs in folder PS3_GAME/PKGDIR'''
<div style="float:right">[[Image:icon media_ps3_bd_install.png|200px|thumb|left|PS3 Blu Ray install content]]<br /></div>
Can be considered an "expansion" of the basic blu-ray structure of a game disc, activated by the flag '''00000200''' in the [[#ATTRIBUTE|ATTRIBUTE]] of the PARAM.SFO inside PS3_GAME. Packages are displayed in subfolders inside bubbles with its icons resized.
When the packages are installed, the file PARAM.SFO from PKGDIR is renamed to DISC.SFO and copyed inside the installation folder.
0PKG00001
|--- PS3_DISC.SFB <--- HYBRID_FLAG (g), TITLE_ID (0PKG00001)
|--- PS3_GAME
      |--- PARAM.SFO <--- ATTRIBUTE (00000200), CATEGORY (DG)
      |--- PKGDIR
          |--- PARAM.SFO <--- ATTRIBUTE (0100000), CATEGORY (DP), TITLE (Packages)
          |--- PKG01
          |    |--- PARAM.SFO <--- CATEGORY (IP), TITLE (Package 1)
          |    |--- INSTALL.PKG
          |--- PKG02
                |--- PARAM.SFO <--- CATEGORY (IP), TITLE (Package 2)
                |--- INSTALL.PKG
'''Game discs in folder PS3_GAME/INSDIR'''
Can be considered an expansion of the basic blu-ray disc game structure, activated by default with the "g" HYBRID_FLAG from PS3_DISC.SFB
The presence of INSDIR forces a mandatory installation (warning screen with "Yes" or "No", if selecting "No" the game doesnt boots) performed in main XMB (before starting the game). When the installation is completed the game boots
Inside game_ext_plugin.rco/english.xml
<Text name="msg_game_cannot_start_wo_install_need_area_install_ask">This game cannot be started unless it is installed on the system storage.
To install on the system storage you must create a game partition of %1.
Do you want to start installing?</Text>
Used for "game patches" and "game expansion packs". The PARAM.SFO inside "'''INSDIR'''" contains the "'''APP_VER'''" of the bigger patch of the folder. Note that "download content" packages doesnt contains "'''APP_VER'''" so its installation doesnt updates the main game. For this reason "'''APP_VER'''" is only related with patches. Other types of PKG can be installed but the main game will reload the message above because it was expecting to have a game patch.
0INS00001
|--- PS3_DISC.SFB <--- HYBRID_FLAG (g), TITLE_ID (0INS00001)
|--- PS3_GAME
      |--- PARAM.SFO <--- CATEGORY (DG)
      |--- INSDIR
          |--- PARAM.SFO <--- APP_VER (01.02), CATEGORY (AR)
          |--- DATA000.PKG
          |--- DATA001.PKG
'''Game discs in folder PS3_EXTRA'''
Icon sizes is the same used in "PStore news" menu ([[http://www.blogcdn.com/www.joystiq.com/media/2009/08/firmrwae300ps3.jpg big squares of 486x405 pixels]]). see: [[Content_Information_Files|Content Information Files]]
When displayed on XMB the sorting of contents is based on the creation time (timestamps) of the Dxxx folders, oldest are displayed at top-left corner and newest at bottom-right corner
Similar as PKGDIR, the file PARAM.SFO from <span style="text-decoration: line-through;">PKGDIR</span> (seems typo error) is renamed to DISC.SFO.
0EXT00001
|--- PS3_DISC.SFB <--- HYBRID_FLAG (g), TITLE_ID (0EXT00001)
|--- PS3_GAME
|    |--- PARAM.SFO <--- CATEGORY (DG)
|--- PS3_EXTRA
      |--- PARAM.SFO <--- ATTRIBUTE (0100000), CATEGORY (XR), TITLE (Extras)
      |--- D001
      |    |--- PARAM.SFX <--- CATEGORY (IP), TITLE (Package 1)
      |    |--- DATA000.PKG
      |--- D002
      |    |--- PARAM.SFX <--- CATEGORY (IP), TITLE (Package 2)
      |    |--- DATA000.PKG
      |--- D003
      |    |--- PARAM.SFX <--- CATEGORY (VI), TITLE (Video 1)
      |    |--- DATA000.MP4
      |--- D004
      |    |--- PARAM.SFX <--- CATEGORY (VI), TITLE (Video 2)
      |    |--- DATA000.MP4
      |--- D005
      |    |--- PARAM.SFX <--- CATEGORY (TI), TITLE (Theme 1)
      |    |--- DATA000.P3T
      |--- D006
          |--- PARAM.SFX <--- CATEGORY (TI), TITLE (Theme 2)
          |--- DATA000.P3T
'''dev_bdvd/PS3_GM01/''' is a folder at the same level than PS3_GAME, is used for multiboot game discs (the only disc structure that supports '''direct''' multiboot). Each eboot is mounted using its own {{media ps3 bd}} icon. This discs uses speciall LIC.DAT files, see: [[LIC.DAT]] page
The two numbers at the end of the name '''PS3_GM01''' looks like a counter, but only '''PS3_GM01''' is supported (other numbers are not supported... yet)
----
You can download this structures to experiment with them or to look how SFO's SFX's are built ---> [[http://www.sendspace.com/file/o95vde| Blu-Ray fake discs by sandungas]]
*Remove-insert again disc might be required to make structures appears.
*DISC.SFO seems to force the user to start the installed game with the original disc with this message on XMB:
"to play this game, you must insert the following disc. Insert the disc, and then start the game
again.  (8001003E) Install disc"
This can/should be resolved by launching BD emulator,  removing the disc.sfo file, or using Lxx folders. See {{talk}} page


==Tips & Tricks==
==Tips & Tricks==
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)

Templates used on this page: