Skip to content

Latest commit

 

History

History
116 lines (81 loc) · 2.61 KB

README.md

File metadata and controls

116 lines (81 loc) · 2.61 KB

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

  • Little endian machine
  • C++ compiler compatible with C++20
  • CMake

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

Linux

sudo apt install cmake libsdl2-dev g++

git clone --recursive [email protected]: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 [email protected]: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

  • + Control Pad : W/A/S/D
  • C Buttons (Directional Pad) : ↑/←/↓/→
  • A Button : Space
  • B Button : Right Shift
  • Control Stick : I/J/K/L
  • L/R Button : Q/P
  • Z Button : Z
  • Start : X
  • Abort emulator : Tab (Only for debugging)

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 ❤️

  • Project64: N64 Emulator
  • Simple64: Accurate N64 Emulator
  • n64: experimental low-level n64 emulator
  • Kaizen: Experimental Nintendo 64 emulator

Acknowledgements

Big thanks to Dillon for the ROMs n64-tests.

Copyright

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