Decompilation project for North American standalone release of Jet Set Radio Future
Find a file
KeybadeBlox 22a8c350eb Correct .data section ranges in delinked objects
The change in the previous commit was a silly case of not thinking
things through, not realizing that the .data range moved to Core.obj was
nowhere near the beginning of the section as it should be.  g_game has
been moved back into Jet2.obj (time will tell if this is correct) and a
missed data strucure at the beginning of .data (where it ought to be)
now makes up Core.obj's .data portion.
2025-12-30 00:39:14 -05:00
decompile Correct .data section ranges in delinked objects 2025-12-30 00:39:14 -05:00
delink Correct .data section ranges in delinked objects 2025-12-30 00:39:14 -05:00
.gitignore Complete delink workflow; separate from decomp 2025-12-16 22:30:49 -05:00
contributing.md Add note to avoid symbol conflicts when delinking 2025-12-29 09:43:59 -05:00
readme.md Correct .data section ranges in delinked objects 2025-12-30 00:39:14 -05:00

Jet Set Radio Future North American Standalone Decompilation

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

Progress

  • Delinking progress: 0.52% (13263 out of 2574172 bytes in XBE address space)
  • Decompilation progress: 3.1% (3 out of the 98 functions delinked so far)

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 will use the linker from the same Visual C++ 7.0 already used to compile object files. Step 4 is expected to use 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.