About PSPC

What PSPC can and can't do

A straight account of PSPC 0.1.2: what works today, where the limits are, and what isn't supported. Results come from PSPC's own testing and documentation.

At a glance

PSPC can

  • Compile PSP games ahead of time into native Windows code, once per game, with an interpreter for anything left over.
  • Play the seven retail games tested so far into gameplay.
  • Render at up to 16× the PSP's resolution (8K) with Direct3D 11, with xBR texture upscaling.
  • Play game audio and movies, and save and load through the games' own menus.
  • Boot Sony's real 4.01 XMB, with your own copy of Sony's update.
  • Load M33 plugins such as the DarkFrost cheat device, as a 4.01 M33 PSP does.
  • Bring back online play for Combat Ops, Elite Squadron and Super Squadron, with bundled servers and a public Super Squadron server.
  • Play ad hoc multiplayer with other PSPC and PPSSPP players.
  • Read disc images far bigger than a UMD, up to 8 TB.

PSPC can't, yet

  • Promise that an untested game works: only seven retail games have been tested in depth.
  • Run on macOS, Android or iOS, or offer a prebuilt Linux download. Linux works from source, with validation limits.
  • Make save states, rewind or fast-forward.
  • Run PS1 games (the PSP's POPS emulator).
  • Run firmware other than 4.01 M33 as its operating system.
  • Reach online services that no longer exist, unless a replacement server does.
  • Run every game at full speed: some are still slow in places.
  • Include games, firmware or system fonts: you bring your own.

Platforms

  • Windows 10 and 11, 64-bit: the release platform, with an installer that includes everything native code builds need.
  • Linux Source only: v0.1.2 includes an OpenGL renderer, a GTK launcher and relocatable runtime packaging, checked by CI. There is no published Linux package and full Windows parity isn't established: see PSPC on Linux.
  • Not supported: macOS, Android, iOS and 32-bit Windows.

Games

  • Formats: ISO, CSO, ZSO and DAX disc images, and EBOOT.PBP games and homebrew. PlayStation Store titles need your own license files.
  • Tested: seven retail games reach gameplay in the interpreter, and six of them as native code too (Star Wars Battlefront II's hasn't been built yet): Daxter, Syphon Filter: Combat Ops, Syphon Filter: Logan's Shadow, Monster Hunter Freedom Unite, and Star Wars Battlefront II, Renegade Squadron and Elite Squadron. Each replays scripted input to fixed points and must match reference frames pixel for pixel. The games table and docs/COMPATIBILITY.md have the details and known issues, such as Daxter's first light beacon not triggering yet.
  • Beyond the retail checkpoints: other games may well work, since the system they run on is broad and passes 539 of the 559 pspautotests hardware tests, but the detailed retail checkpoint list still covers these seven. Super Squadron also has GameSpy support; that isn't a new retail checkpoint result.
  • Big images: ISO, CSO and ZSO images can reach 8 TB, and DAX images just under 4 GB, for patched or extended games. One file inside an image must be under 4 GB. Images that should also work on a PSP or in PPSSPP are best kept at 4 GB or less.

Native code and speed

  • Native code covers 99% or more of the code in the tested retail games. PSPC estimates about a minute per disc to build it, once; the result stays cached.
  • The interpreter covers the rest: code reached only through pointers the analysis missed, code that games generate or load from memory while they run, and code that cheat plugins patch. Those parts run correctly, but slower.
  • Speed varies. Some games are still slow in places: Syphon Filter: Logan's Shadow's missions run at about half real time, and Star Wars Battlefront II at about 30% of real time while it is interpreted.
  • No speed controls. There is no fast-forward and no frame-skip setting: games run in real time.

Graphics, sound and video

  • Renderers: a multithreaded software renderer, the default and the accuracy reference, at the PSP's native 480×272; Direct3D 11 on Windows and OpenGL 4.5 on Linux source builds at 1× to 16×, supersampled to the window. Both GPU renderers transform, light and clip bit for bit as on the CPU. v0.1.2 reduces high-resolution sampling costs, Syphon Filter readbacks on Direct3D 11 and repeated system-overlay compositing.
  • GPU requirements: Direct3D 11.3 rasterizer-ordered views on Windows, or OpenGL 4.5 with fragment shader interlock on Linux. Without the required feature, the software renderer takes over.
  • Textures: xBR upscaling 2× to 4×, and nearest or linear filtering forced or as the game sets it. There are no texture replacement packs or post-processing shaders.
  • Sound: sceAudio, the SAS mixer, ATRAC3 and ATRAC3+, MP3, AAC and the audio codec library.
  • Video: game movies (PSMF and H.264) play with sound. The XMB plays MP4 videos from the memory stick; UMD Video discs are untested, and protected (MagicGate) memory stick video doesn't play.

System software

  • Built in: PSPC's kernel and system libraries are a native reimplementation of firmware 4.01 with the M33 custom firmware, written using the decompiled firmware as the specification: threads, memory, modules, interrupts and timing, file systems, save data and dialogs, the on-screen keyboard, networking, and M33's SystemControl, VshCtrl and plugin loading.
  • With your own copy of Sony's 4.01 update: the real XMB boots and works, including the Saved Data Utility, settings, Memory Stick video and the browser, and games start from it and return to it. The system fonts come with it too. Firmware Manager builds, rebuilds, selects and deletes named profiles; Boot XMB starts the active one. Each profile has its own PSP settings, while saves are shared.
  • Not from Sony's update: M33's VSH and recovery menus are modules from the M33 installer. They run when added with tools from a source checkout.
  • Only 4.01: PSPC's system is 4.01 M33, so install Sony's 4.01 update. The version reported to games is a separate setting (6.60 by default).
  • No PS1: the PSP's PS1 emulator, POPS, doesn't run.

Plugins and cheats

  • Works: M33 plugins load from seplugins/game.txt and vsh.txt as on a 4.01 M33 PSP, kernel plugins included, with no recovery menu needed. DarkFrost 5.1 has been tested in detail, and code-patching cheats work with native code.
  • Doesn't: plugins that rewrite the firmware's own code in memory, driver lookups through sctrlHENFindDriver, and PS1 plugins.
  • No built-in cheat engine: cheats come from plugins such as DarkFrost or CWCheat.

Online

  • Infrastructure: games and the XMB reach the internet through a virtual access point, “PSPC 1”, with sockets, DNS, HTTP and HTTPS.
  • PSN stand-in: PSPC Network provides accounts, signed sign-in tickets in Sony's format and friend lists. Anyone can host a server.
  • Game servers: Combat Ops (lobby, matches, missions, cells, leaderboards, message board), plus Elite Squadron and Super Squadron over GameSpy (accounts, friends, hosted games, rankings), with an OpenSpy option. Super Squadron defaults to swss.pspc.online unless overridden. Match tests used instances on one PC; the public server runs on the internet, but gameplay across remote PCs isn't established by those tests.
  • GameSpy hosting: bounded connections/parsing, dedicated sessions, player-host limits, additional games via configuration and optional Cloudflare Tunnel support. Fixed UDP game_port and --renderer none support dedicated hosts. Follow the public-server setup and limits.
  • Other games: they can be redirected to community revival servers, PPSSPP's infra-dns.json format included. Without one, a game stops when its old server doesn't answer.
  • Ad hoc: compatible with PPSSPP's ad hoc servers and players. No relay or UPnP, so internet play needs open ports. IPv4 only.

Saving

  • Game saves work as on a PSP, on PSPC's virtual memory stick, and the XMB's Saved Data Utility manages them.
  • No save states. PSP threads run on native host fibers with real native stacks, which makes snapshotting a running game at any instant hard. Save the way the game lets you.

What PSPC never does

  • It doesn't include, download or require copyrighted games, firmware, cryptographic keys or proprietary libraries.
  • It doesn't download Sony's firmware for you, and the Sony 4.01 update is optional.

Use dumps of games you own, and your own copy of Sony's update.