Nakagawa Recomp Case Study
PROJECT CASE STUDY · IMPLEMENTATION FACT + PRIVATE ACCEPTANCE · REVIEWED 17 AUG 2026
Deeply validated against one title. Designed for a broader future.
Nakagawa Recomp is an experimental PSP static recompiler and native compatibility runtime. Its deepest real-title validation is the USA release of Hot Shots Tennis: Get a Grip (UCUS-98701); general PSP compatibility is not claimed.
Public implementation reference: 4eda0c4f. This page summarizes private-title evidence without publishing the local inputs, captures, or data required for that route.
What the public project contains
Recompiler tooling
Represent and analyze a user-supplied PSP ELF/PRX, classify control flow and ownership, and emit generated C.
Native runtime
Guest state, memory, HLE, scheduling, VFS, graphics, audio/media, input, and source-owned tests and fixtures.
Publication controls
GPL v3 public source, publication auditing, and provenance controls. Proprietary PSP content is not distributed.
Users provide their own lawful title inputs locally. The public project does not distribute ISOs, decrypted retail modules, generated retail-title C, keys, saves, proprietary assets, private captures, or private traces.
Current capability matrix
| Area | Status | Current evidence and limit |
|---|---|---|
| Boot / title / menus | WORKING | Working on the qualified private HST route. |
| Gameplay | WORKING · PRIVATE | PR #66 state qualification reached gameplay and completed matches. This is not public release or PSP-hardware evidence. |
| Graphics | PARTIAL | PR #71 selects NEAREST only for exact positive integer uniform scaling in both dimensions; LINEAR otherwise. #69 and missing portraits remain open. |
| Audio | OPEN | SAS/mixing, ATRAC3+, and output paths exist, but sustained smooth audio is not accepted; rough/stuttering audio remains open in #67. |
| Timing / scheduler | OPEN | PR #72 improved rational VBLANK pacing and wait/deadline behavior. Delivery/coalescing and broader timing acceptance remain open in #70. |
| Save / load | ROUTE-DEPENDENT | Local state participates in private route qualification; fresh-machine public end-to-end save/load acceptance is not complete. |
| VFPU / floating point | PARTIAL | PR #58 covers a bounded host accumulation-shape and repaired-probe subset; hardware/topology questions in #40 remain open. |
| General PSP titles | NOT CLAIMED | The architecture is intended to broaden; general compatibility is not a current capability. |
| Public fresh-machine release | NOT ACCEPTED | Public source + lawful user input has not yet passed the complete end-to-end release target. |
Open acceptance items
- Timing #70: pacing improved, but PSP-correct timing is not claimed.
- Native presentation: true selectable 480×272 / 1× host mode is not implemented.
- Public release: fresh-machine end-to-end acceptance remains incomplete.
Presentation is four separate layers
480×272
Guest framebuffer. The PSP-native image dimensions.
Render scale
Internal GPU scale. Separate from the host window.
960×544
Current host start size. Resizable, 2×-style—not native PSP sizing.
Filtering
Final presentation. NEAREST for exact integer uniform scaling; LINEAR otherwise.
Host platforms
Windows 11 x64
Current first-class host for development and validation.
Linux
Future native target; not currently supported end to end.
macOS
Future native target; not currently supported end to end.
The intended architecture separates portable PSP semantics from host seams for filesystem/VFS, threading and coroutines, timing, windowing and input, audio, Vulkan/presentation, process/tool invocation, and dynamic libraries.
Roadmap
A
HST research recompiler
Current deepest research path.
B
Public HST toolchain
Immediate practical milestone.
C
General recompiler
Broader title architecture.
D
Reusable PSP core
Runtime and toolkit.
E
Decompiler tooling
Reverse-engineering workflows.
Public fresh-machine acceptance target
The eventual target is public source + documented public dependencies + a user-owned lawful supported title, with no private developer files.
- Extract, translate, generate, and build
- Launch, reach title/menu, and play a match
- Show correct UI, models, and portraits
- Produce stable audio
- Offer native 480×272 and scaled presentation
- Save/load, navigate, and exit cleanly
This is a release acceptance target, not today’s project status.
Use current repository source, tests, maintained documentation, and canonical issue criteria as authority. Historical notes and emulator agreement are corroboration, not PSP silicon truth.