dk64/README.md

93 lines
2.0 KiB
Markdown
Raw Normal View History

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
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.