SNESRecomp
Tooling used for decompilation and recompilation work.
Links, repository & detailsAbout
SNESRecomp is a general-purpose static recompiler for the Super Nintendo (Super Famicom). It translates 65816 machine code into C, compiles it into a native executable and links it against a shared SNES hardware runtime that models the PPU, APU, DSP, DMA and cartridge mapping, with an interpreter tier for code that cannot yet be resolved statically. The README calls it a framework rather than a collection of ROMs, and says it is alpha software.
How it differs from the original
Projects built on it are described as supporting true widescreen views, Adaptive View, versioned mod packages, MSU-1 audio, cross-platform builds, launchers and save states. The README lists Super Mario World, The Legend of Zelda: A Link to the Past and Mega Man X as public game projects, each in its own repository.
Getting started
The README says to use only a ROM image obtained legally, as SNESRecomp does not include ROM data. A released command-line tool can generate a project from a ROM, and the generated source is then built with CMake, Ninja and a C compiler. The result is only a starting point, since turning a game into a playable native port still needs game-specific work.
Known issues & limitations
- The framework and its game projects are alpha, and maturity varies by game.
What you need to run it
Features
- Projects can use versioned mod packages with independently toggleable features and typed options.
- The framework supports save states in projects built on it.
Summarised from the project's README.
Media
Licensing & legal
- The README states the original code is under the PolyForm Noncommercial License 1.0.0, with third-party components keeping their own licenses.
Additional notes
- Generated code
- The README says the generated C is derived from the ROM and should not be redistributed without permission.
FAQ
- What is SNESRecomp?
- SNESRecomp is an open-source tool. Tooling used for decompilation and recompilation work.
- Do I need the original game files to run SNESRecomp?
- Yes. The project does not include the original game's assets, so you need your own copy.
- How is SNESRecomp licensed?
- Matthew Stanley: PolyForm Noncommercial License 1.0.0 (SNESRecomp original code); LakeSnes: MIT (runner hardware core); ares: ISC (coprocessor cores). The repository itself is the authoritative source.