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:
Windows
- Download and install Python.
- Open the command line and type:
python -m pip install --upgrade pip pillow pyyaml
- Go to the directory where you want to download and edit the following source code.
- Now type:
git clone https://github.com/snesrev/zelda3.git
- Move the downloaded ROM to the /tables subfolder.
- Extract the resources from the ROM using
python extract_resources.py
. - Now compile the resources with
python compile_resources.py
- Download TCC here: https://github.com/FitzRoyX/tinycc/releases/download/tcc_20221020/tcc_20221020.zip
- Now copy the tcc directory contained in it into the /third_party directory of the source code archive.
- 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.
- Now change to the main directory in the command line or Windows Explorer and execute
run_with_tcc.bat
. - 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
- Open a shell and install pip, if not already installed:
python3 -m ensurepip
- Now clone the repository at a location of your choice with: git clone https://github.com/snesrev/zelda3.git
- Change to the cloned directory with
cd zelda3
. - Install the requirements with
python3 -m pip install -r requirements.txt
- Now we install SDL. This may vary depending on your distribution.
- Ubuntu
sudo apt install libsdl2-dev
- Fedora
sudo dnf in sdl2-devel
- Arch Linux
sudo pacman -S sdl2
- macOS
brew install sdl
- Ubuntu
- Place the downloaded ROM in the subdirectory /zelda3/tables.
- Now compile the project using
make
.