n64dev/cen64 logo

n64dev/cen64

Free

Cycle-Accurate Nintendo 64 Emulator

FreeFree tier
Outputs: audio
Type
Open Source

About n64dev/cen64

CEN64 is a cycle-accurate Nintendo 64 emulator that emulates the console hardware down to the register-transfer level (RTL), aiming for perfect emulation. It is open-source and cross-platform, supporting Windows, Linux, and macOS (with manual build on Mac). The project includes components for CPU (VR4300), RDP, RSP, VI, and more, and offers keyboard controls, a debugger, and GDB integration. While not yet full speed on modest systems, it continues to be developed for accuracy and performance.

Key Features

Cycle-accurate emulation down to register-transfer level (RTL)
Cross-platform: Windows, Linux, macOS
Keyboard controls with support for 3D stick, buttons, and D-pad
Built-in debugger and GDB stub for debugging
Emulates VR4300 CPU, RDP, RSP, VI, AI, and other N64 subsystems
Open-source with community contributions welcome

Pros & Cons

Pros
  • Cycle-accurate emulation for high compatibility and accuracy
  • Open-source with active development on GitHub
  • Community contributions and pull requests encouraged
  • Cross-platform support with builds for Windows and Linux
  • Includes debugger and GDB integration for developers
Cons
  • Not yet full speed on modest systems (aiming for future optimization)
  • Mac version requires manual compilation (no prebuilt binary)
  • No graphical user interface (command-line based)
  • May have limited documentation for beginners

Best For

Nintendo 64 game preservation and emulationReverse-engineering N64 hardware and softwareLearning about console hardware design and low-level emulationDeveloping homebrew games or testing N64 ROMs

FAQ

What is CEN64?
CEN64 is a cycle-accurate Nintendo 64 emulator that emulates hardware down to the register-transfer level, aiming for perfect emulation.
What are the build requirements?
CMake, iconv, OpenAL, and OpenGL are required. Detailed instructions for Fedora and Windows are provided in the README.
What are the default keyboard controls?
Arrow keys for 3D stick, X for A, C for B, Z for Z, Enter for Start, A/S for L/R, TFGH for C-pad, IJKL for D-pad, and Shift to 'walk'.
Is there a debugger?
Yes, CEN64 includes a built-in debugger and supports GDB integration for low-level debugging.
Can I contribute to CEN64?
Yes, pull requests are welcome. Contributors are encouraged to add themselves to the CONTRIBUTORS file.