Nakagawa Recomp
Nakagawa Recomp is a static recompiler for the PlayStation Portable. It translates a game's code into C once, before you play, and compiles it into a Windows program. You supply the game from your own disc.
- Type: emulator
- Runs on Windows
- By Jstar269
- Latest release v0.0.1, 2026-10-28
- Source: https://github.com/Jstar269/Nakagawa-Recomp
- Website: https://jstar269.github.io/nakagawa-recomp/
README
Nakagawa Recomp
Play PSP games you own as native Windows programs.
Download · Website · Compatibility · Discussions · Wiki
Nakagawa Recomp is a static recompiler for the PlayStation Portable. It translates a game's code into C once, before you play, and compiles it into a Windows program. You supply the game from your own disc. The project is early: one game is playable, one plays a stage, and the rest are untested.
Watch a 28-second rally with sound (MP4, 4.5 MB).
Download
Download v0.0.1, the first release: one 285 MB ZIP for Windows 11, 64-bit. It includes the build tools, so you don't need to install anything else.
- Extract the ZIP and start
bin\nakagawa_player.exe. - Drag your game's
.isointo the player window, or choose START SETUP WIZARD. Nakagawa decrypts your own disc on your PC, the way PPSSPP does. It never touches firmware. - Press BUILD PACKAGE, then PLAY. A first build takes several minutes.
The ZIP isn't code-signed, so Windows may warn you the first time. The release notes say what works, what doesn't yet, and how to check the download. From v0.0.2, Settings > Updates checks GitHub for a newer version when you ask, and can download and check it for you.
You need:
- Windows 11, 64-bit, with a graphics card that supports Vulkan.
- 8 GB of RAM (16 GB recommended) and 5 GB of free disk space, ideally on an SSD (system requirements).
- Your own copy of the game as an uncompressed
.isodisc image. Nothing here downloads games, firmware or fonts.docs/YOUR_OWN_GAMES.mdcovers what to do if a file can't be decrypted. - Builds after v0.0.1 also take a compressed
.cso,.zsoor.chdimage. The player expands it once, when you add it, into a plain.isoin its data folder, so you need free space for the full.isoas well (details).
Compatibility
| Game | Rating | Notes |
|---|---|---|
| Hot Shots Tennis: Get a Grip | Playable | Full matches and Story Mode at the game's own 30 frames per second on the reference PC. Its title file ships with Nakagawa. Movies show black for now (#1049). |
| PAC-MAN Championship Edition | In-game | Reaches its menu and plays a stage, through general fixes with no game-specific code (#552, #556). The rest of the game hasn't been tried. |
| Any other PSP game | Not rated | The player imports it, builds a package and names anything that isn't supported yet. Going straight from your disc to a running game for more titles is in the works (#308). |
| Two showcase demos | Playable | Small PSP programs the project wrote as tests. They ship with the release and need no game files. |
These are the ratings the player shows on each game's page. docs/COMPATIBILITY.md has
the full detail for every game and every part of the PSP. To report how a game runs, post in
Compatibility reports.
How it works
Nakagawa translates the game's MIPS code into C ahead of time and compiles it together with a runtime that stands in for the PSP's system software, graphics and sound. The player is written in C with SDL3 and Vulkan. The same approach is behind Zelda 64: Recompiled (built with N64Recomp) and Unleashed Recompiled (built with XenonRecomp).
- When a game needs something that isn't supported yet, the player stops and names the missing piece.
- No games, firmware or Sony system fonts ship here, and no game data is ever downloaded. Open replacement fonts ship instead; the PSP's own fonts are used only if you copy them from your own console.
- The player works offline. It connects to the internet only when you agree: to fetch build tools when they aren't already present, and to check for updates when you ask (network use).
docs/ARCHITECTURE.md describes the pipeline, and
docs/CODE_TOUR.md follows one game through the code.
Build from source
The prerequisites are listed in docs/SETUP.md: Windows 11 x64
with a Vulkan GPU, PowerShell 7.4+ and MSYS2 UCRT64.
- Build the player from a checkout:
mingw32-make player. - Start
build\nakagawa_player.exe, then drag a game's.isointo the window or choose START SETUP WIZARD. Later games go in through the Add a disc image you own tile in the library. - The player checks the disc. If the game's code is encrypted, Nakagawa decrypts your own disc on your PC into that game's folder. If a file can't be decrypted, the player names it and the reason, and you can add a decrypted copy from your own disc instead.
- Press BUILD PACKAGE, then PLAY. If your PC doesn't have the build tools yet, consent once and the player downloads the exact versions it needs.
- Optional: text uses the project's own open fonts (#313).
For the PSP's original lettering, import the fonts from your own PSP with
python tools/nk_cli.py fonts import <folder>.
Without a game, mingw32-make player showcase builds the two showcase demos, and the player lists them on its own.
On Windows this needs WSL 2 and PSPDEV (steps).
![]() | ![]() |
|---|---|
| 3D Showcase | Breakout Showcase |
Matching decompilations
hst-decomp rebuilds the code of Hot Shots Tennis: Get a Grip as C and C++ that compiles back to the original bytes. lbp-psp-decomp does the same for LittleBigPlanet on the PSP. Both are source-only and contain no game data.
No decomp source is copied into Nakagawa, which is meant for any PSP game. The decomp's function names can label the C that Nakagawa generates (#1495), and what it shows about the game helps replace Nakagawa's Hot Shots Tennis workarounds with general fixes (#363).
Work belongs in the recompiler and runtime when its cause is general, such as a system call, an instruction, a display-list command or a build step, because the fix then helps every game and can be tested with synthetic fixtures. It belongs in a decompilation project only when it rebuilds one function's source so that it compiles back to the original bytes, which needs your own copy of the game. If you are unsure, open an issue here and describe what you saw.
Contributing
Testing is the most useful help right now: try a game you own and report how far it gets. Bugs go in
issues, and
good first issues are a place to start
on code. CONTRIBUTING.md has the rules and the checks to run.
All documentation · Contributing · Accessibility · Getting help · Security · Code of conduct · AI use
Project health
License and lineage
GPL-3.0-or-later (LICENSE); some files keep GPL-2.0-or-later or their upstream terms. The project began as a fork of sal063's PSP Recompilation Project and still contains code from it and code adapted from PPSSPP; the ATRAC audio and H.264 video decoders come from FFmpeg. It is not endorsed by those upstream authors. Details: NOTICE.md and CREDITS.md.
Legal
Nakagawa Recomp is an independent fan project. It is not affiliated with or endorsed by Sony Interactive Entertainment, Clap Hanz, or any game publisher. PlayStation and PSP are trademarks of Sony Interactive Entertainment Inc., and game titles are trademarks of their owners; they are named here only to say what the project works with. This repository contains no game files, firmware or Sony system fonts. Nakagawa decrypts your own disc locally with the public game key tables PPSSPP ships; it never downloads games and never decrypts firmware.
Rights holders with a concern about anything here can contact the maintainer privately through GitHub private reporting or the contact on the maintainer's profile. We aim to respond promptly and will remove material where appropriate.
Dedication
Dedicated to Blitzen: One of the greatest pets you could ever have. A companion from beginning to end.
An absolute sweetheart.
2012-2026


