Giter Club home page Giter Club logo

kaizen's Introduction

Kaizen

CodeFactor build

Rewrite of my Nintendo 64 emulator "shibumi".

Mario's face

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:

Copyright

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

kaizen's People

Contributors

simonen64 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

kaizen's Issues

Banjo to Kazooie no Daibouken 2 (J) - does this

image

Banjo to Kazooie no Daibouken 2 (J) - 5A5172383037D171F121790959962703BE1F373C

This game is a bit weird...it boots, and only shows some models and textures near water. The water animates, and it just stays here and doesn't do anything. The US version also does this.

The Australian and PAL version just hang at the intro...

Tested on the latest version of Gadolinium on Windows 10.

64 Hanafuda - Tenshi no Yakusoku crashes at launch

64 Hanafuda - Tenshi no Yakusoku (J) [!] - 36D1B4EF15CDA8139FACE7E118CB34727C30BF29

This game crashes immediately to the desktop with no error messages.

Tested on the latest version of Gadolinium on Windows 10.

Black screen in any program - PIF issue

I'm currently rewriting the PIF and implementing devices and channels properly. At the current state, this implementation should be equivalent to the previous one, but somehow it produced this issue. Needs investigation

Crash on Windows.

Needs inspection. I currently don't even know exactly which commit introduced it. git bisect might help.

BattleTanx (U) - hangs at boot

BattleTanx (U) - 535860D941738AC1210C20A9B80114FEA0E0FF17

This game hangs at boot.

Tested on the latest Gadolinium on Windows 10.

40 Winks (E) (M3) (Prototype) doesn't start

40 Winks (E) (M3) (Prototype) - 3774E87AA383220060D330314F2C5BBB872F72CE

Same issue as 007 The World Is Not Enough (PAL), it doesn't start and throws a similar message that you get when starting a game made for outside your console's region.

Tested on the latest version of Gadolinium on Windows 10.

All Star Tennis '99 (E) - hangs at intro

All Star Tennis '99 (E) - 09DDBD45F4962735DEF65399B5792E3BB5BD7D3C

This game hangs at the intro.

The NTSC version works fine, so just an issue with the PAL version.

Tested on the latest version of Gadolinium on Windows 10.

Buck Bumble (E) - hangs at boot

Buck Bumble (E) - 1123BFAC4EC3730A54900CA83E196065CBB4B6E2

This game hangs at boot.

Tested on the latest version of Gadolinium on Windows 10.

Bokujou Monogatari 2 (J) (1.0, 1.1, and 1.2) - hangs at boot

Bokujou Monogatari 2 (J) (1.0) - E41D15C394B5FEFD4016ADD3883A794C48E7E232
Bokujou Monogatari 2 (J) (1.1) - 211313FE7CA7A4E0BF376AFCF7C83C51E5C7F1A0
Bokujou Monogatari 2 (J) (1.2) - 74C5FD9647B702E889A5F2094D4BC4001BD6F68B

This is the Japanese version of Harvest Moon.

All versions of this game hang at boot.

Tested on the latest version of Gadolinium on Windows 10.

Armorines - Project S.W.A.R.M. (E) - hangs at intro

Armorines - Project S.W.A.R.M. (E) - 66F2B431D2275B2563692BFD053D4C0118E0E0C2

This game hangs at the intro.

The German version also hangs at the intro, and the NTSC version does as well. Probably all related.

Tested on the latest version of Gadolonium on Windows 10.

BMP View by Count0 (PD) - hangs at boot

BMP View by Count0 (PD) - D0198F81D841A9141D8FB24A667D2A3B6F5DE9DD

This homebrew hangs at boot.

Tested using the latest version of Gadolinium on Windows 10.

Army Men - Sarge's Heroes (PAL and NTSC) - crashes at boot

Army Men - Sarge's Heroes (PAL) - 00E594FA64DA61C2AD3138A31A22B9854BB3FAFA

Army Men - Sarge's Heroes (NTSC) - 1824380911579424E50042D45AEF4851F7AB25A7

This game crashes at boot.

Tested on the latest version of Gadolinium on Windows 10.

64 Oozumou 2 (J) crashes at boot

64 Oozumou 2 (J) - 6D524E0D0DD610DFB0C3BCCAA88EF1E7AECEAB98

This game crashes at boot, seemingly random during the intros. Running via the command-line doesn't help diagnose the issue.

Tested on the latest version of Gadolinium on Windows 10.

007 The World Is Not Enough (E) doesn't start

007 - The World is Not Enough (E) (M3) [!] - 7FDE668850A7E1A8402AB94BB09538A537A7E38B

This game doesn't start because it throws up an error that usually occurs when you run a game from a different region in your console.

Tested on the latest version of Gadolinium on Windows 10.

Software appears to always see the initial memory pak as corrupted or damaged

This always requires a repair/format/etc. I believe this was an issue in other emulators, even mature emulators, although I'm not sure how they ended up fixing the issue to be honest, I'd have to ask around.

Shouldn't be too difficult to fix, though, and should improve usability of the emulator a bit. ๐Ÿ˜„

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.