The Legend of Zelda: A Link to the Past Decompilation project emerges

legend-of-zelda-a-link-to-the-past---button-3-1559683061447.jpg

Out of the blue, and without any kind of mention, a mostly complete decompilation project coded in C/C++ from the SNES classic, The Legend of Zelda: A Link to the Past, has emerged on GitHub under the MIT license.

The project was released around 9 days ago, on August 14th, and seems to be playable from start to end.
Right now the decompilation is compatible with Windows (compilable with Visual Studio) and Linux (using SDL2 and Python).
At the moment, only keyboard is supported for controls, but those interested in contributing can do so through GitHub.

As with other decompilation projects, the repository doesn't include any of the original game's assets.
The project requires you to previously own and provide your own A Link to the Past ROM to extract all of the game's assets and begin the compilation afterwards.

:arrow: Link (no pun intended):
https://github.com/snesrev/zelda3
 

JaapDaniels

Well-Known Member
Member
Joined
Apr 22, 2012
Messages
1,193
Trophies
1
Age
40
Website
github.com
XP
2,435
Country
Netherlands
I was never able to get your new version to work. Cmake files appear to be missing. I don't have a problem with the main branch. I compiled a newer version, which no longer requires you to download sdl2 vc iirc.
Cmake was not updated as i said, and since ms visual studio doesn't use it i don't know how to test cmake. last check i altered cmake to what i think is what it should look like.
Cmake needs the folder /include/ and it's subfolders added.
This is also including SDL2, joypad compitable, and saved settings for fullscreen/windowed mode.
The main version has completely been replaced by C99 structure, and i'm not interested in going that road....
i still don't like main.cpp for it's messy at best, so i might try to replace it in time...
in include is mINI and SDL2, in the sub maps SDL2 libs are for x86 and x64 wich should be all needed to add.
mINI for saving configuration so you can run the game both fullscreen and windowed, SDL2 for it should've been in the build for graphics, for audio, for input...
Still, i didn't get in game changing windowmode, you'll have to restart the game to get fullscreen/windowed mode changed.
Savegames still got lost (i really don't understand how the cartram is handled yet.
 

impeeza

¡Kabito!
Member
Joined
Apr 5, 2011
Messages
6,361
Trophies
3
Age
46
Location
At my chair.
XP
18,717
Country
Colombia
A few days ago (October 6th) Switch version was added, I just compile using MSYS and works like a charm. You need to copy the files zelda3.nro, zelda3.ini and zelda3_assets.dat on the folder of homebrew on switch.

The "zelda3_assets.dat" can be generated on the same MSYS installation without need of external python, and only need the original "Legend of Zelda, The - A Link to the Past (1992)(Nintendo)(US).sfc" (66871d66be19ad2c34c927d6b14cd8eb6fc3181965b6e517cb361f7316009cfb SHA256) ROM to extract the copyrighted material from it.
 
  • Like
Reactions: ShadowOne333

Deleted member 608654

A scarlet letter
Member
Joined
Aug 30, 2022
Messages
189
Trophies
0
XP
546
legend-of-zelda-a-link-to-the-past---button-3-1559683061447.jpg

Out of the blue, and without any kind of mention, a mostly complete decompilation project coded in C/C++ from the SNES classic, The Legend of Zelda: A Link to the Past, has emerged on GitHub under the MIT license.

The project was released around 9 days ago, on August 14th, and seems to be playable from start to end.
Right now the decompilation is compatible with Windows (compilable with Visual Studio) and Linux (using SDL2 and Python).
At the moment, only keyboard is supported for controls, but those interested in contributing can do so through GitHub.

As with other decompilation projects, the repository doesn't include any of the original game's assets.
The project requires you to previously own and provide your own A Link to the Past ROM to extract all of the game's assets and begin the compilation afterwards.

:arrow: Link (no pun intended):
https://github.com/snesrev/zelda3
Interesting, but it is only going to really benefit a niche group.
 
  • Like
Reactions: impeeza

godreborn

Welcome to the Machine
Member
Joined
Oct 10, 2009
Messages
38,471
Trophies
3
XP
29,138
Country
United States
Clicking on .exe does nothing.
How do I make assets file?
Iirc, you have to put the rom in tables folder of the repo, then use the python scripts of extract and compile. You do need a couple of pip dependencies, but you can easily install all of them with the requirements.txt file.
 
  • Love
Reactions: impeeza

impeeza

¡Kabito!
Member
Joined
Apr 5, 2011
Messages
6,361
Trophies
3
Age
46
Location
At my chair.
XP
18,717
Country
Colombia
Clicking on .exe does nothing.
How do I make assets file?

Instructions of use / build:
https://github.com/snesrev/zelda3

Detailed build instructions:
https://github.com/snesrev/zelda3/wiki

Support:
https://discord.gg/AJJbJAzNNJ

You need a legally obtained US ROM file, renamed zelda3.sfc. Must to have the SHA256 hash 66871d66be19ad2c34c927d6b14cd8eb6fc3181965b6e517cb361f7316009cfb. The file is only needed to extract the Assets which are copyrighted by big N and can't be shared nor included on a compiled product.

For compiling you can use on windows, TinyCC + Python, Visual Studio + Python or MSYS
On Mac/Linux, you need python and a CC compiler

On all versions you need Python only for extract assets. Install python as you preffer and then install the modules Pillow & PyYAML, if you don't want to compile by yourself, you need the original ROM and a python environment to create the zelda3_assets.dat.
 
  • Love
Reactions: godreborn

impeeza

¡Kabito!
Member
Joined
Apr 5, 2011
Messages
6,361
Trophies
3
Age
46
Location
At my chair.
XP
18,717
Country
Colombia
If is useful for anybody:
Commit version 8bee717 (2022/10/22 10:00 UTC), for Windows 64bits
Also for Switch NRO, plus Switch Forwarder with custom startup icons.

As always you need to provide your zelda3_assets.dat file
 

Attachments

  • TLoZ Link to the past-016127545a226000.zip
    367.5 KB · Views: 70
  • zelda3Switch_8bee717.zip
    5.7 MB · Views: 72
  • zelda3Win64_8bee717.zip
    4.1 MB · Views: 71

godreborn

Welcome to the Machine
Member
Joined
Oct 10, 2009
Messages
38,471
Trophies
3
XP
29,138
Country
United States
off topic, but I think I figured out why my ps2 build of super mario 64 works only in a ps2 emulator and not on the machine. it has to do with the ps2sdk specifically. I'm going to use the one from 10/15/2020, which is what the one on the internet was built using. I have it on my computer, but right now I'm compiling the ps2 full toolchain. I hope this works, but the older sdk version requires some files that are only available on mac or windows (there's no linux version), so I was unable to compile it correctly on linux. I think they also used msys by the looks of it. it's pretty slow going on my slow computer. sometimes it takes a very long time for something to compile, but it's usually not that long unless it's an sdk or a toolchain like this is.
 
  • Like
Reactions: impeeza

godreborn

Welcome to the Machine
Member
Joined
Oct 10, 2009
Messages
38,471
Trophies
3
XP
29,138
Country
United States
it's not a make command. it's a shell script, not sure if j4 works with it or not, but I heard that you need to use j1 with the ps2toolchain, because it can't handle anymore than that. I think that would be like a normal make command.
 
  • Like
Reactions: impeeza

Azmort

Well-Known Member
Member
Joined
Sep 25, 2015
Messages
245
Trophies
0
Age
33
XP
1,382
Country
Mexico
Just found this (yes, thanks to the Metroid project) and I absolutely love this, this is the game that made me fall in love with this franchise, now, is there a way to use hack roms with this one? I'm currently playing Parallel Worlds and it would be awesome to play it this way (also looking for playing Hyper Metroid)
 

Deleted member 194275

Edson Arantes do Nascimento
Member
Joined
Aug 19, 2009
Messages
2,685
Trophies
2
XP
4,351
Just found this (yes, thanks to the Metroid project) and I absolutely love this, this is the game that made me fall in love with this franchise, now, is there a way to use hack roms with this one? I'm currently playing Parallel Worlds and it would be awesome to play it this way (also looking for playing Hyper Metroid)

Despite this being out for some time, the scene still is modding the rom instead of working above this project I believe.
The rom modding have many advantages (like playing on OG hardware) without being too limited on what modders can do, I believe that's why this decompilation did not caught.

So somebody's gonna fix Link's pink hair, right?

https://www.romhacking.net/hacks/2594/

use this for the hair and many more enhancements
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Maxouter @ Maxouter: yo