Editing PARAM.SFO
Jump to navigation
Jump to search
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 1: | Line 1: | ||
[[Category:Software]] | |||
'''SFO''' ('''S'''ystem '''F'''ile '''O'''???) are used in folders wich content needs to be displayed in the [[XMB]]. In the same folder than the SFO are the "content files" (ICON0.PNG PIC0.PNG etc...) and in few cases (like in savegames) there is a [[PARAM.PFD]] for security reasons. | |||
The parameters SFO contains can be simplyfied as imputs and outputs of the content: | |||
* Contains the information strings needed to display the content in the [[XMB]] and his restrictions (e.g. name and version of a game). | |||
* When executing the content, the SFO is sending "boot modifyers" (or flags) to the content to activate "speciall modes" (e.g. audio and video modes of a game). | |||
SFO's | '''SFX''' ('''S'''ystem '''F'''ile in '''X'''ML format) are used to create SFO's. Additionally SFX files are used in Blue-Ray disc games inside PS3_EXTRA folder to display content in [[XMB]]. In fact the values contained in both formats are the same and the conversion is easy from one format to the other | ||
SFO and SFX can be "chained" in a structure of subfolders with a maximun of 3 levels (SFX format is used in level3). | |||
In | Level2 SFO's can contain specific values than cant be used in Level1 (e.g. CATEGORY when used in level2 has lot of different and specific values). In the same way when ATTRIBUTE is used in level2 his valid values are completly different than when used in level1. | ||
---- | |||
==Internal Structure== | ==Internal Structure== | ||
=== | ===Header=== | ||
<pre> | |||
typdef struct Header | |||
struct | |||
{ | { | ||
uint32_t | uint32_t Signature; /* Always PSF */ | ||
uint32_t | uint32_t Version; /* Usually 1.1 */ | ||
uint32_t | uint32_t Name_Table_Start; /* Start position of the Name_Table */ | ||
uint32_t | uint32_t Data_Table_Start; /* Start position of the Data_Table */ | ||
uint32_t | uint32_t Entries_Number; /* Number of entries */ | ||
}; | }; | ||
</ | </pre> | ||
===Definition_Table=== | |||
This structure repeats one time for every Entries_Number defined in the header. All values are in Little Endian | |||
<pre> | |||
struct | typedef struct Definition_Table | ||
{ | { | ||
uint16_t | uint16_t Name_Table_Offset; /* Offset of the Name of the entry, from start of Name_Table */ | ||
uint16_t | uint16_t Data_Type; /* Type of data of the entry */ | ||
uint32_t | uint32_t Bytes_used; /* Data_Block Bytes Used by the entry */ | ||
uint32_t | uint32_t Bytes_Reserved; /* Data_Block Total Size reserved for the entry */ | ||
uint32_t | uint32_t Data_Table_Offset; /* Offset of the Data of the entry, from start of Data_Table */ | ||
}; | }; | ||
</ | </pre> | ||
{| | {| border="1" cellspacing="0" cellpadding="5" border="#999" style="border:1px solid #999; border-collapse: collapse;" | ||
| | |- bgcolor="#cccccc" | ||
! | ! Valid Data Types !! Meaning !! Notes | ||
|- | |- | ||
| 04 00 || | | 04 00 || Present but filled with zeroes || In ACCOUNT_ID when not registered in PSN | ||
|- | |- | ||
| 04 02 || | | 04 02 || utf-8 || | ||
|- | |- | ||
| 04 04 | | 04 04 || integer || | ||
|- | |- | ||
|} | |} | ||
=== | ===Name_Table=== | ||
The entryes of this table (and the next table) can vary depending of the kind of content displayed in the XMB (in other words... are defined by CATEGORY and restricted by the system). | |||
Each entry of the table needs a 0x00 byte after the name to separate them | |||
The table has a padding at the end to fit the total size in bytes to a multiplier or 4, this padding is added after the last 0x00 byte of the last entry. If the last entry (included his 0x00 byte) matches with a multiplier of 4 this padding doesn't exist | |||
== | ===Data_Table=== | ||
This table has no padding between entries neither at the end, padding is not supported in any way, block sizes are fixed (in Definition_Table) and the space is reserved for each entry | |||
The number of "Bytes_used" for each entry is defined in the "Definition_Table", it matches the "Bytes_Reserved" when the entry is an integer (integer entries uses all the reserved bytes) but can vary with utf-8 entries (e.g. TITLE of the game), additionally utf-8 entries needs a 0x00 byte after the last character of the text string, this byte can be considered part of the string to count the "Bytes_used" for the entry in the "Definition_Table" | |||
=== | ===SFO Example=== | ||
This is an example of a hand made SFO structure, it contains only 1 entry (TITLE_ID), i choosed this one because is short enought to explain the structure in 4 lines, needs padding at the end of the Name_Table, and the "used bytes" are less than the "reserved bytes" in the "data block" of the entry | |||
0x0000 00 50 53 46 01 01 00 00 24 00 00 00 30 00 00 00 | .PSF....$...0... | | |||
0x0010 01 00 00 00 00 00 04 02 0A 00 00 00 0F 00 00 00 | ................ | | |||
0x0020 00 00 00 00 54 49 54 4C 45 5F 49 44 00 00 00 00 | ....TITLE_ID.... | | |||
0x0030 41 42 43 44 31 32 33 34 35 00 00 00 00 00 00 00 | ABCD12345....... | | |||
All the blocks of the file are explained in the next list, it has separated sections for header and the three tables. | |||
{| | {| border="1" cellspacing="0" cellpadding="5" border="#999" style="border:1px solid #999; border-collapse: collapse;" | ||
|- bgcolor="#cccccc" | |||
! Offset !! Size !! Content !! Conversion !! Calculations !! Notes | |||
|- | |- | ||
! | ! Header | ||
|- | |- | ||
| 0x0000 || 0x04 || 00 50 53 46 || To utf-8 || PSF || Signature | |||
|- | |- | ||
| 0x0004 || 0x04 || 01 01 00 00 || Big endian, decimal || 1.1 || Version (the point is added by the system) | |||
|- | |- | ||
| 0x0008 || 0x04 || 24 00 00 00 || Big endian || 0x0024 || Start of Name_Table | |||
|- | |- | ||
| | | 0x000C || 0x04 || 30 00 00 00 || Big endian || 0x0030 || Start of Data_Table | ||
| | |||
|- | |- | ||
| | | 0x0010 || 0x04 || 01 00 00 00 || Big endian, decimal || 1 || Number of entries in the tables | ||
| | |||
|- | |- | ||
! Definition_Table | |||
|- | |- | ||
| | | 0x0014 || 0x02 || 0000 || To big endian || 0x0024-0x0024= 0 || (Start of entry "Name" in the file) - (Start of Name_Table) | ||
|- | |- | ||
| | | 0x0016 || 0x02 || 0402 || Unknown || ||Type of data of the entry | ||
| | |||
|- | |- | ||
| | | 0x0018 || 0x04 || 0A000000 || Big endian, decimal || ABCD12345 + 1 blank = 10 || Data_Block Bytes Used by the entry | ||
|- | |- | ||
| | | 0x001C || 0x04 || 0F000000 || Big endian, decimal || 16 || Data_Block Total Size reserved for the entry | ||
|- | |- | ||
| | | 0x0020 || 0x04 || 00000000 || Big endian || 0x0030-0x0030= 0 || (Start of entry "Data" in the file) - (Start of Data_Table) | ||
|- | |- | ||
! Name_Table | |||
|- | |- | ||
| | | 0x0024 || 0x09 || 5449544C455F494400 || To utf-8 || TITLE_ID || Included a blank 0x00 byte at the end | ||
|- | |- | ||
| | | 0x002D || 0x03 || 000000 || || 9+3padding=12 || Padding needed to fit the size of the Name_Table to a multiplyer of 4 bytes | ||
|- | |- | ||
! Data_Table | |||
|- | |- | ||
| | | 0x0030 || 0x0F || 41424344313233343500000000000000 || To utf-8 || ABCD12345 || 16 bytes block size, 10 bytes used | ||
|} | |} | ||
Source http://www.ps3hax.net/showthread.php?t=28704 | |||
== | ===SFX Example=== | ||
This is a PARAM.SFX from the Blue-Ray "move demo disc", the disc contains some installable demos in format .PKG in the path /PS3_EXTRA/D000/DATA000.PKG & /PS3_EXTRA/D000/PARAM.SFX | |||
The entryes and values are self explanatory, this files can be created easily by hand | |||
<pre> | |||
<?xml version="1.0" encoding="utf-8" standalone="yes"?> | |||
<paramsfo add_hidden="false"> | |||
<param key="ATTRIBUTE" fmt="int32" max_len="4">0</param> | |||
<param key="CATEGORY" fmt="utf8" max_len="4">IP</param> | |||
<param key="PARENTAL_LEVEL" fmt="int32" max_len="4">2</param> | |||
<param key="TITLE" fmt="utf8" max_len="128">Beat Sketcher™</param> | |||
<param key="TITLE_05" fmt="utf8" max_len="128">Beat Sketcher™ A mano libera</param> | |||
</paramsfo> | |||
</pre> | |||
===SaveData Example=== | |||
This is an structure in C of the table for a SaveData | |||
<pre> | |||
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" | |||
}; | |||
</pre> | |||
<pre> | |||
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; | |||
</pre> | |||
Source: http://ps3dev.wikispaces.com/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) | |||
* [http://www.multiupload.com/T9V8WMXR60 read_sfo.tar.bz2 (6.32 KB)] | |||
<pre> | |||
$ ./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 | |||
</pre> | |||
=== 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 | |||
<pre> <value name="APP_VER" type="string"> | |||
00.50 | |||
</value> | |||
</pre> | |||
=== | ==== ATTRIBUTE ==== | ||
This value enable special functions of the Homebrew (Enable Move Controller, etc..) | |||
<pre> <value name="ATTRIBUTE" type="integer"> | |||
0 | |||
</value> | |||
</pre> | |||
==== BOOTABLE ==== | |||
If this pkg is bootable or not. (1 to enable, 0 to disable) | |||
useful when you are going to make a data pkg. | |||
<pre> <value name="BOOTABLE" type="integer"> | |||
1 | |||
</value> | |||
</pre> | |||
=== | ==== CATEGORY ==== | ||
This is the category where you will see your homebrew. | |||
<pre> <value name="CATEGORY" type="string"> | |||
HG | |||
</value> | |||
</pre> | |||
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 | |||
* 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 | |||
<pre> <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> | |||
</pre> | |||
==== PARENTAL_LEVEL ==== | |||
Parental level, ( 0 for everyone ) | |||
<pre> <value name="PARENTAL_LEVEL" type="integer"> | |||
0 | |||
</value> | |||
</pre> | |||
==== PS3_SYSTEM_VER ==== | |||
Minimum PS3 System version to be bootable this homebrew | |||
<pre> <value name="PS3_SYSTEM_VER" type="string"> | |||
01.5000 | |||
</value> | |||
</pre> | |||
=== | ==== RESOLUTION ==== | ||
TV Resolution (Unknown ) | |||
<pre> <value name="RESOLUTION" type="integer"> | |||
63 | |||
</value> | |||
</pre> | |||
==== SOUND_FORMAT ==== | |||
Type of sound | |||
<pre> <value name="SOUND_FORMAT" type="integer"> | |||
279 | |||
</value> | |||
</pre> | |||
==== TITLE ==== | |||
Title of the homebrew | |||
<pre> <value name="TITLE" type="string"> | |||
Title of this Homebrew | |||
</value> | |||
</pre> | |||
==== TITLE_ID ==== | |||
ID of the homebrew (this id must be the same id inside the Makefile) | |||
<pre> <value name="TITLE_ID" type="string"> | |||
XXYYYYYY | |||
</value> | |||
</pre> | |||
==== VERSION ==== | |||
Homebrew Version | |||
<pre> <value name="VERSION" type="string"> | |||
00.50 | |||
</value> | |||
</pre> | |||
(source deroad: http://ps3tutorials.wikispaces.com/Edit+the+sfo.xml+Tutorial) | |||
---- | ---- | ||
== PS3SYS PARAM.SFO == | |||
<pre> | |||
$ ./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 | |||
</pre> | |||
=== HEADER === | |||
==== SFO Version ==== | |||
SFO Version: 101 | |||
==== Entries ==== | |||
Number of entries for PARAMETERS | |||
<pre> | |||
Entries: 20 | |||
</pre> | |||
=== PARAMETERS === | |||
==== APP_VER ==== | |||
This is the version of the Homebrew, that will be displayed on the PS3 | |||
String (UTF-8) | |||
max length 8 | |||
<pre> <value name="APP_VER" type="string"> | |||
01.00 | |||
</value> | |||
</pre> | |||
==== ATTRIBUTE ==== | |||
This value enable special functions of the Homebrew (Enable Move Controller, Enable PSP remoteplay etc..) | |||
Integer | |||
max length 4 | |||
<pre> <value name="ATTRIBUTE" type="integer"> | |||
880727 | |||
</value> | |||
</pre> | |||
===== 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 | |||
<pre> <value name="BOOTABLE" type="integer"> | |||
1 | |||
</value> | |||
</pre> | |||
* | ==== CATEGORY ==== | ||
This is the category where you will see your homebrew. | |||
String(UTF-8) | |||
max length 4 | |||
<pre> <value name="CATEGORY" type="string"> | |||
HG | |||
</value> | |||
</pre> | |||
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 | |||
<pre> <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> | |||
</pre> | |||
==== 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 ) | |||
<pre> <value name="PARENTAL_LEVEL" type="integer"> | |||
0 | |||
</value> | |||
</pre> | |||
===== PARENTAL_LEVEL_A ===== | |||
Parental level, SCEA | |||
Integer | |||
max length 4 | |||
<pre> <value name="PARENTAL_LEVEL_A" type="integer"> | |||
ffffffff | |||
</value> | |||
</pre> | |||
===== PARENTAL_LEVEL_C ===== | |||
Parental level, SCH | |||
Integer | |||
max length 4 | |||
<pre> <value name="PARENTAL_LEVEL_C" type="integer"> | |||
ffffffff | |||
</value> | |||
</pre> | |||
===== PARENTAL_LEVEL_E ===== | |||
Parental level, SCEE | |||
Integer | |||
max length 4 | |||
<pre> <value name="PARENTAL_LEVEL_E" type="integer"> | |||
ffffffff | |||
</value> | |||
</pre> | |||
===== PARENTAL_LEVEL_H ===== | |||
Parental level, SCEH | |||
Integer | |||
max length 4 | |||
<pre> <value name="PARENTAL_LEVEL_H" type="integer"> | |||
ffffffff | |||
</value> | |||
</pre> | |||
===== PARENTAL_LEVEL_J ===== | |||
Parental level, SCEJ | |||
Integer | |||
max length 4 | |||
<pre> <value name="PARENTAL_LEVEL_J" type="integer"> | |||
ffffffff | |||
</value> | |||
</pre> | |||
===== PARENTAL_LEVEL_K ===== | |||
Parental level, SCEK | |||
Integer | |||
max length 4 | |||
<pre> <value name="PARENTAL_LEVEL_K" type="integer"> | |||
ffffffff | |||
</value> | |||
</pre> | |||
==== PS3_SYSTEM_VER ==== | |||
Minimum PS3 System version to be bootable this homebrew | |||
String(UTF-8) | |||
max length 8 | |||
<pre> <value name="PS3_SYSTEM_VER" type="string"> | |||
00.93 | |||
</value> | |||
</pre> | |||
==== REGION_DENY ==== | |||
Region restrictions (only possible with 3.30 and higher) | |||
Integer | |||
max length 4 | |||
<pre> <value name="REGION_DENY" type="integer"> | |||
fffff001 | |||
</value> | |||
</pre> | |||
==== RESOLUTION ==== | |||
TV Resolution (576(16x9)=0x20, 480(16:9)=0x10, 1080=0x8, 720=0x4, , 576=0x2, 480=0x1) | |||
Integer | |||
max length 4 | |||
<pre> <value name="RESOLUTION" type="integer"> | |||
1 | |||
</value> | |||
</pre> | |||
==== SOUND_FORMAT ==== | |||
Type of sound (DTS Digital Surround=0x202, Dolby Digital=0x102, 7.1LPCM=0x10, 5.1LPCM=0x4, 2LPCM=0x1) | |||
Integer | |||
max length 4 | |||
<pre> <value name="SOUND_FORMAT" type="integer"> | |||
1 | |||
</value> | |||
</pre> | |||
==== TITLE ==== | |||
Title of the homebrew | |||
String(UTF-8) | |||
max length 128 | |||
<pre> <value name="TITLE" type="string"> | |||
Title of this Homebrew | |||
</value> | |||
</pre> | |||
===== 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 ==== | |||
ID of the homebrew (this id must be the same id inside the Makefile) | |||
String(UTF-8) | |||
max length 16 | |||
<pre> <value name="TITLE_ID" type="string"> | |||
XXYYYYYY | |||
</value> | |||
</pre> | |||
==== VERSION ==== | |||
Homebrew Version | |||
String(UTF-8) | |||
max length 8 | |||
<pre> <value name="VERSION" type="string"> | |||
01.00 | |||
</value> | |||
</pre> |