The Legend of Zelda: A Link to the Past Recompilation
The original game's compiled code translated into a native program for a new platform, usually a PC port.
Based on Legend of Zelda - A Link to the Past
Links, repository & detailsAbout
A static recompilation of The Legend of Zelda: A Link to the Past (SNES) into native C, built on the snesrecomp framework. The 65816 CPU code is translated to C, while the PPU, audio coprocessor, DMA and other hardware run through an embedded snes9x emulator core. The ROM is never redistributed, and the user supplies their own legally dumped copy. The README calls it an in-development preview, not a finished port.
How it differs from the original
It adds optional adaptive widescreen, where the logical width follows the window aspect ratio (about 398 pixels at 16:9, up to a 446-pixel maximum), and optional MSU-1 streaming music if a music pack is supplied.
Getting started
Download the release zip, extract it and run zelda.exe. On first launch a file picker asks for your own USA ROM (.sfc or .smc, expected CRC32 0x777AAC2F), and the path is cached for later launches. Keys can be remapped in keybinds.ini, and Xbox, PlayStation and Switch Pro controllers are auto-detected.
Known issues & limitations
- This is an in-development preview, not a finished port, so expect rough edges.
- Content after the prologue, including Sanctuary and the Dark World, has not yet been hand-verified.
What you need to run it
Features
- Adaptive view can reveal more of the overworld or dungeon when the window is wider, instead of stretching a fixed 16:9 image.
- The game supports MSU-1 streaming music when a music pack is present; otherwise it uses the normal SPC soundtrack.
- Xbox, PlayStation, and Switch Pro controllers are auto-detected.
- The game has been verified playable from boot through the overworld and an early dungeon, including sword combat.
How to install
- Download the latest release zip and extract it.
- Run zelda.exe and select your ROM when the file picker appears.
Controls
- Player 2 is unbound by default; add keys in keybinds.ini to enable a second keyboard player.
- Player 2 is unbound by default and can be enabled by adding keys in keybinds.ini.
Summarised from the project's README.
Status & roadmap
- Hand-verified playable from boot through the overworld and early dungeon, including sword combat; later content such as the Dark World is not yet hand-verified.
Licensing & legal
- The project's own code is under PolyForm Noncommercial 1.0.0.
Additional notes
- Msu1
- The bundled MSU-1 driver is applied to a throwaway copy of the stock ROM during regeneration, so the stock ROM is still what is loaded at runtime.
FAQ
- What is The Legend of Zelda: A Link to the Past Recompilation?
- The Legend of Zelda: A Link to the Past Recompilation is an open-source recompilation of Legend of Zelda - A Link to the Past. The original game's compiled code translated into a native program for a new platform, usually a PC port. The original game ran on SNES.
- Do I need the original game files to run The Legend of Zelda: A Link to the Past Recompilation?
- Yes. The project does not include the original game's assets, so you need your own copy.
- How is The Legend of Zelda: A Link to the Past Recompilation licensed?
- project: PolyForm Noncommercial 1.0.0 (code in this repo); project: not licensed for redistribution (The Legend of Zelda: A Link to the Past ROM and any data extracted from it). The repository itself is the authoritative source.




