Talk:PARAM.SFO

From PS3 Developer wiki
Jump to navigation Jump to search

Unknown

This is the first attempt to create an "index" for this page with sections refered to the "front" page that doesnt needs to have the same names but needs to be grouped in some way. All the sections in this page are things related with PARAM.SFO that are not completly documented, and the final purpose is to move the info when completed to the "front" page. This also will help to keep the "front" page free of speculation

TITLE_ID

See PARAM.SFO#TITLE_ID, everything that "breaks" the standards explained in this link can be added here in this table as an example to understand better how the ID's are assigned to each type of content

Content ID (.PKG) TITLE_ID (.SFO) TITLE (.SFO) CATEGORY (.SFO) Notes
NPIA0****
IP9100-NPIA00001_00-PS2HDDSYSDAT0001 NPIA00001 PS2 System Data 2D
IP9100-NPIA00002_00-0000111122223333 NPIA00002 Folding@home & Life with Playstation CB
EP9000-NPIA00005_00-HOME000000000001 NPIA00005 Playstation home HM
IP9100-NPIA00006_00-VSHMODULE0000029 No No No Photo Gallery (doesnt have an .SFO)
IP9100-NPIA00007_00-0000111122223333 NPIA00007 Folding@home & Life with Playstation CB
NPIA00009 ? ?
NPIA00010 Playstation home HG Debug Version (shipped with HDK)
NPIA00011 ? ?
NPIA00012 DigitalComics ? PSP App
NPIA00013 SenseMe ? PSP App
IP9100-NPIA00016_00-VSHMODULE0000001 No No No Video Editor and Uploader (doesnt have an .SFO)
IP9100-NPIA00025_00-SFPROD0000000000 NPIA00025 Playstation Store SF new Playstation Store, not via webbrowser anymore
IP9100-NPIA09002_00-0000111122223333 NPIA09002 Music Unlimited AM Qriocity
NPIA9****
IP9101-NPIA9100[5-9]_00-PLUS???????????? No No No Playstation Plus
NP*A0****
EP9000-NPEA00008_00-AQUAVITAPS300000 NPEA00008 Aqua Vita HG interactive aquarium info link
EP9000-NPEA00013_00-HOME000000000001 NPEA00013 Playstation Home Beta HG
EP9000-NPEA00022_00-EYECREATE0000000 NPEA00022 Eye Create HG Playstation Eye cam utility (create photos, videos, etc...)
EP9000-NPEA00030_00-MESMERIZEPACK001 NPEA00030 Mesmerize HG (is a move controller tech demo)
JP9002-NPJA00040_00-ADHOCPARTY000000 NPJA00040 Ad-Hoc Party HG (used by "PSP remasters" games to play online in PSP network)
NP*B0****
EP4183-NPEB00344_00-LOVEFILMFULL0100 NPEB00034 LOVEFiLM AV
EP2058-NPEB00894_00-HDDBOOTPINBALL01 NPEB00894 Pinball Arcade HG "game purchase" enabled in ATTRIBUTE (C00 folder), TROPDIR included
EP4381-NPEB01229_00-YOUTUBE000000001 NPEB01229 Youtube AT NPUP10028 for usa region
NP*D0****
EP4061-NPED00026_00-GSKYSCRAPE000ENG SLES55152 Skyscraper 2P Is a "PS2 Classic" note the TITLE_ID inside SFO is the original of the PS2 game and is different than the CONTENT_ID of the .pkg
NPHA*****
NPHA0**** First Party PSP PSN/SEN Games ?
HP9009-NPHA80082_00-0000000000000100 NPHA80082 now TV AT
HP9000-NPHA70006_00-0000000000000100 NPHA70006 QOOK TV AT
NPHB*****
NPHB0**** Licensed PSP PSN/SEN Games ?
NPXS0[!0]*** (FW Components)
IV0001-NPXS01001_00 NPXS01001 No No
NPXS01002 No No
NPXS01003 No No
NPXS01005 No No
NPXS03003 No No
NPXS03029 No No
NPXS03043 No No
NPXS04004 No No
NPXS09386 No No
NPXS00*** (SDK Samples)
IV0002-NPXS00006_00-SAMPLE0000000001 NPXS00006 NP GAME HG
IV0002-NPXS00008_00-GAMEUPDATEPATCH[1/2] NPXS00008 GameUpdate Utility Sample DG
IV0002-NPXS00009_00-GAMEUPDATEPATCH[1/2] NPXS00009 GameUpdate Sample (By System) DG
IV0002-NPXS00018_00-SAMPLE0000000001 NPXS00018 Matching2 Invitation Sample HG
IV0002-NPXS00020_00-HDDBOOTSAMPLE001 NPXS00020 HDD Game Sample HG
IV0002-NPXS00021_00-SAMPLE0000000001 NPXS00021 Game Data Sample HG
IV0002-NPXS00022_00-GAMEPURCHASE000[1/2] NPXS00022 Game Purchase Sample HG
IV0002-NPXS00024_00-SAMPLE0000000001 NPXS00024 NP Basic Sample HG
IV0002-NPXS00031_00-SAMPLE0000000001 NPXS00031 NP SNS HG
ULES*****
EP1004-ULES00151_00-GPCGRANDTH000001 ULES00151 Grand Theft Auto: Liberty City Stories PP
Others
UP0001-FSYN00001_00-0000111122223333 FSYN00001 FaceSync HG
XXYYYY-MCPD12345_00-XXXXXXXXXXXXXXXX MCPD12345 Motion Controller Playground Demo HG
UP9000-NPUO00007_00-AVAPS15ANVSYCOLR No No No Avatar 15 anyversary (doesnt have an .SFO)
UT0007-NPUP00030_00-NETFLIXRIGEL01NA NPUP00030 Netflix AV
No PBPX95208 DVD Player Version 2.10 No PS2 DVD Player Update 2.10
ps2emu refuses to load this CD
No PBXC0020[1-4] PSX-Update 1.10/1.20/1.31/2.11 No PSX Updates
ps2emu refuses to load this CD
No SLED01340 NET YAROZE COLLECTION No PS1 NET YAROZE demo disc
ps1emu + ps3 crashes
UP0001-TEST00000_00-0000111122223333 TEST00000 Debugging Station Launcher HG
? SCEAPPS01 ? ? Related with "shop/kiosk" PS3 models (only visible in "unlocked mode" ?)
? SCEAPPS02 ? ? Related with "shop/kiosk" PS3 models (only visible in "unlocked mode" ?)
? SCEAPPS03 ? ? Related with "shop/kiosk" PS3 models (only visible in "unlocked mode" ?)

Other TITLE_ID's (speculation or as exotic)

For PS3: NPJB60*** & NPJA60***

For PSP: NPJH60***

  • NPEO12345 & NPUO12345 : for Others items such theme, digital manual....?
  • PS3 DISC with PS3_VPRM (Blue-Ray movie structure described as hybrid disc) : BLJM-9300* for Japan.
  • Cross buy(?) : US: XCUS-0000* UE: XCES-0000* JP: XCJS-0000*
  • PSP remaster: BLJM-8500*
  • 1.5 HD remix or converted edition don t seems to have specific title id.
  • ps2emu refuses to load CD's, that would crash, but ps1emu does this not
  • Candidates to NPEA000** (more sony experiments) "Operation Creature Feature", "Trials of Topoq", "tori-emaki", "flower"

LINK.XML

Used in category WT (and probably all others) to create a link in XMB to a webpage (and probably to a direct download link, if the mimetype of the file is recognized by the PS3 as valid... note the download paths are hardcoded in the firmware and are dependant of the file minetype)

The file LINK.XML must be placed in the same folder of the PARAM.SFO (root of the .pkg)... this kind of .pkg's doesnt contains an USRDIR subfolder neither an EBOOT.BIN... but the PARAM.SFO is marked as "BOOTABLE"

In a standard .pkg the item that "boots" is the EBOOT.BIN... but in this kind of .pkg's the item that "boots" is the LINK.XML (or more specifically his contents, in this case a link that needs to be managed by the browser)

This presents a problem when a .pkg contains 2 items that can "boot" (EBOOT.BIN, and LINK.XML in this priority order)... this behavior has not been tested yet (a frankenstein idea that probably needs to be erased from here, heheh) = "this service has ended" message on xmb (probably also when other none valid structure are used)

When the LINK.XML is not valid (as other than url), the XMB still try to launch an internet website but with adress as "about: blank"

LINK.XML Example:

Code Sample
  • Notes

Found in "animax" app (EP4452-NPEB00691_00-DE000000FULL0100)

Other: NPEB00701, NPEB00702...

Little difference with other way to launch internet web site ("what's news") :Not message "You are launching an internet website"

ATTRIBUTE

XMB In-Game System Chat Voice Disable (Flag Nº7) : Value and name description are related to this flag but need to be confirmed from PS3 side / not used on bootable but as patches?.

Function to disable system chat voice utility (xmb/friend/start new chat appear when PSN connected) (implemented directly on FW or game or as flag into param.sfo for short period?) e.g. of this function: PlayStation Home 1.4 after people reported chat voice disturbance(?) , LittleBigPlanet 2.

Kept as flag for convenience (to disable per game through update game and not FW) but can be "system reminiscent" and not working anymore from param.sfo?

Boot logo Disable ? <-- this is the "license text hidden" flag ? FW max: 2.80 for ps3 fat? on patches?

Some flags may only be effective with some hardwares (PSP/PSVITA/ Torne /Nasne...), FW, Games, or Category and/or in a cumulative way and others conditions.

Please report test/investigation here or on the link forum at the end of this page.

  • Examples
Little Endian Big Endian Decimal Flags (Binary) Description Flag Nº Notes
Discs
05 17 80 00 00 80 17 05 8394501 00000000 10000000 00010111 00000101 killzone 3 01+03+09+10+11+13+24 all flags identifyed
20 00 02 00 00 02 00 20 131104 00000000 00000010 00000000 00100000 Dead Space 2 06+18 all flags identifyed
Patches
85 00 00 00 00 00 00 85 133 00000000 00000000 00000000 10000101 Torne v3.52 01+03+08 all flags identifyed (doesnt use any "overwrite" flag)

XMB In-game background music compatibility

Attempt to create compatiblity list with XMB In-Game (v2) Background Music feature.

XMB In-Game Background Music was implemented in firmware 2.40

Infos on limitations are mostly speculations (and from SFO point of view)

To activate it from SFO, see PARAM.SFO#ATTRIBUTE_In_Bootable_content

Title compatibility Note
Atelier Meruru No (Signed as 3.60)
Child of Eden Yes PSN game, SFO edited and updated from PKG.
Uncharted 1 No System FW version required 1.94

For better list see:Custom Soundtrack Compatible list (without SFO edited?)

Thread related: Here

For replacing PARAM.SFO manullay

  • Limitations:

After editing the SFO, you should not have anymore the XMB message saying "Music content cannot be played during use of this game" but instead "music will start in a while ( please insert exact xmb message). However, the feature might not work correctly (for easy display, the table report it as NO)

  • Reasons (speculation):

Conflict with others system utility (E.G.:system chat voice, recording utility), music files or eboot compiled with old SDK or others restrictions (?)


Other: On PS Vita PKG:

Facebook (gdc):
00 80 00 00
LiveTweet (gdc):
00 80 00 00
Skype (gdc):
00 80 04 00
Musicunlimited (gdc):
88 90 0E 00
Torne (gdc)
00 00 80 81
For Torne: http://www.vitadevwiki.com/index.php?title=System_File_Object_(SFO)_(PSF)


subcategories from X0 to X7

X category appear as HG (sub cat)but with different parameters and need cumulative flag (n22 at least+ 4th byte: half byte) The 4th byte is not used as binary (only?) but as Hexa value for half byte (right nibble, left nibble is ignored?) to set X category. If the value is 0 or end up with 0, and the X maker flag is set under right SFO X parameters, X0 (PCEngine) is read by the system.

SFO TEST Tool from Deroad can boot and return to XMB even under X category (when MINIS don t and are stuck after being X categorized)

Folder position in XMB (in fw 3.55 with hand-made PARAM.SFO's):

By pressing square, group content format position (the 8 X category folders can be displayed at the same time in XMB):

  • Mini icon: PS3 icon Playstation 3
  • Mini icon: PSP Minis icon minis
  • Mini icon: PS2 icon Playstation 2
  • mini icon: PS1 iconPlaystation
  • X1 Mini icon: not present (-)

Attribute used (01 00 60 01)on EBOOT.PBP SFO for Minis (group content format on PSP: minis)

  • X2 Mini icon: not present (-)

When Attribute used on EBOOT.PBP SFO on PSP: NEOGEO

  • X0 Mini icon:PCEngine icon PCEngine

Enables X category. Introduced initially as PCEngine.

Jul 15, 2009 Works alone and can be used with any "HG" category content, its not clear what does this flag other than the content has his own "tiny grey icon" with a "PCE" logo and are placed inside his own subfolder when ordering contents (with square button) in the XMB (3.55, 3.41?). Same attributes on PSP

  • X3 Mini icon: not present (-)
  • X4 Mini icon:NeoGeo icon NEOGEO

Dec 21, 2010 (Few days after 3.55) Can be used with any "HG" category content. It has his own "tiny grey icon" with a "NEOGEO" logo and are placed inside his own subfolder when ordering contents (with square button) in the XMB (3.55, 3.41?).

  • X5 (same for X6 and X7) Mini icon: not present (-)

(X3 might have been used already, X5,X6 and X7 not used yet?)

Group content order is similar on PSP for the available icons (PS3 folder being PSP and no "PS2"). See Talk:Eboot.PBP#Others:_PARAM.SFO_attribut_.28PSP.29


CATEGORY

  • PSvita icon - Speculation, refered as "VT" in one his related PS3 packages: NP0001-NPXS10002_00-VTSTORELIVEAREA0.pkg


  • VF - Confirmed ---> unknown name, used as a valid category filter in the XML configuration file for XMB game column in path: dev_flash/vsh/resource/explore/xmb/category_game.xml in key="gameDir"
    • key="gameDir" is an XMB item that allows to order the contents by "rating" or "timeCreated" the command used contains a list of categories that are excluded using the operator "An" = An not equal (VF is at the end of the list excluded with An+Game:Game.category VF)
  • Folders EX_GAME & EX_VIDEO belongs to PS3_CONTENT disc substructure (same than THEMEDIR & VIDEODIR) :)

Subfolders structures and others Parameters

PS3_GAME/

  • C00, HTMLDIR, DRMDIR, INSDIR, LICDIR, PKGDIR, SHOPDIR, TRPDIR, USRDIR, Lxx


Lxx: License Area

  • Path:
/dev_bdvd/PS3_GAME/PARAM.SFO
/setting/system/licenseArea
/dev_bdvd/PS3_GAME/L00/PARAM.SFO
/dev_bdvd/PS3_GAME/L01/PARAM.SFO
/dev_bdvd/PS3_GAME/L02/PARAM.SFO
/dev_bdvd/PS3_GAME/L03/PARAM.SFO
/dev_bdvd/PS3_GAME/L04/PARAM.SFO
/dev_bdvd/PS3_GAME/L05/PARAM.SFO
  • Or:
/dev_bdvd/PS3_GAME/C00/L00/PARAM.SFO
/dev_bdvd/PS3_GAME/C00/L01/PARAM.SFO
/dev_bdvd/PS3_GAME/C00/L02/PARAM.SFO
/dev_bdvd/PS3_GAME/C00/L03/PARAM.SFO
/dev_bdvd/PS3_GAME/C00/L04/PARAM.SFO
/dev_bdvd/PS3_GAME/C00/L05/PARAM.SFO
  • From HDD0:
/dev_hdd0/game/ABCD12345/Lxx/PARAM.SFO
  • other:
/dev_hdd0/game/ABCD12345/C01/Lxx/PARAM.SFO ---only if region setting is from L03 country?


Few speculation: Path used to restrict the content to a specific License Area:

  • Ancestor of Parental_Level_x (Parental_Level_x was created around FW 2.00? and them Region_Deny later (around FW 3.30 or less) making theses Lxx path archaic ( and so if have been used, only in early titles). Title_xx was early implemented but it is not up to the region.
  • Implemented (more recently) to use different License Area in the same region.


You can quickly check your region area with this sub folder (other than checking debug menu, parental level, original Time Zone settting, ...) by using this sub folder and inserting content file informations such ICON0 etc... (will load directly on XMB instead of regular path) and param.sfo (will load if not shadow copy).

Folder name License Area Regions
L00 SCEJ Japan
L01 SCEA US (L01), Canada (North America), Mexico (L01), Central America, South America
L02 SCEE Europe/Middle East/Africa, U.K./Ireland, Australia/New Zealand (Oceania: L02), Russia, Ukraine, India, Central Asia ,
L03 SCEH Singapore/Malaysia (Southeast Asia)?, Taiwan (L03), Hong Kong (L03)
L04 SCEK Korea (South Korea)
L05 SCH China

Unlinked Note: Button Behavior: for L05 is also O , Oceana is X.

You can compare the result with this table: Regions and report which Lxx is loaded on your Region and if this speculation is wrong. You can load different Lxx folder by using Debug Menu Setting Region but be alert about your TV setting display video (NTSC/PAL).

Here is a collection of folders (from L00 to L10) with icons displaying the different numbers, this way is easy to know wich one is used by XMB, to make the test just copy the folders next to USRDIR folder inside the installation folder of any app: region subfolders tests.zip (430.22KB) http://www.sendspace.com/file/ikvult

See also: "license area" restrictions used in combination with "parental level" http://www.ps3devwiki.com/wiki/Talk:PARAM.SFO#Lxx:_License_Area

Parameters

  • GAMEDATA_ID : length max should be 32 (0x20)?
  • FOLDER_NAME and FOLDERNAME_00 : ?

Special characters availables in text strings

These symbols can be used in TITLE, SUBTITLE, DETAIL, etc...

hexadecimal simbol description
E2 98 85 same star used in "install packages" icon

DATA types

Data_Type Description Used in
04 00 utf-8 Special Mode Data generated by the system: Game Saves (ACCOUNT_ID, PARAMS, PARAMS2, SAVEDATA_FILE_LIST, SAVEDATA_PARAMS)... and Trophies (PADDING)

The Data_Type = 0400 marked as "utf-8 Special Mode" has the particularity of return a "right" or "wrong" when comparing the string with a reference value, so it can be said that the difference between the simple "utf-8" and "utf-8 Special Mode" is only from the point of view of how the system manipulate this data. For more info read the section ACCOUNT_ID.

If the "scale" used for the second byte follows the proportion of 2^X (e.g. 1, 2, 4, 8, 16, 32, etc...) then we are missing a "04 01" valid data type in the list

Cryptography in "user files" (game saves & trophies)

ACCOUNT_ID, PADDING, PARAMS, PARAMS2, SAVEDATA_FILE_LIST, SAVEDATA_PARAMS

PARAM.PFD relationship

Firmware 3.56+ new features and contents

  • PSVita Remote play: Specific remote play. See main page (similar than PSP remote play).
  • PSVita Cross play : Specific game play with PS VITA used as controller.

PS3 FW min 4.20 with PS VITA FW min 1.80:

PS3_GAME/CROSSDIR/DATA000.SIG (Encrypted Certificate, magic "CER") speculation: see Certificate Signature Format
PS3_GAME/CROSSDIR/DATA000.PKG (PS Vita PKG, DRM type: "free")
PS3_GAME/CROSSDIR/DATA000.PNG
  • PSVitA Cross buy : Get PS3 version to have PSViTA version for free, and reverse case.

See above for title id and PS3_DISC.SFB (New Flag "S" related is speculation)

  • PlayStation Mobile (implemented around 4.21 firmware)
explore_plugin_full\Text\English.xml (inside explore_plugin_full.rco)

<Text name="msg_applications_psm">Applications (PlayStation®Mobile)</Text>

PS3 internal hdd path: dev_hdd0/home/0000000x/psp2_backup/psm. Displayed in: XMB/Game/PS VITA System Application Utility. (Generated folder and displayed :e.g. with PS vita pkg)

psp2_backup subfolders: ps1, psm, psp, psp2, system (psp2 is the codename of PSvita, this contents are "shared/exported/imported" between PS3 and PSvita)

Note: "psp" folder display "psp/other", "system" folder don t seems to expect .pkg. Note2: Trophy PS3-PS vita for possible similar user path.


  • keyboard/mouse support (in one of the patches of game "DUST 514")

http://gamescatalyst.com/2012/08/ps3-users-to-make-contact-with-their-pc-neighbours-as-dust-514-migrates-to-eve-onlines-servers/ previous old game UNreal III has keyboard support, but not from SFO.


  • new youtube app

youtube remote control from a paired smartphone -- http://www.ps3news.com/playstation-3-psn-news/sony-announces-the-new-youtube-app-hits-playstation-3-today/

  • 7.1 virtual surround (in SOUND_FORMAT) sound mode has been announced officially, it will be implemented in the next firmware (aparently version 4.20). This sound mode will need one (or two) new flags for being activated in games

Emulators specific parameters/flags

ANALOG_MODE & specific values for RESOLUTION

RESOLUTION

Data_Type: uint32_t
Data_Size_Total: 4 bytes
Data_Size_Used: 4 bytes
Used by: HDD Game, PS1 Classics Game, Minis Game, PSP Remasters Game

TV video modes supported by the content.

When there are several flags activated the PS3 will use the one with higher quality supported by the TV.

Little Endian Big Endian Decimal Binary (Flags) Description
01 00 00 00 00 00 00 01 1 00000000 00000000 00000000 00000001 480 (4:3)
02 00 00 00 00 00 00 02 2 00000000 00000000 00000000 00000010 576 (4:3)
04 00 00 00 00 00 00 04 4 00000000 00000000 00000000 00000100 720 (16:9)
08 00 00 00 00 00 00 08 8 00000000 00000000 00000000 00001000 1080 (16:9)
10 00 00 00 00 00 00 10 16 00000000 00000000 00000000 00010000 480 (16:9)
20 00 00 00 00 00 00 20 32 00000000 00000000 00000000 00100000 576 (16:9)
Examples
3F 00 00 00 00 00 00 3F 63 00000000 00000000 00000000 00111111 All video modes supported
  • Note the resolution for originall PS1 disc games can vary (See: 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

Patches

APP_VER, TARGET_APP_VER, PS3_SYSTEM_VER, VERSION lot of things to add here, maybe needs another page, but im not the best one to document them

PS3_SYSTEM_VER

This is the flag for what's the minimum firmware a game will run on. It is 0x8 bytes and is only found it Gamedata SFO files, not gamesaves (most of them atleast).

File:PS3 SYSTEM VER.png

This can be changed to run on other firmwares.

Purchase content

CONTENT_ID, NP_COMMUNICATION_ID, NPCOMMID


To Do

There are lot of "yes" in the parameters table that in fact are optional "opt". The "yes" means the value is mandatory, so the table is not fully correct, it needs to add a lot more "opt" in the paces of the "yes"

Also... this table represents the values needed for each content ordered by CATEGORY, but there are different contents that shares the same CATEGORY (like the different types of patches, DLC's, and game installations... alll them uses "GD"

The "parameter table" cant contain all this different variations, by now i dont see a way to do it


Suggestions

  • Sure NP Communication refers to Network Platform and not Playstation Network(sdk) ?
    • The name comes from: NPMT (Network Platform Management Tools) --Sandungas 06:06, 18 January 2013 (MSK)