I like to think back to the 90s. The start of home computers, special music, and games.
One of the games I like to think back to is "Zelda - A Link to the Past". Back in the late 80s, Nintendo had started this epic series.
This is what it looked like back then:

Especially the third part from 1995 had made huge steps forward. Better graphics and orchestral sound.
Until now, anyone who would like to play this game today had to resort to emulators. An association of several developers on Github have created a reimplementation of Zelda 3 for Windows, Linux and MacOS in C++. Using the reverse-engineering method, a reinterpretation of the game was created. It supports pixel shaders, extended ratios (16:9/16:10), higher quality wordmaps, support for MSU audio tracks, second item with the X button and item switching with L/R buttons.
How do you go about compiling this game?
At the very beginning, you get a ROM file that has to be saved under the name zelda3.sfc.
Then proceed as follows:


  1. Download and install Python.
  2. Open the command line and type: python -m pip install --upgrade pip pillow pyyaml
  3. Go to the directory where you want to download and edit the following source code.
  4. Now type: git clone https://github.com/snesrev/zelda3.git
  5. Move the downloaded ROM to the /tables subfolder.
  6. Extract the resources from the ROM using python extract_resources.py.
  7. Now compile the resources with python compile_resources.py
  8. Download TCC here: https://github.com/FitzRoyX/tinycc/releases/download/tcc_20221020/tcc_20221020.zip
  9. Now copy the tcc directory contained in it into the /third_party directory of the source code archive.
  10. Now download SDL from https://github.com/libsdl-org/SDL/releases/download/release-2.24.1/SDL2-devel-2.24.1-VC.zip, extract it and install it in /third_party as well.
  11. Now change to the main directory in the command line or Windows Explorer and execute run_with_tcc.bat.
  12. Now you will find a zelda.exe in the main directory, which you can execute. In the zelda3.ini you can set the settings.

Linux / MacOS

  1. Open a shell and install pip, if not already installed: python3 -m ensurepip
  2. Now clone the repository at a location of your choice with: git clone https://github.com/snesrev/zelda3.git
  3. Change to the cloned directory with cd zelda3.
  4. Install the requirements with python3 -m pip install -r requirements.txt
  5. Now we install SDL. This may vary depending on your distribution.
    1. Ubuntu sudo apt install libsdl2-dev
    2. Fedora sudo dnf in sdl2-devel
    3. Arch Linux sudo pacman -S sdl2
    4. macOS brew install sdl
  6. Place the downloaded ROM in the subdirectory /zelda3/tables.
  7. Now compile the project using make.

Sources: Golem, Github