Talk:PARAM.SFO: Difference between revisions
(tools and source link moved to front) |
m (→TITLE_ID) |
||
Line 652: | Line 652: | ||
==== TITLE_ID ==== | ==== TITLE_ID ==== | ||
ID of the homebrew (this id must be the same id inside the Makefile) | [[TITLE ID]] of the homebrew (this id must be the same id inside the Makefile) | ||
String(UTF-8) | String(UTF-8) | ||
max length 16 | max length 16 |
Revision as of 15:50, 17 January 2012
More accurate data about the param.sfo: http://pastie.org/2236579 (this is a single example, not generic)
PARAM.SFO
Header
0x00000000 00 50 53 46 | .PSF | u32 magic 0x00000004 01 01 00 00 | .... | u32 file version 0x00000008 d4 00 00 00 | .... | u32 key offset 0x0000000c 50 01 00 00 | .... | u32 value offset 0x00000010 0c 00 00 00 | .... | u32 entry count
Entries
APP_VER 0x00000014 00 00 | .. | u16 key_offset 0x00000016 04 | . | u8 unk1 0x00000017 02 | . | u8 value_type 0x00000018 06 00 00 00 | .... | u32 value_len 0x0000001c 08 00 00 00 | .... | u32 padded_len 0x00000020 00 00 00 00 | .... | u32 value_offset
ATTRIBUTE 0x00000024 08 00 | .. | u16 key_offset 0x00000026 04 | . | u8 unk1 0x00000027 04 | . | u8 value_type 0x00000028 04 00 00 00 | .... | u32 value_len 0x0000002c 04 00 00 00 | .... | u32 padded_len 0x00000030 08 00 00 00 | .... | u32 value_offset
BOOTABLE 0x00000034 12 00 | .. | u16 key_offset 0x00000036 04 | . | u8 unk1 0x00000037 04 | . | u8 value_type 0x00000038 04 00 00 00 | .... | u32 value_len 0x0000003c 04 00 00 00 | .... | u32 padded_len 0x00000040 0c 00 00 00 | .... | u32 value_offset
CATEGORY 0x00000044 1b 00 | .. | u16 key_offset 0x00000046 04 | . | u8 unk1 0x00000047 02 | . | u8 value_type 0x00000048 03 00 00 00 | .... | u32 value_len 0x0000004c 04 00 00 00 | .... | u32 padded_len 0x00000050 10 00 00 00 | .... | u32 value_offset
LICENSE 0x00000054 24 00 | .. | u16 key_offset 0x00000056 04 | . | u8 unk1 0x00000057 02 | . | u8 value_type 0x00000058 13 01 00 00 | .... | u32 value_len 0x0000005c 00 02 00 00 | .... | u32 padded_len 0x00000060 14 00 00 00 | .... | u32 value_offset
PARENTAL_LEVEL 0x00000064 2c 00 | .. | u16 key_offset 0x00000066 04 | . | u8 unk1 0x00000067 04 | . | u8 value_type 0x00000068 04 00 00 00 | .... | u32 value_len 0x0000006c 04 00 00 00 | .... | u32 padded_len 0x00000070 14 02 00 00 | .... | u32 value_offset
PS3_SYSTEM_VER 0x00000074 3b 00 | .. | u16 key_offset 0x00000076 04 | . | u8 unk1 0x00000076 02 | . | u8 value_type 0x00000078 08 00 00 00 | .... | u32 value_len 0x0000007c 08 00 00 00 | .... | u32 padded_len 0x00000080 18 02 00 00 | .... | u32 value_offset
RESOLUTION 0x00000084 4a 00 | .. | u16 key_offset 0x00000086 04 | . | u8 unk1 0x00000087 04 | . | u8 value_type 0x00000088 04 00 00 00 | .... | u32 value_len 0x0000008c 04 00 00 00 | .... | u32 padded_len 0x00000090 20 02 00 00 | .... | u32 value_offset
SOUND_FORMAT 0x00000094 55 00 | .. | u16 key_offset 0x00000096 04 | . | u8 unk1 0x00000097 04 | . | u8 value_type 0x00000098 04 00 00 00 | .... | u32 value_len 0x0000009c 04 00 00 00 | .... | u32 padded_len 0x000000a0 24 02 00 00 | .... | u32 value_offset
TITLE 0x000000a4 62 00 | .. | u16 key_offset 0x000000a6 04 | . | u8 unk1 0x000000a6 02 | . | u8 value_type 0x000000a8 0b 00 00 00 | .... | u32 value_len 0x000000ac 80 00 00 00 | .... | u32 padded_len 0x000000b0 28 02 00 00 | .... | u32 value_offset
TITLE_ID 0x000000b4 68 00 | .. | u16 key_offset 0x000000b6 04 | . | u8 unk1 0x000000b6 02 | . | u8 value_type 0x000000b8 0e 00 00 00 | .... | u32 value_len 0x000000bc 10 00 00 00 | .... | u32 padded_len 0x000000c0 a8 02 00 00 | .... | u32 value_offset
VERSION 0x000000c4 71 00 | .. | u16 key_offset 0x000000c6 04 | . | u8 unk1 0x000000c7 02 | . | u8 value_type 0x000000c8 06 00 00 00 | .... | u32 value_len 0x000000cc 08 00 00 00 | .... | u32 padded_len 0x000000d0 b8 02 00 00 | .... | u32 value_offset
Name table (keys)
0x000000d4 50 50 5f 56 45 52 00 | APP_VER. | 0x000000dc 41 54 54 52 49 42 55 54 45 00 | ATTRIBUTE. | 0x000000e6 42 4f 4f 54 41 42 4c 45 00 | BOOTABLE. | 0x000000ef 43 41 54 45 47 4f 52 59 00 | CATEGORY. | 0x000000f8 4c 49 43 45 4e 53 45 00 | LICENSE. | 0x00000100 50 41 52 45 4e 54 41 4c 5f 4c 45 56 45 4c 00 | PARENTAL_LEVEL. | 0x00000110 50 53 33 5f 53 59 53 54 45 4d 5f 56 45 52 00 | PS3_SYSTEM_VER. | 0x0000011e 52 45 53 4f 4c 55 54 49 4f 4e 00 | RESOLUTION. | 0x00000129 53 4f 55 4e 44 5f 46 4f 52 4d 41 54 00 | SOUND_FORMAT. | 0x00000136 54 49 54 4c 45 00 | TITLE. | 0x0000013c 54 49 54 4c 45 5f 49 44 00 | TITLE_ID. | 0x00000145 56 45 52 53 49 4f 4e 00 00 00 00 | VERSION. |
Data table (values)
APP_VER 0x00000150 30 30 2e 30 35 00 00 00 | 00.05 | u8 app_ver[7]
ATTRIBUTE 0x00000158 05 00 00 00 | .... | u32 attribute
BOOTABLE 0x0000015c 01 00 00 00 | .... | u32 bootable
CATEGORY 0x00000160 48 47 00 00 | HG.. | u8 category[3]
LICENSE 0x00000164 ... | .... | u8 license[0x200]
PARENTAL_LEVEL 0x00000364 00 00 00 00 | .... | u32 parental_level
PS3_SYSTEM_VER 0x00000368 30 33 2e 31 30 30 30 00 | 03.1000. | u8 system_version[7]
RESOLUTION 0x00000370 3f 00 00 00 | .... | u32 resolution
SOUND_FORMAT 0x00000374 17 01 00 00 | .... | u32 sound_format
TITLE 0x00000378 ... | ........ | u8 title[0x30]
TITLE_ID 0x000003f8 ... | ........ | u8 title_id[0x10]
VERSION 0x000004f8 30 30 2e 30 35 00 00 00 | 00.05... | u8 version[7]
SaveData Example
This is an structure in C of the table for a SaveData
unsigned char Variable_Name_table[Number_of_variables+1]={ "ACCOUNT_ID\0x00", "ATTRIBUTE\0x00", "CATEGORY\0x00", "DETAIL0\x00", "PARAMS\0x00", "PARAMS2\0x00", "PARENTAL_LEVEL\0x00", "SAVEDATA_DIRECTORY\0x00", "SAVEDATA_LIST_PARAM\0x00", "SUB_TITLE\0x00", "TITLE\0x00", "\0x00\0x00" };
unsigned char Account_ID[16]; account_id unsigned long Attribute; attribute unsigned char Category[4]="SD",0x00,0x00 category unsigned char Detail[1024]; detail 000558 01 05 01 03 03 00 00 00 00 00 00 00 00 00 00 00 / params 000568 08 00 00 00 01 00 00 00 01 00 00 00 00 00 00 00 000578 992 x 0x00 unsigned char Params2[12]; params2 unsigned long Parental_level; parental_level unsigned char SaveData_directory[64]; savedata_directory 0009a8 37 33 37 00 00 00 00 00 savedata_list_param unsigned char Sub_Title[128]; sub title unsigned char Title[128]; title } param_sfo;
PSL1GHT PARAM.SFO
See :
- https://github.com/ps3dev/PSL1GHT/blob/master/tools/ps3py/sfo.py (old way)
- https://github.com/an0nym0u5/PSL1GHT/tree/master/tools/make_sfo (new/better way)
- read_sfo.tar.bz2 (6.32 KB)
$ ./read_sfo PARAM1.SFO read_sfo v0.01 -[HEADER]--------------- SFO Version: 101 Entries: 12 -[PARAMETERS]----------- APP_VER: 01.00 ATTRIBUTE: 0 BOOTABLE: 1 CATEGORY: HG LICENSE: This application was created with the official non-official SDK called psl1ght, for more information visit http://www.psl1ght.com/ . This is in no way associated with Sony Computer Entertainment Inc., please do not contact them for help, they will not be able to provide it. PARENTAL_LEVEL: 0 PS3_SYSTEM_VER: 01.8000 RESOLUTION: 3f SOUND_FORMAT: 117 TITLE: PSL1GHT SFO TITLE_ID: TEST00001 VERSION: 01.00
HEADER
SFO Version
SFO Version: 101
Entries
Number of entries for PARAMETERS
Entries: 12
PARAMETERS
APP_VER
This is the version of the Homebrew, that will be displayed on the PS3
<value name="APP_VER" type="string"> 00.50 </value>
ATTRIBUTE
This value enable special functions of the Homebrew (Enable Move Controller, etc..)
<value name="ATTRIBUTE" type="integer"> 0 </value>
BOOTABLE
If this pkg is bootable or not. (1 to enable, 0 to disable) useful when you are going to make a data pkg.
<value name="BOOTABLE" type="integer"> 1 </value>
CATEGORY
This is the category where you will see your homebrew.
<value name="CATEGORY" type="string"> HG </value>
these are the categories available on a Official Firmware:
- HM : Playstation Network
- GD : Game patch of disc game
- CB : Network
- HG : Harddrive Game include sub category as Game patch of HDD Game or Special Application as syteme files for HDD game X0, X4
- DG : Disc Game (blueray)
- AV : Video
- AM : Music
- AP : Photo
- AT : TV
- MN : Minis Network
- IP : Install Package
- DP : Disc Package
- TR : Theme DIR
- VR : Video DIR
- VI : Video
LICENSE
PSL1GHT Licence ( DO NOT REMOVE IT and DON'T CHANGE IT) LICENSE has a fixed block size of 128 bytes
<value name="LICENSE" type="string"> This application was created with the official non-official SDK called PSL1GHT, for more information visit http://www.psl1ght.com/ . This is in no way associated with Sony Computer Entertainment Inc., please do not contact them for help, they will not be able to provide it. </value>
PARENTAL_LEVEL
Parental level, ( 0 for everyone )
<value name="PARENTAL_LEVEL" type="integer"> 0 </value>
PS3_SYSTEM_VER
Minimum PS3 System version to be bootable this homebrew
<value name="PS3_SYSTEM_VER" type="string"> 01.5000 </value>
RESOLUTION
TV Resolution (Unknown )
<value name="RESOLUTION" type="integer"> 63 </value>
SOUND_FORMAT
Type of sound
<value name="SOUND_FORMAT" type="integer"> 279 </value>
TITLE
Title of the homebrew
<value name="TITLE" type="string"> Title of this Homebrew </value>
TITLE_ID
ID of the homebrew (this id must be the same id inside the Makefile)
<value name="TITLE_ID" type="string"> XXYYYYYY </value>
VERSION
Homebrew Version
<value name="VERSION" type="string"> 00.50 </value>
(source deroad: http://ps3tutorials.wikispaces.com/Edit+the+sfo.xml+Tutorial)
PS3SYS PARAM.SFO
$ ./read_sfo PARAM2.SFO read_sfo v0.01 -[HEADER]--------------- SFO Version: 101 Entries: 20 -[PARAMETERS]----------- APP_VER: 01.00 ATTRIBUTE: 880727 BOOTABLE: 1 CATEGORY: HG LICENSE: Library programs ©Sony Computer Entertainment Inc. Licensed for play on the PLAYSTATION®3 Computer Entertainment System or authorized PLAYSTATION®3 format systems. For full terms and conditions see the user's manual. This product is authorized and produced under license from Sony Computer Entertainment Inc. Use is subject to the copyright laws and the terms and conditions of the user's license. PARENTAL_LEVEL: 0 PARENTAL_LEVEL_A: ffffffff PARENTAL_LEVEL_C: ffffffff PARENTAL_LEVEL_E: ffffffff PARENTAL_LEVEL_H: ffffffff PARENTAL_LEVEL_J: ffffffff PARENTAL_LEVEL_K: ffffffff PS3_SYSTEM_VER: 00.93 REGION_DENY: fffff001 RESOLUTION: 1 SOUND_FORMAT: 1 TITLE: PS3SYS SFO TITLE_ID: TEST00002 VERSION: 01.00
HEADER
SFO Version
SFO Version: 101
Entries
Number of entries for PARAMETERS
Entries: 20
PARAMETERS
APP_VER
This is the version of the Homebrew, that will be displayed on the PS3
String (UTF-8) max length 8
<value name="APP_VER" type="string"> 01.00 </value>
ATTRIBUTE
This value enable special functions of the Homebrew (Enable Move Controller, Enable PSP remoteplay etc..)
Integer max length 4
<value name="ATTRIBUTE" type="integer"> 880727 </value>
Enable PSP remoteplay
- MPEG-4 SP/ATRAC=0x1
- MPEG-4 AVC/AAC=0x4
Enable BGM
- Enable ingame XMB BGM=0x20
Enable Move Controller
- Support Playstation Move=0x800000
- Enable Move controller warning=0x100
- Enable Navigation controller warning=0x200
- Enable Playstation Eye warning=0x400
- Enable Calibration warning=0x800
Enable 3D Warning
- Enable 3D warning screen=0x1000
BOOTABLE
If this pkg is bootable or not. (1 to enable, 0 to disable) useful when you are going to make a data pkg.
Integer max length 4
<value name="BOOTABLE" type="integer"> 1 </value>
CATEGORY
This is the category where you will see your homebrew.
String(UTF-8) max length 4
<value name="CATEGORY" type="string"> HG </value>
these are the categories available on a Official Firmware:
- HM : Playstation Network
- CB : Network
- HG : Harddrive Game
- DG : Disc Game (blueray)
- AV : Video
- AM : Music
- AP : Photo
- AT : TV
- MN : Minis Network
As Additional Items:
- AR : Patches
- IP : Install Packages
- VI : Video
- TR : Theme
- XR : Extra Contents
CONTENT_ID
ContentID for Gamepurchase
String(UTF-8) max length 48
LICENSE
PSL1GHT Licence ( DO NOT REMOVE IT and DON'T CHANGE IT) LICENSE has a fixed block size of 128 bytes
String(UTF-8) max length 512
<value name="LICENSE" type="string"> Library programs ©Sony Computer Entertainment Inc. Licensed for play on the PLAYSTATION®3 Computer Entertainment System or authorized PLAYSTATION®3 format systems. For full terms and conditions see the user's manual. This product is authorized and produced under license from Sony Computer Entertainment Inc. Use is subject to the copyright laws and the terms and conditions of the user's license. </value>
NP_COMMUNICATION_ID
Comm ID for Bootable message
String(UTF-8) max length 16
PARENTAL_LEVEL
Integer max length 4
Parental level, (0-11 ; 0 for everyone )
<value name="PARENTAL_LEVEL" type="integer"> 0 </value>
PARENTAL_LEVEL_A
Parental level, SCEA
Integer max length 4
<value name="PARENTAL_LEVEL_A" type="integer"> ffffffff </value>
PARENTAL_LEVEL_C
Parental level, SCH
Integer max length 4
<value name="PARENTAL_LEVEL_C" type="integer"> ffffffff </value>
PARENTAL_LEVEL_E
Parental level, SCEE
Integer max length 4
<value name="PARENTAL_LEVEL_E" type="integer"> ffffffff </value>
PARENTAL_LEVEL_H
Parental level, SCEH
Integer max length 4
<value name="PARENTAL_LEVEL_H" type="integer"> ffffffff </value>
PARENTAL_LEVEL_J
Parental level, SCEJ
Integer max length 4
<value name="PARENTAL_LEVEL_J" type="integer"> ffffffff </value>
PARENTAL_LEVEL_K
Parental level, SCEK
Integer max length 4
<value name="PARENTAL_LEVEL_K" type="integer"> ffffffff </value>
PS3_SYSTEM_VER
Minimum PS3 System version to be bootable this homebrew
String(UTF-8) max length 8
<value name="PS3_SYSTEM_VER" type="string"> 00.93 </value>
REGION_DENY
Region restrictions (only possible with 3.30 and higher)
Integer max length 4
<value name="REGION_DENY" type="integer"> fffff001 </value>
RESOLUTION
TV Resolution (576(16x9)=0x20, 480(16:9)=0x10, 1080=0x8, 720=0x4, , 576=0x2, 480=0x1)
Integer max length 4
<value name="RESOLUTION" type="integer"> 1 </value>
SOUND_FORMAT
Type of sound (DTS Digital Surround=0x202, Dolby Digital=0x102, 7.1LPCM=0x10, 5.1LPCM=0x4, 2LPCM=0x1)
Integer max length 4
<value name="SOUND_FORMAT" type="integer"> 1 </value>
TITLE
Title of the homebrew
String(UTF-8) max length 128
<value name="TITLE" type="string"> Title of this Homebrew </value>
TITLE_00
Localised title - Japanese
String(UTF-8) max length 128
TITLE_01
Localised title - English
String(UTF-8) max length 128
TITLE_02
Localised title - French
String(UTF-8) max length 128
TITLE_03
Localised title - Spanish
String(UTF-8) max length 128
TITLE_04
Localised title - German
String(UTF-8) max length 128
TITLE_05
Localised title - Italian
String(UTF-8) max length 128
TITLE_06
Localised title - Dutch
String(UTF-8) max length 128
TITLE_07
Localised title - Portuguese
String(UTF-8) max length 128
TITLE_08
Localised title - Russian
String(UTF-8) max length 128
TITLE_09
Localised title - Korean
String(UTF-8) max length 128
TITLE_10
Localised title - Trad.Chinese
String(UTF-8) max length 128
TITLE_11
Localised title - Simp.Chinese
String(UTF-8) max length 128
TITLE_12
Localised title - Finnish
String(UTF-8) max length 128
TITLE_13
Localised title - Swedish
String(UTF-8) max length 128
TITLE_14
Localised title - Danish
String(UTF-8) max length 128
TITLE_15
Localised title - Norwegian
String(UTF-8) max length 128
TITLE_16
Localised title - Polish
String(UTF-8) max length 128
TITLE_ID
TITLE ID of the homebrew (this id must be the same id inside the Makefile)
String(UTF-8) max length 16
<value name="TITLE_ID" type="string"> XXYYYYYY </value>
VERSION
Homebrew Version
String(UTF-8) max length 8
<value name="VERSION" type="string"> 01.00 </value>