Skip to content

SimoneN64/Kaizen

Repository files navigation

Kaizen

CodeFactor build

Rewrite of my Nintendo 64 emulator "shibumi".

Mario's face

Pre-built binaries

Release
Linux

Socials

We have a Discord server

Sister projects

  • n64: Low-level, fast, accurate and easy to use Nintendo 64 emulator
  • Panda3DS: A new HLE Nintendo 3DS emulator
  • Dust: Nintendo DS emulator for desktop devices and the web, with debugging features and a focus on accuracy
  • SkyEmu: A low-level GameBoy, GameBoy Color, GameBoy Advance and Nintendo DS emulator that is designed to be easy to use, cross platform and accurate
  • NanoBoyAdvance: A Game Boy Advance emulator focusing on hardware research and cycle-accurate emulation
  • melonDS: "DS emulator, sorta"; a Nintendo DS emulator focused on accuracy and ease-of-use
  • n64-emu: Experimental N64 emulator
  • ares: ares is a multi-system emulator that began development on October 14th, 2004. It focuses on accuracy and preservation.

Build instructions:

First clone the repository: git clone --recursive https://github.com/SimoneN64/Kaizen

Linux

Dependencies:

  • GCC or Clang with C++17 support
  • CMake 3.20 or higher
  • SDL2
  • Vulkan API (including the validation layers) + SPIR-V tools
  • Qt6
cd path/to/kaizen
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release -S ../src
cmake --build . --config Release

Running:

./path/to/kaizen [ROM] [Mupen Movie]

Your GPU needs to support Vulkan 1.1+, because the RDP is implemented via ParaLLEl-RDP.

Roadmap

  • Full R4300i emulation
  • Full RCP emulation
  • Full TLB emulation
  • Full joybus emulation (but it's not configurable by the user at the moment)
  • TAS replay (using Mupen's format)
  • Qt for native GUI
  • JIT, with support for x86_64 and ARM (using an IR).
  • Debug tools: disassembly, breakpoints, single-step and memory editor
  • TAS tools: TAS input, recording (using Mupen's format), save-states, rewind and frame-advance
  • Cheat support
  • Allow to optionally pass a PIF image for the boot process (it's HLE'd at the moment)
  • Windows support when it stops being a pain in the rectum.

This list will probably grow with time!

Special thanks:

  • ares for being the cleanest and most accurate Nintendo 64 emulator out there. It served as a reference time and time again. Especially regarding FPU accuracy.
  • Dillonb and KieronJ for bearing with me and my recurring brainfarts, and for the support ❤️
  • WhoBrokeTheBuild for the shader that allows letterboxing 🚀
  • Kelpsy, fleroviux, Kim-Dewelski, Peach, kivan, liuk and Skyler for the general support and motivation ❤️
  • Spec for being an awesome person in general ❤️

Copyright

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

Releases

No releases published

Packages

No packages published

Languages