An open API service indexing awesome lists of open source software.

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: 6 days ago
JSON representation

  • Reverse Engineering

    • Projects

    • Tools and Disassemblers

      • RI Probe - A ROM that dumps RDRAM values onscreen for debugging and exploring
      • Online Disassembler - A lightweight, online service for when you don't have the time, resources, or requirements to use a heavier-weight alternative
      • GEDecompressor - Decompressor for a wide variety of compression formats used across various titles
      • asm-differ - A `diff` script for MIPS assembly
      • bdiff - A local binary diffing tool
      • decomp-permuter - A tool to randomly permute C files to better match a target binary
      • m2c - An open-source MIPS decompiler, useful for understanding and reimplementing N64 games' behavior in C
      • m3c - A tool to assist with N64 decompilation that runs [m2c](https://github.com/matt-kempster/m2c) and [decomp-permuter](https://github.com/simonlindholm/decomp-permuter) to try to automatically decompile functions
      • N64LoaderWV - Nintendo 64 ROM loader for the [Ghidra](https://github.com/NationalSecurityAgency/ghidra) reverse engineering tool
      • n64sym - Scans a RAM dump for symbols from a given library or object file
      • openocd_n64 - An [OpenOCD](http://openocd.org/doc/html/About.html) configuration for the Nintendo 64 CPU
      • rabbitizer - An API for decoding MIPS instructions
      • spimdisasm - Matching MIPS disassembler API and front-ends with built-in instruction analysis
      • RI Probe - A ROM that dumps RDRAM values onscreen for debugging and exploring
  • Toolchains

    • Official Nintendo 64 SDKs - Official Nintendo 64 Software Development Kits for Windows and SGI IRIX
    • N64 SDK Easy Install CD - An ISO image made by AlphaTango and CrashOveride to simplify installation of the official SDK. Works on Windows 98-XP.
    • n64sdkmod - A `libultra` SDK for the modern era, supported on Debian-based Linux distros
    • n64chain - A development toolchain based on GCC that does not depend on any proprietary Nintendo library
    • modern-n64sdk - Describes how to get a modern build of GCC cross-compiling on a modern OS (Linux, Windows, macOS)
    • portable-n64-toolchain - A Dockerized toolchain based on modern-n64sdk
    • libdragon-docker - Dockerized toolchain based on [libdragon](https://github.com/DragonMinded/libdragon)
    • homebrew-n64-dev - macOS `gcc` and `binutils` [Homebrew](https://brew.sh) formulae for Nintendo 64 development
    • mips64-gcc-toolchain - Windows and Linux scripts to automate building of a modern MIPS64 GCC toolchain for Nintendo 64 cross compilation
    • glankk/n64 - A collection of files and tools used to compile and test code for the Nintendo 64
    • n64sdkmod - A `libultra` SDK for the modern era, supported on Debian-based Linux distros
    • mips64-gcc-toolchain - Windows and Linux scripts to automate building of a modern MIPS64 GCC toolchain for Nintendo 64 cross compilation
  • Tools and Libraries

    • Asset Conversion and Viewing

      • 64Drive Viewer - Preview textures, images, sounds, and 3D models on hardware with a 64drive over USB
      • Blen64 - Blender scripts to export meshes to draw lists as header files
      • Blender64 - A Python tool to export Blender 3D models to F3DEX2 microcode display lists
      • blend2niff - A Blender add-on to export to [NIFF2](http://n64devkit.square7.ch/niff/index.htm) (Nintendo Intermediate File Format 2)
      • Sausage64 - A Blender plugin to export "sausage link" style character models with animations
      • Fast64 - A Blender plugin to preview and export meshes as F3D display lists for decomp and homebrew projects.
      • objn64 - Wavefront `.obj` model converter that generates optimized displaylists for compilation with `libultra`
      • Obj2N64DL - Another Wavefront `.obj` to displaylist converter
      • Max_To_N64 - Scripts to export models from 3DS Max to C
      • N64_3DRenderingTest - A basic model viewer using NuSystem
      • n64texconv - A Python tool to convert PNG to RGBA(16/32), CI(4/8), and I(A)(4/8)
      • png2n64 - A Python 3 script to convert PNG images to 16 bit RBGA
      • png2c - A C++ command line tool to convert PNG images to `libultra`-compatible texture header files
      • GML-N64TextureConverter - Converts standard image formats to Nintendo 64 compatible C header files
      • n64CIconverter - Converts standard image formats to Nintendo 64's [Color Index (CI) format](https://n64squid.com/homebrew/n64-sdk/textures/image-formats/#CI)
      • N64GFXCookie - Nintendo 64 CI8 format graphics viewer/editor
      • n64rawgfx - A tool to export and import uncompressed/raw graphics from ROMs
      • Texture64 - A texture ripper and editor with support for multiple formats
      • ImageMerge - Converts two 8-bit images into 2-bit images and packs them into 1 image to save space in a ROM
      • Spritemapper - Arranges a directory of equally-sized images into a sprite map and compresses it
      • xo-tt64 - Converts input images to .c files of the same name
      • mkspriten64 - Windows equivalent to the SGI program `mksprite`. Converts .png to a .h header and .c source file.
      • mksprite2 - A Python 3 script to create sprite and background objects for use with S2DEX microcode
      • n64texconv - A Python tool to convert PNG to RGBA(16/32), CI(4/8), and I(A)(4/8)
      • Sausage64 - A Blender plugin to export "sausage link" style character models with animations
    • Audio Playback and Editing

      • N64-Tools - A tool to extract and import audio from many games that make use of the MIDI format
      • N64-Tools - A tool to extract and import audio from many games that make use of the MIDI format
      • libmad-n64 - [libmad](https://www.underbit.com/products/mad/) with MIPS patches, for MPEG audio playback
      • seq64 - A full-featured editor for sequenced music in first-party games
      • N64-SoundTester - A ROM that allows you to test out N64 Sound Tools sample banks and tune them directly on your console or emulator, avoiding lengthy turnaround times
      • ultra_mpeg - An MPEG-1/2 decoder library
      • ANMP - A multi-channel loopable video game music player, with support for various Nintendo 64 audio formats
      • midicvt - An open source replacement for `midicvt` to create MIDI files compatible with `libultra`
      • sfz2n64 - Converts SFZ files to a format the Nintendo 64 can use as part of instrument banks
    • Debugging

      • Project64 EmuScripts - Scripts for debugging under Project64 emulation
      • n64rd - Remote debugger for GameShark 3.2 hardware over a parallel interface
      • ed64log - A tool and [example code](https://github.com/jsdf/ed64log/tree/master/example#exception-logging-and-disassembly) to implement development logging from a homebrew ROM running on an EverDrive 64
      • webserial-ed64log - An ed64log client using Web Serial API
      • ed64-gdb - A GDB stub for debugging with an EverDrive 64 V3
      • gdbstub-ed64 - Another EverDrive 64 GDB stub
      • N64-GDB-stub - A GDB stub that works with a modified version of the cen64 emulator
    • Development Cartridge Loaders

      • sc64deployer - SummerCart64 loader and control software (Windows, macOS and Linux)
      • g64drive - Linux/Mac tool for operating a 64drive development cartridge
      • ed64 - Tools to develop on an EverDrive 64 cartridge
      • loader64 - A USB uploader for EverDrive 64
      • UNFLoader - A universal flash cart ROM uploader (64drive, EverDrive 64 V3, EverDrive 64 X7 and SummerCart64) and debug library
      • UNFLoader - A universal flash cart ROM uploader (64drive, EverDrive 64 V3, EverDrive 64 X7 and SummerCart64) and debug library
    • Development Libraries

      • libn64 - An open-source library for Nintendo 64 development, part of `n64chain`
      • n64ut - An in-progress set of modern Nintendo 64 libraries
      • libdragon - An open-source library for Nintendo 64 development
      • pseultra - A collection of tools used to develop software for the Nintendo 64 that are distinct from the official SDK
      • libreultra - A decompilation of the Nintendo 64 standard SDK library, `libultra`
      • ultralib - A reverse engineering of `libultra`
      • framework64 - An asset pipeline and C library to simplify game creation (uses n64sdkmod)
      • libhfx - An in-progress open source library for 3D graphics
      • S2DEX Text Engine - A text engine powered by the S2DEX microcode
      • tiny3d - A tiny 3D RSP microcode and C API wrapper which work with `libdragon`
      • N64FlashcartMenu - Universal flashcart menu with aim to support most of the N64 flashcarts on the market
    • ROM Manipulation

      • Tool N64 - A tool to display ROM information and perform byte reordering
      • Real N64 CRC Tool v2 - A tool to check, calculate, and set ROM checksums and extract the bootcode of ROM files
      • seq64/n64checksum - Source for a tool to calculate and set ROM checksums
      • Info64 - A tool to display and set ROM header information and checksums
      • spicy - An open-source replacement of the official SDK's `mild.exe` (referenced by `$(MAKEROM)` in many Makefiles). Packs object files into an N64-compatible ROM.
      • makeromOpen - Another open-source makerom replacement (work in progress)
      • makemask - An open-source replacement of the official SDK's `makemask.exe`. Adds a mask to a compiled ROM which pads the file to fill the entire cartridge space, adds a CIC version, and adds informational headers to the file. Typically run immediately after `mild.exe`. More on this tool at [N64Squid](https://n64squid.com/homebrew/n64-sdk/software/mipse-ultra-gcc/makemask/).
      • Real N64 CRC Tool v2 - A tool to check, calculate, and set ROM checksums and extract the bootcode of ROM files
      • rom64 - A tool to identify and parse ROM header information
      • romjudge - A utility to judge an N64 ROM for correctness
      • leotools - Work with 64DD disk images and the files contained therein
      • splat - A ROM splitting tool to assist with decompilation and modding projects
      • Info64 - A tool to display and set ROM header information and checksums
      • N64ShellPreview - A Windows Shell Extension to display ROM information in Explorer's preview pane
      • ipl3hasher - GPU-accelerated hash collision finder for the IPL3 boot code
      • boot_stub - A replacement for the CIC-6102 IPL3 boot code
  • Videos