Editing PARAM.SFO
Jump to navigation
Jump to search
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| | {{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| | {{Boxcode|content=<syntaxhighlight lang="c"> | ||
struct sfo_index_table_entry | struct sfo_index_table_entry | ||
{ | { | ||
Line 85: | Line 85: | ||
0x10 <span style="background:#ff6666;">01 00 00 00</span> <span style="background:#66ff66;">00 00</span> <span style="background:#66ff66;">04 02</span> <span style="background:#66ff66;">0A 00 00 00</span> <span style="background:#66ff66;">0F 00 00 00</span> | <span style="background:#ff6666;">....</span><span style="background:#66ff66;">............</span> | | 0x10 <span style="background:#ff6666;">01 00 00 00</span> <span style="background:#66ff66;">00 00</span> <span style="background:#66ff66;">04 02</span> <span style="background:#66ff66;">0A 00 00 00</span> <span style="background:#66ff66;">0F 00 00 00</span> | <span style="background:#ff6666;">....</span><span style="background:#66ff66;">............</span> | | ||
0x20 <span style="background:#66ff66;">00 00 00 00</span> <span style="background:#bbbbff;">54 49 54 4C 45 5F 49 44 00</span> <span style="background:lightgrey;">00 00 00</span> | <span style="background:#66ff66;">....</span><span style="background:#bbbbff;">TITLE_ID.</span><span style="background:lightgrey;">...</span> | | 0x20 <span style="background:#66ff66;">00 00 00 00</span> <span style="background:#bbbbff;">54 49 54 4C 45 5F 49 44 00</span> <span style="background:lightgrey;">00 00 00</span> | <span style="background:#66ff66;">....</span><span style="background:#bbbbff;">TITLE_ID.</span><span style="background:lightgrey;">...</span> | | ||
0x30 <span style="background:#ffff66; | 0x30 <span style="background:#ffff66;">42 4C 55 53 31 32 33 34 35 00 00 00 00 00 00 00</span> | <span style="background:#ffff66;">BLUS12345.......</span> | | ||
{| class="wikitable" | {| class="wikitable" | ||
Line 123: | Line 123: | ||
===SFX=== | ===SFX=== | ||
{{Boxtip3|content= SFX | {{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| | {{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=" | {| 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 282: | Line 282: | ||
PSN User Account stored as '''utf8-S'''. The string is compared with the user info in [[XRegistry.sys]]. The comparison can only return two values, right, or wrong, if the comparison returns right the SaveData is valid. | PSN User Account stored as '''utf8-S'''. The string is compared with the user info in [[XRegistry.sys]]. The comparison can only return two values, right, or wrong, if the comparison returns right the SaveData is valid. | ||
Filled with zeroes when the user has not been registered in PSN. | |||
===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 339: | ||
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]". | ||
{| class="wikitable" | {| class="wikitable" | ||
|+ATTRIBUTE flags< | |+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 !! | ! little endian !! big endian !! width="365" | Bootable !! Save Data !! Disc Subfolders | ||
|- | |- | ||
| | | {{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}} ''' | | {{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}} ''' | | {{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}} ''' | | {{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}} ''' | | {{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}} ''' | | {{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}} ''' | | {{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}} ''' | | {{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 | |||
|- | |- | ||
! little endian !! big endian !! width="365" | Bootable | |||
|- | |- | ||
| {{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 378: | ||
| {{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'' | | {{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|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|black|lime}} 00 '''80''' 00 00 || 00 00 '''80''' 00 || style="text-align:right;" | 32768 || 00000000 00000000 '''1'''0000000 00000000 || ''Not Used Yet'' | ||
| | |} | ||
{| class="wikitable" | |||
|+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 | ||
|- | |- | ||
! little endian !! big endian !! width="365" | Bootable !! Patches (Overwrite flags) | |||
|- | |- | ||
| {{cellcolors|black|lime}} | | {{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}} | | {{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}} | | {{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}} | | {{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}} | | {{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}} | | {{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}} | | {{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}} | | {{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''' | ||
| | |||
| | |||
|} | |} | ||
{| class="wikitable" | {| class="wikitable" | ||
|+ATTRIBUTE flags< | |+ATTRIBUTE flags for ? (4<sup>th</sup> byte) | ||
! colspan=" | ! colspan="2" | Hexadecimal !! rowspan="2" width="75" | Decimal !! rowspan="2" | Binary <br /> (flags) !! colspan="4" | Feature | ||
| | |||
! | |||
|- | |- | ||
| | ! little endian !! big endian !! width="365" | Bootable | ||
|- | |- | ||
| {{cellcolors| | | {{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| | | {{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| | | {{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> | ||
|- | |- | ||
| {{cellcolors| | | {{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|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| | | {{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| | | {{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| | | {{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| | | {{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| | | {{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| | | {{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|black|lime}} 00 00 00 '''80''' || '''80''' 00 00 00 || style="text-align:right;" | 2147483648 || '''1'''0000000 00000000 00000000 00000000 || ''Not Used Yet'' | ||
| | |||
| | |||
|} | |} | ||
'''ATTRIBUTE flags for bootable content (1<sup>st</sup> byte)''' | '''ATTRIBUTE flags for bootable content (1<sup>st</sup> byte)''' | ||
{{Boxframe4|content= | {{Boxframe4|content= | ||
{{Boxframe1|content='''Portables''' | {{Boxframe1|content='''Portables''' | ||
Line 552: | Line 471: | ||
'''ATTRIBUTE flags for bootable content (2<sup>nd</sup> byte)''' | '''ATTRIBUTE flags for bootable content (2<sup>nd</sup> byte)''' | ||
{{Boxframe4|content= | {{Boxframe4|content= | ||
{{Boxframe1|content='''Move''' | {{Boxframe1|content='''Move''' | ||
Line 570: | Line 488: | ||
'''ATTRIBUTE flags for bootable content (3<sup>rd</sup> byte)''' | '''ATTRIBUTE flags for bootable content (3<sup>rd</sup> byte)''' | ||
{{Boxframe4|content= | {{Boxframe4|content= | ||
{{Boxframe1|content='''Discs''' | {{Boxframe1|content='''Discs''' | ||
Line 682: | Line 599: | ||
{{Boxtip1|content='''Used by''': All but Trophy}} | {{Boxtip1|content='''Used by''': All but Trophy}} | ||
The next | The next table represents the columns where the content is placed in the [[XMB]] and the CATEGORY asociated. | ||
{{PS3 Disc Game | {| class="wikitable" | ||
|+PS3 HDD Game Structure | |||
{{PS3 | ! 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 949: | ||
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. | ||
===GAMEDATA_ID=== | ===GAMEDATA_ID=== | ||
Line 750: | Line 969: | ||
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. | ||
{{ | {{XMB languages}} | ||
===LICENSE=== | ===LICENSE=== | ||
Line 766: | Line 985: | ||
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=== | |||
{{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 783: | Line 1,002: | ||
*Intended to store: | *Intended to store: | ||
**Counters (number of times the .SFO was updated, etc...) | **Counters (number of times the .SFO was updated, etc...) | ||
**User/console | **User/console data | ||
**Some more unknown and reserved areas. See {{Talk}} page | **Some more unknown and reserved areas. See {{Talk}} page | ||
Line 793: | Line 1,012: | ||
| 0x00 || 1 (0x1) || 01 || ''Unknown'' || values found: always 1 | | 0x00 || 1 (0x1) || 01 || ''Unknown'' || values found: always 1 | ||
|- | |- | ||
| 0x01 || 1 (0x1) || 08 || ''PS3 SaveData features ?'' || Some kind of "savedata feature flags" | | 0x01 || 1 (0x1) || 08 || ''PS3 SaveData features ?'' || Some kind of "savedata feature flags" (like the type of savedata system screen, its visibility, etc...)<BR />or "PARAMS version" with the added value before (v1.8 in this example)<BR />Seems to be managed as flags in binary. Values found: 1,2,3,5,7,8 | ||
|- | |- | ||
| 0x02 || 1 (0x1) || 01 || ''Unknown'' || values found: 1,2 | | 0x02 || 1 (0x1) || 01 || ''Unknown'' || values found: 1,2 | ||
Line 812: | Line 1,031: | ||
| 0x14 || 4 (0x4) || 01000000 || ''Counter slot 4 ?'' || values found: always 1 | | 0x14 || 4 (0x4) || 01000000 || ''Counter slot 4 ?'' || values found: always 1 | ||
|- | |- | ||
! rowspan=5 | | ! rowspan=5 | user/console | ||
| 0x18 || 4 (0x4) || 01000000 || '''User ID''' || | | 0x18 || 4 (0x4) || 01000000 || '''User ID''' || User identification number (local user) | ||
|- | |- | ||
| 0x1C || 16 (0x10) || FEDCBA9876543210FEDCBA9876543210 || [[PSID]] || | | 0x1C || 16 (0x10) || FEDCBA9876543210FEDCBA9876543210 || [[PSID]] || | ||
|- | |- | ||
| 0x2C || 4 (0x4) || 01000000 || '''User ID''' || | | 0x2C || 4 (0x4) || 01000000 || '''User ID''' || User identification number (local user) | ||
|- | |- | ||
| 0x30 || 16 (0x10) || 0123456789ABCDEF0123456789ABCDEF || '''ACCOUNT_ID''' || | | 0x30 || 16 (0x10) || 0123456789ABCDEF0123456789ABCDEF || '''ACCOUNT_ID''' || PSN account identification (online user) | ||
|- {{cellcolors|lightgrey}} | |- {{cellcolors|lightgrey}} | ||
| 0x40 || 960 (0x3C0) || ''zero filled'' || ''Reserved'' || Not used yet | | 0x40 || 960 (0x3C0) || ''zero filled'' || ''Reserved'' || Not used yet | ||
Line 829: | Line 1,048: | ||
**When the SFO is generated the user/console data is taken from [[XRegistry.sys]] | **When the SFO is generated the user/console data is taken from [[XRegistry.sys]] | ||
**The system displays the time when the savedata was updated by reading the timestamp of PARAM.SFO | **The system displays the time when the savedata was updated by reading the timestamp of PARAM.SFO | ||
**All this data seems to be processed by the PS3 system (not the game), there is a limited number of firmware features related with savegames that needs to store data, some posible data stored in this "unknown" areas could be: | |||
* | |||
* | |||
***Times the savedata was exported/imported to a external device (counters) | ***Times the savedata was exported/imported to a external device (counters) | ||
***Trophy disabled (not posible to unlock trophies from this gamesave, because was imported from external device and/or belongs to other user/console) | ***Trophy disabled (not posible to unlock trophies from this gamesave, because was imported from external device and/or belongs to other user/console) | ||
Line 838: | Line 1,054: | ||
***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) | ||
===PARAMS2=== | ===PARAMS2=== | ||
Line 846: | Line 1,060: | ||
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,142: | ||
|} | |} | ||
===PARENTALLEVEL=== | |||
{{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,165: | ||
{{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}} | ||
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,200: | ||
| 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:// | | {{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,235: | ||
*Tests | *Tests | ||
**PS2 games remastered in PS3 format (not "ps2 classics") like "resident evil 4 HD" (CATEGORY=HG and TITLE_ID=NPEB00342) | **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 | **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 | *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,252: | ||
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 | *'''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,337: | ||
|- | |- | ||
|} | |} | ||
===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,397: | ||
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 | ||
===TARGET_APP_VER=== | ===TARGET_APP_VER=== | ||
Line 1,196: | Line 1,413: | ||
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_ID=== | ===TITLE_ID=== | ||
Line 1,223: | Line 1,428: | ||
**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 | ||
==== | ===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,450: | ||
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]] | ||
{{ | {{XMB languages}} | ||
===VERSION=== | ===VERSION=== | ||
Line 1,279: | Line 1,496: | ||
| colspan="5" style="text-align:center;" | Etc... | | colspan="5" style="text-align:center;" | Etc... | ||
|} | |} | ||
==Tips & Tricks== | ==Tips & Tricks== |