mirror of
https://github.com/SimoneN64/Kaizen.git
synced 2025-04-02 10:41:53 -04:00
attempt to fix ci attempt to fix ci attempt to fix ci attempt to fix ci attempt to fix ci attempt to fix ci attempt to fix ci
4.5 KiB
4.5 KiB
Kaizen
Rewrite of my Nintendo 64 emulator "shibumi".
Pre-built binaries
Release |
---|
Windows |
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
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
) - Qt6 (install it with
vcpkg install qtbase[core,gui,widgets,vulkan]: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
- 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)
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.