Home

Awesome

n64-emu

n64-emu is an experimental Nintendo 64 emulator, which aims to complete graphic and audio emulation for commercial ROMs such as Kirby 64: The Crystal Shards and The legend of Zelda: Ocarina of Time.

Note n64-emu is in a very early stage of development now. No commercial ROM can run on it. However, simple ROMs such as Mimi Controller Test can run on it.

Build

We do not distribute pre-built binaries. Sorry!

Prerequisites

We support MSVC++. Clang and GCC are not tested, but probably OK 🤞

Linux

sudo apt install cmake libsdl2-dev g++

git clone --recursive git@github.com:kmc-jp/n64-emu.git
cd n64-emu
mkdir build
cd build
# configure build
cmake ..
# build
make # or cmake --build . 

Windows

  1. Donwload SDL2 from https://github.com/libsdl-org/SDL/releases and extract it.
  2. Set SDL2_DIR environment variable to poiont the location where you extracted the SDL2 development package.
  3. Run the follwoing commands
git clone --recursive git@github.com:kmc-jp/n64-emu.git
cd n64-emu
mkdir build
cd build
# configure build
cmake ..
# build
make # or cmake --build . 

macOS

TODO: Asking for help!

Run

Only the z64 format (big enddian) is supported.

./n64[.exe] <rom_file.z64>

Key mappings

See https://en-americas-support.nintendo.com/app/answers/detail/a_id/56673/~/nintendo-64-controller-diagram

We plan to make N64 controllers available on this emulator.

TODO: Other buttons

Test

# In build directory
ctest -C Debug

Contributing

We do not currently accept pull requests to add new feature. But bug reports/fixes and adding tests are always welcome 😀 See CONTRIBUTING.md(ja).

Related Projects

We are much inspired by the following projects ❤️

Acknowledgements

Big thanks to Dillon for the ROMs n64-tests.

Copyright

"Nintendo 64" is registered trademark of Nintendo Co., Ltd.