awesome-n64-development
A curated list of Nintendo 64 development resources including toolchains, documentation, emulators, example code, and more
https://github.com/command-tab/awesome-n64-development
Last synced: 26 days ago
JSON representation
Assemblers
- ARM9/bass - A fork of byuu's bass assembler which has been updated with Nintendo 64 MIPS/RSP/RDP output
- armips - An assembler for various ARM and MIPS platforms
- lips - A MIPS R4300i assembler written in Lua
- naken_asm - An assembler for a variety of CPUs including standard MIPS III (Nintendo 64 CPU) and RSP
- Screwaround64 - An interactive assembler for Nintendo 64
Community
- /r/N64Homebrew - The N64Homebrew subreddit
Development Hardware
Unmaintained
- GameShark 3.0+ - A method of running homebrew via a GameShark
- Replacement Carts - A set of EagleCAD files for manufacturing your own N64 carts
- ED64 Plus - A Chinese clone of the Everdrive 64 at a much cheaper price point. It also has a disconnected USB port with a missing FT245R chip that can be reattached for theoretical added functionality.
- 64drive - A flash cartridge with USB support targeted at developers. Currently near impossible to get new, or expensive second hand.
- Brutzelkarte - An open-source (hardware and software) FPGA-based flash cartridge
- El Barato 64 - An in-progress open source development cartridge
- N64cart - A flash cartridge based on the RP2040 microcontroller
- UltraHDMI - Tech](https://www.game-tech.us/product/ultrahdmi/)) - A board that can be installed into the console to capture the digital output of the RCP and send it out a Mini HDMI connector to a modern TV. Convenient for connecting a real console to a nearby monitor while viewing the best possible output signal.
- UltraSave - A device that works with the 64drive to transfer saves from real cartridges
- gs_libusb - GameShark Pro utilities using libusb over a USB parallel port adapter
- SummerCart64 - A fully open source, production ready, flashcart with 64DD implementation built-in. Mostly geared towards homebrew development.
- N64RGB - An N64RGB mod that supports every motherboard revision and works pretty well.
- sm64gameshark - How to transfer GameShark codes from USB to parallel, and how to identify GameShark cartridges with functional parallel ports
Documentation
- Ultra64 - An absolute wealth of documentation including official development manuals, as well as SDK downloads and reference material
- Console Protocols - Nintendo 64 hardware info, memory map, PIF boot stage reference, and JoyBus I/O documentation
-
dragonminded N64DEV
-
libdragonusage, Windows and Linux toolchains, and RCP documentation - N64 ROM Formats Explained - Details the three commonly encountered Nintendo 64 ROM formats (use Big Endian/.z64)
- Hack64 - A variety of documentation on RCP data structures, compression, assembly, and more
- 64DD wiki - Documentation on 64DD hardware, disks, and related cartridges
- cen64#58 - A cen64 issue comment summarizing the boot process
- Microcode from source - How to compile microcode from source
- N64 cartridge info - Cartridge pinout
- RSP - Detailed RSP documentation in the r64emu emulator repository
- N64dev - Useful N64 hacking links
- NEC VR4300 CPU Manual @ N64dev - The manual for the NEC VR4300 CPU used by the Nintendo 64
- N64 ROM Formats - A short N64 ROM format quick reference sheet
- 64DD-schematics - Schematics for the Nintendo 64 Disk Drive (N64DD)
- Accessory Reference - Guide on how to communicate with the Transfer Pak and Rumble Pak
- 64dd.org - Nintendo 64DD documentation, emulators, homebrew, and tools
Emulators
Actively Maintained
- simple64 - A fork of Mupen64Plus that is easy to use and also more accurate.
- Mupen64+ Reverser Edition - A fork of the Mupen64Plus emulator tailored for reverse engineering.
- Rosalie's Mupen GUI - a GUI for Mupen64Plus that works on Windows. One of the easiest and best ways to use Mupen64Plus with a GUI!
- Dillonb's dgb-n64 - A low-level, accurate N64 emulator for Windows and Linux. It includes a CPU recompiler, and emulates RDP with Vulkan (via parallel-RDP).
- Project64 - An open-source emulator for Windows and (soonTM) Linux/Android. It used to focus on compatibility with commercial games, but now also focuses on improving accuracy and emulating as much of the console as possible while remaining performant and compatible.
- Sixtyforce - A closed-source emulator for Mac
- mupen64plus - A more recently updated fork of Mupen64 for Linux, Mac OSX, FreeBSD, and Windows. No GUI is included, so you can use simple64, RMG, or the RetroArch core for a UI.
- ModLoader64 - modding/ModLoader64)) - A wrapper for Mupen64plus that enables modding through plugins written in TypeScript
- ares - A low-level, accurate multi-system emulator with good support for N64. Available in sources and binary distributions for Windows, Mac and Linux. It includes a CPU and RSP recompiler, and emulates RDP with Vulkan (via Parallel-RDP).
Unmaintained
- 1964 - An open-source emulator for Windows
- Wii64 - A port of mupen64 for Nintendo Wii and GameCube
- UltraHLE - An early emulator for Windows. Though closed-source, the source leaked in 2002.
- TrueReality - An open-source emulator
- Not64 - A fork of Wii64
- r64emu - A N64 low-level emulator written in Rust
- cen64 - A cycle-accurate emulator for Windows, Linux, and Mac. While currently not fast enough to play games at full speed, it aims for perfect emulation by emulating the hardware inside of the console down to the register-transfer level. Widely used to test ROMs in lieu of or before using real hardware.
- mupen64 - An open-source, multi-platform emulator
- Nemu64 - A closed-source emulator for Windows with fantastic debugging tools. Currently is incredibly difficult to run on modern Windows.
Works In Progress
- cor64 - An in-progress emulator written in C#
- Gopher64 - An N64 emulator written in Rust by the developer of Simple64, able to already play some commercial games at decent speeds!
- Kaizen (previously Gadolinium) - Work-in-progress emulator written in C++, able to already play some commercial games and replay Mupen TAS movies
Programming
Assembly
- N64 Assembly Language Tutorial - Fraser's detailed Nintendo 64 assembly programming guide
- n64ops - R4300i, RCP, and RSP opcode details
- PeterLemon/N64 - Nintendo 64 bare metal MIPS assembly programming reference
- N64-ASM-Tutorial - The support files for N64 Assembly Language Tutorial
- n64-assembly - A Visual Studio Code extension that provides language support and theme for the Nintendo 64 assembly language
- n64-asm-timing - Nintendo 64 CPU instruction timing
- neon64v2 - An original Nintendo Entertainment System emulator, written in assembly
- cubeworld - The beginnings of an experimental game, written in assembly
- sodium64 - A SNES emulator for the N64, written in assembly
C
- N64 Homebrew Starter Guide - Buu342's guide to creating an N64 game with the official SDK
- moria.us #nintendo-64 - A series of blog posts covering a broad range of Nintendo 64 development topics
- N64brew Game Jam 2020 - N64brew Game Jam 2020 submissions
- N64brew Game Jam 2021 - N64brew Game Jam 2021 submissions
- N64brew Game Jam 2022 - N64brew Game Jam 2022 submissions
- N64brew Game Jam 2023 - N64brew Game Jam 2023 submissions
- helloworld - Hello World example using NuSystem and S2DEX microcode
- n64-sdk-demo - jsdf's detailed example with heavily-commented source showing basic usage of the official SDK and the NuSystem library
- N64brew Game Jam 2024 - A collaborative minigame ROM for the N64brew Game Jam 2024
- brick64 - A homebrew 3D brick-breaker game using the official SDK
-
Driving Strikers 64
- A Nintendo 64 port of the indie Dreamcast game Driving Strikers using
libdragonandtiny3d - goose64 - jsdf's Untitled Goose Game "demake"
-
BrewChristmas
- A single 3D holiday scene built using
libdragonandtiny3d - old-castle - A homebrew game based on a NuSystem sample from the official SDK
- n64-gameoflife
- shibamatch - A Shiba Inu-themed memory match game
- ochim - An up to 4 player action puzzle game
- n64zlibbench - A zlib benchmark with result display
- small64 - The first Nintendo 64 4K intro (a demoscene executable that produces visuals and music using 4KB or less)
-
chip8-n64
- A CHIP-8 emulator, using
libdragon -
ClassiCube
- A multi-platform Minecraft Classic / ClassiCube client with early N64 support, using
libdragon - gb64 - A Nintendo Game Boy emulator that runs on real hardware
- mvs64 - A NeoGeo emulator
- n64-gba - A proof of concept Game Boy Advance emulator (only runs ARMWrestler, a CPU exercise ROM)
- paniclab64 - A homebrew game inspired by Panic Lab from Gigamic
- platformer64 - An in-progress adventure platformer
- aw64 - (C++) A Nintendo 64 port of the bytecode interpreter from Another World/Out of This World
- Mine64 - A Minecraft clone, using Nintendo's NuSystem library
- N64-NetLib - A set of tools and libraries to connect your Nintendo 64 homebrew to the internet
-
n64_bullet_demo
- An example of using Bullet Physics with
libdragon's OpenGL branch to create physics simulations -
FlappyBird-N64
- A demake of Flappy Bird using
libdragon -
Happy Little Frog Game
- An in-progress platformer made with
libdragonandtiny3d -
N64-RPG
- An in-progress RPG engine using
libdragon -
n64triangle
- RDP triangle demo, using
libdragon - non_nusys_demo - A complex demo built without relying on Nintendo's NuSystem library
- SpaceCube64 - A space-like shooter game made in a weekend for TOJam 2024
- 64doom - A source port of the original DOOM
-
cmake-demo-rom
- Demonstrates building toolchains and a ROM using CMake and
libdragon - ultra64-templates - Game templates/starting points for use with n64sdkmod
-
vlak64
- A reimplementation of the classic DOS game Vlak using
libdragon -
BrewReality
- A 3D flight simulator tech demo built with
libdragon, featuring 128x128 textures and dynamic sky and lighting -
CounterEmotion-Bar
- A Targem Games 3-Day GameJam 2025 entry built with
libdragonandtiny3d -
Pong64
- A port of Pong featuring additional game modes, using
libdragon - ultra64demos - Original SGI Nintendo 64 technical demos
- UltraEd - An in-progress level editor and game engine
- Memory64-N64 - A Simon style memory game with Rumble Pak support, using libdragon
- N64brew Game Jam 2025 - N64brew Game Jam 2025 submissions
-
pyrite64
- A game engine and editor using
libdragonandtiny3dfrom C++ -
Legend of Elya
- A Zelda-style ROM running a transformer for live LLM inference powering an NPC, built with
libdragon - N64Squid Homebrew - Development walkthrough using the NuSystem library that's part of the official SDK
-
Penguins Luv Melons
- A homebrew game built with
libdragon -
hash-bench-n64
- Hash-algorithm benchmark ROM that times 32 cryptographic and non-cryptographic hashes (CRC, MD5, SHA-1, SHA-512, BLAKE2s, etc.) on the VR4300 and displays µs/iter and KB/s on screen, using
libdragon
Go
- clktmr/n64 - Support for Nintendo 64 in embeddedgo
- gopher-kart - A port of the original gopher-kart browser game to demo Go support
- Getting Started with Go - A blog post about building a ROM in Go, covering framebuffer output, controller polling, and audio playback
Rust
- rrt0/examples - Rust examples using cargo-n64
- n64-systemtest - A collection of hardware tests written in Rust
-
cargo-n64
- A
cargosubcommand to build Nintendo 64 ROMs in Rust - n64toolchain - Rust Implementation of a Nintendo 64 ROM toolchain
- rs64-rt - Minimal Rust startup / runtime for Nintendo 64
- rs64-periph - Fairly raw N64 MMIO definitions
- rs64-rom - Rust library for manipulating ROMs
-
libdragon-rs
- Rust bindings to
libdragon - rs64romtool - Tool for manipulating ROMs (depends on rs64-rom)
- rrt0 - A simple cross-platform runtime / startup for Rust on embedded devices
- n64rom-rs - A library and toolkit for working with ROMs
-
loka-n64
- Nintendo 64 tools (including
extract_boot_code, useful for cargo-n64) and a work in progress game - n64-slides-apr - Source code for April 2019 Rust Meetup slides as a Nintendo 64 ROM
-
libdragon-bindings
- Rust bindings and interface for
libdragon
Reverse Engineering
Guides and Reference
- n64-decompiling - An overview of decompiling Nintendo 64 ROMs with Ghidra
- awesome-decompilation - A curated list of awesome decompilation resources and projects
Projects
- shogihax - Details a remote code execution exploit of the Nintendo 64 via the Morita Shogi 64 cartridge and its dialup modem
- Virtual Pro Wrestling 2: Ōdō Keishō - An in-progress decompilation of Virtual Pro Wrestling 2: Ōdō Keishō
- Mario Party 2 - An in-progress decompilation of Mario Party 2
- AeroGauge - An in-progress decompilation of AeroGauge
- Aidyn Chronicles - An in-progress decompilation of Aidyn Chronicles
- Banjo-Kazooie - A complete decompilation of Banjo-Kazooie
- Banjo-Tooie - An in-progress decompilation of Banjo-Tooie
- Blast Corps - An in-progress decompilation of Blast Corps
- Body Harvest - An in-progress decompilation of Body Harvest in D (see also DeltaniumIndustries/BodyHarvestDecomp)
- Bomberman 64 - An in-progress decompilation of Bomberman 64
- Bomberman 64: The Second Attack! - An in-progress decompilation of Bomberman 64: The Second Attack!
- Bomberman Hero - An in-progress decompilation of Bomberman Hero
- Castlevania 64 - An in-progress decompilation of Castlevania 64
- Chameleon Twist - An in-progress decompilation of Chameleon Twist
- Chameleon Twist 2 - An in-progress decompilation of Chameleon Twist 2
- Conker's Bad Fur Day - An in-progress decompilation of Conker's Bad Fur Day
- Dark Rift - An in-progress decompilation of Dark Rift
- Diddy Kong Racing - An in-progress decompilation of Diddy Kong Racing
- Dinosaur Planet - An in-progress decompilation of Dinosaur Planet
- Donkey Kong 64 - An in-progress decompilation of Donkey Kong 64
- Doom 64 - A complete decompilation of Doom 64
- Dōbutsu no Mori - An in-progress decompilation of Dōbutsu no Mori
- Dr. Mario 64 - An in-progress decompilation of Dr. Mario 64
- Duke Nukem 64 - An in-progress decompilation of Duke Nukem 64
- Duke Nukem: Zero Hour - A complete decompilation of Duke Nukem: Zero Hour
- F-Zero X - An in-progress decompilation of F-Zero X
- F-Zero X Expansion Kit - An in-progress decompilation of the F-Zero X Expansion Kit
- Gauntlet Legends - An in-progress decompilation of Gauntlet Legends
- Gex 64: Enter the Gecko - An in-progress decompilation of Gex 64: Enter the Gecko
- Glover - An in-progress decompilation of Glover
- GoldenEye 007 - An in-progress decompilation of GoldenEye 007
- Harvest Moon 64 - An in-progress decompilation of Harvest Moon 64
- Jet Force Gemini - An in-progress decompilation of Jet Force Gemini
- Kirby 64: The Crystal Shards - An in-progress decompilation of Kirby 64: The Crystal Shards
- Knife Edge: Nose Gunner - Configures a reverse engineering environment (Mupen64+ RE, Ghidra, etc.) for Knife Edge: Nose Gunner
- Lego Racers - An in-progress decompilation of Lego Racers
- Mario Golf - An in-progress decompilation of Mario Golf
- Mario Kart 64 - A complete decompilation of Mario Kart 64
- Mario Party - An in-progress decompilation of Mario Party
- Mario Party 3 - An in-progress decompilation of Mario Party 3
- Mario Tennis - An in-progress decompilation of Mario Tennis
- Mischief Makers - An in-progress decompilation of Mischief Makers
- Mystical Ninja Starring Goemon - An in-progress decompilation of Mystical Ninja Starring Goemon
- Neon Genesis Evangelion 64 - An in-progress decompilation of Neon Genesis Evangelion 64
- Onegai Monsters - An in-progress decompilation of Onegai Monsters
- Paper Mario - A complete decompilation of Paper Mario
- Perfect Dark - A complete decompilation of Perfect Dark (see also pdtools)
- Pokémon Puzzle League - An in-progress decompilation of Pokémon Puzzle League
- Pokémon Snap - An in-progress decompilation of Pokémon Snap
- Pokémon Stadium - An in-progress decompilation of Pokémon Stadium
- Pokémon Stadium 2 - An in-progress decompilation of Pokémon Stadium 2
- Quest 64 - An in-progress decompilation of Quest 64
- Rocket: Robot on Wheels - An in-progress decompilation of Rocket: Robot on Wheels
- Sharkwire 64 - An in-progress decompilation of the SharkWire Online cartridge firmware
- Shadowgate 64 - An in-progress decompilation of Shadowgate 64
- Snowboard Kids 2 - An in-progress decompilation of Snowboard Kids 2
- Space Station Silicon Valley - An in-progress decompilation of Space Station Silicon Valley
- Star Fox 64 - An in-progress decompilation of Star Fox 64
- Star Wars: Shadows of the Empire - An in-progress decompilation of Star Wars: Shadows of the Empire
- Super Mario 64 - A complete decompilation of Super Mario 64
- Super Smash Bros. - An in-progress decompilation of Super Smash Bros.
- Superman 64 - An in-progress decompilation of Superman 64
- The Legend of Zelda: Majora's Mask - A complete decompilation of The Legend of Zelda: Majora's Mask
- The Legend of Zelda: Ocarina of Time - A complete decompilation of The Legend of Zelda: Ocarina of Time