# Persona 3 Portable (PSP) Mod Support

## Background

{% hint style="warning" %}
**Persona 3 Portable** has an upcoming port to PC & Switch in January 2023. You may notice a community effort to shift focus to that version around that time. It only stands to reason that this will become the less popular edition of Persona 3 to mod once that happens, so expect very little community support.
{% endhint %}

Persona 3 Portable is a 2009 re-release of the [2006 turn-based JRPG released by Atlus on PS2](/getting-started/persona-3-fes-ps2-mod-support.md). The game features dungeon crawling and life-sim elements. Combat is mainly based on summoning and fusing a party of Personas with different elemental affinities.

This re-release features many quality of life improvements (although with the removal of anime cutscenes and 3d fields/events) and a new female protagonist. A new port to PC Switch will release in January 2023.

## Custom Firmware PSP Console

You can run mods natively on the PSP using a custom firmware. It is perfectly safe to do so and there's little to no risk of a ban or any irreversible damage to your console.

### Setting up the console for mods

To install custom firmware on your PSVita console, please follow the comprehensive step-by-step guide at [wololo.net](https://wololo.net/cfw4dummies/). It will walk you through the entire process.

## Custom Firmware PSVita Console

You can run mods natively on the PSVita using a custom firmware known as h-encore. It is perfectly safe to do so and there's little to no risk of a ban or any irreversible damage to your console.

### Setting up the console for mods

To install custom firmware on your PSVita console, please follow the comprehensive step-by-step guide at [vita.hacks.guide](https://vita.hacks.guide/get-started.html). It will walk you through the entire process.

Once you have Vitashell installed on your PSVita, [follow the guide on setting up Adrenaline](https://vita.hacks.guide/adrenaline.html), which opens up the built-in PSP mode to all the advantages of a CFW PSP console.

Once Adrenaline is installed, also obtain a .ISO or .UMD of Persona 3 Portable. For detailed instructions on dumping your own game, see [PPSSPP's FAQs page](https://www.ppsspp.org/faq.html).

Open VitaShell on the Vita and press Select to start an FTP connection. As long as the Vita and your PC are connected to the same network, you can transfer files using a [program such as Filezilla](https://filezilla-project.org/download.php?type=client). Simply enter the IP and port shown onscreen in your client and connect.

Move the game to ux0:pspemu/ISO (create the directory if it doesn't already exist).&#x20;

Now go into Adrenaline and launch the game to make sure it works!

## HEN on PS4 Console

If you have a moddable PS4, it's possible to create and install custom PSP titles, including modded games.

{% hint style="warning" %}
These games will only be usable while in "HEN" mode, which you will lose access to if you update the system firmware. Also, due to these titles being illegitimate, there is always a possible account/console ban risk.
{% endhint %}

1. Obtain an .ISO/.UMD of the game. For detailed instructions on dumping your own game as an .ISO, see [PPSSPP's FAQs page](https://www.ppsspp.org/faq.html).
2. Follow the [Persona 5 Royal (PS4) Mod Support](/getting-started/persona-5-royal-ps4-mod-support.md) page up until the "Adding Mod Support" section to get HEN running on your moddable PS4.
3. Extract the EBOOT.BIN from the game after opening it with [7-zip](https://www.7-zip.org/).
4. Patch `EBOOT.BIN` with the provided [xdelta](https://github.com/jmacd/xdelta-gpl) patches:

   ```
   xdelta -vfn merge -m intro.xdelta mod.xdelta tmp.xdelta
   xdelta -vfn -d -s EBOOT.BIN tmp.xdelta PATCHED_EBOOT.BIN
   ```
5. Download any mods you want in Aemulus, sort their priority and click Build to output a mod.cpk file.
6. Open the game with [UMDGen](https://shrinefox.com/browse?post=umdgen) and replace the EBOOT.BIN with the patched one. Add the mod.cpk file alongside the umd0.cpk and umd1.cpk files. Save as a new .ISO.
7. Create a .PKG from your new .ISO using [PS4 PSP Classics GUI](https://github.com/xXxTheDarkprogramerxXx/PS3Tools/releases/tag/PS4-PSP-Classics-GUI-\(AppVoyer\)).
8. Install the .PKG using the same steps found at the end of the [Persona 5 Royal (PS4) Mod Support](/getting-started/persona-5-royal-ps4-mod-support.md) page.
9. Run the game to ensure that it works!

## PPSSPP Emulator

You can run this version of the game on PC using the **PPSSPP emulator**.

### Setting Up PPSSPP

1. Download the [latest release](https://www.ppsspp.org/downloads.html) for your platform.
2. Extract the .zip anywhere on your PC.
3. Obtain a .ISO or .UMD, of the game to run with Vita3K\
   OR\
   Dump your own from your CFW PSP console.
4. Launch the game to make sure it works!

For detailed instructions on dumping your own game, see [PPSSPP's FAQs page](https://www.ppsspp.org/faq.html).

## Patching the Game

In order to load modded files, you need to patch the executable of the game to look for them in a custom mod.cpk archive (or loose files in a "bind" folder).

1. Download [a zip of the p3p-patches repo](https://github.com/zarroboogs/p3p-patches/archive/refs/heads/master.zip).
2. Extract the zip somewhere on your PC.
3. Copy the ULUS10512.ini file from the zip to `memstick\PSP\Cheats`. Create the folder if it doesn't exist yet.
4. If you're emulating the game on PPSSPP...
   1. go to `Settings > System > Enable Cheats` and make sure it's checked, since by default it won't be.
   2. Start the game and press `ESC`, then click on the `Cheats` menu.
5. If you're using a PSP, or Adrenaline on the PSVita...
   1. Install [CWCheat](https://www.cfwaifu.com/cwcheat-adrenaline/) and add the contents of `ULUS10512.ini` to `ms0:/seplugins/cwcheat/cheat.db`.
   2. Make sure to add `CHEAT ENABLE = 1` to `ms0:/seplugins/cwcheat/cwcheat.ini` so that patches may be applied on boot.
   3. Enable the patches you'd like to use via the cheats menu.
6. Run the game to check if patches work!

{% hint style="success" %}
An easy way to check if patches are working is to see if the intro logos get skipped when you start the game. With patches, you should immediately be greeted by the title screen.
{% endhint %}

{% hint style="warning" %}
If the CWCheat method doesn't work for you, you can unpack the game and directly patch `EBOOT.BIN` with the provided [xdelta](https://github.com/jmacd/xdelta-gpl) patches:

```
xdelta -vfn merge -m intro.xdelta mod.xdelta tmp.xdelta
xdelta -vfn -d -s EBOOT.BIN tmp.xdelta PATCHED_EBOOT.BIN
```

Overwrite the original `EBOOT.BIN` with the patched file, then repack and boot the game.
{% endhint %}

## Installing Mods

To use community-made mods, or to eventually create your own, you'll need a mod manager.

1. Download the [latest release](https://github.com/TekkaGB/AemulusModManager/releases) of Aemulus Package Manager.
2. Extract it somewhere on your PC [using 7-zip](https://www.7-zip.org/).
3. Choose **Persona 3 Portable** in the games dropdown, and click the Settings button.
4. Click on **Extract Original Files** in order to improve mod merging.

You can switch to the **GameBanana tab** to download community-submitted mods directly from the website. Enable them with the checkboxes and re-order their priority as desired.

Fill out the settings in Aemulus to point to the directory you want your mod.cpk (or loose "bind" files) to be generated.&#x20;

Click **Build** and test it out in-game!

## Extracting Files

If you are looking to create your own mods for this game, you will want a full dump of all the game's original, unedited files.

{% hint style="info" %}
Persona 3 Portable utilizes CriWare's .CPK archive format to store its individual files. You can think of it somewhat like a .zip file that contains the directory structure, but offers compression.
{% endhint %}

Open the game's .ISO/.UMD with [7-zip](https://www.7-zip.org/) and extract the following files from it:

* [umd0.cpk](https://amicitia.miraheze.org/wiki/Persona_3_Portable/umd0.cpk) (Most game data)
* [umd1.cpk](https://amicitia.miraheze.org/w/index.php?title=Persona_3_Portable/umd1.cpk\&action=edit\&redlink=1) (Event voice files)

Use [CriPakGUI](https://shrinefox.com/browse?post=cripakgui) to open and extract the contents of each .CPK file to a folder.

{% hint style="success" %}
For simplicity, you can extract them all to the same folder (or merge folders later) if you'd like. It's not important which .CPK the files came from, because they all share the same directory structure when loaded by the game.
{% endhint %}

## Creating Mods

To begin exploring the files and learning how to edit them, see the [Persona 3 Portable page](https://amicitia.miraheze.org/wiki/Persona_3_Portable) on the [Amicitia Wiki](https://shrinefox.com/wiki). Once you have an idea for a mod, open **Aemulus Package Manager** and click on the **New** button. Fill out the form and it will create a mod folder for you.

Inside the mod folder, **match the structure** of the extracted .CPK contents. For instance, if you're editing a file in the /init/ folder, copy the unedited one from your .CPK dump to your mod folder and place it in a /init/ folder.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.shrinefox.com/getting-started/persona-3-portable-psp-mod-support.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
