docs first setup (#542)
This commit is contained in:
parent
93adc02caf
commit
7b408209af
|
|
@ -42,6 +42,8 @@
|
|||
# General project-specific ignores
|
||||
__pycache__/*
|
||||
doxygen/doxygen/*
|
||||
docs/html/*
|
||||
xml/*
|
||||
/build/*
|
||||
# decomp permuter
|
||||
/nonmatchings/*
|
||||
|
|
|
|||
|
|
@ -1,2 +0,0 @@
|
|||
\subpage basics "test"
|
||||
# test
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
\subpage basics "Compiling"
|
||||
@page build
|
||||
|
||||
## Compiling mk64 Decomp In Windows
|
||||
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
\page basics "Understanding the Basics"
|
||||
@page concepts
|
||||
#### Definitions
|
||||
* `Jump/Branch/Function` - Tells the cpu to execute instructions somewhere else and come back here when done.
|
||||
* `Hexadecimal` - A [numbering system](https://en.wikipedia.org/wiki/Hexadecimal) just like decimal (also called base-ten) or roman numerals. An easy method for programmers and computers to understand each other which groups/separates bytes of information in a readable format. Representing information as decimal results in an unreadable mess.
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
@page basics Understanding the Basics
|
||||
|
||||
<div style="background-color: grey; width: 100%; height: 100px">Essential skills and concepts to help you get started in mk64 decomp</div>
|
||||
|
||||
|
||||
@subpage compiling
|
||||
@subpage concepts
|
||||
@subpage build
|
||||
@subpage test
|
||||
|
|
@ -0,0 +1,87 @@
|
|||
@page compiling Compiling mk64
|
||||
## Dependencies
|
||||
|
||||
The build system has the following package requirements:
|
||||
|
||||
binutils-mips >= 2.27
|
||||
python3 >= 3.6
|
||||
libaudiofile
|
||||
|
||||
To add submodules run `git submodule update --init --recursive` after cloning.
|
||||
|
||||
## EU Specific Steps (All versions)
|
||||
Both EU builds first requires US to be built first:
|
||||
```
|
||||
make -j
|
||||
```
|
||||
|
||||
Now build either EU 1.0 `eu-1.0` or EU 1.1 `eu-final`
|
||||
```
|
||||
make -j VERSION=eu-final
|
||||
```
|
||||
|
||||
diff/first-diff commands
|
||||
```
|
||||
python3 first-diff.py --eu
|
||||
./diff <function> -eu
|
||||
```
|
||||
|
||||
#### Debian / Ubuntu
|
||||
```
|
||||
sudo apt install build-essential pkg-config git binutils-mips-linux-gnu python3 zlib1g-dev libaudiofile-dev libcapstone-dev
|
||||
```
|
||||
|
||||
#### Arch Linux
|
||||
|
||||
To install build dependencies:
|
||||
```
|
||||
sudo pacman -S base-devel capstone python
|
||||
```
|
||||
Install the following AUR packages:
|
||||
* [mips64-elf-binutils](https://aur.archlinux.org/packages/mips64-elf-binutils) (AUR)
|
||||
|
||||
Review the n64decomp/sm64 readme for instructions to compile in other distributions.
|
||||
|
||||
#### Windows
|
||||
|
||||
Compiling on Windows requires `MSYS2 MinGW x64`. The setup process is a tad intensive.
|
||||
|
||||
[Instructions here](docs/BUILD_WINDOWS.md)
|
||||
|
||||
#### macOS
|
||||
|
||||
Install [Homebrew](https://brew.sh), then install the following dependencies:
|
||||
```
|
||||
brew update
|
||||
brew install python3 capstone coreutils make pkg-config tehzz/n64-dev/mips64-elf-binutils
|
||||
```
|
||||
|
||||
When building, use `gmake` to ensure that homebrew `make` is used instead of the old, macOS system `make`.
|
||||
|
||||
#### Docker
|
||||
|
||||
Build the Docker image:
|
||||
```
|
||||
docker build -t mk64 .
|
||||
```
|
||||
|
||||
When building and using other tools, append the following in front of every command you run:
|
||||
```bash
|
||||
docker run --rm -v ${PWD}:/mk64 mk64
|
||||
```
|
||||
|
||||
For example:
|
||||
```bash
|
||||
docker run --rm -v ${PWD}:/mk64 mk64 make -C tools
|
||||
docker run --rm -v ${PWD}:/mk64 mk64 make
|
||||
```
|
||||
|
||||
## Building
|
||||
|
||||
Place a US version of Mario Kart 64 called `baserom.us.z64` into the project folder for asset extraction.
|
||||
|
||||
Run the following commands after pulling:
|
||||
```bash
|
||||
make -C tools
|
||||
make
|
||||
```
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
@page test
|
||||
# test
|
||||
sdfsfdds
|
||||
Loading…
Reference in New Issue