Talk:PARAM.SFO

From PS3 Developer wiki
Revision as of 07:23, 17 January 2012 by Sandungas (talk | contribs) (all "parameters descriptions" moved from talk to front (ada, i didnt remembered it was a description for TITLEID here when i wrote another one in the front page... now both are copied in main))
Jump to navigation Jump to search

SFO_tools_-_linux-64bit-compiles.rar (23.61 KB)

https://github.com/an0nym0u5/PSL1GHT/commit/75013299710d2bde224e2052284461a665a071bf

read_sfo.tar.bz2 (6.33 KB)

PS3SFOEdit.zip (47.59 KB)



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;

Source: http://ps3dev.wikispaces.com/PARAM.SFO