Editing Eboot.PBP

Jump to navigation Jump to search
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

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 3: Line 3:
= Eboot.PBP =
= Eboot.PBP =


[[File:Pspremaster.jpg|200px|thumb|right|Selection window]]
[[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]].
Used on PSP (PSP remaster and PSN content:PS1 classic & Minis), to be loaded with build in pspemulator  on PS3. [[Emulation | See: Emulation page]]


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.
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.
Line 11: Line 11:
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 for 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"
|-
|-
Line 21: Line 21:
| 0x00 || The PBP signature, always is 00 50 42 50 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 (some MINIS, PSP remaster and PSP PlayView).
| 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  
Line 38: Line 38:
|-
|-
| 0x24 || Offset of the file DATA.PSAR
| 0x24 || Offset of the file DATA.PSAR
|-
|}
|}
Then the file PARAM.SFO starts (at 0x28)


Usually every .PBP embeds a PARAM.SFO file and PARAM.SFO file starts at offset 0x28.
==PARAM.SFO==
 
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 different type of .pbp (psp remaster, psp game, minis, ps1 classic..)
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 [[PARAM.SFO#SAVEDATA_DETAIL | SAVEDATA_DETAIL]] related but used separately from the eboot.pbp as well.
For the external PS3 SFO, see the [[PARAM.SFO | param.sfo page]]. 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.
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)
(e.g.: Title of the game should start at offset 0x358 with category: ME, not as EG)
Line 56: Line 55:
{| 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 pspremaster}} {{icon content psp}}|| PS1 classic should not have this parameter.
| 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.
Line 66: Line 65:
| 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.
| 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  || 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_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 pspremaster}} {{icon content pspminis}} {{icon content psp}} || Which disc (out of DISC_TOTAL) is this? (Counts from 1.)
| 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.)
Line 92: Line 91:
| 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  || 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 (0x80)|| --        ||  {{icon content psp}} || Localized version of the TITLE attribute. See [http://www.ps3devwiki.com/wiki/Content_Information_Files#Languages Languages].
| 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]
|-
|-
| 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
| 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}} ||  
| 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.
*LANGUAGE category MG Language of the game. "JP" indicates Japanese.
 


'''Attribute'''
'''Attribute'''
Line 130: Line 131:
|-
|-
|}
|}


'''DISC_ID''' (or TITLE_ID ?)
'''DISC_ID''' (or TITLE_ID ?)


Some special titles from SCE utility apps:
Some special titles from sony utility apps:


*NPIA00013 (SensMe) http://www.playstation.com/psp-app/sensme/en/download_pc.html
*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 147: Line 150:
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 163: Line 165:
{{icon content pspremaster}}: 144x80
{{icon content pspremaster}}: 144x80


=== ICON1.PMF or ICON1.PNG ===


===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 or ICON1.PMF (310x180)
{{icon content pspminis}}:ICON1.PNG (310x180)


{{icon content ps1}}:ICON1.PNG or ICON1.PMF (310x180)
{{icon content ps1}}:ICON1.PNG (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 183: Line 184:
{{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 195: Line 195:
{{icon content pspremaster}}: PIC1.PNG (480x272)
{{icon content pspremaster}}: PIC1.PNG (480x272)


=== SND0.AT3 ===
===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 207: Line 206:
{{icon content pspremaster}}: not present.
{{icon content pspremaster}}: not present.


== DATA.PSP ==
==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 and Warning image: ===
===Boot & Warning image:===


<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>
<div style="float:right">[[File:Minis_boot_logo.png|200px|thumb|left|Logo screen from eboot.pbp ]]<br /></div>


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


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


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


Line 244: Line 243:
Menu screen selection image for PSP Remaster located in PSP_EMU.
Menu screen selection image for PSP Remaster located in PSP_EMU.


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


<br><br><br><br><br><br>
<br><br><br><br><br><br>
===Other===


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


{| class="wikitable"
{| class="wikitable"
Line 264: Line 261:
  (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''')
  (used 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 281: Line 280:
*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


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


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


Last part is another .PGD section.
For PGD on JPCSP: http://www.emunewz.net/forum/showthread.php?tid=3834


= PARAM.PBP =
{| class="wikitable"
|-
!Offset !! Length !! Name !! Description
|-
| 0x400 ||4 bytes (0x4) || magic || PGD
|-
| 0x404 ||4 bytes (0x4) || unknown || 01 00 00 00
|-
| 0x408 ||4 bytes (0x4) || unknown || 01 00 00 00
 
|-
| 0x40C ||4 bytes (0x4) || unknown || 00 00 00 00
|-
| 0x410 || unknown || encrypted ||
|-
|}
 
*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).
 
Last part  is other .PGD section
 
=PARAM.PBP=


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


{| class="wikitable"
{| class="wikitable"
|-
|-
! Offset !! Length !! Value !! Notes
! Offset !! Lenght !! Value !! Notes
|-
|-
| 0x00 || 4 || 00 50 42 50 || Magic (".PBP")
| 0x00 || 4 || 00 50 42 50 || The PBP signature is similar than eboot.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)
| 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)  
| 0x08 || 4 || 28 00 00 00 || Offset of the file PARAM.SFO (this value should always be 0x28)  
Line 305: Line 324:
| 0x0C || 4 || DC 01 00 00 || Offset of the file ICON0.PNG 144x80 (similar since same parameters are used)
| 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")
| 0x10 || 4 || xx xx 00 00 || Offset of the file ICON1.PNG 310x180 ("information")
|-
|-
| 0x14 || 4 || xx xx 00 00 || repeat Offset of the file ICON1.PNG or ICON1.PMF
| 0x14 || 4 || xx xx 00 00 || repeat Offset of the file ICON1.PNG
|-
|-
| 0x18 || 4 || xx xx 00 00 || Offset of the file PIC1.PNG 480x272 ("Background") not all Playview have it (and so, offset second part)
| 0x18 || 4 || xx xx 00 00 || Offset of the file PIC1.PNG 480x272 ("Background") not all Playview have it (and so, offset second part)
Line 316: Line 335:
|-
|-
| 0x24 || 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):
Then the file PARAM.SFO starts (at 0x28) with following parameters (see above for length or purpose):


*BOOTABLE: 00 00 00 00
*BOOTABLE: 00 00 00 00
Line 338: Line 358:
*USE_USB: 00 00 00 00
*USE_USB: 00 00 00 00


Then the ICON0.PNG starts usually at offset 0x1DC
Then the ICON0 (should) start (at 0x1DC)


ICON0.PNG and PIC1.PNG:
ICON0 &PIC1:


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


= Links and Tools =
=Links & Tools=


* PSARdumper
*PSARdumper
** [http://dl.qj.net/psp/homebrew-applications/psardumper-for-ofw-660.html]
http://dl.qj.net/psp/homebrew-applications/psardumper-for-ofw-660.html
** Note: This PSAR dumper is only for PSP firmware packages.


* PRXdecrypter
Note: This PSAR dumper is for firmware packages
** [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
*PRXdecrypter
** [http://dl.qj.net/psp/tools-utilities-on-pc/pbp-unpacker-v094.html]
http://dl.qj.net/psp/homebrew-applications/prxdecrypter-v26b.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
Note: Is a modification of psardumper that can decrypt other files as MODULES.PRX or EBOOT.BIN
** [https://sites.google.com/site/theleecherman/psnpkgdecryptor-extractor]
 
** Note: Some feature (KEYS.BIN is used by PS1 classic on PSP):
*PBP Unpacker
http://dl.qj.net/psp/tools-utilities-on-pc/pbp-unpacker-v094.html
 
*PKG & 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 )
  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
  ISO, EBOOT, EDAT/PGD files to Decrypt (Version 1.3), Dump, Verify ISO
Line 367: Line 388:
  ...
  ...


* Guide Running homebrew on PS3 via PSP emulator (minis)
*Guide Running homebrew on PS3 via PSP emulator (minis)
** [http://www.ps3hax.net/showthread.php?t=54596]
http://www.ps3hax.net/showthread.php?t=54596
 
*PSP homebrew - libLZR v0.11
http://www.qj.net/psp/homebrew-development/psp-homebrew-liblzr-v011.html
 
Note: The library de- and encodes LZR streams (as used in the Sony PSP firmware).
 


* 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
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
** [http://www.ps3hax.net/showthread.php?t=70512]
** Note: PSXtract is a tool to convert PS1 PBP (coming from PKG) to ISO


* Document.dat (manual) resource:
For structure (and history of research): http://lan.st/showthread.php?t=258
** [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
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>
{{File Formats}}<noinclude>[[Category:Main]]</noinclude>
Please note that all contributions to PS3 Developer wiki are considered to be released under the GNU Free Documentation License 1.2 (see PS3 Developer wiki:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

To protect the wiki against automated edit spam, we kindly ask you to solve the following hCaptcha:

Cancel Editing help (opens in new window)