JSRF-Decompilation/readme.md
KeybadeBlox 84c165a0af Complete basic build process
We now have generation of an import library for linking against the Xbox
kernel, linking together an .exe, and converting it to an .xbe via cxbe.
Some further development of tooling aside (including filling in some
features in cxbe to better match the original JSRF executable), all that
remains now is to write decompiled code.
2026-02-14 23:05:32 -05:00

29 lines
1.5 KiB
Markdown

# Jet Set Radio Future North American Standalone Decompilation
A matching decompilation of the Xbox game Jet Set Radio Future.
## Progress
- Delinking progress: 1.02% (26359 out of 2574172 bytes in XBE address space)
- Decompilation progress: 18.7% (31 out of the 166 functions delinked so far)
- **Estimated total progress: 0.19%** (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](documentation/gettingstarted.md). 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](https://github.com/XboxDev/nxdk).
## Contributing
Anybody interested in joining the effort is welcome to read the
[contribution guide](documentation/gettingstarted.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).