Skip to content

FileSystem

Cris edited this page Mar 17, 2026 · 1 revision

FileSystem

The game assets are mostly packed inside PlayStation ARChives (PSARC) files, with some exceptions depending on the platform (mostly related to system files for game startup, attract movie and music files which might be used or not on runtime). It's a well documented format of which you can find more info here.

The PSARC files are organized into the following categories:

  • Game system (e.g.global.psarc): PSARCs containing global scripts, localization, models and other assets used "a bit everywhere";
  • Character setup (e.g. parappa_char_setup.psarc): PSARCs containing the assets for each playable character;
  • Level setup (e.g. parappa_dojo.psarc): PSARCS containing the assets for each stage/level where to play matches.

Inside the a PSARC file you get access to the actual assets and filesystem all organized per category in many folders. As an example, this is the filesystem with all the folders inside the root of parappa_char_setup.psarc:

ai/
characters/
editorsupport/
effects/
enginesupport/
items/
objects/
sound/
ui/

If we take for example the characters folder you'll find inside more subfolders per character, with parappa but also other characters (e.g. Sackboy for the prize bubble asset for his Level 3 Super that shows PaRappa). If you extract another PSARC, like kratos_char_setup.psarc you'll pretty much come across the same FS but with assets only related to Kratos, and so on.

The Patch PSARC

With the game updates (latest being 1.12) a special PSARC named patch.psarc has been added. This PSARC works as an "overlay" archive that will be used to update existing files in the filesystem without touching the actual original PSARC files. As such it's significantly bigger in size and includes tons of assets for all characters, levels and game logic, without splitting them in further PSARC files.

The way the patch.psarc file works is the following: let's assume the game looks up PaRappa's model file in the path characters/parappa/costumes/parappa.c0.p0.cskn. This file will be contained in 2 different PSARCs: patch.psarc and parappa_char_setup.psarc. If the file is present in the patch PSARC then it will "overlay" over the original one in the PaRappa charsetup PSARC and will be loaded in its place. Putting it simply:

  1. If a file in the requested path is in patch.psarc it will be used (e.g. patch/characters/parappa/costumes/parappa.c0.p0.cskn)
    1. It simply means the requested asset has been updated with a game update
  2. If the requested file is not present in the patch.psarc then it will look for the original file in the 1.00 assets (e.g. parappa_char_setup/characters/parappa/costumes/parappa.c0.p0.cskn)

Even if originally the official update did not replace a file using the patch.psarc, a modded one can do so easily as this PSARC works to have priority over ANY 1.00 asset. The exceptions to this are non 1.00 assets (1.12 DLC character and DLC levels) as they are divided per character/level on their own outside the patch PSARC.

Differences between PS3 and PSV

Encryption

The most important difference between the PS3 and PSV versions is the encryption of the files. It's the reason why modding and asset research hasn't been a thing for long time in the game during the release period. Starting the final release of the game the PSARC files have been encrypted, preventing people from extracting the assets, most likely due to copyright concerns regarding the characters (especially the third party ones) after the public betas had the assets ripped and distributed by users. When inspecting the files under HEX Editor they look like normal PSARC files but the data blocks are actually invalid and cannot be extracted using common PSARC tools as they are encrypted.

The PSV version of the game uses the standard PFS encryption used on all PS Vita games. Jailbreak on PSV came much, much later than the game's release, and subsequently the way to dump games and decrypt the assets as well. Once obtaining the PFS-decrypted assets the filesystem can be properly explored, and the PSARC files are not further encrypted with the encryption used by the PS3 version, making the PSV version available for extraction and pack of the assets. More info on PSV games modding in general here.

The algorithm and decryption whole process for the PS3 version is still unknown, but thanks to ps_chap's work on his PSARC research a method to obtain the decrypted assets has been discovered, enabling ripping and modding on this platform as well.

TODO: Further document the decryption process and link to the tool for obtaining such assets from a game backup once it will be available.

Folders and paths

The PS3 and PSV path filesystem inside the PSARCs are roughly the same with really few exceptions, namely the Scaleform GFX files used only on PSV and animation files stored differently between the two platforms. The only notable difference has to do with how the BluePoint Engine (BPE) looks up assets inside the filesystem. Let's say the game looks up for PaRappa's model that will be located in:

parappa_char_setup/characters/parappa/costumes/parappa.c0.p0.cskn

While the game looks up for the asset in that path in reality the BPE will look for the real path this way:

$/parappa_char_setup/characters/parappa/costumes/****/parappa.c0.p0.cskn

Where **** is a root folder identifier. BPE does not determine the root folder normally like in the initial path. It will determine a folder's root only if it will find a folder with that identifier. Such identifier changes depending on the platform: _ps3 for PS3 and _psv for PSV. In other words, with the aforementioned example, the costumes folder root logically would be costumes/, but the real root is actually costumes/****/. So the real paths for each platform are the same, with the exception of the root identifier:

PS3 -> $/parappa_char_setup/characters/parappa/costumes/_ps3/parappa.c0.p0.cskn
PSV -> $/parappa_char_setup/characters/parappa/costumes/_psv/parappa.c0.p0.cskn

Clone this wiki locally