P3P3DS is an open-source (MIT) project to run Shin Megami Tensei: Persona 3 Portable (ULUS-10512) natively on the New 3DS / New 2DS XL.
It is not a PSP emulator: the game's MIPS executable is statically recompiled ahead of time into C++ and then ARM code, and the PSP system services it needs are reimplemented on top of libctru (HLE). Graphics run on the 3DS GPU (PICA200, citro3d).
Current status (v0.2.7, October 2026)
How to try it
No copyrighted files are distributed. Download the P3P3DS Builder from the GitHub Releases page (Windows wizard or Linux console version). It turns your own ULUS-10512 ISO into
Reports help a lot: a photo plus
Roadmap
Battle speed -> audio (NDSP) -> fog, opening movie, .cia. Old 3DS support is planned, but not soon: today the port needs about 112 MB of memory and the New 3DS CPU.
About development: I use Claude Code (an AI coding assistant) heavily for writing code. I decide what gets built, test every build on my New 2DS XL, and nothing is claimed without a measurement or a photo.
Repo: https://github.com/endercodezz/P3P3DS
Releases: https://github.com/endercodezz/P3P3DS/releases
Feedback and contributions are welcome, especially from people who know PSP internals, citro3d / PICA200, NDSP or ATRAC3plus / H.264 decoding.

It is not a PSP emulator: the game's MIPS executable is statically recompiled ahead of time into C++ and then ARM code, and the PSP system services it needs are reimplemented on top of libctru (HLE). Graphics run on the 3DS GPU (PICA200, citro3d).
Current status (v0.2.7, October 2026)
- Runs on a real New 3DS / New 2DS XL: title screen, NEW GAME, the first days and the first Dark Hour, including the first battle, which now renders correctly (models, faces, environment).
- Field / dorm: 21-30 fps, about 90% of full speed.
- Battle: 7-10 fps on hardware in 0.2.8 (about 18-25% of full speed). Making battles fast is the current priority: 20 fps first, then the game's full 30.
- Saving and loading work, through a save menu on the bottom screen (D-Pad to choose, B to confirm, A to go back). Saves use their own format, not compatible with PSP / PPSSPP saves.
- No sound yet. No fog in 3D scenes yet. The opening movie has no decoder yet and is skipped automatically.
- Expect crashes in places nobody has reached yet: the game stops with the name of the missing PSP function, which goes straight into the next fix.
How to try it
No copyrighted files are distributed. Download the P3P3DS Builder from the GitHub Releases page (Windows wizard or Linux console version). It turns your own ULUS-10512 ISO into
p3p3ds.3dsx on your PC in about 5-15 minutes. You need devkitPro with the 3DS packages installed. Copy p3p3ds.3dsx to /3ds/ and your ISO to /p3p3ds/ on the SD card.Reports help a lot: a photo plus
sdmc:/p3p3ds/report.txt (build, speed and where the time goes).Roadmap
Battle speed -> audio (NDSP) -> fog, opening movie, .cia. Old 3DS support is planned, but not soon: today the port needs about 112 MB of memory and the New 3DS CPU.
- 0.2.8: faster battles (about 5.8 -> 9.9 fps): the 3DS renderer sends GPU state only when it changes and merges consecutive model draws into one GPU draw.
- 0.2.7: the first battle renders correctly (the "exploded" models and black background were a back-face culling bug).
- 0.2.6: 3D models transformed, skinned and lit on the GPU; Linux Builder (thanks to Dmitri Shimanski); releases built automatically.
- 0.2.5: the first battle no longer crashes.
- 0.2.2: saving and loading; menus at their real 30 fps; speed limiter.
About development: I use Claude Code (an AI coding assistant) heavily for writing code. I decide what gets built, test every build on my New 2DS XL, and nothing is claimed without a measurement or a photo.
Repo: https://github.com/endercodezz/P3P3DS
Releases: https://github.com/endercodezz/P3P3DS/releases
Feedback and contributions are welcome, especially from people who know PSP internals, citro3d / PICA200, NDSP or ATRAC3plus / H.264 decoding.

Last edited by enderlit,












