2023-02-23 05:32:14 +00:00
|
|
|
# donkey
|
|
|
|
|
|
|
|
<img src="./progress/progress_total.svg">
|
|
|
|
|
|
|
|
- <img src="./progress/progress_dk64_boot.svg">
|
|
|
|
- <img src="./progress/progress_global_asm.svg">
|
|
|
|
- <img src="./progress/progress_arcade.svg">
|
|
|
|
- <img src="./progress/progress_jetpac.svg">
|
|
|
|
- <img src="./progress/progress_bonus.svg">
|
|
|
|
- <img src="./progress/progress_boss.svg">
|
|
|
|
- <img src="./progress/progress_menu.svg">
|
|
|
|
- <img src="./progress/progress_minecart.svg">
|
|
|
|
- <img src="./progress/progress_multiplayer.svg">
|
|
|
|
- <img src="./progress/progress_race.svg">
|
2023-06-12 02:21:25 +00:00
|
|
|
- <img src="./progress/progress_critter.svg">
|
2023-02-23 05:32:14 +00:00
|
|
|
|
2024-06-27 18:45:48 +00:00
|
|
|
## Setup
|
|
|
|
|
2023-02-23 05:32:14 +00:00
|
|
|
Grab tools
|
|
|
|
|
|
|
|
```sh
|
|
|
|
git submodule update --init --recursive
|
2023-02-23 05:28:49 +00:00
|
|
|
```
|
|
|
|
|
2023-02-23 05:32:14 +00:00
|
|
|
Drop in `US` as `baserom.us.z64` (sha1sum: `cf806ff2603640a748fca5026ded28802f1f4a50`)
|
2023-02-23 05:28:49 +00:00
|
|
|
|
2024-06-27 18:45:48 +00:00
|
|
|
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:
|
2023-02-23 05:28:49 +00:00
|
|
|
|
2023-02-23 05:32:14 +00:00
|
|
|
```sh
|
2024-06-30 21:59:13 +00:00
|
|
|
docker build -t dk64 .
|
2023-02-23 05:32:14 +00:00
|
|
|
```
|
2023-02-23 05:28:49 +00:00
|
|
|
|
2024-06-27 18:45:48 +00:00
|
|
|
Then the ROM can be built with Docker using `make`
|
|
|
|
|
|
|
|
```sh
|
|
|
|
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](./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:
|
|
|
|
|
|
|
|
```sh
|
|
|
|
docker run --rm -v ${PWD}:/dk64 --user $UID:$GID dk64 python tools/generate_decompressed_rom.py
|
|
|
|
```
|
|
|
|
|
|
|
|
### Ubuntu
|
2023-02-23 05:32:14 +00:00
|
|
|
|
|
|
|
Ubuntu 18.04 or higher.
|
|
|
|
|
|
|
|
```sh
|
2023-06-12 02:21:25 +00:00
|
|
|
sudo apt-get update && \
|
|
|
|
sudo apt-get install -y \
|
2023-02-23 05:32:14 +00:00
|
|
|
binutils-mips-linux-gnu \
|
|
|
|
build-essential \
|
|
|
|
gcc-mips-linux-gnu \
|
|
|
|
less \
|
|
|
|
libglib2.0 \
|
|
|
|
python3 \
|
|
|
|
python3-pip \
|
|
|
|
unzip \
|
|
|
|
wget \
|
2023-12-18 10:58:11 +00:00
|
|
|
libssl-dev \
|
|
|
|
vbindiff
|
2023-02-23 05:32:14 +00:00
|
|
|
|
2023-12-18 10:58:11 +00:00
|
|
|
sudo python3 -m pip install \
|
2024-07-01 20:29:05 +00:00
|
|
|
pyyaml pylibyaml pycparser \
|
2023-02-23 05:32:14 +00:00
|
|
|
colorama ansiwrap watchdog python-Levenshtein cxxfilt \
|
|
|
|
python-ranges \
|
2023-12-18 10:58:11 +00:00
|
|
|
pypng anybadge \
|
|
|
|
tqdm intervaltree n64img spimdisasm
|
2023-02-23 05:32:14 +00:00
|
|
|
```
|
2024-06-27 18:45:48 +00:00
|
|
|
|
|
|
|
Then to build everything just run make:
|
|
|
|
|
|
|
|
```sh
|
2024-07-01 20:29:05 +00:00
|
|
|
make -j
|
2024-06-27 18:45:48 +00:00
|
|
|
```
|
|
|
|
|
|
|
|
The ROM will now be built.
|