PS3 DISC.SFB: Difference between revisions

From PS3 Developer wiki
Jump to navigation Jump to search
(→‎Internal structure: styled more like the hybrid flags)
 
(32 intermediate revisions by 11 users not shown)
Line 1: Line 1:
[[Category:Software]]
<div style="float:right">[[Image:icon media ps3 bd.png|200px|thumb|left|PS3 Blu Ray]]<br /></div>
 
Main file of a PS3 disc, used as a descriptor of the title and contents.<br>
Main file of a PS3 disc, used as a descriptor of the title and contents.
 
The hybrid flags says to the PS3 to look for [[PARAM.SFO]]'s in specific folders, several flags can be used at the same time
The hybrid flags says to the PS3 to look for [[PARAM.SFO]]'s in specific folders, several flags can be used at the same time


----
=Internal structure=
 
The file has a lot of padding, probably to avoid forcing the laser lens to read a file too small. It has big endian byte ordering.
==Internal structure==
 
The file has a lot of padding, probably to avoid forcing the laser lens to read a "too tiny" file


{| class="wikitable"
{| class="wikitable"
|-
|-
! Offset !! Length !! Example !! Description
! Offset (h) !! Length (h) !! Example (h) !! Description
|-
| 0x0 || 0x4 || 0x2E534642 || ".SFB"
|-
| 0x4 || 0x4 || 0x00010000 || File version ?
|-
| 0x8 || 0x18 || 0x0000..00 || Unknown (zeroes)
|-
|-
| 0x0 || 0x4 || .SFB ||  
| 0x20 || 0x10 || 0x4859425249445F464C41470000000000 || "HYBRID_FLAG" (Flags type)
|-
|-
| 0x4 || 0x4 || 00010000 || File version ?
| 0x30 || 0x4 || 0x00000200 || Disc Content Data Offset (0x200)
|-
|-
| 0x8 || 0x18 || || Unknown (zeroes)
| 0x34 || 0x4 || 0x00000020 || Disc Content Data Length (0x20)
|-
|-
| 0x20 || 0xF || HYBRID_FLAG || Disc Content Name
| 0x38 || 0x8 || 0x0000000000000000 || Unknown (zeroes)
|-
|-
| 0x30 || 0x4 || 00000200 || Disc Content Data Offset (0x200)
| 0x40 || 0x8 || 0x5449544C455F4944 || "TITLE_ID" (Disc Title Name)
|-
|-
| 0x34 || 0x4 || 00000020 || Disc Content Data Length (0x20)
| 0x48 || 0x8 || 0x0000000000000000 || Unknown (zeroes)
|-
|-
| 0x38 || 0x8 || TITLE_ID || Disc Title Name
| 0x50 || 0x4 || 0x00000220 || Disc Title Data Offset (0x220)
|-
|-
| 0x50 || 0x4 || 00000220 || Disc Title Data Offset (0x220)
| 0x54 || 0x4 || 0x00000010 || Disc Title Data Length (0x10)
|-
|-
| 0x54 || 0x4 || 00000010 || Disc Title Data Length (0x10)
| 0x58 || 0x8 || 0x0000000000000000 || Unknown (zeroes)
|-{{cellcolors|#ffff99}}
| 0x60 || 0x8 || 0x56455253494F4E00 || "VERSION" (Disc Version)
|-
|-
| 0x58 || 0x1A8 || || Unknown (zeroes)
| 0x68 || 0x8 || 0x0000000000000000 || Unknown (zeroes)
|-{{cellcolors|#ffff99}}
| 0x70 || 0x4 || 0x00000230 || Disc Version Data Offset (0x230)
|-{{cellcolors|#ffff99}}
| 0x74 || 0x4 || 0x00000010 || Disc Version Data Length (0x10)
|-
|-
| 0x200 || 0x20 || gVu || '''Disc Content''' (Hybrid Flags)
| 0x78 || 0x188 || 0x0000..00 || Unknown (zeroes)
|-
|-
| 0x220 || 0x10 || ABCD-12345 || '''Disc Title'''
| 0x200 || 0x20 || 0x675675 || "gVu" '''Disc Content''' (Hybrid Flags)
|-
|-
| 0x230 || 0x3D0 || || Unknown (zeroes)
| 0x220 || 0x10 || 0x414243442D3132333435 || "ABCD-12345" '''Disc Title'''
|-{{cellcolors|#ffff99}}
| 0x230 || 0x10 || 0x30312E3030 || "01.00" '''Disc Version'''
|-
|-
| 0x240 || 0x3C0 || 0x0000..00 || Unknown (zeroes)
|-
| colspan=4 {{cellcolors|#ffff99}} rows marked in yellow are only present in multi-game discs
|}
|}


===Hybrid Flags===
=Hybrid Flags=
 
<div style="float:right">[[Image:icon media_ps3_bd_install.png|200px|thumb|center|PS3 Blu Ray install content]]<br>[[Image:icon media ps3 bd_video.png|200px|thumb|center|PS3 Blu Ray video content]]</div>
The order of the flags its not clear (is not alphabetically) but there are 32 bytes reserved for them, so probably any combination is valid
The order of the flags its not clear (is not alphabetically) but there are 32 bytes reserved for them, so probably any combination is valid


{| class="wikitable"
{| class="wikitable"
|-
|-
! Hex !! ASCII !! Description !! Path
! Hex !! ASCII !! Description !! Enables contents in disc path:
|-
| 53 || S || Disc Benefits || Not dependant of other disc files, enables a network connection to PSN store
|-
|-
| 53 || S || Unknown || Unknown
| 54 || T || Themes || dev_bdvd/'''PS3_CONTENT'''/THEMEDIR/PARAM.SFO
|-
|-
| 54 || T || THEME || TITLE_ID\'''PS3_CONTENT'''\THEMEDIR\PARAM.SFO
| 56 || V || Video || dev_bdvd/'''PS3_CONTENT'''/VIDEODIR/PARAM.SFO
|-{{cellcolors|#ff9999}}
| 66 || f || ? || friends ? (unknown yet, usually combined with g/p?)
|-
|-
| 56 || V || VIDEO || TITLE_ID\'''PS3_CONTENT'''\VIDEODIR\PARAM.SFO
| 67 || g || Disc Game &<br />Disc Extra Contents || dev_bdvd/'''PS3_GAME'''/USRDIR/PARAM.SFO &<br />dev_bdvd/'''PS3_EXTRA'''/PARAM.SFO
|-{{cellcolors|#ff9999}}
| 6D || m || ? || music?
|-{{cellcolors|#ff9999}}
| 70 || p || ? || photo ? (unknown yet, used with v, fv,..)
|-
|-
| 67 || g || GAME & EXTRA || TITLE_ID\'''PS3_GAME'''\USRDIR\PARAM.SFO & TITLE_ID\'''PS3_EXTRA'''\PARAM.SFO
| 75 || u || Firmware Update || dev_bdvd/'''PS3_UPDATE'''/PS3UPDAT.PUP
|-
|-
| 75 || u || UPDATE || TITLE_ID\'''PS3_UPDATE'''\UPDATE.PUP
| 76 || v || BluRay Movie || dev_bdvd/'''PS3_VPRM'''/PARAM.SFO
|-
|-
| 76 || v || BDMOVIE || TITLE_ID\'''PS3_VPRM'''\PARAM.SFO
| colspan="4" {{cellcolors|#ff9999}} rows marked in red are speculative
|-
|-
|}
|}
s = settings ?


*Notes
=Notes=
 
<div style="float:right">[[File:Icn-DiscBenefits.png|100px|thumb|center|Icon Disc Benefits]]<br /></div>
The flag "'''g'''" activates two subfolders '''PS3_GAME''' (main game) and '''PS3_EXTRA''' (one of the 3 ways to include extras in a disc)
*The flag "'''g'''" activates two subfolders '''PS3_GAME''' (main game) and '''PS3_EXTRA''' (one of the 3 ways to include extras in a disc).<br> Games are marked as "'''gu'''" (because there is always an UPDATE.PUP), if you want to remove the folder '''PS3_UPDATE''' is good to remove the flag "u" from here
 
*The flags "'''T'''" and "'''V'''" activates subfolders inside '''PS3_CONTENT''' (the second way to include extras in a disc)
Games are marked as "'''gu'''" (because there is always an UPDATE.PUP), if you want to remove the folder '''PS3_UPDATE''' is good to remove the flag "u" from here
*The third way to include extras in a disc depends of "'''g'''" but it needs to activate another different flag in TITLE_ID\'''PS3_GAME'''\[[PARAM.SFO]] (in the ATTRIBUTE parameter)
 
*The flag '''"S"''' appears (need to remove-insert disc on top of BD-EMU) with games featuring Cross Buy (FW 4.25+?), and will load the icon "Disc Benefits" (dev_flash\vsh\resource\explore\icon) and [http://www.ps3devwiki.com/wiki/File:Xmb-contentinfo-sd.png pic].<br> This flag might only concern [[PSVita]] content. [[Talk:PARAM.SFO#TITLE_ID | Specific title id]] as XCJS-0000* is not required. Order is : "gSu".
The flags "'''T'''" and "'''V'''" activates subfolders inside '''PS3_CONTENT''' (the second way to include extras in a disc)
*Other flags ?: See {{talk}} page.
 
*Open Source reader by pink1tools https://github.com/pink1stools/PS3_DISC.SFB-Editor
The third way to include extras in a disc depends of "'''g'''" but its needed to activate another different flag in TITLE_ID\'''PS3_GAME'''\[[PARAM.SFO]] (in his ATTRIBUTE parameter)
 
The flag '''"S"''' appear with Cross Buy games (FW 4.20+?). Order is : "gSu". In one title, the game structure is also with PKGDIR (the title id at 0x220 is the same title id than the param.sfo (DP)).


Other flags ?: See talk page.
{{File Formats}}<noinclude>[[Category:Main]]</noinclude>

Latest revision as of 00:51, 12 March 2023

PS3 Blu Ray

Main file of a PS3 disc, used as a descriptor of the title and contents.
The hybrid flags says to the PS3 to look for PARAM.SFO's in specific folders, several flags can be used at the same time

Internal structure[edit | edit source]

The file has a lot of padding, probably to avoid forcing the laser lens to read a file too small. It has big endian byte ordering.

Offset (h) Length (h) Example (h) Description
0x0 0x4 0x2E534642 ".SFB"
0x4 0x4 0x00010000 File version ?
0x8 0x18 0x0000..00 Unknown (zeroes)
0x20 0x10 0x4859425249445F464C41470000000000 "HYBRID_FLAG" (Flags type)
0x30 0x4 0x00000200 Disc Content Data Offset (0x200)
0x34 0x4 0x00000020 Disc Content Data Length (0x20)
0x38 0x8 0x0000000000000000 Unknown (zeroes)
0x40 0x8 0x5449544C455F4944 "TITLE_ID" (Disc Title Name)
0x48 0x8 0x0000000000000000 Unknown (zeroes)
0x50 0x4 0x00000220 Disc Title Data Offset (0x220)
0x54 0x4 0x00000010 Disc Title Data Length (0x10)
0x58 0x8 0x0000000000000000 Unknown (zeroes)
0x60 0x8 0x56455253494F4E00 "VERSION" (Disc Version)
0x68 0x8 0x0000000000000000 Unknown (zeroes)
0x70 0x4 0x00000230 Disc Version Data Offset (0x230)
0x74 0x4 0x00000010 Disc Version Data Length (0x10)
0x78 0x188 0x0000..00 Unknown (zeroes)
0x200 0x20 0x675675 "gVu" Disc Content (Hybrid Flags)
0x220 0x10 0x414243442D3132333435 "ABCD-12345" Disc Title
0x230 0x10 0x30312E3030 "01.00" Disc Version
0x240 0x3C0 0x0000..00 Unknown (zeroes)
rows marked in yellow are only present in multi-game discs

Hybrid Flags[edit | edit source]

PS3 Blu Ray install content

PS3 Blu Ray video content

The order of the flags its not clear (is not alphabetically) but there are 32 bytes reserved for them, so probably any combination is valid

Hex ASCII Description Enables contents in disc path:
53 S Disc Benefits Not dependant of other disc files, enables a network connection to PSN store
54 T Themes dev_bdvd/PS3_CONTENT/THEMEDIR/PARAM.SFO
56 V Video dev_bdvd/PS3_CONTENT/VIDEODIR/PARAM.SFO
66 f ? friends ? (unknown yet, usually combined with g/p?)
67 g Disc Game &
Disc Extra Contents
dev_bdvd/PS3_GAME/USRDIR/PARAM.SFO &
dev_bdvd/PS3_EXTRA/PARAM.SFO
6D m ? music?
70 p ? photo ? (unknown yet, used with v, fv,..)
75 u Firmware Update dev_bdvd/PS3_UPDATE/PS3UPDAT.PUP
76 v BluRay Movie dev_bdvd/PS3_VPRM/PARAM.SFO
rows marked in red are speculative

s = settings ?

Notes[edit | edit source]

Icon Disc Benefits

  • The flag "g" activates two subfolders PS3_GAME (main game) and PS3_EXTRA (one of the 3 ways to include extras in a disc).
    Games are marked as "gu" (because there is always an UPDATE.PUP), if you want to remove the folder PS3_UPDATE is good to remove the flag "u" from here
  • The flags "T" and "V" activates subfolders inside PS3_CONTENT (the second way to include extras in a disc)
  • The third way to include extras in a disc depends of "g" but it needs to activate another different flag in TITLE_ID\PS3_GAME\PARAM.SFO (in the ATTRIBUTE parameter)
  • The flag "S" appears (need to remove-insert disc on top of BD-EMU) with games featuring Cross Buy (FW 4.25+?), and will load the icon "Disc Benefits" (dev_flash\vsh\resource\explore\icon) and pic.
    This flag might only concern PSVita content. Specific title id as XCJS-0000* is not required. Order is : "gSu".
  • Other flags ?: See Discussion page.
  • Open Source reader by pink1tools https://github.com/pink1stools/PS3_DISC.SFB-Editor