PSISOIMG0000: Difference between revisions
Jump to navigation
Jump to search
mNo edit summary |
m (→EBOOT.PBP) |
||
Line 3: | Line 3: | ||
== EBOOT.PBP == | == EBOOT.PBP == | ||
Contents: | Contents: | ||
* PARAM.SFO | * [[PARAM.SFO]] | ||
* ICON0.PNG | * ICON0.PNG | ||
* ICON1.PMF | * ICON1.PMF | ||
Line 11: | Line 11: | ||
* DATA.PSP | * DATA.PSP | ||
* DATA.PSAR | * DATA.PSAR | ||
== DATA.PSAR == | == DATA.PSAR == |
Revision as of 21:32, 19 September 2012
This format is used for PSONE Classics on PS3 and PSP.
EBOOT.PBP
Contents:
- PARAM.SFO
- ICON0.PNG
- ICON1.PMF
- PIC0.PNG
- PIC1.PNG
- SND0.AT3
- DATA.PSP
- DATA.PSAR
DATA.PSAR
- Contains the ISO (usually compressed)
Offset | Notes |
---|---|
0x0 | PSISOIMG0000 |
0x400 | iso header (encrypted) |
0x1220 | special data (encrypted) |
0x100000 | start of the iso |
ISO.BIN
This file helps the PS3 to verify the content of DATA.PSAR (and maybe to decrypt the iso header). At the end of the file, there is a signature which can be used to verify the contents. All offsets are in little endian.
Patch for disabling the signature check in ps1_netemu
set search "\xE8\x7F\x01\x80\xE9\x61\x00\x00\xE8\x0B\x00\x10\x7C\x08\x03\xA6"
set replace "\x38\x60\x00\x00"
catch_die {:: patch_elf $elf $search 0 $replace} "Unable to patch self [file tail $elf]"
- tested manually (without mfw creator)
Entries
- Starting at 0x4000
- Each entry represents 0x10 Sectors of the iso
- One sector has 0x930 bytes (2352 bytes)
- Sectors are compressed
Entry Nº | Offset | Length | Name | Example | Notes |
---|---|---|---|---|---|
1 | 0x00 | 4 bytes (0x04) | offset in iso | 0 | offset from start of the iso inside of DATA.PSAR |
0x04 | 2 bytes (0x02) | size | variable | size of 0x10 sectors (compressed, if not 0x9300) | |
0x06 | 2 bytes (0x02) | type ? | 01 00 | usually 1... and 0 for the last entry | |
0x08 | 16 bytes (0x10) | sha1 | variable | first 0x10 bytes of sha1 sum of 0x10 disc sectors | |
0x18 | 8 bytes (0x08) | padding | |||
Up to 32256 | same structure than the previous entry |