farisawan-2000 / kirby64

A work-in-progress decompilation of Kirby 64: The Crystal Shards, brought to you.

Home Page:https://discord.gg/Gh6fBCr

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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) (Use alien on Fedora or debtap 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, 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)

About

A work-in-progress decompilation of Kirby 64: The Crystal Shards, brought to you.

https://discord.gg/Gh6fBCr


Languages

Language:Assembly 82.7%Language:C 9.3%Language:C++ 5.6%Language:Python 1.5%Language:Makefile 0.9%Language:Shell 0.0%