Skip to content
PORTSNATIVE.
HomeCatalog
Web GamesEmulatorsToolsNews
PORTSNATIVE.

A catalog for discovering ports and related projects. We link to official sources and do not host original game files.

ExploreCatalogMy list
InformationAbout usSuggest a portSupportDonationsLegal notice
© 2026 PortsNative
Back to catalog
zelda3
PORTSNATIVE

zelda3

NATIVE PORTACTION / ADVENTUREWINDOWSLINUXSTABLE

zelda3

The Legend of Zelda: A Link to the Past

OriginSuper Nintendo

TechnologyNative C/C++ port (engine reimplementation)

Available forWindows, Linux

View official project

About the project

The Legend of Zelda: A Link to the Past, conocido en Japón como Zelda no Densetsu: Kamigami no Triforce , también conocido como Zelda 3 y Zelda III, es un juego de acción y aventuras desarrollado y publicado por Nintendo para la consola Super Nintendo Entertainment System y años después a la Game Boy Advance junto a The Legend of Zelda: Four Swords, siendo lanzado el 3 de diciembre del 2002, siendo la tercera entrega de la saga de videojuegos The Legend of Zelda.

9 versions of The Legend of Zelda: A Link to the Past

You're viewing: zelda3

zelda3github.com/snesrev/zelda3
Windows
Linux
Current
A Link to the Past (3DS)github.com/EstebanPdN/zelda-alttp-3ds
To be confirmed
›
The Legend of Zelda: A Link to the Pastgithub.com/YeOldPress/alttp-dx
Windows
›
Moon Pearlgithub.com/DoutorRaposo/moonpearl
Android
›
Z3R Launcher (xander-haj)github.com/xander-haj/Z3R-Launcher
Windows
Linux
macOS
›
Zelda 3 Launcher (RadzPrower)github.com/RadzPrower/Zelda-3-Launcher
Windows
›
Zelda3 (Android)github.com/samyost1/zelda3-android
Android
›
Zelda3Launchergithub.com/Waterdish/zelda3-android
Android
›
ZeldaAlttPSNESRecompgithub.com/mstan/ZeldaAlttPSNESRecomp
Windows
Linux
macOS
›

Official project information

Author's original READMEOpen on GitHub ↗

Zelda3

A reimplementation of Zelda 3.

Our discord server is: https://discord.gg/AJJbJAzNNJ

About

This is a reverse engineered clone of Zelda 3 - A Link to the Past.

It's around 70-80kLOC of C code, and reimplements all parts of the original game. The game is playable from start to end.

You need a copy of the ROM to extract game resources (levels, images). Then once that's done, the ROM is no longer needed.

It uses the PPU and DSP implementation from LakeSnes, but with lots of speed optimizations. Additionally, it can be configured to also run the original machine code side by side. Then the RAM state is compared after each frame, to verify that the C implementation is correct.

I got much assistance from spannerism's Zelda 3 JP disassembly and the other ones that documented loads of function names and variables.

Additional features

A bunch of features have been added that are not supported by the original game. Some of them are: basic widescreen, shaders, 240 vertical res, hi-res mode7 map, MSU-1 audio, item switching, and over 30 bugfixes.

Building

You must self-build for now. Steps for 64-bit Windows:<br> (0) Download Python and install with "Add to PATH" checked<br> (1) Click the green button "Code > Download ZIP" on the github page and extract the ZIP<br> (2) Place your USA rom named zelda3.sfc in that folder<br> (3) Download TCC and SDL2 and extract each ZIP into the "third-party" subfolder<br> (4) Double-click "get_python_libs.bat" in the main dir.<br> (5) Double-click "extract_assets.bat" in the main dir. This will create zelda3_assets.dat.<br> (6) Double-click "run_with_tcc.bat" in the main dir. This will create zelda3.exe and run it.<br> (7) Configure with zelda3.ini in a text editor like notepad++<br>

For other platforms and compilers, see: https://github.com/snesrev/zelda3/blob/main/BUILDING.md

Usage and controls

The game supports snapshots. The joypad input history is also saved in the snapshot. It's thus possible to replay a playthrough in turbo mode to verify that the game behaves correctly.

The game is run with ./zelda3 and takes an optional path to the ROM-file, which will verify for each frame that the C code matches the original behavior.

ButtonKey
UpUp arrow
DownDown arrow
LeftLeft arrow
RightRight arrow
StartEnter
SelectRight shift
AX
BZ
XS
YA
LC
RV

The keys can be reconfigured in zelda3.ini

Additionally, the following commands are available:

KeyAction
TabTurbo mode
WFill health/magic
Shift+WFill rupees/bombs/arrows
Ctrl+EReset
PPause (with dim)
Shift+PPause (without dim)
Ctrl+UpIncrease window size
Ctrl+DownDecrease window size
TToggle replay turbo mode
OSet dungeon key to 1
KClear all input history from the joypad log
LStop replaying a shapshot
RToggle between fast and slow renderer
FDisplay renderer performance
F1-F10Load snapshot
Alt+EnterToggle Fullscreen
Shift+F1-F10Save snapshot
Ctrl+F1-F10Replay the snapshot
1-9Load a dungeons playthrough snapshot
Ctrl+1-9Run a dungeons playthrough in turbo mode

License

This project is licensed under the MIT license. See 'LICENSE.txt' for details.

Read official guide
CALIFICACIÓN
—
Loading votes…
Advertisement

PROJECT FILE

Project type
NATIVE PORT
Genre
Action / Adventure
Status
Stable
Original platform
Super Nintendo
Technology
Native C/C++ port (engine reimplementation)
Version
—
Updated
Aug 17, 2023

Target platforms 2

Windows
Linux
View on GitHub
Advertisement