An experimental, work-in-progress N64 emulator. It can boot one game so far: Namco Museum 64:
Put SDL2.dll in the same directory as the executable (Windows). The path to the rom file used can be supplied as the first command-line argument. It must be in big-endian format. The path to the PIF boot room can also be supplied as the second argument.
- Dear ImGui (git submodule)
- Native File Dialog Extended (git submodule)
- parallel-rdp-standalone (git submodule)
- SDL2 (static and shared library; last tested SDL2-2.0.22)
This project uses C++23 features, and also C++20 modules. As such, this currently only compiles on MSVC due to Clang's and GCC's incomplete implementations of modules.
x86; SSE4.1; vulkan
Suite | Passing | Notes |
---|---|---|
Dillon's CPU tests | 26/26 ✔️ | |
Peter Lemon's CPUTest/CP0 | 2/2 ✔️ | |
Peter Lemon's CPUTest/CP1 | 28/46 ❌ | Most failing are in C/FPUCompare/ |
Peter Lemon's CPUTest/CPU | 44/45 ❌ | Failing: CPUTIMINGNTSC |
Peter Lemon's CPUTest/DMAAlignment-PI-cart | 3/4 ❌ | Failing: DMAAlignment-PI-ROM-FROM |
Peter Lemon's CPUTest/Exceptions | 16/17 ❌ | Failing: ExceptionCompareDisabled. Logs suggest that it wants cause.ip7 to be set? |
Peter Lemon's FrameBuffer | 4/4 ✔️ | |
Peter Lemon's RCP | 2/2 ✔️ | |
Peter Lemon's RDPTest | 2/2 ✔️ | |
Peter Lemon's RDRAMTest | 0/1 ❌ | |
Peter Lemon's RSPTest/CP2 | 24/26 ❌ | Failing: RSPCP2LWV, RSPTransposeMatrixVMOV |
Peter Lemon's RSPTest/CP2/RESERVED | 0/12 ❌ | |
Peter Lemon's RSPTest/CPU | 14/14 ✔️ | |
Peter Lemon's RSPTest/DMAAlignment-SP | 0/2 ❌ | |
Peter Lemon's RSPTest/MEM | 1/1 ✔️ | |
Peter Lemon's RSPTest/XBUS | 0/1 ❌ |