Rewrite readme for official decomp repository

I guess this isn't just notes anymore.
This commit is contained in:
KeybadeBlox 2025-12-18 22:36:26 -05:00
parent 5692ee9531
commit 115052d2a5

View file

@ -1,16 +1,27 @@
# Jet Set Radio Future Decompilation Notes # Jet Set Radio Future NTSC-US Standalone Decompilation
This is just a public holding space for anything I put together as a part of A matching decompilation of the Xbox game Jet Set Radio Future.
the JSRF decompilation effort.
## `delink/` ## Progress
`objects.csv` is a table of suspected object file boundaries for delinking. - Delinking progress: 0.008% (205 out of 2574172 bytes in XBE address space)
The addresses given in each section are runtime memory addresses (as one would - Decompilation progress: 100% (6 out of the 6 symbols delinked so far)
see in e.g. Ghidra).
`delink.sh` is a script that produces delinked object files in `target/` from a ## Roadmap
Ghidra project. 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
## `decompile/` We are currently engaging in the first two steps simultaneously, decompiling
The `src/` directory contains decompiled code and data. Each symbol is code as it's delinked. Further details on these steps can be found in the
annotated with its corresponding memory address in the original binary, and [contribution guide](contributing.md). Step 3 will use the linker from the
functions are marked as perfectly or imperfectly matching. 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 or join the
[JSRF Reverse Engineering Discord](https://discord.gg/kYEm5jz).