Homebrew Homebrew game [WIP] P3P3DS - Persona 3 Portable statically recompiled for New 3DS (in-game, ~30-60 FPS)

enderlit

New Member
Newbie
Joined
Oct 1, 2026
Messages
4
Reaction score
6
Trophies
0
Age
26
XP
16
Country
Israel
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).

Current status (October 2026)
  • Boots on real New 3DS hardware and in Azahar: title screen, NEW GAME, the first days and the first Dark Hour.
  • Graphics run on the PICA200 GPU (citro3d).
  • Saving and loading work, through a save menu on the bottom screen.
  • No audio yet. The opening movie has no decoder yet and is skipped automatically.
  • Speed is below full speed in many scenes: about 87% of real time on average on real hardware; heavy 3D scenes (Dark Hour) drop much lower. The game itself runs at 30 FPS like on PSP; reaching a stable 100% is the current priority.
  • 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 (Windows) from the GitHub Releases page; it turns your own ULUS-10512 ISO into p3p3ds.3dsx in about 5-15 minutes. You need devkitPro (3DS Development) installed. Copy p3p3ds.3dsx to /3ds/ and your ISO to /p3p3ds/ on the SD card.

Roadmap: stable full speed -> audio (NDSP) -> lighting, 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 in Azahar, and nothing is claimed without a measurement or a screenshot.

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.

_02.10.26_21.18.01.975.png
 

Attachments

  • _02.10.26_21.04.14.315.png
    _02.10.26_21.04.14.315.png
    125.2 KB · Views: 1
  • _02.10.26_21.11.44.591.png
    _02.10.26_21.11.44.591.png
    128 KB · Views: 1
Last edited by enderlit,
I feel like this should have maybe been shared once it got past the point of being ports of the ATLUS and CRIWARE logos lol

Either way, best of luck to you. I'm all for seeing more wacky ports. Might also be an idea to add a disclaimer that you are indeed driving development and not just blindly following Claude (assuming this is the case) if you want people to join in on development.
 
  • Like
Reactions: Exnor
I feel like this should have maybe been shared once it got past the point of being ports of the ATLUS and CRIWARE logos lol

Either way, best of luck to you. I'm all for seeing more wacky ports. Might also be an idea to add a disclaimer that you are indeed driving development and not just blindly following Claude (assuming this is the case) if you want people to join in on development.
small UPD: now you can play the game at 40-60 fps
 

Attachments

  • _02.10.26_00.00.15.176.png
    _02.10.26_00.00.15.176.png
    107.9 KB · Views: 1
  • _01.10.26_23.58.56.831.png
    _01.10.26_23.58.56.831.png
    100.4 KB · Views: 1
I'm not going to complain about this being only on New 3DS since it's clearly pretty early in development right now, but I do hope you'll optimise the game well and consider making it playable on old models too.
 
Update - P3P3DS Builder 0.2.2

  • Saving and loading work. The PSP's save dialog is replaced by a menu on the bottom screen: D-Pad to choose, B to confirm, A to go back.
  • Fixed the crash at the first Shadow (battle transition).
  • Menus now run at their real 30 FPS (an input timing bug made them run at 20).
  • The speed limiter keeps the game from running faster than real time.

A correction: the "30-60 FPS" I posted earlier came from a counter that measured screen refreshes, not game frames. The bottom-screen report now shows both. Real numbers: about 87% of full speed on average on my New 2DS XL; in Azahar the Dark Hour drops to around 7 game FPS. Getting a stable 100% is what I'm working on next, then audio.

Download: https://github.com/endercodezz/P3P3DS/releases (you still need your own ISO and devkitPro).
If it crashes, please post a photo of the bottom screen or the file sdmc:/p3p3ds/report.txt.
 
  • Like
Reactions: Exnor and Serph-DDS

Site & Scene News

New Hot Discussed User Submitted