KernelN64 is a Pure Java Windows Nintendo 64 emulator based on Jario64, with an Eclipse-friendly Java core, GLN64j graphics, experimental Direct3D 11 graphics, and Azimer HLE audio.
This is a development preview. Super Mario 64 and Mario Kart 64 are tested games in the Good tier. GameShark Pro 2.0 and 3.3 firmware ROMs are also tested, both in the Okay tier. All other games and firmware versions remain untested. No game ROMs, firmware ROMs, saves or game assets are included.
| Game | Status | Testing coverage |
|---|---|---|
| Super Mario 64 | Good | Has received the most local testing. |
| Mario Kart 64 | Good | USA version tested with GLN64j and experimental D3D11 using attract-mode race savestate replays, framebuffer comparisons, save/load checks, and ABI2 audio resampler checks. |
| GameShark Pro 2.0 firmware ROM | Okay | Standalone firmware support; physical pass-through cartridge behavior is not emulated. |
| GameShark Pro 3.3 firmware ROM | Okay | Standalone firmware support; physical pass-through cartridge behavior is not emulated. |
| All other games and firmware versions, including Zelda titles | Untested | Compatibility has not been verified. |
Tested does not mean fully compatible or verified through a complete playthrough. Results can vary by renderer, ROM revision, and scene. See the GLN64j compatibility notes for the Mario Kart 64 fixes and testing limits.
User-captured scenes from the two tested games. These screenshots show specific scenes; they do not establish compatibility with other games or every renderer.
- GLN64j and experimental native Direct3D 11 graphics, with live graphics/audio/input plugin switching.
- HLE audio, configurable fast mode, controller mapping and window settings.
- Savestates with numbered/named slots, file import/export and rewind.
- GameShark cheats, SM64 presets and address mapping for supported SM64 decomp builds with a matching ELF.
- CPU debugger, memory tools and a guest kernel thread monitor with audio handshake diagnostics.
- Recent ROMs and an EXE launcher for external tools.
Extract the entire Windows x64 ZIP into a writable folder and run KernelN64.exe. Its Java runtime and native libraries stay together in the extracted folder. Use File > Open ROM to open your own game image.
External tools can launch a ROM with:
.\KernelN64.exe "C:\Games\Example.z64"
.\KernelN64.exe --rom "C:\Games\Example.z64" --state "C:\States\scene.j64state"Install a 64-bit JDK 21 or newer. Import this folder as an existing Eclipse project named KernelN64, refresh it, and run kerneln64.Main or the shared KernelN64 launch configuration. Use the project folder as the working directory for saves and settings. GLN64j and D3D11 find their bundled native DLLs automatically; no manual library-path setup is required.
Requirements: Windows x64, a JDK 21+, Visual Studio or Build Tools with Desktop development with C++, the Windows 10/11 SDK, and the Windows .NET Framework C# compiler.
$env:JAVA_HOME = "C:\Path\To\Your\JDK"
.\launcher\Build.ps1Alternatively, pass -Jdk "C:\Path\To\Your\JDK". The build discovers Visual C++ with vswhere and writes the portable application to dist/KernelN64. It also refreshes Eclipse's compiled classes. The included JOGL/GlueGen dependencies are retained in KernelN64winportable for compatibility with existing project configuration.
The main application and native renderer sources are included. Testing fixtures and automated testing files are intentionally omitted from this prepared source snapshot.
Direct3D 11 is experimental; some N64 rasterization behavior is approximated. Standalone GameShark support provides firmware menu emulation, not a physical pass-through cartridge. Audio distortion presets are experiments and can destabilize a game; documented approximations are labeled in the preset notes.
Read third-party notices and release preparation before publishing this snapshot. GPL text is retained in COPYING, and original copyright/license notices remain in source files. Some inherited files also retain Project64 noncommercial-use terms; this snapshot does not replace or resolve those terms with a blanket license.



