Talk:PlayStation archive (PSARC): Difference between revisions
Jump to navigation
Jump to search
mNo edit summary |
|||
Line 40: | Line 40: | ||
| style="background-color:#ff6666;" | 0x00 || style="background-color:#ff6666;" | 0x04 || '''magic''' || 50 53 41 52 || PSAR || '''P'''lay'''S'''tation '''Ar'''chive | | style="background-color:#ff6666;" | 0x00 || style="background-color:#ff6666;" | 0x04 || '''magic''' || 50 53 41 52 || PSAR || '''P'''lay'''S'''tation '''Ar'''chive | ||
|- | |- | ||
| style="background-color:#66ff66;" | 0x04 || style="background-color:#66ff66;" | 0x04 || '''version''' || 00 01 00 04 || | | style="background-color:#66ff66;" | 0x04 || style="background-color:#66ff66;" | 0x04 || '''version''' || 00 01 00 04 || v1.4 || First 2 bytes is the main version, next 2 bytes is the subversion and are processed separatedlly, so 0001.0004 is "translated" to 1.4 by the system | ||
|- | |- | ||
| style="background-color:#ffff66;" | 0x08 || style="background-color:#ffff66;" | 0x04 || '''compression type''' || 7A 6C 69 62 || zlib || zlib or lzma | | style="background-color:#ffff66;" | 0x08 || style="background-color:#ffff66;" | 0x04 || '''compression type''' || 7A 6C 69 62 || zlib || zlib (default) or lzma | ||
|- | |- | ||
| style="background-color:#6666ff;" | 0x0C || style="background-color:#6666ff;" | 0x04 || '''table of content length''' || 00 01 23 BA || | | style="background-color:#6666ff;" | 0x0C || style="background-color:#6666ff;" | 0x04 || '''table of content length''' || 00 01 23 BA || 0x123BA || | ||
|- | |- | ||
| style="background-color:#dd00dd;" | 0x10 || style="background-color:#dd00dd;" | 0x04 || '''table of content entries size''' || 00 00 00 1E || || | | style="background-color:#dd00dd;" | 0x10 || style="background-color:#dd00dd;" | 0x04 || '''table of content entries size''' || 00 00 00 1E || 30 Bytes || Default is 30 bytes | ||
|- | |- | ||
| style="background-color:#dddd00;" | 0x14 || style="background-color:#dddd00;" | 0x04 || '''number of entries''' || 00 00 09 16 || 2325 | | style="background-color:#dddd00;" | 0x14 || style="background-color:#dddd00;" | 0x04 || '''number of entries''' || 00 00 09 16 || 1+2325 files || The filecount includes the "file path/names definitions" as an additionall file always placed at first position in the list and without an assigned ID | ||
|- | |- | ||
| style="background-color:#dddddd;" | 0x18 || style="background-color:#dddddd;" | 0x04 || '''block size''' || 00 01 00 00 || 65536 Bytes || | | style="background-color:#dddddd;" | 0x18 || style="background-color:#dddddd;" | 0x04 || '''block size''' || 00 01 00 00 || 65536 Bytes || Default is 65536 Bytes | ||
|- | |- | ||
| style="background-color:#d0000d;" | 0x1C || style="background-color:#d0000d;" | 0x04 || '''archive flags''' || 00 00 00 02 || | | style="background-color:#d0000d;" | 0x1C || style="background-color:#d0000d;" | 0x04 || '''archive flags''' || 00 00 00 02 || 2 || Default is 2. Unknown yet but is a "bit value" so 2 is a single flag | ||
|} | |} |
Revision as of 15:24, 5 June 2014
PSARC structure notes
Debian psarc Kplugin structure. From Manuel Stahl (thymythos) @ http://opendesktop.org/content/show.php/PSARC+file+header?content=162745
<?xml version="1.0" encoding="UTF-8"?> <struct name="header"> <primitive name="magic" type="UInt32" /> <primitive name="version" type="UInt32" /> <primitive name="compression" type="UInt32" /> <primitive name="TOC length" type="UInt32" /> <primitive name="TOC entry size" type="UInt32" /> <primitive name="num_entries" type="UInt32" /> <primitive name="max block size" type="UInt32" /> <primitive name="archive flags" type="UInt32" /> <array name="TOC" length="num_entries"> <struct name="entry"> <array name="MD5" length="16"><primitive type="UInt8"/></array> <primitive name="zIndex" type="UInt32" /> <bitfield name="length" width="40" type="unsigned" /> <bitfield name="offset" width="40" type="unsigned" /> </struct> </array> <array name="block sizes" length="num_entries"> <bitfield name="size" width="16" type="unsigned" /> </array> </struct>
PSARC header example:
Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 00000000 50 53 41 52 00 01 00 04 7A 6C 69 62 00 01 23 BA PSAR....zlib..#º 00000010 00 00 00 1E 00 00 09 16 00 01 00 00 00 00 00 02 ................
Offset | Size | Name | Example | Value (conversion) | Notes |
---|---|---|---|---|---|
0x00 | 0x04 | magic | 50 53 41 52 | PSAR | PlayStation Archive |
0x04 | 0x04 | version | 00 01 00 04 | v1.4 | First 2 bytes is the main version, next 2 bytes is the subversion and are processed separatedlly, so 0001.0004 is "translated" to 1.4 by the system |
0x08 | 0x04 | compression type | 7A 6C 69 62 | zlib | zlib (default) or lzma |
0x0C | 0x04 | table of content length | 00 01 23 BA | 0x123BA | |
0x10 | 0x04 | table of content entries size | 00 00 00 1E | 30 Bytes | Default is 30 bytes |
0x14 | 0x04 | number of entries | 00 00 09 16 | 1+2325 files | The filecount includes the "file path/names definitions" as an additionall file always placed at first position in the list and without an assigned ID |
0x18 | 0x04 | block size | 00 01 00 00 | 65536 Bytes | Default is 65536 Bytes |
0x1C | 0x04 | archive flags | 00 00 00 02 | 2 | Default is 2. Unknown yet but is a "bit value" so 2 is a single flag |