Home - drizztdourden08/relic-of-the-past GitHub Wiki
A modern, cross-platform desktop launcher for the open-source A Link to the Past PC port, with polished UI, controller support, save profiles, MSU-1 audio, visual enhancements, and in-progress randomizer tooling. It wraps a decompiled C reimplementation of the game (compiled to WebAssembly) in a React UI inside Electron.
Important
This is an unofficial fan-made/open-source project, not affiliated with Nintendo. It ships no game data. On first run you point it at your own legally obtained ROM and the app extracts the assets it needs locally.
| If you want to | Start here |
|---|---|
| Play: install and get running fast | Quick Start · Installation |
| Learn a feature: saves, controllers, HUD, MSU, cheats, and more | User Guide |
| Understand the floating panels | Widgets |
| Understand how it's built | Architecture |
| Read/drive the running game from JS | Game Hooks Reference |
| Contribute code | Contributing Guide |
flowchart LR
C["core/zelda3<br/>vendored C · decompiled game"] -->|"Emscripten"| W["zelda3.js / .wasm<br/>our C↔JS hook layer"]
W -->|"ccall / EM_ASM"| UI["React UI in Electron<br/>renderer + main process"]
-
C / WASM core (
core/): the vendored decompilation plus our hook layer (game-hooks/) that exposes ~79Wasm*functions and firesGameHook_*callbacks. See The WASM Bridge. -
Bridge (
apps/web/src/lib/game/): the only TypeScript that talks to the WASM module. - TS app: the Electron main process (ROMs, profiles, saves, HID) and the React renderer (UI, HUD, widgets, navigation overlay).
Pre-release and in active development, so expect rough edges.
📌 This wiki is generated from the
docs/folder in the main repo, which is the source of truth. Edit the docs there; the wiki is synced automatically. Don't edit wiki pages directly (changes will be overwritten).