P4u2modtools
Modding tools for Persona 4 Arena Ultimax, Persona 4 Arena, etc.
Install / Use
/learn @zarroboogs/P4u2modtoolsREADME
Persona 4 Arena Ultimax Mod Tools
What's Included
bddata\ - bddata.bin extraction tools
p4u2mod\ - custom game update creation tool
patch\ - patch files for use with rpcs3
Glossary
P4UandP4U2- Internal codenames for "Persona 4 Arena" and "Persona 4 Arena Ultimax".BLJM61209- The Japanese version of P4U2.BLUS31469- The North American version of P4U2.bddata.bin- File containing most of the game data files, can be found on disc.UpdateFileList.bin- File containing data regarding changed game files for game updates.
General Notes
- These tools were tested on
BLUS31469andBLJM61209, but might work with other versions of P4U2, P4U or other games that support thebddata.binorUpdateFileList.binformat. BLUS31469andBLJM61209are save compatible.BLUS31469patch 1.01 ==BLJM61209patch 1.03.
Modding the Game
Extracting Game Data
Game data can be found in:
(1) dev_hdd0\game\<title_id>\USRDIR\update\ver_*\data\*
(2) dev_hdd0\disc\<title_id>\PS3_GAME\USRDIR\data\*
(3) dev_hdd0\disc\<title_id>\PS3_GAME\USRDIR\bddata.bin
While (1) and (2) contain raw data files, (3) is a container file that needs to be unpacked to access files stored within.
Unpacking Game Data
-
Extract and inflate
*.segsfrombddata.binusing asmodean'sexsegs.exeutility:cd extract\ exsegs.exe bddata.bin -
Extract the hardcoded table of contents from the original, unpatched disc version of the decrypted eboot file:
cd extract\ eboot-extract-toc.ps1 boot.elf bddata-toc-full.txt -
Remove file entries for files containing
_appendidlistin their names (this was discovered using trial and error):gc bddata-toc-full.txt | ? { $_ -notmatch "_appendidlist" } > bddata-toc.txt -
Rename the extracted file according to the table of contents:
cd extract\ bddata-organize-toc.ps1 bddata-toc.txt
Custom Game Updates
The game uses an UpdateFileList.bin file to manage versioning and to indicate which files have been updated.
Note that the file table is hardcoded in the eboot, so adding files isn't possible without eboot editing or patching, but replacing files is possible.
The format of UpdateFileList.bin is described in the UpdateFileList.bt template file, compatible with 010 Editor.
The p4u2mod.exe tool can generate a custom UpdateFileList.bin for user generated patches to the game.
Creating an Update
-
Simply put your modified files under a new version folder in the game's update folder, for example:
dev_hdd0\game\<title_id>\USRDIR\update\ver_0104_undub.- Make sure that your folder appears last in the folder list when sorted by name, otherwise files in previous updates might override your new files.
- Make sure to keep the same directory structure as in the original extracted
bddata.bin.
-
Increment the
VERSIONvariable in thecatalog_env.infofile. -
Put the
p4u2mod.exetool in the game's update folder and run it - it should generate a newUpdateFileList.binthat contains your modifications.
EBOOT Patching
You can also use rpcs3's built in patching system to patch the eboot file.
Put the appropriate patch.yml file under <rpcs3_dir>\data\<title_id>\.
Example - BLUS31469 Undub
-
Extract
bddata.binfromBLJM61209using instructions specified above. -
Create an
ver_0104_undubfolder under<rpcs3_vfs>\dev_hdd0\game\BLUS31469\USRDIR\update\. -
Copy the extracted Japanese voice files like so:
copy-item ` <extract_dir>\data\story\voice\ ` <rpcs3_vfs>\dev_hdd0\disc\PS3_GAME\USRDIR\data\update\ver_0104_undub\data\story\voice_eng\ ` -force -recurse copy-item ` <extract_dir>\data\sound\voice\ ` <rpcs3_vfs>\dev_hdd0\disc\PS3_GAME\USRDIR\data\update\ver_0104_undub\data\sound\voice_eng\ ` -force -recurse -
Look for updated voice files under the
BLJM61209update folder<rpcs3_vfs>\dev_hdd0\game\BLUS61209\USRDIR\update\. Copy them as needed, overwriting old files. -
Backup
UpdateFileList.binandcatalog_env.infounder<rpcs3_vfs>\dev_hdd0\game\BLUS31469\USRDIR\update\. -
Increment the version number in
catalog_env.infousing a text editor. -
Copy
p4u2mod.exeto<rpcs3_vfs>\dev_hdd0\game\BLUS31469\USRDIR\update\and run the program. This should generate a newUpdateFileList.binfile containing your changes. -
Use the provided
patch.ymlfile to enable Japanese cutscenes and movies. -
Launch the game.
Related Skills
node-connect
341.6kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
84.6kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
341.6kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
84.6kCommit, push, and open a PR
