mirror of
https://github.com/parasyte/alt64
synced 2024-11-16 14:15:12 -05:00
90fb4e39a5
- Replaced the cheat file format with YAML - Replaced the simulate_boot function with a small bit of C, and a loader in assembly - The loader is fairly well-documented, and points out which register states are required for CICs - Also includes a giant patcher function (relocatable assembly) which can patch the exception handler and run the code engine - The code engine is GS Pro 3.30-compatible, and supports all code types
140 lines
3.3 KiB
Markdown
140 lines
3.3 KiB
Markdown
# alt64
|
|
|
|
Alternative Everdrive64 menu
|
|
|
|
Kuroneko!
|
|
|
|
:\ /; _
|
|
; \___/ ; ; ;
|
|
,:-"' `"-:. / ;
|
|
_ /,---. ,---.\ _ _; /
|
|
_:>(( | ) ( | ))<:_ ,-""_,"
|
|
\````` `````/""""",-""
|
|
'-.._ v _..-' )
|
|
/ ___ ____,.. \
|
|
/ / | | | ( \. \
|
|
ctr / / | | | | \ \
|
|
`" `" `" `"
|
|
|
|
nyannyannyannyannyannyannyannyannyannyannyannyannyannyannyannyannyan
|
|
|
|
|
|
`alt64` is an open source menu for [Everdrive64](http://krikzz.com/). It was
|
|
originally written by saturnu, and released on the
|
|
[Everdrive64 forum](http://krikzz.com/forum/index.php?topic=816.0).
|
|
|
|
## Building
|
|
|
|
If you want to build the menu, you need an n64 toolchain. We'll use the
|
|
toolchain recommended by libdragon, with some updated versions.
|
|
|
|
### Dependencies
|
|
|
|
* [libdragon](https://github.com/parasyte/libdragon)
|
|
* [libmikmod-n64](https://github.com/parasyte/libmikmod-n64)
|
|
* [libmad-n64](https://github.com/parasyte/libmad-n64)
|
|
* [libyaml](http://pyyaml.org/wiki/LibYAML)
|
|
|
|
### Build the Toolchain
|
|
|
|
*You may skip this step if it's already installed.*
|
|
|
|
Clone the `libdragon` repo and create a directory for the build.
|
|
|
|
```bash
|
|
$ git clone https://github.com/parasyte/libdragon.git
|
|
$ mkdir libdragon/build_gcc
|
|
$ cp libdragon/tools/build libdragon/build_gcc
|
|
$ cd libdragon/build_gcc
|
|
```
|
|
|
|
Modify the `build` script to set your installation path. Here is the default:
|
|
|
|
```bash
|
|
# EDIT THIS LINE TO CHANGE YOUR INSTALL PATH!
|
|
export INSTALL_PATH=/usr/local/mips64-elf
|
|
```
|
|
|
|
Build it! This can take an hour or more.
|
|
|
|
```bash
|
|
$ ./build
|
|
```
|
|
|
|
### Configure your Environment
|
|
|
|
Add the following environment variable to your `~/.bash_profile` or `~/.bashrc`
|
|
Be sure to use the same path that you configured in the build script!
|
|
|
|
```bash
|
|
export N64_INST=/usr/local/mips64-elf
|
|
```
|
|
|
|
### Build `libdragon`
|
|
|
|
Make sure you are in the `libdragon` top-level directory, and make sure `libpng`
|
|
is installed:
|
|
|
|
```bash
|
|
$ make && make install
|
|
$ make tools && make tools-install
|
|
```
|
|
|
|
### Build `libmikmod`
|
|
|
|
Clone `libmikmod-n64` and build:
|
|
|
|
```bash
|
|
$ git clone https://github.com/parasyte/libmikmod-n64.git
|
|
$ cd libmikmod-n64
|
|
$ make
|
|
$ make install
|
|
```
|
|
|
|
### Build `libmad-n64`
|
|
|
|
Clone `libmad-n64` and build, be sure to set the path according to your
|
|
toolchain installation path:
|
|
|
|
```bash
|
|
$ git clone https://github.com/parasyte/libmad-n64.git
|
|
$ cd libmad-n64
|
|
$ export PATH=$PATH:$(N64_INST)/bin
|
|
$ CFLAGS="-march=vr4300 -mtune=vr4300 -mno-extern-sdata" \
|
|
LDFLAGS="-L$(N64_INST)/lib" LIBS="-lc -lnosys" \
|
|
./configure --host=mips64-elf --disable-shared \
|
|
--prefix=$(N64_INST) --enable-speed --enable-fpm=mips
|
|
$ make
|
|
$ make install
|
|
```
|
|
|
|
### Build `libyaml`
|
|
|
|
Download libyaml 0.1.6 and build, be sure to set the path according to your
|
|
toolchain installation path:
|
|
|
|
```bash
|
|
$ hg clone https://bitbucket.org/xi/libyaml
|
|
$ cd libyaml
|
|
$ hg update 0.1.6
|
|
$ ./bootstrap
|
|
$ export PATH=$PATH:$(N64_INST)/bin
|
|
$ CFLAGS="-std=gnu99 -march=vr4300 -mtune=vr4300" \
|
|
LDFLAGS="-L$(N64_INST)/lib -Tn64ld.x" \
|
|
LIBS="-ldragon -lc -ldragonsys -lnosys" \
|
|
./configure --host=mips64-elf --prefix=$(N64_INST)
|
|
$ make
|
|
$ make install
|
|
```
|
|
|
|
### Build `alt64`
|
|
|
|
Finally, we can clone `alt64` and build it!
|
|
|
|
```bash
|
|
$ git clone https://github.com/parasyte/alt64.git
|
|
$ make
|
|
```
|
|
|
|
If it all worked, you will find `OS64.v64` in the `alt64` top-level directory.
|