Editing PSISOIMG0000

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 18: Line 18:
! Block Nº !! Offset !! Length !! Name !! Example !! Description
! Block Nº !! Offset !! Length !! Name !! Example !! Description
|-
|-
| rowspan="12" style="background-color:#DDDDDD;" | 0 <br /> '''common_header''' || 0x0000 || 0x10 (16 bytes) || '''magic''' || PSTITLEIMG000000 ||  
| rowspan="5" style="background-color:#DDDDDD;" | 0 <br /> '''common_header''' || 0x0000 || 0x10 (16 bytes) || '''magic''' || PSTITLEIMG000000 ||  
|-
|-
| 0x0010 || 0x1F0 (496 bytes) || ''padding'' || ||
| 0x0010 || 0x1F0 (496 bytes) || ''padding'' || ||
|-
|-
| 0x0200 || 0x64 (100 bytes) || '''discs_start_offsets''' || 00 04 00 00 || 25 chunks of 4 bytes ... each chunk = start position of each disc, in games with only 1 disc only the first 4 bytes are used. Only 5 discs are supported by emulator.
| 0x0200 || 0x64 (100 bytes) || '''discs_start_offsets''' || 00 04 00 00 || 25 chunks of 4 bytes ... each chunk = start position of each disc, in games with only 1 disc only the first 4 bytes are used
|-
|-
| 0x0264 || 0x10 (16 bytes) || '''game_id''' || _SLES_12345 || common identifier for all discs.
| 0x0264 || 0x10 (16 bytes) || '''game_id''' || _SLES_12345 || common identifyer for all discs
|-
|-
| 0x0274 || 0x18 (8 bytes) || ''padding'' || ||
| 0x0274 || 0x18C (396 bytes) || ''padding'' || ||
|-
|-
| 0x028C || 0x80 (128 bytes) || ''unknown'' || ||
|-
| 0x030C || 0x80 (128 bytes) || ''unknown'' || || related to data from 0x390
|-
| 0x038C || 0x04 (4 bytes) || ''unknown'' || ||
|-
| 0x0390 || 0x3E (62 bytes) || ''unknown'' || || related to data from 0x30C
|-
| 0x03CE || 0x02 (2 bytes) || ''padding'' || ||
|-
| 0x03D0 || 0x04 (4 bytes) || ''unknown'' || ||
|-
| 0x03D4 || 0x2C (44 bytes) || ''padding'' || ||
|-
|}
|}


Line 54: Line 39:
! Cluster Nº !! Block Nº !! Offset !! Length !! Name !! Example !! Notes
! Cluster Nº !! Block Nº !! Offset !! Length !! Name !! Example !! Notes
|-
|-
| rowspan="34" style="background-color:#DDDDDD;" | 0 <br /> '''Disc map header''' || rowspan="3" style="background-color:#DDDDDD;" | 1 || 0x0000 || 0x00C (12 bytes) || '''magic''' || PSISOIMG0000 ||  
| rowspan="28" style="background-color:#DDDDDD;" | 0 <br /> '''Disc map header''' || rowspan="3" style="background-color:#DDDDDD;" | 1 || 0x0000 || 0x00C (12 bytes) || '''magic''' || PSISOIMG0000 ||  
|-
|-
| 0x000C || 0x004 (4 bytes) || '''section size''' || || Offset from the start of the PSISOIMG section to the next section<br>For uncompressed images this is usually 0x100000 + size of iso-image padded to 0x9300<br>If the disc contains CD-DA tracks then this number will also include all the ATRACK encoded audio that follows after the disk image.
| 0x000C || 0x004 (4 bytes) || '''section size''' || || Offset from the start of the PSISOIMG section to the next section<br>For uncompressed images this is usually 0x100000 + size of iso-image padded to 0x9300<br>If the disc contains CD-DA tracks then this number will also include all the ATRACK encoded audio that follows after the disk image.
Line 68: Line 53:
| 0x0424 || 0x4 (4 bytes) || '''ps1 config firmware''' || 0x06060000 || config revision in little endian.
| 0x0424 || 0x4 (4 bytes) || '''ps1 config firmware''' || 0x06060000 || config revision in little endian.
|-
|-
| 0x0428 || 0x84 (132 bytes) || '''ps1 configs 1''' || 0x00104500 || Ad hoc game configs in little endian. Single config is 4 bytes param.
| 0x0428 || 0x24 (36 bytes) || '''ps1 configs 1''' || 0x00104500 || Ad hoc game configs in little endian. Single config is 4 bytes param.
|-
|-
| 0x04AC || 0x84 (132 bytes) || '''ps1 configs 2''' || 0x00104500 || Ad hoc game configs in little endian. Single config is 4 bytes param.
| 0x04AC || 0x24 (36 bytes) || '''ps1 configs 2''' || 0x00104500 || Ad hoc game configs in little endian. Single config is 4 bytes param.
|-
|-
| rowspan="2" style="background-color:#DDDDDD;" | 3 || 0x0800 || 0x3FС (1020 bytes) || '''[[PSISOIMG0000#Disc toc table|Disc toc table]]''' || variable || Table of content, like CUE sheet, supports upto 99 entries (102 entries total)
| rowspan="2" style="background-color:#DDDDDD;" | 3 || 0x0800 || 0x3FС (1020 bytes) || '''[[PSISOIMG0000#Disc toc table|Disc toc table]]''' || variable || Table of content, like CUE sheet, supports upto 99 entries (102 entries total)
Line 78: Line 63:
| style="background-color:#DDDDDD;" | 4 || 0x0C00 || 0x400 (1024 bytes) || '''[[PSISOIMG0000#Audio tracks table|Audio tracks table]]''' || || Datas of audio tracks (2-65). offset, size, and more
| style="background-color:#DDDDDD;" | 4 || 0x0C00 || 0x400 (1024 bytes) || '''[[PSISOIMG0000#Audio tracks table|Audio tracks table]]''' || || Datas of audio tracks (2-65). offset, size, and more
|-
|-
| rowspan="10" style="background-color:#DDDDDD;" | 5 || 0x1000 || 0x220 (544 bytes) || '''[[PSISOIMG0000#Audio tracks table|Audio tracks table]]''' || || Datas of audio tracks (66-99). offset, size, and more
| rowspan="5" style="background-color:#DDDDDD;" | 5 || 0x1000 || 0x220 (544 bytes) || '''[[PSISOIMG0000#Audio tracks table|Audio tracks table]]''' || || Datas of audio tracks (66-99). offset, size, and more
|-
| 0x1220 || 0x0fce9e31 (4 bytes) || ''isoimage size'' || || ''isoimgsize + 'disc start offset' + 0x2d31''
|-
| 0x122C || 0x080 (128 bytes) || ''unknown'' ||  || Memory card related, probably custom path for external card.
|-
|-
| 0x12AC || 0x004 (4 bytes) || ''unknown'' ||  || Latest POPS read value but never use it, maybe some leftover from older version.
| 0x12B0 || 0x004 (4 bytes) || '''Libcrypt Magic Word''' || 0x1234 || Little endian. Magic word is used as an answer to COP0 BPC reads for libcrypt games.
|-
| 0x12B0 || 0x004 (4 bytes) || '''Libcrypt Magic Word''' || 0x72D01234 || Little endian. Magic word is used as an answer to COP0 BPC reads for libcrypt games. Magic word needs to be xored with 0x72D0EE59 before supplying.
|-
| 0x12B4 || 0x004 (4 bytes) || ''unknown'' ||  || Emulator test if value is greater than 0, but value itself is not used (works like bool).
|-
|-
| 0x12D4 || 0x004 (4 bytes) || '''subchannel offset''' || 0x100400 || Offset to where subchannel data is stored. This is used with libcrypt.
| 0x12D4 || 0x004 (4 bytes) || '''subchannel offset''' || 0x100400 || Offset to where subchannel data is stored. This is used with libcrypt.
Line 94: Line 71:
| 0x12D8 || 0x004 (4 bytes) || '''subchannel count''' || 0x178 || Number of subchannel blocks. Each block is 12 bytes.
| 0x12D8 || 0x004 (4 bytes) || '''subchannel count''' || 0x178 || Number of subchannel blocks. Each block is 12 bytes.
|-
|-
| 0x12DC || 0x3E (62 bytes) || ''unknown'' || ||
| 0x12DC || 0x124 (292 bytes) || ''padding'' || ||
|-
| 0x131A || 0x124 (230 bytes) || ''padding'' || ||
|-
|-
| style="background-color:#DDDDDD;" | 6 || 0x1400 || 0x400 (1024 bytes) || ''not used'' || ||
| style="background-color:#DDDDDD;" | 6 || 0x1400 || 0x400 (1024 bytes) || ''not used'' || ||
Line 183: Line 158:
Seems to be a checksum of this block... when the block is filled with zeroes the checksum is : 1CCE0033 60C6E8A6 B36A972D 00EAFDBF
Seems to be a checksum of this block... when the block is filled with zeroes the checksum is : 1CCE0033 60C6E8A6 B36A972D 00EAFDBF


The first 4 bytes of each entry (file offset from start of .iso root) increases for each entry in a amount of bytes determined by the previous entryes.... in other words... the second file in the .iso is displaced the number of bytes used by the first file... and the third file is displaced in a amount of bytes used by the addition of the sizes of first and second file.
The first 4 bytes of each entry (file offset from start of .iso root) increases for each entry in a amount of bytes determined by the previous entryes.... in other words... the second file in the .iso is displaced the number of bytes used by the first file... and the third file is displaced in a amount of bytes used by the addition of the sizes of first and second file
 
File_type needs to be 0 for compressed blocks on PSP or else it will create an audible buzz when playing the CDDA tracks.


{| class="wikitable"
{| class="wikitable"
Please note that all contributions to PSP Developer wiki are considered to be released under the GNU Free Documentation License 1.2 (see PSP 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)