PSISOIMG0000: Difference between revisions

From PS3 Developer wiki
Jump to navigation Jump to search
Line 77: Line 77:
|-
|-
|}
|}
== Extract ISOs ==
you can use this app to get plain isos out of the eboot.pbp: [[http://www.multiupload.nl/QAHNB0VQZW]]

Revision as of 15:14, 23 October 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, probably ignored by ps1_netemu)
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)

Structure

Offset Notes
0x0 PSISOIMG0000
0x400 iso header (decrypted)
0x4000 start of entries

Entries

  • Starting at 0x4000
  • Each entry represents 0x10 Sectors of the iso
  • One sector has 0x930 bytes (2352 bytes)
  • Sectors are compressed
  • same entries can be found in the decrypted iso_header of the EBOOT.PBP
Entry Nº Offset Length Name Example Notes
1 0x00 4 bytes (0x04) offset in iso 0 offset relative to 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

Extract ISOs

you can use this app to get plain isos out of the eboot.pbp: [[1]]