Talk:PARAM.SFO: Difference between revisions

From PS3 Developer wiki
Jump to navigation Jump to search
Line 100: Line 100:
! colspan="5" | NPXS0[!0]*** (FW Components) <!-- seen in vsh.self -->
! colspan="5" | NPXS0[!0]*** (FW Components) <!-- seen in vsh.self -->
|-
|-
| IV0001-NPXS01001_00 || NPXS01001 || {{No}} || {{No}} ||
| IV0001-NPXS01001_00 || NPXS01001 || {{No}} || {{No}} || PSN/SEN login plugin
|-
|-
| || NPXS01002 || {{No}} || {{No}} ||
| || NPXS01002 || {{No}} || {{No}} ||

Revision as of 20:54, 9 January 2014


Unknown

This page is an index/worklog/notepad 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

The sections are ordered (from top to bottom) starting with the parameters that are most interesting, near completed, or more probable to support new features or content types in the future (TITLE_ID, CATEGORY and ATTRIBUTE).. Next there is a list of unknown parameters that are ordered by his difficulty from easy to hard, this list ends with the parameters related with security and continues with the data types that are very related to security, after this there are a few sections that are related with SFO but are not directly dependant of a parameter (e.g: structures activated by the presence of a folder with a reserved name, etc...)

At the end of the page there is a table of SFO parameters for other sony consoles, the only purpose of this table is to know the names of them to dont confuse with PS3... there is no plan to document them, although if anyone is interested in improving this table you can start here but later you will need to move to vitadevwiki, psdevwiki.com/ps4, or whatever

TITLE_ID (reserved, special or rare)

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
IP9100-NPIA09008_00-TAMGENERALMARKET NPIA09008 Video Unlimited (Preview) AV
NPIA9****
IP9101-NPIA9100[5-9]_00-PLUS???????????? No No No Playstation Plus
IP9102-NPIA90006_01-PSPLUSSUBS365DAY-E001 NPIA90006
NP*A0****
NPEA00007 Operation Creature Feature Playstation Eye cam features
EP9000-NPEA00008_00-AQUAVITAPS300000 NPEA00008 Aqua Vita HG Interactive aquarium. Playstation Eye cam features
NPEA00011 The Trials of Topoq Playstation Eye cam features
EP9000-NPEA00013_00-HOME000000000001 NPEA00013 Playstation Home Beta HG
EP9000-NPEA00022_00-EYECREATE0000000 NPEA00022 Eye Create HG Playstation Eye cam features (create photos, videos, etc...)
EP9000-NPEA00030_00-MESMERIZEPACK001 NPEA00030 Mesmerize HG Interactive wallpapers. Playstation Eye cam features
JP9002-NPJA00040_00-ADHOCPARTY000000 NPJA00040 Ad-Hoc Party HG (used by "PSP remasters" games to play online in PSP network)
NPEA00041 Tori Emaki Playstation Eye cam features
NPUA80083 Flower
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
NPEB00468 Filmy (Evaluation)? video column (or TV?) youtube video
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 PSN/SEN login plugin
NPXS01002 No No
NPXS01003 No No
NPXS01005 No No
NPXS03001 No No avc plugin
NPXS03002 No No audioplayer plugin
NPXS03003 No No bdp plugin
NPXS03005 No No download plugin
NPXS03006 No No edy plugin
NPXS03007 No No friendim plugin
NPXS03010 No No nas plugin + newstore plugin
NPXS03012 No No NP-signin plugin
NPXS03013 No No photoviewer plugin
NPXS03015 No No premo plugin
NPXS03017 No No ps3 savedata plugin
NPXS03018 No No sacd plugin
NPXS03019 No No software update plugin
NPXS03020 No No sysconf plugin
NPXS03021 No No thumthum plugin
NPXS03022 No No videodownloader plugin
NPXS03023 No No videoplayer plugin /videoeditor plugin
NPXS03024 No No vmc savedata plugin
NPXS03025 No No webbrowser plugin
NPXS03026 No No xai plugin
NPXS03027 No No XMB plugin
NPXS03028 No No PS3 game plugin-PS1
NPXS03029 No No PS3 game plugin-PS2
NPXS03030 No No np trophy ingame
NPXS03031 No No bgdl_available_time
NPXS03033 No No webrender plugin
NPXS03036 No No profile plugin
NPXS03037 No No friendtrophy plugin
NPXS03038 No No hknw plugin
NPXS03041 No No HDD game plugin
NPXS03043 No No PS3 Text Chat
NPXS03045 No No friendml plugin
NPXS04004 No No
IP9100-NPXS09386_00 NPXS09386 Playstation Store SF Playstation Store (internal)
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
AA0001-HOGE00000_00-PLAYGOGAMESAMPLE HOGE00000 PlayGo game sample HG PS4 test sample
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)
UP9002-NPUO00008_00-NHLGAMECENTERPS3 NPUO00008 NHL GameCenter AV
UT0016-NPUO00013_00-SAMPLE0000000229 NPUO00013 Video Unlimited - preview AV
UP9002-NPUO00014_00-MOVEMESERVER0000 NPUO00014 Move.Me HG
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 rare TITLE_ID's

  • Cross buy(?) : US: XCUS-0000* UE: XCES-0000* JP: XCJS-0000*
  • NPEO12345 & NPUO12345 : Others items also as theme, digital manual.
  • PSP remaster: BLJM-8500*
  • Converted edition: BLJM-6100*? PARAM.SFO use NP_COMMUNICATION_ID with DG / PS3_DISC.SFB is regular.
  • FVGK-00** used only on PS3/PSP/PS2? game box but not on disc?
  • 1.5 HD remix (generic name used more than one time?) have specific title id? KINGDOM HEARTS -HD 1.5 ReMIX-BLJM-60589.
  • ps2emu refuses to load CD's, that would crash, but ps1emu does this not
  • NPUB31187 music apps "Visualizer" by Q-Games
  • NPMA & NPVA : M for TV series, V for video
  • Homeland UV0010-NPMA40309_CN-0000000000179825
  • MRTC***** (disc based)
    • MRTC00001 STAR OCEAN THE LAST HOPE INTERNATIONAL
    • MRTC00002 LOST PLANET 2
    • MRTC00003 FINAL FANTASY XIII

CATEGORY and new supported content formats

  • AS goes to playstation network column (since 4.46+?).
  • VF - (HDD content, NOT in game column) ---> 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)
    • Similar than MN, 1P?
  • XI - Confirmed ---> System File for Extra Content Item Used on blu ray structure?

PSVita Remote play: ATTRIBUTE for remote play. See main page.

PSVita Cross play : PS VITA used as controller but not directly SFO related. (PS3 FW min 4.20 with PS VITA FW min 1.80:)

PS3_GAME/CROSSDIR/DATA000.SIG (Encrypted Certificate, magic "CER")
PS3_GAME/CROSSDIR/DATA000.PKG (PS Vita PKG, DRM type: "free")
PS3_GAME/CROSSDIR/DATA000.PNG

PSVita Cross buy: PS3 FW min 4.25? See above for title id and PS3_DISC.SFB but no SFO related.

PSVita System Application Utility: dev_hdd0/home/0000000x/psp2_backup/

  • Notes:
    • psp2 is the codename of PSvita, this contents are "shared/exported/imported" between PS3 and PSvita)
    • Can be also found without ps vita, generated folder and displayed :e.g. with PS vita pkg
    • "psp" folder display "psp/other", "system" folder don t seems to expect .pkg.
    • Trophy PS3-PS vita for possible similar user path.
PSVita Backup Utility folders in PS3 HDD
FileSystem Path Description Notes
dev_hdd0 Internal HDD, GameOS partition
home Users folder (common)
<user_id> User folder e.g: 00000001
psp2_backup PSvita Backup folder
ps1 Playstation 1 folder
psm Playstation Mobile folder
psp Playstation Portable folder
psp2 Playstation Vita folder icon0 & param.sfo on PCSE000**/sce_sys/
System Full Playstation Vita Backup folder

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>

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/

Indie games New category on PSvita and PSN http://blog.us.playstation.com/2013/06/25/ps-vita-indie-games-category-now-live-on-psn/ Indi games has a specific license, if XMB differences it it will be using ATTRIBUTE flags (similar identification than neogeo and pcengine because has a special license)

ATTRIBUTE (unknown flags brainstorming)

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

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 Hex 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, error occurred during the start operation (80010006))

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

Bootable contents installed in game column: [triangle]>[group by]: (works with square too in any item of game column)

*from dev_flash/vsh/resource/explore/xmb/registory.xml
-format <------------- GameList:GameList.type %xCB_LIST_TYPE_GAME_FORMAT
-tag/album <--------- GameList:GameList.type %xCB_LIST_TYPE_GAME_TAGS
-all <---------------- long list of "conditionals" excluding CATEGORY's that doesnt belongs to XMB game column in the format: An+Game:Game.category **

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 Remaster icon PSP Remaster, on 3.55, Mini icon: not present (-) ,not accessible (with titles inside).
  • 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 sub-folder 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

Other app with category not implemented yet on 3.55 FW such WT or unknown as VF on 4.21 can also just not "appear" on XMB and not being on the "Unknown" folder as Corrupted/Unsupported data. To access/delete from 3.55 XMB your PSP remaster folder s titles, group content it (not by format).

XMB In-game background music

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

XMB In-Game Background Music was implemented in firmware 2.40

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

See list:Custom Soundtrack Compatible list (without SFO edited?)

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" and you ll be able to listen to your music. However you can also have a message will start later, in this case,the utility might not work correctly.

  • Reasons (speculation):

Conflict with others system utility (E.G.:system chat voice, recording utility used on fews titles such PAIN, ), Network/Trophy ID (i.e. NPRWRTBOX_00) needed maybe, eboot compiled with old SDK or others restrictions (?)

  • Enabled Homebrew

MultiMan and Rebug Toolbox both have in game music with sfo attributes A5 00 00 00 retroarch also works after adding these attributes.

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)

Note: for Torne, it could have been a typo from the source.

SOUND_FORMAT (availables in debug or tool firmware, not in retail)

  • 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

ANALOG_MODE & RESOLUTION (in PS1, PS2, and PSP package games)

Emulators specific parameters/flags/values

The resolution for original 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 (e.g: 01 00 00 00). This will need another table if more are found

ANALOG_MODE MISCONCEPTIONS

Digital is single stick mode i.e. remapping the dpad, Analog is twin stick mode or flightstick mode

Note: DualShock3+SixAxis are the first to remove the analog button, but can be set in digital mode by software (hence the need of this setting)

APP_VER, TARGET_APP_VER, PS3_SYSTEM_VER, VERSION (Patches)

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

CONTENT_ID, NP_COMMUNICATION_ID, NPCOMMID (Purchase content, network features)

ACCOUNT_ID, PARAMS, PARAMS2, SAVEDATA_FILE_LIST, SAVEDATA_PARAMS, PADDING (security, integer special type)

Example of SAVEDATA_LIST_PARAM containing the "folder size in sectors" in the gamesaves generated by the game "The Orange Box: BLES00153, BLES00171, BLES00172, BLUS30055"

Game Selector Boot Process

When the disc boots, the EBOOT.BIN loads APP_CHOOSER.SELF, is a "game selector" and contains 5 games: half life 2, half life 2ep1, half life 2ep2, Portal, and Team fortress 2

Each of this games has his own .SELF and his own SAVECONTENTPS3 folder (each game uses different Content Information Files when generating his savedata). There is another savedata folder generated/loaded by the selector that is common. In some games (e.g: portal 1) there are several savedata folders to store: the "game settings", "autosave", and "manual save"

All the PARAM.SFO's generated in this savedata folders contains SAVEDATA_LIST_PARAM with a param_len of 7 bytes, and his values are strings of 6 numbers + a zero (NULL terminated)

The value stored by this game in SAVEDATA_LIST_PARAM is the "size of the folder on disk". This size is dependant of the filesystem (512 bytes cluster size in UFS2), and how many clusters are taken as the "minimun chunk" (that seems to be 2 clusters)

Because the writing process standards (and from the point of view of available clusters for the next writing operation) when a single byte is used in a cluster, this whole cluster is considered "not available for next writing process of a new file". This means e.g: that a file with a size 513 bytes uses 2 complete clusters (512 bytes in the first cluster and 1 byte in the second cluster, both clusters are reserved for this file)

To calculate the number of clusters used by a folder... is needed to calculate the number of clusters used by each file inside the folder, this includes the files that uses a number of clusters that is not even and needs to be "rounded-up". e.g: a file with size 1 byte (that is supposed to fit in 1 cluster) uses 2 clusters because the number "1" is not even. In few words, the number of clusters used by a file needs to be "rounded-up to next even number"

  • This save game is a good example because always contains the same values in SAVEDATA_LIST_PARAM (the second one from euro region): BLES00153-PORCONF-0 [Link 1] [Link 2]
File name real file size (in bytes) theorical disk size (in clusters) cluster round-up to even number real disk size (in bytes)
ICON0.PNG 12.461 12461/512=24,3... = 25 25+1= 26 26*512= 13.312
PARAM.PFD 32.768 32768/512= 64 64*512= 32.768
PARAM.SFO 2.736 2736/512=5,3... = 6 6*512= 3.072
PIC1.PNG 89.268 89268/512=174,3... = 175 175+1= 176 176*512= 90.112
POR-0.CFG 893 893/512=1,7... = 2 2*512= 1.024
POR-0.CHK 16 16/512=0,03... = 1 1+1= 2 2*512= 1.024
Folder contents total
138.142 273 clusters 276 clusters 141312 (SAVEDATA_LIST_PARAM)
  • The process is:
    • 1.- Divide by the cluster size
    • 2.- Round-up cluster number (if needed)
    • 3.- Multiply by the same cluster size (to know the amount of bytes reserved for this clusters)

This can be simplifyed by using 1024 (2 clusters)... because this way there is no need of step 2 (the "round-up")... but i have no idea if naming this "chunk" of 2 clusters a "page"... or why UFS2 filesystem takes them 2 by 2... i prefer to left this example as is, feel free to correct me

Also, there is a simple "trick" that can be used to display the files divided in clusters of the size you want (maybe are others but this is the faster way i found). By formatting a usb pendrive in advanced mode, using the cluster size your need, then moving the folder there (by using FAT32 with 1024 bytes cluster the value reported by your operative system is the same one stored inside SAVE_DATA_LIST)

  • PARAM.PFD relationship

Others

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

LINK.XML

Code Sample
  • <link ver>
    • Other version values doesnt seems to have any effect
  • <url>
    • Malformed or missing url starts the browser with an about: blank page

Used in category WT (and all BOOTABLE content installed in HDD ?) to create a XMB link with a url that will be launched using the Silk core (silk.sprx?) of the Web Browser (webbrowser_plugin.sprx?)

The file LINK.XML is placed in the same path than the PARAM.SFO next to it at dev_hdd0/game/<TITLE_ID>/. There is no USRDIR folder and there is no EBOOT.BIN but the PARAM.SFO needs to be marked as "BOOTABLE" (it boots the web browser using the url as parameter)

It seems is not posible to create a folder containing 2 bootable items (EBOOT.BIN, and LINK.XML)...when trying to boot it the XMB displays the error message: "this service has ended"


Web Browser Core Engine Notes

  • Silk (doesnt supports Java script), used in:
    • LINK.XML
    • In-game Web browser in PS3 Games. After closing browser it can return to the same point in the game
  • WebKit (supports Java script), used in:
    • Internet Search, or XMB options on Game column when a game is unlighted (using parameter TITLE) ?
    • "what's news" (message: "You are launching an internet website")
  • Both, used in:
    • Online Instruction Manuals and Internet Browser

System Folders used in contents (reserved names)

C00, DRMDIR, HTMLDIR, INSDIR, Lxx, LICDIR, MANUAL, PKGDIR, SHOPDIR:

C00

Demo

DRMDIR

Contains file name extension: PKG_DIGEST.DAT, length 0x14 (Note: No code available in kiosk firmware)

HTMLDIR

Empty?

INSDIR

See bluray structure

L00, L01, L02, L03, L04, L05 (License Area subfolders with optional .SFO's)

  • 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/L05/PARAM.SFO
/dev_bdvd/PS3_GAME/C00/L00/PARAM.SFO
/dev_bdvd/PS3_GAME/C00/L01/PARAM.SFO
 ...
/dev_bdvd/PS3_GAME/C00/L05/PARAM.SFO
  • From HDD0:
/dev_hdd0/game/ABCD12345/Lxx/PARAM.SFO
/dev_hdd0/game/ABCD12345/C01/Lxx/PARAM.SFO ---only working if region setting is L03 country (only other tested: L00 not working)


Speculation: Path used to restrict/use different License in the same region (L03?).


You can quickly check your region area with this sub folder (and inserting content file informations such ICON0). L** path can avoid error some code related to param.sfo/disc.sfo.


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 , Oceania is X. Path Pioneer with significant idea about it: Deroad)

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

LICDIR

See LIC.DAT, no SF0.

MANUAL

See MANUAL, no .SFO

PKGDIR

See Bluray structure

SHOPDIR

/dev_hdd0/game/NPJA90001/SHOPDIR

dev_bdvd/PS3_GM01/

PS3_GM01 is a folder at the same level than PS3_GAME, it looks like is used for multi-boot game discs (the only disc structure that supports direct multi-boot)

The name PS3_GM01 keeps the same number of characters than PS3_GAME... the characters "GM" means game, and the numbers "01" looks like a counter (for a max of 100 bootable games)

  • Notes
    • When talking about "direct booting" it means the eboots contained in each of the PS3_**** folders can be booted directly (doesn't exist a "main eboot" that makes the function of "game selector")
    • It looks like backup managers cant mount this folders correctly
    • Metal Gear Solid The Legacy Collection (BLJM91001 on PS3_DISC.SFB) seems to be the first game using this disc structure
    • source: http://www.ps3ita.it/ps3ita-manager-1-20-ora-supporta-anche-il-cfw-4-46/ (the message wrote by Liqianyu)
    • LIC.DAT's of this disc:
      • dev_bdvd/PS3_GAME/LICDIR/LIC.DAT: ending (beginning of chunks + chunk amounts * chunk size ) at 0x0A00, chunk amounts: 2, title id (BLJM61001) of PS3_GAME at 0x800, title id (BLJM60351)of PS3_GM01 at 0x900.
      • dev_bdvd/PS3_GM01/LICDIR/LIC.DAT: debug flag, ending at 0x0A00, title id of PS3_GAME at 0x800, title id of PS3_GM01 at 0x900.

Unknown

  • Folders EX_GAME & EX_VIDEO belongs to PS3_CONTENT disc substructure (same than THEMEDIR & VIDEODIR) :)
    • StorageMedia:Common.fileName EX_GAME <--- Mounted by XMB in game column using key="seg_add_content_device" see: http://www.ps3devwiki.com/wiki/XMB-Game
    • StorageMedia:Common.fileName EX_VIDEO <--- Mounted by XMB in video column using key="seg_add_content_device" see: http://www.ps3devwiki.com/wiki/XMB-Video
    • Note: PS3_CONTENT/THEMEDIR & VIDEODIR need "T" & "V" flags on PS3_DISC.SFB, "M" flag expect to have also PS3_CONTENT/
    • EX_GAME & EX_VIDEO requires SFO Category 'XR' and are emerged into PS3_EXTRA! (EX_GAME/EX_VIDEO are actually leftovers?)
  • /dev_hdd0/savedata/vmc/__SCE_ALLPROMOTE
  • SHOPINSTALL

DISC contents temporal installations (in dev_hdd0/tmp)

/dev_hdd0/tmp/disc_install/

Other .SFO parameters not only used in PS3 (from other sony consoles, PSP, PSvita, PS4)

The only purpose of this table is to know if they can be confused with PS3

Parameter Console Notes
PSP PSV PS4
ATTRIBUTE2 Yes
CATEGORY Yes "gd" = PS Vita Application
"gp" = PS Vita Application Patch
"ac" = PS Vita Additional Content.

See others here

CONTENT_URL URL of content (not parameter but related to link.xml?)
DISC_ID Yes
DISC_NUMBER Yes
DISC_TOTAL Yes
DISC_VERSION Yes
DRIVER_PATH Yes
GAMEDATA_ID Yes length max should be 32 (0x20) also for PS3 (DG)?
HRKGMP_VER Yes
REGION Yes
USE_USB Yes
GC_RO_SIZE Yes GameCache ReadOnly Size ?
GC_RW_SIZE Yes GameCache ReadWrite Size ?
INSTALL_DIR_ADDCONT Yes Shared Additional Content, utf-8, maximum len: 12
INSTALL_DIR_SAVEDATA Yes Shared Save Data, utf-8, maximum len: 12
PSP2_DISP_VER Yes utf-8, maximum len: 8, example: "00.000"
PSP2_SYSTEM_VER Yes int32
SAVEDATA_MAX_SIZE Yes int32
SUB_TITLE_ID
STITLE Yes App Short Title, utf-8, len:52
_PARAM.SFO ? PSP inside .iso ?
__PARAM.SFO ? PSP inside .iso ?
FOLDERNAME
FOLDERNAME_00

other SFO param keys

"XMB_APPS" found in explore_plugin ... a 32 Bit integer value read from sfo
"GAMEDATA_ID" found in explore_plugin ... 0x20 Bytes read from sfo
"PATCH_FILE" found in explore_plugin ... 0x20 Bytes read from sfo
"CONTENT_ID" found in explore_plugin ... 0x30 Bytes read from sfo

checked at /app_home/PS3_GAME/PARAM.SFO




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

  • Link each ID to a subpage, so they can be centrally managed (some are also listed here : http://www.ps3devwiki.com/wiki/Productcode )
  • 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)
  • Attribute table for bootable and patches combined? which attributes can not be combined between them or with CATEGORY (e.g. XMB In-Game Forced Enabled on PS1)
  • On main page someone can "explain" than sometime the id is different. e.g. Last of US sound track is NPEA when it "should be " an other NPEN because similar app.