mirror of
https://github.com/farisawan-2000/kirby64.git
synced 2024-11-22 20:59:48 +00:00
A work-in-progress decompilation of Kirby 64: The Crystal Shards, brought to you.
|
||
---|---|---|
.github/workflows | ||
actors | ||
asm | ||
asm-differ | ||
assets | ||
data | ||
f3dex2@7e3f9a3615 | ||
include | ||
libreultra@abe8ce1c0a | ||
src | ||
tools | ||
ucode | ||
.gitignore | ||
.gitmodules | ||
assets2.json | ||
assets_geo.json | ||
assets_image.json | ||
assets.json | ||
context_gen_header.h | ||
diff.py | ||
extract_assets.py | ||
first-diff.py | ||
kirby.us.ld | ||
kirby.us.sha1 | ||
libultra_unused.txt | ||
macros.inc | ||
Makefile | ||
rcp_syms.txt | ||
README.md | ||
rename_sym.sh | ||
sfiles.txt | ||
tempdelete.py | ||
undefined_syms.txt | ||
unnamed_syms.txt |
Kirby 64: The Crystal Shards
This repository contains a work-in-progress decompilation effort for Kirby 64.
You will need an original copy of the ROM to proceed.
Exclusive Dependencies
- Works best on the latest version of Ubuntu, Fedora, or Arch. PR's to support other Linux versions are welcome, but as of current those three are the only ones we can reliably test.
- Python 3.10 with
pip
jq
Installation
- First, get Linux, or Windows Subsystem for Linux if you use Windows
- Next, clone the repo by running
sudo apt update && sudo apt install git gcc-mips-linux-gnu && git clone https://github.com/farisawan-2000/kirby64 --recursive
- Get the GitPython submodule by doing
pip3 install gitpython
- Grab the qemu-irix deb from here and install it with
sudo dpkg -i path/to/qemu(press tab here to autocomplete the name)
(Usealien
on Fedora ordebtap
on Arch to convert) - Now just follow the instructions for SM64 decomp here, but before you go, keep reading.
- Once dependencies are installed, run
make setup
to get assets extracted, thenmake
to build!
Contributing
- Pull requests are welcome! Everything is fair game to work on, including tons of easy functions that make for an easy PR! ;)
TODO (Required)
- Disassemble every asset that's extracted, or convert them into images and build them
- Work on ASM shiftability and struct documentation (Asset shiftability is done!)
TODO (Necessary)
- Actually decompile the code
- Clean up
undefined_syms.txt
TODO (Want to contribute? 😳)
- Document Kirby's action states (Might require PJ64 Debugger)