6 ms·
Zelda: A Link to the Past (SNES) re-implemented in C
- tasoeur 4y agoI would like to give a shout-out to another awesome open source 2D Zelda engine called Solarus: https://solarus-games.org/ https://solarus-games.org/ The community is very active and supportive, they also made many indie games with this engine.
- thih9 4y agoAre there any screens or videos? I’m especially interested in seeing the features not present in the original, like shaders.
- oneeyedpigeon 4y agoI wonder if the creator is wary of presenting screenshots if they are identical to the original? That may draw the attention of the infamously IP-aggressive Nintendo.
- intellix 4y agohad to ask in Discord and search but here you go: https://www.youtube.com/watch?v=zynoNRslRyo https://www.youtube.com/watch?v=zynoNRslRyo - to me it looks the same. Maybe the new features weren't in yet or maybe I just don't know what I'm looking for
- ludde 4y agoThe screen transition and text scrolling is not as laggy as on the SNES.
- tescocles 4y ago> Then the RAM state is compared after each frame, to verify that the C implementation is correct. So not simply recreated, it's a 100% accurate replica of the original game. Crazy. What, by the way, was the original SNES "OS" written in?
- deleted 4y ago[deleted]
- jasonwatkinspdx 4y agoNo OS. These games were hand written in assembly direct to the metal. The source code of the SNES Doom port was open sourced if you wanna take a look: https://github.com/RandalLinden/DOOM-FX https://github.com/RandalLinden/DOOM-FX
- samwestdev 4y agoThere is not such a thing as a SNES “OS”. The game cart would overtake the whole hardware.
- pdpi 4y agoThis even happened in the PC world. My friend had a game on a 5.25” floppy where the floppy was unreadable from DOS. You literally had to boot from the floppy, and you’d boot directly into the game.
- philliphaydon 4y agoMine came on cassette tapes. It look 1-2 hours to boot the game.
- fredoralive 4y agoThe SNES has no "OS", just the game code on the cartridge running directly on the bare metal. At the time the game would almost certainly have been written in assembly language, though some C began to sneak in during the 16 bit era, but Zelda seems a bit early for that.
- 4y ago
- ageitgey 4y agoIf you like this sort of thing, a similar exact C reimplementation of the original Super Mario Bros. exists here: https://github.com/MitchellSternke/SuperMarioBros-C https://github.com/MitchellSternke/SuperMarioBros-C
- deleted 4y ago[deleted]
- jayflux 4y agoIf anyone is interested the same was achieved with Ocarina Of Time almost 2 years ago. A fully matching decompiled C version from the assembly https://arstechnica.com/gaming/2021/11/reverse-engineering-team-completes-its-ocarina-of-time-decompilation/ https://arstechnica.com/gaming/2021/11/reverse-engineering-t...
- psychphysic 4y agoI'm a little confused what precisely is this? Oot seems to be clear it's decompiled the ROM and can deterministically make a ROM that runs on the hardware and emulator. I thought it was a modern reimplementation but it seems to use parts of a SNES emulator. And seems to run standalone but with parts of SNES hardware there too... Perhaps that made reusing assets easier than converting them. And translating graphics easier to.
- ginko 4y agoThat's different though. OoT was decompiled while this is a reimplementation (since there never was a C source for ALttP to begin with).
- deleted 4y ago[deleted]
- trynewideas 4y agoOP's reimplementation cites this disassembly of the Japanese version: https://github.com/spannerisms/jpdasm https://github.com/spannerisms/jpdasm Which cites and is modeled on MathOnNapkins's disassembly of the US version: https://www.zeldix.net/t143-disassembly-zelda-docs https://www.zeldix.net/t143-disassembly-zelda-docs, https://www.romhacking.net/forum/index.php?topic=13592.0 https://www.romhacking.net/forum/index.php?topic=13592.0
- danaris 4y agoSo does it reimplement all the original glitches, too? Asking for a speedrunning friend.
- sylware 4y agoShould have ported to 64bits RISC-V assembly. If RISC-V is a success, write RISC-V assembly once, run everywhere.
- jmiller099 4y agolove how they supported compiling with tcc!
- pks016 4y agoWhat a coincidence! Yesterday night I tried retro game emulator on my old phone. I randomly choose SNES 9x ex+. Zelda: A Link to the Past was the first game I tried. I have never played any Zelda game, excited to play it.
- pred_ 4y agoWho's going to check how much effort it is to run something like Emscripten on this to port it to Wasm for a browser-based version? :)