Editing PlayStation archive (PSARC)
Jump to navigation
Jump to search
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 1: | Line 1: | ||
=Description= | =Description= | ||
'''P'''lay'''S'''tation '''ARC'''hive is a | '''P'''lay'''S'''tation '''ARC'''hive is a container that allows subfolders and per-file compression using zlib or lzma with 9 compression levels | ||
=Structure= | =Structure= | ||
See | See {{Talk}} page | ||
==Header== | ==Header== | ||
==Table 1== | |||
==Table 2== | |||
==Etc== | |||
{| class="wikitable" | {| class="wikitable" | ||
|+PSARC Flags | |||
! Hexadecimal<br />(big endian) !! Decimal !! Binary<br />(flags) !! Flag Name !! Notes | |||
|- | |- | ||
| {{cellcolors|black|lime}} 00 00 00 '''01''' || style="text-align:right;" | 1 || 00000000 00000000 00000000 0000000'''1''' || || | |||
| | |||
| | |||
|- | |- | ||
| | | {{cellcolors|black|lime}} 00 00 00 '''02''' || style="text-align:right;" | 2 || 00000000 00000000 00000000 000000'''1'''0 || || | ||
|- | |- | ||
| | | {{cellcolors|black|lime}} 00 00 00 '''04''' || style="text-align:right;" | 4 || 00000000 00000000 00000000 00000'''1'''00 || || | ||
|- | |- | ||
| | | {{cellcolors|black|lime}} 00 00 00 '''08''' || style="text-align:right;" | 8 || 00000000 00000000 00000000 0000'''1'''000 || || | ||
|- | |- | ||
| | | {{cellcolors|black|lime}} 00 00 00 '''10''' || style="text-align:right;" | 16 || 00000000 00000000 00000000 000'''1'''0000 || || | ||
|- | |- | ||
| | | {{cellcolors|black|lime}} 00 00 00 '''20''' || style="text-align:right;" | 32 || 00000000 00000000 00000000 00'''1'''00000 || || | ||
|- | |- | ||
| | | {{cellcolors|black|lime}} 00 00 00 '''40''' || style="text-align:right;" | 64 || 00000000 00000000 00000000 0'''1'''000000 || || | ||
|- | |- | ||
| | | {{cellcolors|black|lime}} 00 00 00 '''80''' || style="text-align:right;" | 128 || 00000000 00000000 00000000 '''1'''0000000 || || | ||
|} | |} | ||
*Flags are stored in the header as a big endian number, and defines the characteristics and structure of the archive when it was created | |||
* | |||
=PSARC Tools= | =PSARC Tools= | ||
Line 118: | Line 36: | ||
GUI versions are derivated from the command line versions | GUI versions are derivated from the command line versions | ||
== | ==Command line versions== | ||
===PSARC tool=== | |||
==PSARC tool== | |||
Port of Matthieu Milan's open PSARC PS3 extractor to Windows. Tool written by Matthieu Milan (@usineur). Ported to VS2012 by AlexAltea. | Port of Matthieu Milan's open PSARC PS3 extractor to Windows. Tool written by Matthieu Milan (@usineur). Ported to VS2012 by AlexAltea. | ||
Line 136: | Line 50: | ||
-e START END Extracts files with the file id specified by the range between START and END (inclusive). | -e START END Extracts files with the file id specified by the range between START and END (inclusive). | ||
==PSARC Extractor== | ===PSARC Extractor=== | ||
By Insomniac @ xentax forums, download link: http://www.modcontrol.com/Board/pc-tools/28869-psarc-ps3-extractor.html | |||
By Insomniac @ xentax forums, download link: | |||
'''Usage:''' | '''Usage:''' | ||
Line 163: | Line 76: | ||
3 | 3,30 KB | /my/files/dummies/dummy3.bin | 3 | 3,30 KB | /my/files/dummies/dummy3.bin | ||
==PSARC== | ===PSARC=== | ||
1.60.008 SDK : x | 1.60.008 SDK : x | ||
1.92.001 SDK : x | 1.92.001 SDK : x | ||
Line 174: | Line 86: | ||
4.50.001 SDK : psarc-1310.001 (C++), built on Nov 16 2011 at 03:31:36 | 4.50.001 SDK : psarc-1310.001 (C++), built on Nov 16 2011 at 03:31:36 | ||
*From xentax forums: http://forum.xentax.com/viewtopic.php?p=44228&sid=0a7b5167ba4599f71f85471119c918a6#p44228 Download link: | *From xentax forums: http://forum.xentax.com/viewtopic.php?p=44228&sid=0a7b5167ba4599f71f85471119c918a6#p44228 | ||
*Download link: http://www.mediafire.com/?o3wy35uublreh | |||
=== | *Help | ||
'''usage:''' | |||
psarc verb [options] [file...] | |||
psarc --xml=XMLFILE | |||
'''verbs:''' | |||
create Create an archive. (default) | |||
extract Extract contents of an existing archive. | |||
list List contents of an existing archive. | |||
dump Print detailed info about archive for unit testing. | |||
verify Verify an existing archive's structural integrity and ensure that all files can be decompressed. | |||
dtd Display a DTD describing psarc's XML input syntax. | |||
'''general options:''' | |||
-h, --help Show this help message and exit. | |||
--version Display version and exit. | |||
-d, --debug Debug: Show debug messages. | |||
-v, --verbose Verbose: Show additional progress. (default) | |||
-q, --quiet Quiet: Don't show any progress. | |||
-y, --overwrite Overwrite existing files when creating/extracting. | |||
--xml=XMLFILE XML list of actions to perform. | |||
'''create options:''' | |||
-oFILE, --output=FILE Archive filename to create. | |||
-IINPUTFILE, --inputfile=INPUTFILE Inputfile listing files to archive. Consider --xml instead, which gives you more control. | |||
-m, --mself Create a PSARC-MSELF hybrid file for PS3, which can contain encrypted special files like SDATA, SPRX, and SPU SELF. | |||
--zlib Use zlib when compressing. (default) | |||
--lzma Use LZMA when compressing. (usually for PS3 PSN) | |||
--level=N Compression quality. 1 is fastest, 9 is best. (default = 9) | |||
-N, --nocompress Store all files uncompressed in the archive. | |||
-bBS, --blocksize=BS Use blocks of size BS. (default = 64KiB) | |||
-jJOBS, --jobs=JOBS Compression threads to run at a time. (default = number of CPUs) | |||
-sREGEX, --strip=REGEX Perl-compatible regex specifying a prefix to strip from the pathnames stored in the archive. This may be specified more than once. (default = current dir) | |||
-S, --strip-all Strip all paths from files stored in the archive. | |||
-a, --absolute Make the paths within the archive absolute. | |||
-R, --relative Make the paths within the archive relative. (default) | |||
-i, --ignorecase Make the archive directory case-insensitive. | |||
--exclude=WILDCARD Wildcard specifying files to exclude. | |||
--skip-missing-files If set then ignore it when a file cannot be found. | |||
--mergedups Compare the content of all files, and merge identical files so that only one copy of the data is included. | |||
'''extract options:''' | |||
--input=FILE Archive to extract files from. (default is first file argument) | |||
--to=DIRECTORY Directory to write extracted files to. (default is current directory) | |||
extract options: | |||
--blocksize is in bytes. | |||
==Total Commander plugin== | ==Total Commander plugin== | ||
http://www.totalcmd.net/plugring/PSARC.html | http://www.totalcmd.net/plugring/PSARC.html | ||
==PS3 PSARC GUI== | ==GUI versions== | ||
===PS3 PSARC GUI=== | |||
It's a graphical user interface to view, extract or create psarc archives. GUI written by aldo, unknown psarc tool used internally | It's a graphical user interface to view, extract or create psarc archives. GUI written by aldo, unknown psarc tool used internally | ||
Download link: http://aldostools.org/ps3_psarc_gui.rar | Download link: http://aldostools.org/ps3_psarc_gui.rar | ||
= | =PS3 Games or Apps using PSARC files= | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! | ! colspan="2" | Game !! colspan="5" | PSARC's !! rowspan="2" | Notes | ||
|- | |- | ||
! TITLE_ID !! TITLE !! Version !! Compression !! TOC entry size !! Block Size !! Flags | |||
|- | |- | ||
| | | || Uncharted 2 || 00010003 (v1.3) || zlib || 1E || 10000 || 0 || the game can load files from decompressed psarcs (because the original psarcs doesnt uses flags ?) | ||
|- | |- | ||
| | | || The Last Of Us || 00010003 (v1.3) || zlib || 1E || 10000 || 0 || the game can load files from decompressed psarcs (because the original psarcs doesnt uses flags ?) | ||
|- | |- | ||
| | | || Killzone 3 || 00010004 (v1.4) || zlib || 1E || 10000 || 1 || | ||
|- | |- | ||
| | | || God of War. Ascension || 00010004 (v1.4) || zlib || 1E || 10000 || 2 || | ||
|- | |- | ||
| || Mass Effect 3 || 00010004 (v1.4) || lzma || 1E || 10000 || 3 || all directories and files are in capitals (created with --ignorecase ?)<br />uses full paths (created with --absolute ?) | |||
|- | |- | ||
| | | || Ape Escape || 00010004 (v1.4) || zlib || 1E || 10000 || 2 || uses full paths (created with --absolute ?) | ||
|- | |- | ||
| | | || Ni No Kuni || || || || || || .psarc file extensions renamed to .adat | ||
|- | |- | ||
| | | || Motorstorm. Pacific Rift || || || || || || | ||
|- | |- | ||
| || Warhawk || || || || || || | |||
| Warhawk | |||
|} | |} | ||
*Other games that probably uses PSARC's | *Other games that probably uses PSARC's | ||
**Uncharted 1? | **Uncharted 1?, and 3? | ||
**Killzone colletion ? | **Killzone colletion ? | ||
**God of War. III ? | |||
**God of War. Collection ? | **God of War. Collection ? | ||
**other Motorstorms ? | **other Motorstorms ? | ||