kirby-letsgo / oracles-decomp
git clone https://github.com/kirby-letsgo/oracles-decomp.git
Native app for the GBC zelda oracle games
+3
stars, 24h Β· #4,043
+~21
stars, 7 days Β· #4,852
+90
stars, 30 days Β· #5,338
90
β
total Β· +21% this week
4
forks Β· 14 open issues
Star history (as recorded here)
LanguageC
LicenseGPL-3.0
Created2026-09-25 (27d ago)
Last push2d ago
Watchers2
OwnerUser
Links
README excerpt
# The Legend of Zelda: Oracle of Ages & Oracle of Seasons Native macOS, Windows, Linux and Android versions of **Oracle of Ages** and **Oracle of Seasons** (Capcom, 2001), rebuilt from the games' own code in C. There is no emulator underneath: the games run as native programs, which is what makes widescreen, save states and save sync across your devices possible. **No game data is included.** You need your own Oracle of Ages and/or Oracle of Seasons ROM (USA or Europe). The app reads it once, keeps the graphics, sound and data, and never needs it again. ## Quality-of-life improvements What this port adds on top of the original games: - **Widescreen (16:9)** β see the rooms around you, not just the one you're in - **Save states** β 4 slots with thumbnails, plus a Resume state from wherever you last quit - **Save sync** β your saves and states follow you between desktop and phone, no passwords - **Remappable controls** β every button, for keyboard and gamepad - **Fast-forward** β hold Tab, or the right trigger - **Screen filters** β sharp, scanlines, LCD grid, CRT, or the xBRZ and hqx pixel-art scalers, and true Game Boy Color colours - **Fast text and faster menus** β optional, off by default - **Quick swap and 4 item slots** β optional, off by default - **Mods** β small Lua scripts that read the game and draw on top of it; see MODDING.md The gameplay toggles are all off until you turn them on, so the default is the game as it shipped. --- **AI DISCLOSURE** This native implementation has used help from generative AI, specifically Claude Opus. If you don't want to use it for that I completely understand. --- ## Download Get the latest build for your system from the **nightly release**, rebuilt automatically on every change: | System | File | First launch | |---|---|---| | macOS 11+ (Apple Silicon and Intel) | `Oracles-macOS.dmg` | Open the DMG and drag Oracles out. It isn't notarized, so the first time right-click it and choose **Open**. | | Windows 10/11 (64-bit) | `Oracles-windows-x64.zip` | Unzip and run `Oracles.exe`. If SmartScreen warns about an unknown publisher, choose **More info β Run anyway**. | | Linux (x86_64) | `Oracles-linux-x86_64.AppImage` | `chmod +x` the file, then run it. | | Android 8+ (arm64) | `Oracles-android.apk` | Install the APK (allow installs from your browser or file manager). | Each desktop download is a single self-contained file; nothing else needs installing. ## Adding your ROM The app opens on its main menu, with a tab each for Ages and Seasons. A game you have no ROM for yet shows **Not installed** and an **Add ROM...** row β choose it and the file picker opens. Do the same on the other tab to add the second game. Nothing is asked for before the menu appears. The ROM can be a plain `.gbc`/`.gb` file **or a `.zip` or `.gz`** holding one, so a freshly downloaded archive works as it came. From a zip the `.gbc`/`.gb` file inside is taken, otherwise the largest one. `.7z` isn't read β extract it first. Your ROM has to