- 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
3.3 KiB
alt64
Alternative Everdrive64 menu
Kuroneko!
:\ /; _
; \___/ ; ; ;
,:-"' `"-:. / ;
_ /,---. ,---.\ _ _; /
_:>(( | ) ( | ))<:_ ,-""_,"
\````` `````/""""",-""
'-.._ v _..-' )
/ ___ ____,.. \
/ / | | | ( \. \
ctr / / | | | | \ \
`" `" `" `"
nyannyannyannyannyannyannyannyannyannyannyannyannyannyannyannyannyan
alt64
is an open source menu for Everdrive64. It was
originally written by saturnu, and released on the
Everdrive64 forum.
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
Build the Toolchain
You may skip this step if it's already installed.
Clone the libdragon
repo and create a directory for the build.
$ 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:
# EDIT THIS LINE TO CHANGE YOUR INSTALL PATH!
export INSTALL_PATH=/usr/local/mips64-elf
Build it! This can take an hour or more.
$ ./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!
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:
$ make && make install
$ make tools && make tools-install
Build libmikmod
Clone libmikmod-n64
and build:
$ 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:
$ 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:
$ 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!
$ git clone https://github.com/parasyte/alt64.git
$ make
If it all worked, you will find OS64.v64
in the alt64
top-level directory.