JSRF-Decompilation/readme.md
KeybadeBlox 1b08163c08 Disable inlining
JSRF appears to have it disabled despite other optimizations.  Even if
it was enabled, anyways, we'd still be decompiling the post-inlining
functions and wouldn't want any further inlining to take place (we want
the compiler to compile each function the way we write it).
2026-01-02 22:38:23 -05:00

28 lines
1.4 KiB
Markdown

# 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: 29.6% (29 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](contributing.md). 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](https://github.com/XboxDev/nxdk).
## Contributing
Anybody interested in joining the effort is welcome to read the
[contribution guide](contributing.md). Those looking to get in contact with
other contributors can post to
[the repository's issue tracker](https://codeberg.org/KeybadeBlox/JSRF-Decompilation/issues)
or join the [JSRF Reverse Engineering Discord](https://discord.gg/kYEm5jz).