Skip to main content

N64.wasm

The best Nintendo 64 emulator on the internet — purpose-built for the modern browser.


What Is This?

N64.wasm is a browser-native N64 emulator that exploits every modern web API that existing emulators ignore. It's not a port of an old codebase with a wrapper — it's a ground-up rearchitecture of the browser emulation experience.

Built as part of the TrickBook skateboarding platform to let riders play Tony Hawk's Pro Skater directly in the browser.


Why Build Another N64 Emulator?

Every browser N64 emulator today is leaving 2-3x performance on the table:

What They're Doing WrongWhat We Do Instead
WASM SIMD disabled (-DNOSSE)Full 128-bit SIMD for RSP vector unit
Single-threaded emulationMulti-threaded (CPU + RSP + Audio workers)
Emscripten 2.0.7 (circa 2021)Latest Emscripten 3.x with LTO
ScriptProcessorNode (deprecated)AudioWorklet on dedicated thread
Main-thread renderingOffscreenCanvas in Web Worker
iframe-only integrationNative React component
No social featuresClips, leaderboards, challenges

The Stack


Quick Stats

MetricOriginal N64WasmN64.wasm (Current)
RSP Performance1x (scalar)2-4x (WASM SIMD — 11,979 SIMD instructions)
Emscripten2.0.7 (2021)5.0.7 (2026)
Integrationiframe onlyNative React component (NextJS)
Controller SupportXbox/PS defaults, no C-buttonsN64 USB adapter + auto-detect wizard
UIBootstrap 4 genericRetro terminal theme
Thread Count11 (threading planned)
Audio LatencyHigh (main thread)High (AudioWorklet planned)
LicenseMITMIT (fork)

Live Demo

URL
Emulator (Standalone)localhost:8064 — original UI
Emulator (NextJS)play.weshuber.com — React component
Documentationn64.weshuber.com

Project Status

:::tip PHASE 1 — COMPLETE Forked N64Wasm, enabled WASM SIMD (11,979 instructions), upgraded Emscripten 2.0.7 → 5.0.7, fixed N64 USB controller mapping, added C-button joypad support, retro UI redesign, gamepad auto-detect wizard. :::

:::info PHASE 2 — COMPLETE NextJS 16 app with N64Emulator React component, COOP/COEP headers, deployed to play.weshuber.com via AWS Amplify CI/CD, GamepadStatus component, retro terminal theme. :::

:::warning PHASE 3 — UP NEXT Social features: clip recording, cloud saves, THPS leaderboards, save state sharing, challenge system. :::


Repositories

RepoPurposeLink
wbaxterh/n64-wasmWASM core (forked from N64Wasm, SIMD-enabled)GitHub
wbaxterh/n64-webNextJS app + React emulator componentGitHub
wbaxterh/n64-docsThis documentation siteGitHub

  • Emulator distribution is fully legal (Sony v. Connectix, Sony v. Bleem)
  • N64 requires no BIOS file (unlike PlayStation)
  • Users provide their own ROM files — we never host or distribute ROMs
  • N64Wasm base is MIT licensed — maximum freedom