Go to file
2024-09-25 11:09:10 -05:00
ido Initial Commit 2023-02-23 16:02:14 +10:30
include 40.0668% 2024-09-25 10:48:08 -05:00
progress 40.1209% 2024-09-25 11:09:10 -05:00
src 40.1209% 2024-09-25 11:09:10 -05:00
tools 38.7107% 2024-09-22 17:09:36 +09:30
.gitattributes Initial Commit 2023-02-23 16:02:14 +10:30
.gitignore More labels 2024-04-17 02:14:30 +09:30
.gitmodules Fix submodules 2023-02-23 16:14:52 +10:30
decompressed.us.yaml 40.0711% 2024-09-25 11:01:25 -05:00
diff.sh Initial Commit 2023-02-23 16:02:14 +10:30
Dockerfile Drop capstone 2024-07-02 05:59:05 +09:30
find_first_diff.sh Some more attempts at fixing things 2023-08-08 21:34:21 +09:30
generate_function_reference_counts.py More labels 2024-04-17 02:14:30 +09:30
generate_function_stats.py Add a few scratches 2024-05-19 11:09:19 +09:30
LICENSE.md Initial Commit 2023-02-23 16:02:14 +10:30
Makefile 38.7736% 2024-09-21 17:38:05 -05:00
README.md Drop capstone 2024-07-02 05:59:05 +09:30
reloc_addrs.us.txt Fix duplicate ROM address 2023-08-08 01:15:58 +09:30
symbol_addrs.us.txt 38.8042% 2024-09-21 19:19:39 -05:00
undefined_syms.txt 42.0213% 2024-05-24 18:30:05 +09:30

donkey

Setup

Grab tools

git submodule update --init --recursive

Drop in US as baserom.us.z64 (sha1sum: cf806ff2603640a748fca5026ded28802f1f4a50)

To extract and build the ROM use one of the installation options listed below.

Docker

A Dockerfile is provided that is based on Ubuntu can be used for development and building the ROM.

Build the Docker image:

docker build -t dk64 .

Then the ROM can be built with Docker using make

docker run --rm -v ${PWD}:/dk64 --user $UID:$GID dk64 make -j8

This command will start the docker container, build everything, then exit.

See the Makefile for a full list of options and supported arguments, e.g. make clean.


Other tools and scripts can be used with the Docker container as well.

For example, running a script from the tools folder:

docker run --rm -v ${PWD}:/dk64 --user $UID:$GID dk64 python tools/generate_decompressed_rom.py

Ubuntu

Ubuntu 18.04 or higher.

sudo apt-get update && \
  sudo apt-get install -y \
    binutils-mips-linux-gnu \
    build-essential \
    gcc-mips-linux-gnu \
    less \
    libglib2.0 \
    python3 \
    python3-pip \
    unzip \
    wget \
    libssl-dev \
    vbindiff

sudo python3 -m pip install \
    pyyaml pylibyaml pycparser \
    colorama ansiwrap watchdog python-Levenshtein cxxfilt \
    python-ranges \
    pypng anybadge \
    tqdm intervaltree n64img spimdisasm

Then to build everything just run make:

make -j

The ROM will now be built.