A work-in-progress decompilation of Kirby 64: The Crystal Shards, brought to you.
Go to file
2022-12-18 19:09:17 -05:00
.github/workflows Add python 3.10 to dependencies 2022-04-18 05:19:25 -04:00
actors Made kirby model const; some ovl1_3 animation decomp 2020-08-04 03:11:08 -04:00
asm refactor boot.s to allow for some undefined_syms cleanup 2022-12-08 14:32:41 -05:00
asm-differ update gitignore 2021-04-10 16:56:16 -04:00
assets add shell command to determine relevant image properties instead of a whole c++ tool 2022-08-31 15:57:48 -04:00
data struct docs; more rodata migration 2022-04-19 13:11:44 -04:00
f3dex2@3c8876815c f3dex2 incorporated 2020-09-29 20:39:39 -04:00
include refactor boot.s to allow for some undefined_syms cleanup 2022-12-08 14:32:41 -05:00
libreultra@21c7277aaa fix CI; more compatibility 2022-12-18 19:09:17 -05:00
src struct docs; more rodata migration 2022-04-19 13:11:44 -04:00
tools fix CI; more compatibility 2022-12-18 19:09:17 -05:00
ucode f3dex2 incorporated 2020-09-29 20:39:39 -04:00
.gitignore assets.o tracking (#56) 2022-04-07 17:41:21 -04:00
.gitmodules assets.o tracking (#56) 2022-04-07 17:41:21 -04:00
assets2.json assets.o tracking (#56) 2022-04-07 17:41:21 -04:00
assets_geo.json assets.o tracking (#56) 2022-04-07 17:41:21 -04:00
assets_image.json assets.o tracking (#56) 2022-04-07 17:41:21 -04:00
assets.json assets.o tracking (#56) 2022-04-07 17:41:21 -04:00
context_gen_header.h ovl7_5, some renamings 2021-06-06 23:53:36 -04:00
diff.py ovl2_6 decomp; added brand new asm-differ version 2021-02-12 21:58:29 -05:00
extract_assets.py I kill your compile speeds; bank 7 transient geos are done 2021-01-16 20:12:04 -05:00
first-diff.py preparing for massive symbol-replacement undertaking 2020-08-12 16:36:44 -04:00
kirby.us.ld fix CI; more compatibility 2022-12-18 19:09:17 -05:00
kirby.us.sha1 added files 2020-05-23 06:09:52 -04:00
libultra_unused.txt moved osLeoDiskInit to libultra 2021-03-18 16:55:07 -04:00
macros.inc model docs 2021-03-28 01:51:41 -04:00
Makefile add more compatibility to asset extractor; split undefined and unnamed syms 2022-12-18 18:12:07 -05:00
README.md Replace the TODO that i accidentally deleted 2022-08-30 21:43:14 -04:00
rename_sym.sh split ovl16, and some ovl17 decomp 2021-02-11 21:58:01 -05:00
undefined_syms.txt fix CI; more compatibility 2022-12-18 19:09:17 -05:00
unnamed_syms.txt add more compatibility to asset extractor; split undefined and unnamed syms 2022-12-18 18:12:07 -05:00

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.

Installing

  • 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)
  • 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, then make 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)