Decompilation project for North American standalone release of Jet Set Radio Future
Find a file
KeybadeBlox 836b5eaa41 Incorporate known names from Smilebit code
The Yakuza 1 and 2 rereleases on the Wii U export function symbols,
preserving their names, and some debug data was also available in a PS2
release, providing some struct definitions.  These have been used to
rename analogous classes, functions, and member variables to the same
names used by Smilebit, plus a more general imitation of their naming
and typing conventions (i.e. Win32 style).
2026-03-31 20:24:13 -04:00
decompile Incorporate known names from Smilebit code 2026-03-31 20:24:13 -04:00
documentation Mention Wine for non-Windows OSs in documentation 2026-03-21 20:55:52 -04:00
ghidra Incorporate known names from Smilebit code 2026-03-31 20:24:13 -04:00
.gitignore Complete basic build process 2026-02-14 23:05:32 -05:00
readme.md Fully decompile xapi0 2026-02-22 14:04:18 -05:00

Jet Set Radio Future North American Standalone Decompilation

A matching decompilation of the Xbox game Jet Set Radio Future.

Progress

  • Delinking progress: 1.03% (26559 out of 2574172 bytes in XBE address space)
  • Decompilation progress: 19.6% (33 out of the 168 functions delinked so far)
  • Estimated total progress: 0.20% (previous two multiplied together)

Roadmap

The approach of this decompilation is to:

  1. Delink the JSRF executable (default.xbe) into object files, each representing a single C++ source file
  2. Decompile the object files into C++ code that produces matching object files
  3. Link the object files into a Windows executable (n.b. this would not be runnable on Windows)
  4. Repackage the Windows executable into a working Xbox executable

We are currently engaging in the first two steps simultaneously, decompiling code as it's delinked. Further details on these steps can be found in the contribution guide. Step 3 uses the linker from the same Visual C++ 7.0 already used to compile object files. Step 4 uses the cxbe tool found in e.g. nxdk.

Contributing

Anybody interested in joining the effort is welcome to read the contribution guide. Those looking to get in contact with other contributors can post to the repository's issue tracker or join the JSRF Reverse Engineering Discord.