Hit & Run PS2, recompiled for PSP

A fan build, made for fans of the game and the PSP community. Put in your own PS2 disc and out comes a native PSP game, tuned for the PSP-2000. Fans test it on their own consoles, find bugs and send patches

A new engine for the PSP

Written in C with PSPSDK. It reads the game’s own data from your disc and drives the PSP’s chips directly. Nothing of the PS2 is emulated

About 28 fps on a PSP-2000, all 7 levels

One chip does almost everything

The Tachyon holds the CPU, a second core called the Media Engine, the graphics chip, 2 MB of video memory and 64 MB of RAM. On paper it beats the PS2 at clock speed and memory, and loses at drawing pixels and in video memory. So the port saves the CPU’s time and keeps every texture small

The CPU works. The GPU waits

Every frame the CPU used to write each drawing command one by one, while the graphics chip finished its share in 1.5 ms and sat waiting. Now each block of the city is written down once, as a ready list, when it loads from the Memory Stick. Every frame after that the CPU hands the graphics chip a whole block in one call

4.3 → 0.8 ms of CPU for 30 city pieces, with ready lists

The whole port so far: 131 sessions, 92 builds, 100+ hours of logged play

Sound moves to the Media Engine

The Media Engine is a second 333 MHz core beside the CPU. Sony let games use it only for its own codecs. With the open MIST library it now mixes all the sound, and hands it back to the CPU if it ever stalls

700–990 → 450–540 µs of CPU per audio buffer

A city in 53 MB

Everything is prepared for the Memory Stick when you build the game: textures optimized, roads baked, the level cut into 40 × 40 m cells. While you play, the cells around you stream in, one read each, on a thread of their own. Cells you drive away from are let go, to make room for the next ones

About 20 cells a second while driving

2 MB of video memory, no shaders

The frame and its depth take 816 KB of it. So the frame is 16-bit for the 480 × 272 screen, textures come in 16 or 256 colors, and lights and shadows are flat shapes drawn in one call

Textured shadows cost about 3 fps, now gone

Matched to the original, then made faster

More than 900 behaviors were compared one by one with the PS2 game. Every change is measured on a real PSP-2000 in an automatic tour of all 7 levels, and stays only if the numbers agree

Drop in your disc. The rest builds itself

No game files come with the engine. The builder converts everything from your own PS2 disc image and puts the game on your PSP

Drop in your disc image. Get a PSP game

We are folding the whole conversion into one small app. Drag in the image of your own PS2 disc of The Simpsons: Hit & Run, and it unpacks, converts and builds the game, then copies it to your PSP over USB

The one-window app is in the works · Report an issue

The error screen of the PSP build, with its code in the lower left corner

If you see this screen, something broke

Look at the lower left corner: there is a short code. The pause menu shows the same code in its lower left corner. Send it to us with a line about what you were doing, and we fix it together

Hit & Run RecompilerGONE Makers:Co.

No game files are included, and none will be: the build reads your own disc

A fan project, not affiliated with or endorsed by Sony, Fox, Vivendi or Radical Entertainment. The Simpsons: Hit & Run and its content belong to their owners. PSP is a trademark of Sony. Engine code under GPL-3.0

The PSP-2000 drawing is our own: body modelled from public dimensions, board outline traced from the TA-085 service manual, drive and battery estimated from teardown photos

The engine

  • donutthe open reimplementation of the game the port is built on, C++, GPL-3.0
  • hit-and-run-webDwayne Charrington’s scripts that unpack the PS2 disc and decode its models, MIT
  • PSPSDKthe open toolchain for the PSP
  • PPSSPPthe emulator every change is checked in before it goes on a real PSP

Knowledge and look

People

  • konsolenschatzbuilt it on a PSP Go through WSL, measured walking against the PC version, reported the Linux build and languages (issues 2 to 4)
  • noname8723found the collision bug in the level build and sent a patch to build on Windows through Ubuntu (issue 1)
  • kirk42637tried it on a NES Classic and a PS Classic and filmed it
  • r/PSPeveryone in the thread who tried it, asked and pushed

This page

  • three.jsthe PSP drawing, live in the browser
  • build123dthe PSP-2000 body modelled in CAD
  • Host Groteskthe type, OFL
  • Motionsprings and velocity first, so nothing starts or stops with a jolt