Skip to content

Current Status

Jason edited this page Aug 18, 2026 · 2 revisions

Current Status

Reviewed: 2026-08-17 ยท Public head: 4eda0c4 ยท Scope: merged public source plus explicitly labelled private-title evidence

Important

Nakagawa is currently validated most deeply against Hot Shots Tennis: Get a Grip, USA (UCUS-98701). It is not general PSP compatibility software and is not a release-accepted end-user package today.

Status dashboard

Capability State Current truth
Recompiler pipeline โœ… Working Public loading, analysis, code generation, native compilation, and source-owned verification paths exist.
Boot, title, and menu route โœ… Working* Reached by the current state-qualified private HST route. *Private acceptance, not public fresh-machine proof.
Match gameplay ๐ŸŸก Partial* Qualified private runs have completed matches; remaining graphics, audio, timing, and public-workflow defects prevent release acceptance.
Graphics and presentation ๐ŸŸก Partial Substantial software/Vulkan support exists. Transient menu corruption and missing portraits remain open.
Audio ๐Ÿ”ด Open SAS/mixing, ATRAC3+, and output paths exist, but sustained smooth title audio is not accepted (#67).
Timing and scheduler ๐Ÿ”ด Open Paced timing and wait handling have improved; delivery/coalescing and broader PSP timing acceptance remain unresolved (#70).
Save/load ๐ŸŸก Partial Runtime filesystem/savedata support exists; the complete public fresh-machine route is not release-accepted.
Native 480x272 host mode ๐Ÿงญ Planned The guest framebuffer is 480x272, but a true selectable 480x272/1x host presentation mode is not implemented.
Linux and macOS hosts ๐Ÿงญ Planned Portable seams exist; neither platform is supported end-to-end today.
General PSP-title support ๐Ÿงญ Planned The architecture is broader than HST, but general compatibility is not claimed.
Public fresh-machine flow ๐Ÿ”ด Open Public source + user-owned lawful inputs โ†’ complete playable acceptance has not yet been achieved.

What is working

  • The public source contains the ELF/PRX โ†’ image โ†’ analysis/CFG/ownership โ†’ generated C โ†’ native-runtime pipeline.
  • HLE, guest memory, scheduler/wait, graphics, audio/media, filesystem, and input layers have substantial implementation and source-owned tests. Unknown or unimplemented NIDs remain visible; a generic success return is not treated as implementation.
  • The state-qualified private route from PR #66 reached qualified HST gameplay and completed matches. This is private route evidence, not public release acceptance or PSP hardware proof.
  • PR #71 uses NEAREST only for exact positive integer, uniform source-to-viewport scaling; other extents use LINEAR.
  • The HST build profile from PR #74 defaults to runtime -O2 and generated code -O1. Generic or unqualified titles remain -O0/-O0, with explicit overrides supported.

Open acceptance items

Area Evidence boundary and remaining work
๐Ÿ”Š Audio ยท #67 Rough/stuttering audio remains open. Implemented SAS/mixing, ATRAC3+, and audio-output paths do not by themselves establish sustained smooth playback. Public-safe builds may select explicit unavailable backends for excluded components.
โฑ๏ธ Timing ยท #70 The default paced profile has a rational scheduler-owned 60000/1001 VBLANK source and improved deadline/wait handling from PR #72. Delivery/coalescing under host load remains open; timing is not fully PSP-correct.
๐Ÿ–ผ๏ธ Graphics ยท #69 A transient main-menu model/render corruption remains reproducible and under investigation in #69. Its root cause is not publicly established. Mid-game portrait/profile images remain absent.
๐Ÿงฎ VFPU/hardware ยท #40 PR #58 covers a bounded host accumulation-shape/repaired-probe subset. Issue #40 remains open for broader hardware/topology and overlap questions. Emulator agreement is corroborative, not PSP silicon truth.
๐Ÿ“ฆ Public workflow A fresh-machine, public-source, user-supplied-input build/play workflow is not release-accepted. Public CI and local checks do not prove private gameplay or hardware acceptance.

Presentation and host platforms

flowchart LR
    A["PSP guest framebuffer<br/>480x272"] --> B["Internal render target<br/>backend-dependent scale"]
    B --> C["Host presentation<br/>resizable 960x544 start"]
    C --> D["Final filtering<br/>integer-uniform: NEAREST<br/>otherwise: LINEAR"]
Loading

Guest framebuffer size, internal render scale, host-window size, and presentation filtering are separate concepts. The current 960x544 start is 2x-style host presentationโ€”not native PSP window sizing.

Host Status
Windows 11 x64 Current first-class development and validation host.
Linux Future native target; not currently supported end-to-end.
macOS Future native target; not currently supported end-to-end.

See the repository's platform-portability plan.

Roadmap

flowchart LR
    A["A ยท HST research recompiler"] --> B["B ยท Public HST toolchain"]
    B --> C["C ยท General Nakagawa recompiler"]
    C --> D["D ยท Reusable PSP runtime/core"]
    D --> E["E ยท Decompiler and RE tooling"]
Loading

Later stages are direction, not completed capability. The practical acceptance target is a documented fresh-machine flow that builds from public source and user-owned input, launches a supported title, reaches menus and gameplay, presents correct UI/models/portraits, produces stable audio, offers native and scaled presentation choices, saves/loads, and exits cleanly.

Note

The public repository contains source, tests, synthetic fixtures, and audit/provenance tooling. Users supply lawful title inputs locally. No ISO, decrypted retail modules, generated retail-title C, keys, saves, proprietary assets, private captures, or private traces are distributed.

Continue with Build and Run or the concise Nakagawa case study.

Nakagawa Recomp

Architecture

Development

Project

Research site

Clone this wiki locally