c8f416717b42c50aa1a0c85fbcd6975153728e1e
Kaizen
Rewrite of my Nintendo 64 emulator "shibumi".
Pre-built binaries
| Release |
|---|
| Windows |
| Linux |
Build instructions:
First clone the repository: git clone --recursive https://github.com/SimoneN64/Kaizen
Windows
This build uses Visual Studio with Vcpkg and Clang-cl
Dependencies:
- CMake 3.20 or higher
- SDL2 (install it by making sure that you're choosing the "vulkan" extension of the package and the x64-windows triplet:
vcpkg install sdl2[vulkan]:x64-windows) - fmtlib (install it by making sure that you're choosing the x64-windows triplet:
vcpkg install fmt:x64-windows) - nlohmann-json (install it by making sure that you're choosing the x64-windows triplet:
vcpkg install nlohmann-json:x64-windows)
cd path/to/kaizen
mkdir build
cd build
cmake -T clangcl -DCMAKE_TOOLCHAIN_FILE=path/to/vcpkg/scripts/buildsystems/vcpkg.cmake -DCMAKE_BUILD_TYPE=Release -S ../src
cmake --build . --config Release
Linux
Dependencies:
- GCC or Clang with C++17 support
- CMake 3.20 or higher
- SDL2
- fmtlib
- Vulkan API (including the validation layers) + SPIR-V tools
- nlohmann-json
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 or wxWidgets for native GUI (keeping ImGui as opt-in).
- 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)
This list will probably grow with time!
Special thanks:
- 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 help with testing on Windows, that helped form the final build instructions ❤️
Copyright
Nintendo 64 is a registered trademark of Nintendo Co., Ltd.
Description
Languages
C
99%
C++
1%
