JSRF-Decompilation/readme.md
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

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: 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](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).