-
Notifications
You must be signed in to change notification settings - Fork 3
Home
This page will guide you on how you to make an undubbed version of your own Persona 4 GOLDEN game. This guide covers both the physical and digital versions of the game.
The cutscene undub is being worked on.
The steps in this guide were written so that you can also learn how to mod other games.
- Make sure your Vita is on firmware version 3.60.
- Go to henkaku.xyz on your Vita.
- A popup will appear, touch the "Ok" button and wait for the browser to close.
If the browser crashes, try deleting cookies, rebooting and rebuilding the database.
If you've done everything correctly, there should now be a molecularShell bubble on your Vita menu. You can use it to access your files, install .vpk homebrew and host a FTP server on your Vita.
For this, we need to get the game's files while they are decrypted by the Vita. To do this, we trick the system into opening the game's manual and replacing the game's eboot.bin with molecularShell's one.
-
Open molecularShell and press Select to start the FTP server. Make sure your Wi-Fi is turned on.
-
Open your favorite FTP client on your computer and connect to your Vita.
Recommended settings for Filezilla:
- Go to
ur0:/shell/db
and copy theapp.db
file to your computer.
FTP clients like FileZilla uses the
ur0:/folder/
notation. When working with files using the Vita itself, use theux0:folder/
notation.
Make sure to make a backup copy of this file.
Tip: If you lose this file and want to "fix" your app.db, you can just turn on your Vita while holding the R button and select "Rebuild Database".
If you're using a PS TV, use NPXS10072 instead of NPXS10000 in the following steps.
-
In SqliteBrowser, open the app.db you just copied.
-
Click on the "Browse Data" tab, click the dropdown menu and select
tbl_uri
. -
Click on "New record" on the top right.
Note the new blank space below the existing entries.
-
On
titleId
, typeNPXS10000
. -
On flag, type
1
. -
On
scheme
, typeux0
if you're dumping a digital game,gro0
if you're dumping a physical game.
-
Click on the dropdown menu and select
tbl_appinfo
. -
Find all
titleId
corresponding toNPXS10000
by typing its name on the filter text box. -
Now we look at the
val
column to find the one that ends ineboot.bin
. -
Double click the path we just found and change it to
vs0:app/NPXS10027/eboot.bin
.
If you're using a PS TV, use NPXS10072 instead of NPXS10027
-
Now open your FTP client on your PC and browse the
ur0:/shell/db
directory. -
Delete the existing app.db on your Vita, and copy the one you just modified back to your console.
-
Reboot your Vita.
Remember that you have to reinstall Henkaku every time you reboot your console.
On the Vita, game updates are installed in ux0:patch/[TITLEID]
, with TITLEID
being the ID of the game you want to dump. They have the very same structure as ux0:app/[TITLEID]
. That means that the Vita will prioritize the files that are installed in ux0:patch/[TITLEID]
because it thinks it's an update file for that game. With this behavior in mind, we can modify the eboot.bin
of the game with the molecularShell one so that we can dump the game's files over FTP, simply by putting molecularShell's files in ux0:patch/[TITLEID]
.
-
Copy the contents of
ux0:app/MLCL00001
to your computer. These are the molecularShell's files. -
Now copy the contents of
MLCL00001
toux0:patch/[TITLEID]
, where[TITLEID]
is the game you want to decrypt. In our case, the files should be put in:
ux0:patch/PCSE00120
for the American version.
ux0:patch/PCSB00245
for the European version.
If the game you want to decrypt uses update files, you'll have to delete them before putting molecularShell's files in
ux0:patch/[TITLEID]
and dump the original game without the patches.
- Open the web browser on your Vita.
- Type
ux0:app/[TITLEID]
on the address bar and press the Enter/Return key. (Usegro0
instead ofux0
if you're dumping a physical game.). The Near app will open and inside it there will be your game's manual. If you've followed the steps for the PS TV, the Mail app will open.
Tip: If the Near/Mail app doesn't open, make sure you've edited your
app.db
file correctly and that you've typed the correct address in the web browser. You must only edit eitherux0
orgro0
in the app.db, not both at the same time. You can also try opening it normally before doing so with the web browser.
- Press the PS button to return to the menu.
- Launch the game you want to dump. molecularShell will open instead.
You can now access ux0:app/[TITLEID]
, where your decrypted game files will be present. Use any FTP client you like on your PC to dump the game files to a safe location. (Again, make sure to use gro0
instead of ux0
if you're dumping a physical game.)
You can also access the following locations:
- app0: (basically the same as
ux0:app/[TITLEID]
, but with mixed files from ux0:patch as well) - addcont0: (DLC Content)
- savedata0: (decrypted save game, it should encrypt it automatically when you put it back)
After you've got your decrypted game files, store them in a safe place. Try not to change the original files and make a copy of what you are modding to keep things organized and to avoid copying the game's files again. Keep the folder structure intact because we'll need that later to patch the game.
Make 2 folders for your .cpk extraction, one for the English version and another for the Japanese version. You can a Japanese dump at the Amicitia forum. I won't link directly to it because that would be considered piracy.
Extract cpk_unpack.zip, open the Windows CMD on the extracted folder, and type:
cpk_unpack "Location of your data.cpk"
Example:
cpk_unpack C:\Users\User\Documents\PCSE00120\data\data.cpk
The program will extract the .cpk's contents in a folder inside its own directory.
Do the same for the Japanese version.
Store the extracted contents in a separate folder. In our case, we could use something like extracted_us
and extracted_jp
.
If you're working with an European version of the game, use
extracted_eu
to clear up some confusion.
Now, create a new folder. This folder will be the one where we will replace the sound files from the American/European version with the ones from the Japanese version of the game. We will be calling it extracted_undub
- Copy all the contents from the
extracted_us
(orextracted_eu
) folder toextracted_undub
. That will be our "base" game. - Copy the
sound
folder fromextracted_jp
toextracted_undub
and merge/replace all the files. - Copy the
model\pack
folder fromextracted_jp
toextracted_undub\model
and merge/replace all the files. This will fix some battle voices still being in English.
This method repackages the files uncompressed, taking almost 3gb of space. I decided to keep it because it uses a GUI and is more user friendly.
For the compressed method, go to the next section.
-
Extract the CriPackedFileMaker.zip file included in the "tools" download provided before.
-
Run CriPackedFileMaker.exe
-
Change the base directory by clicking on the folder icon on the top, and sekect the
extracted_undub
folder. -
If all the files are there, you can click the "Build CPK file..." button.
-
Leave everything just like the following picture:
-
Click "Start to Build"
-
After it has finished packing the files, open CriPackedFileMaker.exe again.
-
Click on the top right button that says "Open a CPK file" and select your newly packed data.cpk.
-
Verify if it shows info similar to the following ones:
- If everything seems correct, we can now put the file back on the Vita.
This method repackages the files compressed, taking almost half the space the file from the uncompressed method takes.
-
Extract the CriPackedFileMaker.zip file included in the "tools" download provided before.
-
Copy
cpkmakec.exe
andCpkMaker.DLL
to theextracted_undub
folder. -
Download this .csv file.. Rename it to
data.csv
put it inside theextracted_undub
folder. -
Hold CTRL+SHIFT and right click on an empty space inside the folder. Click "Open Command Window Here". Or just
cd
into theextracted_undub
folder using CMD. -
Type the following into CMD. The program will now repack all your files into a
data.cpk
file inside theextracted_undub
folder:
cpkmakec data.csv data.cpk -align=2048 -mode=FILENAME -code=UTF-8
-
After it has finished packing the files, open
CriPackedFileMaker.exe
. -
Click on the top right button that says "Open a CPK file" and select your newly packed
data.cpk
. -
Verify if it shows info similar to the following ones:
- If everything seems correct, we can now put the file back on the Vita.
To mod Vita games we can't just replace the files in ux0:/app
, we need to put the modified files in ux0:/patch
.
Persona 4 GOLDEN uses a single .cpk file for all its contents besides the manual and videos, so we need to copy the entire data.cpk we just created to our Vita until another solution is found. This makes the game take up twice the original space, so make sure you have enough space left.
You can try zeroing the data.cpk found in the app
folder as it will probably only look for the one in the patch
folder, but I haven't tested that. If it works, you can save a lot of space.
Make sure you have a
param.sfo
file inside thesce_sys
folder atux0:patch/[TITLEID]/sce_sys
or else the game won't boot. You can use the one from molecularShell located atux0:/app/MLCL00001
if you're modding the digital version.
If you're modding the physical version of the game, we can't use molecularShell's
param.sfo
, you have to get theparam.sfo
file from your decrypted game dump we did before. Open the file in a Hex editor or aparam.sfo
editor and increase the version number of your game, like 1.01. After doing this, put the editedparam.sfo
file inux0:patch/[TITLEID]/sce_sys
.
It should look like this for Persona 4 GOLDEN:
ux0:/patch/PCSE00120/sce_sys
for the American version.
ux0:patch/PCSB00245/sce_sys
for the European version.
We put the modified files in
ux0
regardless if we're using a physical or digital game.
_Don't forget to delete the other molecularShell files from the ux0:/patch/[TITLEID]
directory and to restore the original app.db
backup we made earlier. We should also reboot after restoring app.db
and copy the file back with the game closed. Don't put any sce_pfs
directory in ux0:patch/[TITLEID]
. Remember that you can use the sce_sys
folder from molecularShell if you're modding the digital version.
We put the new data.cpk
created from the files of extracted_undub
inside ux0:/patch/[TITLEID]/data
The game should now boot and you can now play Persona 4 GOLDEN with Japanese voices.
You can try experimenting with the .mp4 files from the dumped game. It's possible to sub them and convert them back. You just have to use the same encoding options and put the file in the same structure as the game folder inside app
, but inside the patch
folder.
Easier steps with a Xdelta patch. You select your data.cpk
, the patch, open xdeltaUI, go to "Apply patch", select the correct files and it's done. MD5 hash included in README.txt.
You now have the undubbed data.cpk
with just a few clicks.
NEW 2.0 Patch (753,6 MiB) (Compressed, battle voices fixed) Magnet link: magnet:?xt=urn:btih:0f5b5b174fe91f59552ccfdc645b5f74c72665cc&dn=Persona%204%20GOLDEN%20Undub%20Patch%202.0
The final American patched data.cpk file should have the following md5 hash: 59a8b4c32ddfdb238f546120b6c494c3
(OUTDATED: Missing voice battles) Magnet link: magnet:?xt=urn:btih:95cfc0d9d3cd3b0e29ec19c3792351820c6798ad&dn=P4G%20Undub%20Patch
This patch file was not tested, but it should work.
You can convert the American patch to the European patch easily by using another patch.
Patch the American Version patch previously mentioned (.xdelta file) with this patch.
It will generate a new .xdelta file. This will be the patch for your European data.cpk file.
The final European patched data.cpk file should have the following md5 hash: d889e16b842e69ec2b7cd5a19f3e3fc0
If you have any questions, feel free to send me a tweet @Some1CP.
Thanks to:
- @regularpanties (for providing the japanese rip).
- Mr. Gas and Major Tom for the dumping/mod process.
- The Henkaku devs for providing a new way to run homebrew.
- @RyanShrinefox (for the tips on compression and battle voices).