mirror of
https://codeberg.org/KeybadeBlox/JSRF-Decompilation.git
synced 2026-04-06 20:40:23 +03:00
Decompilation project for North American standalone release of Jet Set Radio Future
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). |
||
|---|---|---|
| decompile | ||
| documentation | ||
| ghidra | ||
| .gitignore | ||
| readme.md | ||
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:
- Delink the JSRF executable (
default.xbe) into object files, each representing a single C++ source file - Decompile the object files into C++ code that produces matching object files
- Link the object files into a Windows executable (n.b. this would not be runnable on Windows)
- 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.