Eboot.PBP
Eboot.PBP
Used on PSP (PSP remaster and PSN content:PS1 classic & Minis), to be loaded with build in pspemulator on PS3. 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.
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
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 |
Then the file PARAM.SFO starts (at 0x28)
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..)
For the external PS3 SFO, see the param.sfo page. 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 | PS1 classic should not have this parameter. | |
ATTRIBUTE | Various parameter | integer | 4 | 01 00 60 01 | PS1 classic do not have attribute. | |
BOOTABLE | Is bootable or not | integer | 4 | 01 00 00 00 | Parameters PS1 classic should start from here. | |
CATEGORY | Category of Content | utf-8 | 4 | -- | Category of PSF, as per the table above. | |
DISC_ID | Product number of the game(?) | integer | 16 (0X10) | NPXX12345 | Equal to Game ID for PS3, see DiscID | |
DISC_NUMBER | -- | integer | 4 | 1 | Which disc (out of DISC_TOTAL) is this? (Counts from 1.) | |
DISC_TOTAL | -- | integer | 4 | 1 | Total number of UMD discs for this game. | |
DISC_VERSION | -- | utf-8 | 8 | 1.00 | Version of the game(?), e.g. "1.00" | |
DRIVER_PATH | -- | utf-8 | 64 (0x40) | -- | ||
HRKGMP_VER | -- | integer | 4 | 0 | ||
LICENSE | License information | utf-8 | 512 (0x200) | -- | ||
MEMSIZE | -- | integer | 4 | 1 | add extra RAM for eboot (Not for PSP-1000), first used on homebrew: snes TYL | |
PARENTAL_LEVEL | Parental Lock Level | integer | 4 | "3" | 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) | -- | Used on PBOOT.PBP (Update) | |
PSP_SYSTEM_VER | -- | utf-8 | 8 | 6.35 | Version of PSP system software required to run the game(?) | |
REGION | -- | integer | 4 | 00 80 00 00 | Bitmask of allowed regions. 0x8000 is region 2? | |
TITLE | Game Title (Default language) | utf-8 | 128 (0x80) | -- | Text shown under the "Game" heading in the save game menu. | |
TITLE_XX | Game Title | utf-8 | 128 (0x80) | -- | Localized version of the TITLE attribute: See Languages | |
UPDATER_VER | -- | utf-8 | 8 | 6.60 | 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 |
- LANGUAGE category MG Language of the game. "JP" indicates Japanese.
Attribute
- MINIS used are for X1 category ATTRIBUTE_In_Bootable_content
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 sony utility apps:
- NPIA00013 (SensMe) http://www.playstation.com/psp-app/sensme/en/download_pc.html
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
For PS3:Content_Information_Files
ICON0.PNG
The little icon in 32bit colour PNG format. Max resolution is 144x80.
: 80x80 (same used on savedata)
ICON1.PMF or ICON1.PNG
The little animated icon in PSMF format or image in PNG.
PIC0.PNG
"Information" image in PNG format. Max resolution is 480x272.
PIC1.PNG or PICT1.PNG
The background image in 32bit colour PNG format. Max resolution is 480x272.
SND0.AT3
The sound which is played when the icon is highlighted, in ATRAC3 format.
DATA.PSP
More information, except more targeted at the executable portion (contains info such as ELF size):
Boot & Warning image:
"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 Warning logo
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) |
Menu screen selection image for PSP Remaster located in PSP_EMU.
Other
- When the eboot is signed as free demo (PSP 6.60 OFW might block it, 6.39 no)
DATA.PSAR
The bulk of the EBOOT, and the portion which contains the executable code.
Offset | Length | Name | Description |
---|---|---|---|
0x00 | 16 bytes (0x10) | magic |
: NPUMDIMG (4E 50 55 4D 44 49 4D 47 03 00 00 01 10 00 00 00) (used also on PSP game)
: PSISOIMG0000 (50 53 49 53 4F 49 4D 47 30 30 30 30 xx xx xx xx) See PSISOIMG0000 |
- 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:
For PGD on JPCSP: http://www.emunewz.net/forum/showthread.php?tid=3834
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 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.
Offset | Lenght | Value | Notes |
---|---|---|---|
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) |
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 310x180 ("information") |
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) |
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 |
Then the file PARAM.SFO starts (at 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 (should) start (at 0x1DC)
ICON0 &PIC1:
After the 2 or 3 .png, the second part of the file start (length is always 0x20).
Links & Tools
- PSARdumper
http://dl.qj.net/psp/homebrew-applications/psardumper-for-ofw-660.html
Note: This PSAR dumper is for firmware packages
- PRXdecrypter
http://dl.qj.net/psp/homebrew-applications/prxdecrypter-v26b.html
Note: 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
- 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 ) 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
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).
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 structure (and history of research): http://lan.st/showthread.php?t=258
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
|