# snes-recomp: snes-recomp Static SNES ROM Recompiler

> Source: <https://reversedwithai.com/p/snes-recomp-c859fa24>
> Published: 2026-10-26 09:02:29+00:00

## Evidence at a glance

Based on the linked sources. The author's reported result and independent confirmation are separate checks.

### AI use in the original source

Excerpts checked against the source on 26/10/2026. Author reports do not establish independent verification.

- AI involvement
- Reported models: Claude. Tools: Rust, cargo, gcc, clang, MSVC, TinyCC, SDL2. The writeup below describes the work attributed to AI.
- Reported result
- Works. This is the directory's source-based outcome classification.
- Independent confirmation
- Not reported.
- Human work and limitations
- The project is highly modular, separating the engine from game-specific logic. The use of AI (Claude Sonnet 5.5) is documented extensively in the commit history for tasks ranging from feature implementation to documentation and specification synchronization.

### Original sources

## What was done

snes-recomp is a static recompiler that translates SNES ROMs into C code, which is then compiled with a custom runtime to produce native executables. It supports features like widescreen and game-specific profiles, while maintaining strict separation from copyrighted game assets.

The [snes-recomp](https://raw.githubusercontent.com/alexperez7/snes-recomp/HEAD/README.md) project is a static recompiler written in Rust that translates SNES ROMs (CPU 65816) into C code. This generated C code is compiled alongside a custom runtime—which includes implementations for the bus, DMA/HDMA, PPU, SPC700, DSP, input, and save states—to produce a native executable. The project functions as an engine, requiring separate game-specific profiles to operate. The author reports that the engine successfully generates native ports, with *The Legend of Zelda: A Link to the Past* serving as the primary implementation example. The project documentation notes several technical limitations: the DSP interpolation uses a bell-shaped kernel rather than the exact hardware Gaussian table, the PPU does not emulate interlacing, and cycle-accurate behaviors are not reproduced as the clock is proportional by block. Commit history indicates that Claude Sonnet 5.5 was a co-author on numerous commits related to menu implementation, widescreen functionality, and documentation updates. The project maintains a strict legal stance, requiring users to provide their own legally obtained ROMs and explicitly prohibiting the distribution of generated C code or game assets.

## Reproduce it

```
Users must provide a valid SNES ROM and a corresponding game profile. The engine can be built using Rust's cargo. For the interactive frontend, SDL2 development files are required. The snes-port tool handles the build process, utilizing local compilers like gcc, clang, or MSVC, or optionally downloading TinyCC.
```


