Eboot.PBP: Difference between revisions

From PS3 Developer wiki
Jump to navigation Jump to search
m (→‎PARAM.SFO: notes about CATEGORY's inherited from PSP and compatibles with PS3)
m (Text replacement - "http://web.archive.org/web→‎/http://ps3devwiki.com/files" to "https://web.archive.org/web/: http://ps3devwiki.com/files")
 
(45 intermediate revisions by 7 users not shown)
Line 1: Line 1:
[[Category:Software]]
<div style="float:right">[[File:PSP_eboot_update_logo.png|200px|thumb|left|ICON0 eboot.pbp FW 6.60]]<br /></div>
<div style="float:right">[[File:PSP_eboot_update_logo.png|200px|thumb|left|ICON0 eboot.pbp FW 6.60]]<br /></div>


= Eboot.PBP =
= Eboot.PBP =
Used on PSP (and PSN content:PS1 classic & Minis), to be loaded with build in pspemulator (and ps1emulator) on PS3.
 
[[File:Pspremaster.jpg|200px|thumb|right|Selection window]]
 
Used on PSP (PSP remaster and PSN content:PS1 classic and Minis), to be loaded with build in PSP emulator on PS3. See [[Emulation]].
 
With PSP remaster game, you can select either to start the game directly or the NPJA0040/USRDIR/EBOOT.BIN (Ad-Hoc Party folder). An ICON of the game is also loaded on the top left corner on the menu.


Used also for PSP FW from PS3 internet browser (http://www.jp.playstation.com/psp/update/ud_03.html) correct link if available in English) to transfer on PSP or external storage device.
Used also for PSP FW from PS3 internet browser (http://www.jp.playstation.com/psp/update/ud_03.html) correct link if available in English) to transfer on PSP or external storage device.


[http://www.ps3devwiki.com/wiki/File:Psp_update_thumbnail.png RCO PNG used on PS3] when transfer eboot.pbp
[http://www.ps3devwiki.com/wiki/File:Psp_update_thumbnail.png RCO PNG used on PS3 for EBOOT.PBP]
 
== Header and filetable ==


== Header and filetable==
{| class="wikitable"
{| class="wikitable"
|-
|-
! Offset !! Purpose !! Notes
! Offset !! Purpose
|-
|-
| 0x00 || The PBP signature, always is 0x50425000 or the string "<null char>PBP" ||
| 0x00 || The PBP signature, always is 00 50 42 50 or the string "<null char>PBP"
|-
|-
| 0x04 || Unknown purpose, possibly the version number. Currently is always 0x00000100 or 0x01000100 || e.g.:0x01000100 on some MINIS (//around PSP fw 6.00, with new parameter on SFO and .pgd encryption?)
| 0x04 || Unknown purpose, possibly the version number. Currently is always 0x00000100 or 0x01000100 (some MINIS, PSP remaster and PSP PlayView).
|-
|-
| 0x08 || Offset of the file PARAM.SFO (this value should always be 0x28) ||
| 0x08 || Offset of the file PARAM.SFO (?this value should always be 0x28?)
|-
|-
| 0x0C || Offset of the file ICON0.PNG ||
| 0x0C || Offset of the file ICON0.PNG  
|-
|-
| 0x10 || Offset of the file ICON1.PMF or ICON1.PNG ||
| 0x10 || Offset of the file ICON1.PMF or ICON1.PNG
|-
|-
| 0x14 || Offset of the file PIC0.PNG or UNKNOWN.PNG || Offset value can be same than other files
| 0x14 || Offset of the file PIC0.PNG or UNKNOWN.PNG (Value can be repeated)
|-
|-
| 0x18 || Offset of the file PIC1.PNG or PICT1.PNG ||
| 0x18 || Offset of the file PIC1.PNG or PICT1.PNG
|-
|-
| 0x1C || Offset of the file SND0.AT3 ||
| 0x1C || Offset of the file SND0.AT3
|-
|-
| 0x20 || Offset of the file DATA.PSP ||
| 0x20 || Offset of the file DATA.PSP
|-
| 0x24 || Offset of the file DATA.PSAR ||
|-
|-
| 0x24 || Offset of the file DATA.PSAR
|}
|}
Then the file PARAM.SFO starts (at 0x28)


==PARAM.SFO==
Usually every .PBP embeds a PARAM.SFO file and PARAM.SFO file starts at offset 0x28.
Basically the information file for the .PBP - has title, parental control level etc
 
== PARAM.SFO ==
 
Basically the information file for the .PBP - has title, parental control level etc.


Fews parameters inside differents type of .pbp (psp game, minis, ps1 classic..)
Fews parameters inside different type of .pbp (psp remaster, psp game, minis, ps1 classic..)


For the external SFO, see the [[PARAM.SFO | param.sfo page]])
For the external PS3 SFO, see [[PARAM.SFO]]. Some parameters such [[PARAM.SFO#SAVEDATA_DETAIL | SAVEDATA_DETAIL]] related but used separately from the eboot.pbp as well.
 
For PS1 classic, offset .SFO should not be variable on EBOOT.PBP.
 
(e.g.: Title of the game should start at offset 0x358 with category: ME, not as EG)


{| class="wikitable sortable"
{| class="wikitable sortable"
|-
|-
! Key (Parameters) !! Description !! Format (DATA TYPE) !! Max length !! Value example !! Used on !! Note
! Key (Parameters) !! Description !! Format (DATA TYPE) !! Max length !! Value example !! Used on !! Note
|-
|-
| APP_VER  || Application or Patch Version || style="background-color:#DDDD00;" | utf-8  || 8 || 1.00      || {{icon content psp}} ||  
| APP_VER  || Application or Patch Version || style="background-color:#DDDD00;" | utf-8  || 8 || 1.00      || {{icon content pspremaster}} {{icon content psp}}|| PS1 classic should not have this parameter.
|-
|-
| ATTRIBUTE  || Various parameter || style="background-color:#DD00DD;" | integer  || 4 || 01 00 60 01 || {{icon content pspminis}} {{icon content psp}} || PS1 classic do not have attribute.
| ATTRIBUTE  || Various parameter || style="background-color:#DD00DD;" | integer  || 4 || 01 00 60 01 || {{icon content pspminis}} {{icon content psp}} || PS1 classic do not have attribute.
|-
|-
| BOOTABLE || Is bootable or not          || style="background-color:#DD00DD;" | integer || 4 || 1         || {{icon content pspminis}} {{icon content ps1}} {{icon content psp}} ||  
| BOOTABLE || Is bootable or not          || style="background-color:#DD00DD;" | integer || 4 || 01 00 00 00         || {{icon content pspremaster}} {{icon content pspminis}} {{icon content ps1}} {{icon content psp}} || Parameters PS1 classic should start from here.
|-
|-
| CATEGORY || Category of Content          || style="background-color:#DDDD00;" | utf-8  || 4 || --        || {{icon content pspminis}} {{icon content ps1}} {{icon content psp}}||  
| CATEGORY || Category of Content          || style="background-color:#DDDD00;" | utf-8  || 4 || --        || {{icon content pspremaster}} {{icon content pspminis}} {{icon content ps1}} {{icon content psp}}|| Category of PSF, as per the table above.
|-
|-
| DISC_ID  ||       Equal to Game ID for PS3                    || style="background-color:#DD00DD;" | integer || 16|| NPXX12345 || {{icon content pspminis}} {{icon content ps1}} {{icon content psp}}|| For PS1 classic: see [[Emulation#DiscID_explained | DiscID]]
| DISC_ID  || Product number of the game(?) || style="background-color:#DD00DD;" | integer || 16 (0X10)|| NPXX12345 || {{icon content pspremaster}} {{icon content pspminis}} {{icon content ps1}} {{icon content psp}}|| Equal to Game ID for PS3. See [[Emulation#DiscID_explained|DiscID]].
|-
|-
| DISC_NUMBER  || --                      || style="background-color:#DD00DD;" | integer || 4 || 1        || {{icon content pspminis}} {{icon content psp}} ||  
| DISC_NUMBER  || --                      || style="background-color:#DD00DD;" | integer || 4 || 1        || {{icon content pspremaster}} {{icon content pspminis}} {{icon content psp}} || Which disc (out of DISC_TOTAL) is this? (Counts from 1.)
|-
|-
| DISC_TOTAL  || --                      || style="background-color:#DD00DD;" | integer || 4 || 1        || {{icon content pspminis}} {{icon content psp}} ||  
| DISC_TOTAL  || --                      || style="background-color:#DD00DD;" | integer || 4 || 1        || {{icon content pspremaster}} {{icon content pspminis}} {{icon content psp}} || Total number of UMD discs for this game.
|-
|-
| DISC_VERSION || --                      || style="background-color:#DDDD00;" | utf-8  || 8 || 1.00      || {{icon content pspminis}} {{icon content ps1}} {{icon content psp}} ||  
| DISC_VERSION || --                      || style="background-color:#DDDD00;" | utf-8  || 8 || 1.00      || {{icon content pspremaster}} {{icon content pspminis}} {{icon content ps1}} {{icon content psp}} || Version of the game(?), e.g. "1.00"
|-
|-
| DRIVER_PATH || --                      || style="background-color:#DDDD00;" | utf-8  || 64 || --    || {{icon content psp}} ||
| DRIVER_PATH || --                      || style="background-color:#DDDD00;" | utf-8  || 64 (0x40) || --    || {{icon content psp}} ||
|-
|-
| HRKGMP_VER  || --                      || style="background-color:#DD00DD;" | integer || 4 || 0        || {{icon content psp}}  ||  
| HRKGMP_VER  || --                      || style="background-color:#DD00DD;" | integer || 4 || 0        || {{icon content pspremaster}} {{icon content psp}}  ||  
|-
|-
| LICENSE || License information        || style="background-color:#DDDD00;" | utf-8 || 512 || --        || {{icon content ps1}}  ||  
| LICENSE || License information        || style="background-color:#DDDD00;" | utf-8 || 512 (0x200) || --        || {{icon content ps1}}  ||  
|-
|-
| MEMSIZE || --  || style="background-color:#DD00DD;" | integer || 4 || 1          || {{icon content psp}} || add extra RAM for eboot (Not for PSP-1000)
| MEMSIZE || --  || style="background-color:#DD00DD;" | integer || 4 || 1          || {{icon content psp}} || add extra RAM for eboot (Not for PSP-1000), first used on homebrew: snes TYL
|-
|-
| PARENTAL_LEVEL || Parental Lock Level    || style="background-color:#DD00DD;" | integer || 4 || 3          || {{icon content pspminis}} {{icon content ps1}} {{icon content psp}} || E.G.:Set as 3 on ModNation Racers  
| PARENTAL_LEVEL || Parental Lock Level    || style="background-color:#DD00DD;" | integer || 4 || "3"         || {{icon content pspremaster}} {{icon content pspminis}} {{icon content ps1}} {{icon content psp}} || Minimum parental control level needed to access this file (1-11, 1=general audience, 5=12 years, 7=15 years, 9=18 years) //E.G.:Set as 3 on ModNation Racers  
|-
|-
| PBOOT_TITLE ||--                      || style="background-color:#DDDD00;" | utf-8  || 128 || --    ||  {{icon content psp}}  || Used on PBOOT.PBP (Update)
| PBOOT_TITLE ||--                      || style="background-color:#DDDD00;" | utf-8  || 128 (0x80) || --    ||  {{icon content psp}}  || Used on PBOOT.PBP (Update)
|-
|-
| PSP_SYSTEM_VER || --                    || style="background-color:#DDDD00;" | utf-8  || 8 || 6.35      || {{icon content pspminis}} {{icon content ps1}} {{icon content psp}}  ||
| PSP_SYSTEM_VER || --                    || style="background-color:#DDDD00;" | utf-8  || 8 || 6.35      || {{icon content pspremaster}} {{icon content pspminis}} {{icon content ps1}} {{icon content psp}}  || Version of PSP system software required to run the game(?)
|-
|-
| REGION  || --                            || style="background-color:#DD00DD;" | integer || 4 || 00 80 00 00      || {{icon content pspminis}} {{icon content ps1}} {{icon content psp}} ||  
| REGION  || --                            || style="background-color:#DD00DD;" | integer || 4 || 00 80 00 00      || {{icon content pspremaster}} {{icon content pspminis}} {{icon content ps1}} {{icon content psp}} || Bitmask of allowed regions.  0x8000 is region 2?
|-
|-
| TITLE  || Game Title (Default language)  || style="background-color:#DDDD00;" | utf-8  ||128|| --        || {{icon content pspminis}} {{icon content ps1}} {{icon content psp}} ||  
| TITLE  || Game Title (Default language)  || style="background-color:#DDDD00;" | utf-8  ||128 (0x80)|| --        || {{icon content pspremaster}} {{icon content pspminis}} {{icon content ps1}} {{icon content psp}} || Text shown under the "Game" heading in the save game menu.
|-
|-
| TITLE_XX  || Game Title  || style="background-color:#DDDD00;" | utf-8  ||128|| --        ||  {{icon content psp}} ||  
| TITLE_XX  || Game Title  || style="background-color:#DDDD00;" | utf-8  ||128 (0x80)|| --        ||  {{icon content psp}} || Localized version of the TITLE attribute. See [http://www.ps3devwiki.com/wiki/Content_Information_Files#Languages Languages].
|-
|-
| USE_USB || --                           || style="background-color:#DD00DD;" | integer || 4 || 0        || {{icon content pspminis}} {{icon content psp}} ||  
| UPDATER_VER || -- || style="background-color:#DDDD00;" | utf-8  || 8 || 6.60      || {{icon content psp}} || Used by the firmware updater program to denote the version it upgrades the firmware to. Category MG, on PSP_GAME: SYSDIR/UPDATE/PARAM.SFO if not empty
|-
|-
| USE_USB || --                            || style="background-color:#DD00DD;" | integer || 4 || 0        || {{icon content pspremaster}} {{icon content pspminis}} {{icon content psp}} ||
|}
|}


*LANGUAGE category MG Language of the game. "JP" indicates Japanese.


'''Attribute'''
'''Attribute'''
Line 96: Line 107:
'''Category'''
'''Category'''


*EG (for MINIS and PP), MA (Apps?), ME (for PS1 Classic), MG (for update FW :MSTKUPDATE) , MS for game&apps save, UG (UMD Disc Game), PG (for PP)...
{| class="wikitable sortable"
|-
! PSP !! PS3 SFO related !! Note
|-
| EG || MN || PSP Essentials or Extended or External (or Episode) Games? Minis
|-
| EG || PE || PSP remaster (and in others only PSP released games?)
|-
| EG || PP || Not bootable on PS3
|-
| MA || {{No}} || Apps  
|-
| ME || 1P || PS1 Classic
|-
| MG || {{No}} || MemoryStick Game?. For update FW :MSTKUPDATE, Apps game and Game data (for param.pbp , not as save data). PP on PS3 is possible.
|-
| MS || {{No}} || MemoryStick Save for Game&apps (PSP remaster also)
|-
| UG || {{No}} || UMD Disc Game
|-
| PG || PP || Game update
|-
|}


<!--// PSP category names are confusing, the letter "M" probably comes from "Memory Stick"
'''DISC_ID''' (or TITLE_ID ?)
Derivated names can be: "MS" for "Memory Stick Game Save", and "MN" for "Memory Stick Minis"
This names for content types inherited from PSP and compatibles with PS3 affects the CATEGORY table in [[PARAM.SFO]] page... by now i think are wrong and needs to be verifyed [[sandungas]] //-->


'''MEMSIZE:'''
Some special titles from SCE utility apps:
First used on homebrew: snes TYL


*NPIA00013 (SensMe) http://www.playstation.com/psp-app/sensme/en/download_pc.html


'''Update for Game (PBOOT.PBP): '''some values
'''Update for Game (PBOOT.PBP): '''some values
Line 116: Line 147:
PBOOT_TITLE
PBOOT_TITLE


==Content Information Files==
== Content Information Files ==
 
For PS3 see: [[Content_Information_Files]].


For PS3:[[Content_Information_Files]]
=== ICON0.PNG ===


===ICON0.PNG===
The little icon in 32bit colour PNG format. Max resolution is 144x80.
The little icon in 32bit colour PNG format. Max resolution is 144x80.


{{icon content pspminis}}: 80x80
{{icon content pspminis}}: 80x80
Line 129: Line 161:
{{icon content psp}}:
{{icon content psp}}:


===ICON1.PMF or ICON1.PNG===
{{icon content pspremaster}}: 144x80
 
=== ICON1.PMF or ICON1.PNG ===
 
The little animated icon in PSMF format or image in PNG.
The little animated icon in PSMF format or image in PNG.


{{icon content pspminis}}:ICON1.PNG (310x180)
{{icon content pspminis}}:ICON1.PNG or ICON1.PMF (310x180)


{{icon content ps1}}:ICON1.PNG (310x180)
{{icon content ps1}}:ICON1.PNG or ICON1.PMF (310x180)


{{icon content psp}}:
{{icon content psp}}:


===PIC0.PNG===
=== PIC0.PNG ===
 
"Information" image in PNG format.  Max resolution is 480x272.
"Information" image in PNG format.  Max resolution is 480x272.


Line 147: Line 183:
{{icon content psp}}:
{{icon content psp}}:


=== PIC1.PNG or PICT1.PNG ===


===PIC1.PNG or PICT1.PNG===
The background image in 32bit colour PNG format.  Max resolution is 480x272.
The background image in 32bit colour PNG format.  Max resolution is 480x272.


Line 157: Line 193:
{{icon content psp}}:
{{icon content psp}}:


===SND0.AT3===
{{icon content pspremaster}}: PIC1.PNG (480x272)
 
=== SND0.AT3 ===
 
The sound which is played when the icon is highlighted, in ATRAC3 format.
The sound which is played when the icon is highlighted, in ATRAC3 format.


Line 166: Line 205:
{{icon content psp}}:
{{icon content psp}}:


==DATA.PSP==
{{icon content pspremaster}}: not present.
 
== DATA.PSP ==
 
More information, except more targeted at the executable portion (contains info such as ELF size):
More information, except more targeted at the executable portion (contains info such as ELF size):


===Boot & Warning image:===
=== Boot and Warning image: ===


<div style="float:right">[[File:Minis_boot_logo.png|200px|thumb|left|Logo screen from eboot.pbp ]]<br /></div>
<div style="float:right">[[File:Minis_boot_logo.png|200px|thumb|left|Logo screen from eboot.pbp]]<br />[[File:PSP Minis Warning logo.jpg|200px|thumb|left|Minis warning logo]]</div>


*{{icon content pspminis}}:  
*{{icon content pspminis}}:  
Line 181: Line 223:
PNG format (480x272)
PNG format (480x272)


Not all games have the second [http://www.ps3devwiki.com/wiki/File:Minis_Warning_logo.png Warning logo]
Not all Minis games have the second


*{{icon content ps1}}:
*{{icon content ps1}}:
Line 194: Line 236:
|-
|-
| 0x2C  || -  || Size || Length first part / offset second part (40 25)
| 0x2C  || -  || Size || Length first part / offset second part (40 25)
|-
|}
|}


===Other===
*[[File:Icon_pspremaster.png|icon content psp remaster]]:
 
<div style="float:right">[[File:PSP_Remaster_Menu_image.bin.png|50px|thumb|left|Menu screen bin]]<br /></div>


*When the eboot is signed as free demo
Menu screen selection image for PSP Remaster located in PSP_EMU.


See [[Emulation#Emulator_Settings|Emulator settings]].


==DATA.PSAR==
<br><br><br><br><br><br>
The bulk of the EBOOT, and the portion which contains the executable code.
 
=== Other ===
 
* When the eboot is signed as free demo (PSP 6.60 OFW might block it, 6.39 FW no).
 
== DATA.PSAR ==
 
The bulk of the EBOOT.PBP, and the portion which contains the executable code.


{| class="wikitable"
{| class="wikitable"
Line 210: Line 261:
|-
|-
| 0x00 ||16 bytes (0x10) || magic ||
| 0x00 ||16 bytes (0x10) || magic ||
  {{icon content pspminis}}: NPUMDIMG  
  {{icon content pspminis}} {{icon content pspremaster}} : NPUMDIMG  
  (4E 50 55 4D  44 49 4D 47  ''03 00 00 01''  '''10 00 00 00''')
  (4E 50 55 4D  44 49 4D 47  ''03 00 00 01''  '''10 00 00 00''')
  (use also on PSP game)
  (used also on PSP game)
 


  {{icon content ps1}}: PSISOIMG0000  
  {{icon content ps1}}: PSISOIMG0000  
  (50 53 49 53  4F 49 4D 47  ''30 30 30 30''  '''xx xx xx xx''')
  (50 53 49 53  4F 49 4D 47  ''30 30 30 30''  '''xx xx xx xx''')


See [[PSISOIMG0000 | PSISOIMG0000 ]]
See [[PSISOIMG0000|PSISOIMG0000]].


See [[Iso.bin.edat#iso.bin_Disc_map | Iso.bin.edat_Disc_map]]
See [[Iso.bin.edat#iso.bin_Disc_map|Iso.bin.edat_Disc_map]].
|-
|}
|}


Line 232: Line 281:
*PSTITLEIMG000000: Not present on all PS1 Classic and followed also by 4 bytes giving length of first part. After one .pgd part and padding, "PSISOIMG0000" + 4bytes as 00.
*PSTITLEIMG000000: Not present on all PS1 Classic and followed also by 4 bytes giving length of first part. After one .pgd part and padding, "PSISOIMG0000" + 4bytes as 00.


* PGD


*PGD:
See [https://psdevwiki.com/psp/index.php?title=PGD PGD wiki page on PSP Dev wiki].


* STARTDAT: header contain the header size (50) and .png size (e,g,:"A5 2F" when similar [http://www.ps3devwiki.com/wiki/File:Minis_Warning_logo.png MINIS Warning logo] or 06 26 for PSP remaster).


For PGD on JPCSP: http://www.emunewz.net/forum/showthread.php?tid=3834
Last part is another .PGD section.
 
= PARAM.PBP =
 
PSP XMB referenced it as "game data". Used by: PlayView、 DLC/add on.


{| class="wikitable"
{| class="wikitable"
|-
|-
!Offset !! Length !! Name !! Description
! Offset !! Length !! Value !! Notes
|-
| 0x00 || 4 || 00 50 42 50 || Magic (".PBP")
|-
| 0x04 || 4 || 01 00 01 00 || Unknown purpose, possibly the version number. Currently is always similar (also on 1.00 or 1.02 disc_version)
|-
| 0x08 || 4 || 28 00 00 00 || Offset of the file PARAM.SFO (this value should always be 0x28)
|-
| 0x0C || 4 || DC 01 00 00 || Offset of the file ICON0.PNG 144x80 (similar since same parameters are used)
|-
|-
| 0x400 ||4 bytes (0x4) || magic || PGD
| 0x10 || 4 || xx xx 00 00 || Offset of the file ICON1.PNG or ICON1.PMF 310x180 ("information")
|-
|-
| 0x404 ||4 bytes (0x4) || unknown || 01 00 00 00
| 0x14 || 4 || xx xx 00 00 || repeat Offset of the file ICON1.PNG or ICON1.PMF
|-
|-
| 0x408 ||4 bytes (0x4) || unknown || 01 00 00 00
| 0x18 || 4 || xx xx 00 00 || Offset of the file PIC1.PNG 480x272 ("Background") not all Playview have it (and so, offset second part)
 
|-
|-
| 0x40C ||4 bytes (0x4) || unknown || 00 00 00 00
| 0x1C || 4 || xx xx xx 00 || Offset second part of the file
|-
|-
| 0x410 || unknown || encrypted ||
| 0x20 || 4 || xx xx xx 00 || repeat second part of the file
|-
|-
| 0x24 || 4 || xx xx xx 00 || repeat second part of the file
|}
|}


*STARTDAT (for PS1 classic) header contain the header size (50) and .png size ("A5 2F" when similar [http://www.ps3devwiki.com/wiki/File:Minis_Warning_logo.png MINIS Warning logo].
PARAM.SFO starts at offset 0x28 with following parameters (see above for length or purpose):
 
*BOOTABLE: 00 00 00 00
 
*CATEGORY: "MG"
 
*DISC_ID :
 
*DISC_VERSION: "1.00" , "1.02"
 
*PARENTAL_LEVEL
 
*PSP_SYSTEM_VER: 1.00
 
*REGION : 00 00 80 00
 
*TITLE
 
*USE_USB: 00 00 00 00
 
Then the ICON0.PNG starts usually at offset 0x1DC
 
ICON0.PNG and PIC1.PNG:
 
After the 2 or 3 .png, the second part of the file start (length is always 0x20 bytes).
 
= Links and Tools =
 
* PSARdumper
** [http://dl.qj.net/psp/homebrew-applications/psardumper-for-ofw-660.html]
** Note: This PSAR dumper is only for PSP firmware packages.
 
* PRXdecrypter
** [http://dl.qj.net/psp/homebrew-applications/prxdecrypter-v26b.html]
** Note: PRXdecrypter is a modification of PSARdumper that can decrypt other files as MODULES.PRX or EBOOT.BIN.
 
* PBP Unpacker
** [http://dl.qj.net/psp/tools-utilities-on-pc/pbp-unpacker-v094.html]
** Source code: []
** Note: There is a bug in PBP Unpacker version <=0.94 where .PBP with size bigger than 1MB are not supported.
 
* psnpkgdecryptor-extractor by TLM for PKG and KEYS.BIN
** [https://sites.google.com/site/theleecherman/psnpkgdecryptor-extractor]
** Note: Some feature (KEYS.BIN is used by PS1 classic on PSP):
Extract & Decrypt & Dump all PSP PKG files ( Games & Minis, DLCs & Addons, NeoGeo, PC Engine, PSOne Classic Games, Games Updates )
ISO, EBOOT, EDAT/PGD files to Decrypt (Version 1.3), Dump, Verify ISO
Generate KEYS.BIN for PSOne Game from PSOne EBOOT.PBP
...
 
* Guide Running homebrew on PS3 via PSP emulator (minis)
** [http://www.ps3hax.net/showthread.php?t=54596]
 
* PSP homebrew - libLZR v0.11
** [https://qj.net/psp-homebrew-liblzr-v0-11/]
** Note: The library de- and encodes LZR streams (as used in the Sony PSP firmware). ?Used in PGD only?
 
* psxtract
** [http://www.ps3hax.net/showthread.php?t=70512]
** Note: PSXtract is a tool to convert PS1 PBP (coming from PKG) to ISO


Last part  is other .PGD section
* Document.dat (manual) resource:
** [http://www.psxpspmanuals.com/]


* More information about the PSAR: https://web.archive.org/web/*/http://ps3devwiki.com/files/documents/-SONY%20PS3%20SDK%20Documentation/360.01/cell/en/html/file_access/PSARC-Users_Guide_e.htm


=Links=
* For structure (and history of research): http://lan.st/showthread.php?t=258


More information about the PSAR: http://www.ps3devwiki.com/files/documents/-SONY%20PS3%20SDK%20Documentation/360.01/cell/en/html/file_access/PSARC-Users_Guide_e.htm
* For files related to EBOOT.PBP (keys.bin, document.dat etc...), basic infos on the talk page also.


For structure (and history of research): http://lan.st/showthread.php?t=258
* For history of the page: original link for PBP structure) http://endlessparadigm.com/forum/showthread.php?tid=13


For files related to EBOOT.PBP (keys.bin, document.dat etc...), basic infos on the talk page also.


For history of the page: original link for PBP structure) http://endlessparadigm.com/forum/showthread.php?tid=13
{{File Formats}}<noinclude>[[Category:Main]]</noinclude>

Latest revision as of 06:13, 17 April 2023

ICON0 eboot.pbp FW 6.60

Eboot.PBP[edit | edit source]

Selection window

Used on PSP (PSP remaster and PSN content:PS1 classic and Minis), to be loaded with build in PSP emulator on PS3. See Emulation.

With PSP remaster game, you can select either to start the game directly or the NPJA0040/USRDIR/EBOOT.BIN (Ad-Hoc Party folder). An ICON of the game is also loaded on the top left corner on the menu.

Used also for PSP FW from PS3 internet browser (http://www.jp.playstation.com/psp/update/ud_03.html) correct link if available in English) to transfer on PSP or external storage device.

RCO PNG used on PS3 for EBOOT.PBP

Header and filetable[edit | edit source]

Offset Purpose
0x00 The PBP signature, always is 00 50 42 50 or the string "<null char>PBP"
0x04 Unknown purpose, possibly the version number. Currently is always 0x00000100 or 0x01000100 (some MINIS, PSP remaster and PSP PlayView).
0x08 Offset of the file PARAM.SFO (?this value should always be 0x28?)
0x0C Offset of the file ICON0.PNG
0x10 Offset of the file ICON1.PMF or ICON1.PNG
0x14 Offset of the file PIC0.PNG or UNKNOWN.PNG (Value can be repeated)
0x18 Offset of the file PIC1.PNG or PICT1.PNG
0x1C Offset of the file SND0.AT3
0x20 Offset of the file DATA.PSP
0x24 Offset of the file DATA.PSAR

Usually every .PBP embeds a PARAM.SFO file and PARAM.SFO file starts at offset 0x28.

PARAM.SFO[edit | edit source]

Basically the information file for the .PBP - has title, parental control level etc.

Fews parameters inside different type of .pbp (psp remaster, psp game, minis, ps1 classic..)

For the external PS3 SFO, see PARAM.SFO. Some parameters such SAVEDATA_DETAIL related but used separately from the eboot.pbp as well.

For PS1 classic, offset .SFO should not be variable on EBOOT.PBP.

(e.g.: Title of the game should start at offset 0x358 with category: ME, not as EG)

Key (Parameters) Description Format (DATA TYPE) Max length Value example Used on Note
APP_VER Application or Patch Version utf-8 8 1.00 PSP Remaster icon PSP icon PS1 classic should not have this parameter.
ATTRIBUTE Various parameter integer 4 01 00 60 01 PSP Minis icon PSP icon PS1 classic do not have attribute.
BOOTABLE Is bootable or not integer 4 01 00 00 00 PSP Remaster icon PSP Minis icon PS1 icon PSP icon Parameters PS1 classic should start from here.
CATEGORY Category of Content utf-8 4 -- PSP Remaster icon PSP Minis icon PS1 icon PSP icon Category of PSF, as per the table above.
DISC_ID Product number of the game(?) integer 16 (0X10) NPXX12345 PSP Remaster icon PSP Minis icon PS1 icon PSP icon Equal to Game ID for PS3. See DiscID.
DISC_NUMBER -- integer 4 1 PSP Remaster icon PSP Minis icon PSP icon Which disc (out of DISC_TOTAL) is this? (Counts from 1.)
DISC_TOTAL -- integer 4 1 PSP Remaster icon PSP Minis icon PSP icon Total number of UMD discs for this game.
DISC_VERSION -- utf-8 8 1.00 PSP Remaster icon PSP Minis icon PS1 icon PSP icon Version of the game(?), e.g. "1.00"
DRIVER_PATH -- utf-8 64 (0x40) -- PSP icon
HRKGMP_VER -- integer 4 0 PSP Remaster icon PSP icon
LICENSE License information utf-8 512 (0x200) -- PS1 icon
MEMSIZE -- integer 4 1 PSP icon add extra RAM for eboot (Not for PSP-1000), first used on homebrew: snes TYL
PARENTAL_LEVEL Parental Lock Level integer 4 "3" PSP Remaster icon PSP Minis icon PS1 icon PSP icon Minimum parental control level needed to access this file (1-11, 1=general audience, 5=12 years, 7=15 years, 9=18 years) //E.G.:Set as 3 on ModNation Racers
PBOOT_TITLE -- utf-8 128 (0x80) -- PSP icon Used on PBOOT.PBP (Update)
PSP_SYSTEM_VER -- utf-8 8 6.35 PSP Remaster icon PSP Minis icon PS1 icon PSP icon Version of PSP system software required to run the game(?)
REGION -- integer 4 00 80 00 00 PSP Remaster icon PSP Minis icon PS1 icon PSP icon Bitmask of allowed regions. 0x8000 is region 2?
TITLE Game Title (Default language) utf-8 128 (0x80) -- PSP Remaster icon PSP Minis icon PS1 icon PSP icon Text shown under the "Game" heading in the save game menu.
TITLE_XX Game Title utf-8 128 (0x80) -- PSP icon Localized version of the TITLE attribute. See Languages.
UPDATER_VER -- utf-8 8 6.60 PSP icon Used by the firmware updater program to denote the version it upgrades the firmware to. Category MG, on PSP_GAME: SYSDIR/UPDATE/PARAM.SFO if not empty
USE_USB -- integer 4 0 PSP Remaster icon PSP Minis icon PSP icon
*LANGUAGE category MG Language of the game. "JP" indicates Japanese.

Attribute

Category

PSP PS3 SFO related Note
EG MN PSP Essentials or Extended or External (or Episode) Games? Minis
EG PE PSP remaster (and in others only PSP released games?)
EG PP Not bootable on PS3
MA No Apps
ME 1P PS1 Classic
MG No MemoryStick Game?. For update FW :MSTKUPDATE, Apps game and Game data (for param.pbp , not as save data). PP on PS3 is possible.
MS No MemoryStick Save for Game&apps (PSP remaster also)
UG No UMD Disc Game
PG PP Game update

DISC_ID (or TITLE_ID ?)

Some special titles from SCE utility apps:

Update for Game (PBOOT.PBP): some values

APP_VER: 1.01 or more

ATTRIBUTE: 01 00 00 00

CATEGORY: PG

PBOOT_TITLE

Content Information Files[edit | edit source]

For PS3 see: Content_Information_Files.

ICON0.PNG[edit | edit source]

The little icon in 32bit colour PNG format. Max resolution is 144x80.

PSP Minis icon: 80x80

PS1 icon: 80x80 (same used on savedata)

PSP icon:

PSP Remaster icon: 144x80

ICON1.PMF or ICON1.PNG[edit | edit source]

The little animated icon in PSMF format or image in PNG.

PSP Minis icon:ICON1.PNG or ICON1.PMF (310x180)

PS1 icon:ICON1.PNG or ICON1.PMF (310x180)

PSP icon:

PIC0.PNG[edit | edit source]

"Information" image in PNG format. Max resolution is 480x272.

PSP Minis icon:

PS1 icon:

PSP icon:

PIC1.PNG or PICT1.PNG[edit | edit source]

The background image in 32bit colour PNG format. Max resolution is 480x272.

PSP Minis icon:PICT1.PNG (480x272)

PS1 icon:PICT1.PNG (480x272)

PSP icon:

PSP Remaster icon: PIC1.PNG (480x272)

SND0.AT3[edit | edit source]

The sound which is played when the icon is highlighted, in ATRAC3 format.

PSP Minis icon:

PS1 icon: not present.

PSP icon:

PSP Remaster icon: not present.

DATA.PSP[edit | edit source]

More information, except more targeted at the executable portion (contains info such as ELF size):

Boot and Warning image:[edit | edit source]

Logo screen from eboot.pbp

Minis warning logo
  • PSP Minis icon:

"minis"boot logo (visual content is similar than the file located on dev_flash/pspemu/flash0/logo/minis_logo/)

Display on Screen from PS3 side might be altered according to the FW.

PNG format (480x272)

Not all Minis games have the second

  • PS1 icon:
Offset Length Name Description
0x00 16 - ~PSP (7E 50 53 50 00 02 01 00 01 01 20)
...
0x2C - Size Length first part / offset second part (40 25)
  • icon content psp remaster:
Menu screen bin

Menu screen selection image for PSP Remaster located in PSP_EMU.

See Emulator settings.







Other[edit | edit source]

  • When the eboot is signed as free demo (PSP 6.60 OFW might block it, 6.39 FW no).

DATA.PSAR[edit | edit source]

The bulk of the EBOOT.PBP, and the portion which contains the executable code.

Offset Length Name Description
0x00 16 bytes (0x10) magic
PSP Minis icon PSP Remaster icon : NPUMDIMG 
(4E 50 55 4D  44 49 4D 47  03 00 00 01  10 00 00 00)
(used also on PSP game)
PS1 icon: PSISOIMG0000 
(50 53 49 53  4F 49 4D 47  30 30 30 30  xx xx xx xx)

See PSISOIMG0000.

See Iso.bin.edat_Disc_map.

PS1 icon:

  • Note: this "identifier" seems to be separated in: 8 + 4 + 4 bytes:
For PS1 Classic the last 4 bytes give the size of the first part of the PSAR,
which also means it's the offset (DATA.PSAR file) for part 2 (string as: STARTDAT)

  • PSTITLEIMG000000: Not present on all PS1 Classic and followed also by 4 bytes giving length of first part. After one .pgd part and padding, "PSISOIMG0000" + 4bytes as 00.
  • PGD

See PGD wiki page on PSP Dev wiki.

  • STARTDAT: header contain the header size (50) and .png size (e,g,:"A5 2F" when similar MINIS Warning logo or 06 26 for PSP remaster).

Last part is another .PGD section.

PARAM.PBP[edit | edit source]

PSP XMB referenced it as "game data". Used by: PlayView、 DLC/add on.

Offset Length Value Notes
0x00 4 00 50 42 50 Magic (".PBP")
0x04 4 01 00 01 00 Unknown purpose, possibly the version number. Currently is always similar (also on 1.00 or 1.02 disc_version)
0x08 4 28 00 00 00 Offset of the file PARAM.SFO (this value should always be 0x28)
0x0C 4 DC 01 00 00 Offset of the file ICON0.PNG 144x80 (similar since same parameters are used)
0x10 4 xx xx 00 00 Offset of the file ICON1.PNG or ICON1.PMF 310x180 ("information")
0x14 4 xx xx 00 00 repeat Offset of the file ICON1.PNG or ICON1.PMF
0x18 4 xx xx 00 00 Offset of the file PIC1.PNG 480x272 ("Background") not all Playview have it (and so, offset second part)
0x1C 4 xx xx xx 00 Offset second part of the file
0x20 4 xx xx xx 00 repeat second part of the file
0x24 4 xx xx xx 00 repeat second part of the file

PARAM.SFO starts at offset 0x28 with following parameters (see above for length or purpose):

  • BOOTABLE: 00 00 00 00
  • CATEGORY: "MG"
  • DISC_ID :
  • DISC_VERSION: "1.00" , "1.02"
  • PARENTAL_LEVEL
  • PSP_SYSTEM_VER: 1.00
  • REGION : 00 00 80 00
  • TITLE
  • USE_USB: 00 00 00 00

Then the ICON0.PNG starts usually at offset 0x1DC

ICON0.PNG and PIC1.PNG:

After the 2 or 3 .png, the second part of the file start (length is always 0x20 bytes).

Links and Tools[edit | edit source]

  • PSARdumper
    • [1]
    • Note: This PSAR dumper is only for PSP firmware packages.
  • PRXdecrypter
    • [2]
    • Note: PRXdecrypter is a modification of PSARdumper that can decrypt other files as MODULES.PRX or EBOOT.BIN.
  • PBP Unpacker
    • [3]
    • Source code: []
    • Note: There is a bug in PBP Unpacker version <=0.94 where .PBP with size bigger than 1MB are not supported.
  • psnpkgdecryptor-extractor by TLM for PKG and KEYS.BIN
    • [4]
    • Note: Some feature (KEYS.BIN is used by PS1 classic on PSP):
Extract & Decrypt & Dump all PSP PKG files ( Games & Minis, DLCs & Addons, NeoGeo, PC Engine, PSOne Classic Games, Games Updates )
ISO, EBOOT, EDAT/PGD files to Decrypt (Version 1.3), Dump, Verify ISO
Generate KEYS.BIN for PSOne Game from PSOne EBOOT.PBP
...
  • Guide Running homebrew on PS3 via PSP emulator (minis)
  • PSP homebrew - libLZR v0.11
    • [6]
    • Note: The library de- and encodes LZR streams (as used in the Sony PSP firmware). ?Used in PGD only?
  • psxtract
    • [7]
    • Note: PSXtract is a tool to convert PS1 PBP (coming from PKG) to ISO
  • Document.dat (manual) resource:
  • For files related to EBOOT.PBP (keys.bin, document.dat etc...), basic infos on the talk page also.