cc1078d9e8e99221180baf58107214c875f65e52
Kaizen
Rewrite of my Nintendo 64 emulator "shibumi".
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 https://git.sr.ht/~irisz64/kaizen
Dependencies:
- GCC or Clang with C++23 support (it's possible to use Clang-cl on Windows)
- CMake 3.20 or higher
- Vulkan API (including the validation layers) + SPIR-V tools
cd path/to/kaizen
mkdir build
cmake -DCMAKE_BUILD_TYPE=Release -B build
cmake --build build/ --config Release
Running:
./build/kaizen [ROM] [Mupen Movie]
Your GPU needs to support Vulkan 1.3+, 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)
- ImGui frontend
- 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
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.
Description
Languages
C
99%
C++
1%