Skip to content
PORTSNATIVE.
HomeCatalog
Web GamesEmulatorsToolsNews
PORTSNATIVE.

A catalog for discovering ports and related projects. We link to official sources and do not host original game files.

ExploreCatalogMy list
InformationAbout usSuggest a portSupportDonationsLegal notice
© 2026 PortsNative
Back to catalog
The Oracles Project (Switch)
PORTSNATIVE

The Oracles Project (Switch)

NATIVE PORTACTION / ADVENTUREBETA

The Oracles Project (Switch)

The Legend of Zelda: Oracle of Ages

OriginGame Boy Color

TechnologyNative C/C++ port (engine reimplementation)

View official project

About the project

The Legend of Zelda: Oracle of Ages y Oracle of Seasons son videojuegos de acción y aventura de 2001 desarrollados por Flagship y publicados por Nintendo para Game Boy Color. Son títulos enlazados que pueden completarse en cualquier orden y comparten objetos y secretos.

4 versions of The Legend of Zelda: Oracle of Ages

You're viewing: The Oracles Project (Switch)

The Oracles Project (Switch)github.com/toniisound/The-Oracles-Project-NX
To be confirmed
Current
Oracle of Ages (Godot)github.com/SHOEGAZEssb/ooa-godot
Android
›
OraclesRecompgithub.com/kirby-letsgo/oracles-decomp
Android
›
The Oracles Projectgithub.com/thibautbus/top
Android
›

Official project information

Author's original READMEOpen on GitHub ↗

The Oracles Project NX

A Nintendo Switch homebrew port (.nro) of The Oracles Project by thibautbus: a faithful, moddable port of Oracle of Ages and Oracle of Seasons. Your own ROM runs unmodified in an emulator core (mGBA's, or SameBoy), and a native host around it presents the game:

  • Faithful (160×144) or Enhanced: a widescreen view with the neighbouring rooms, a smooth camera and the status bar in a band of its own
  • Languages: Spanish, French, German, Italian and European English, taken from your European ROM
  • Gameplay options: continuous transitions, item hotkeys, hold-to-swim and a drawn-back view
  • Lua mods and fan games (Gifts of Kinomi, Moonrise Regalia, Temple of Seasons) from their BPS patches
  • Save states, remappable controls, full screen in handheld (720p) and docked (1080p)

No game files are included. You need your own Oracle of Ages / Oracle of Seasons (US) ROMs. This project is not affiliated with or endorsed by Nintendo.

Credits

  • thibautbus and contributors: The Oracles Project, the port itself, its launcher, the Enhanced view, languages, mods and fan-game support. All the real work is theirs.
  • Stewmath and contributors: oracles-disasm, the disassembly the port's tables come from.
  • mGBA (Vicki Pfau and contributors) and SameBoy (Lior Halphon): the emulator cores.
  • devkitPro: devkitA64, libnx and the Switch branch of SDL 3.
  • Lua: the mods' runtime.
  • The fan games' authors: ZerotoKoops, Stewmath, Gamma and Ralfaro (Gifts of Kinomi), PontiusStone (Moonrise Regalia), Jay and Ralfaro (Temple of Seasons).
  • Toniisound: Nintendo Switch port.

License

MIT, the same as The Oracles Project. See LICENSE. The bundled libraries keep their own licences, which ship with the release. The upstream README is kept as README-original.md.

Technical overview

The Switch build is the upstream launcher with a libnx target. SDL 3 is built from source (devkitPro's switch-sdl-3.4 branch) and draws through EGL / OpenGL ES 2 (switch-mesa). The launcher runs on a thread with an 8 MiB stack, the neighbours' workers are pinned to cores 1 and 2 while the game runs on core 0, and the CPU is raised to 1785 MHz while the app is open (restored on exit). Instead of a file dialog, the app finds your ROMs and patches on the SD card by their SHA-1.

Building (WSL or Linux with devkitPro)

sudo dkp-pacman -S --needed switch-dev switch-cmake switch-pkg-config switch-mesa switch-libdrm_nouveau
sudo apt install ninja-build git zip
git clone https://github.com/toniisound/the-oracles-project-nx.git
cd the-oracles-project-nx
./build_switch.sh

The result is build-switch/the-oracles-project-nx.nro, and build-switch/the-oracles-project-nx.zip, ready for a release: the SD card's switch/the-oracles-project-nx/ folder with the .nro, the empty roms/, patches/ and mods/ folders and the licences. The first build downloads and compiles SDL 3.

OptionEffect
-DORACLES_SWITCH_OVERCLOCK=OFFKeep the CPU at its normal clock (for emulators without the clock service)
-DORACLES_DEFAULT_CORE=sameboySameBoy, the accurate core, by default instead of mGBA

Options go after the script, e.g. ./build_switch.sh -DORACLES_SWITCH_OVERCLOCK=OFF.

Installing

Unzip the-oracles-project-nx.zip at the root of the SD card, then copy your ROMs into roms/:

sdmc:/switch/the-oracles-project-nx/
├── the-oracles-project-nx.nro
├── roms/
│   ├── Oracle of Ages (USA).gbc         required to play Ages
│   ├── Oracle of Seasons (USA).gbc      required to play Seasons
│   ├── Oracle of Ages (Europe).gbc      optional, for the languages
│   └── Oracle of Seasons (Europe).gbc   optional, for the languages
├── patches/                             optional, the fan games' .bps patches
└── mods/                                optional, Lua mods, one folder each

ROMs

  • Any file name works: files are recognised by their SHA-1. A .gbc or a .zip holding one (a zip of a ROM and its patch serves for both).
  • The game always runs from the US ROM; a European ROM only provides the texts of the other languages.
FileSHA-1
Oracle of Ages (US)880374fb978b18af4aa529e2e32f7ffb4d7dd2f4
Oracle of Seasons (US)ba1268290fb2b1b70505d2d7b5825fc8a4816a4b
Oracle of Ages (EU)9f2dff3c46406839f839a8d535353dfc1e3e8670
Oracle of Seasons (EU)360b9408e569ba826212eac1ebea1b09573cb48c
Gifts of Kinomi 1.1.2 patchbb0837fd2c62a8b3ea05da22ed6049ab57cfa1e2
Moonrise Regalia 1.0.6 patchfcef50de31ce3e57d3e23cd846c0749e42098e08
Temple of Seasons 1.073 patch0646e0a8fd6830198e453fdfeeea4a0a7c01cdf4

At start the app assigns every file it recognises; Choose ROM on a game's page looks again. Saves and save states go beside the ROM, in roms/. settings.txt, the language packs and the logs (the-oracles-project-nx.log, steps.log) are in sdmc:/switch/the-oracles-project-nx/.

Languages

With both ROMs of a game in roms/, open its page, then Cartridge → Language, and choose a language.

Default controls

ButtonAction
D-pad / left stickMove
A / BA / B (in menus: select / back)
+ / −Start / Select
Left stick clickPause menu
HOMESystem menu

Everything can be remapped in Controls. See docs/PLAYING.md for the options and the item hotkeys.

Performance

  • Display → Quality sets the view, the core and the neighbour workers together. Medium is the default on the Switch; try Low if it runs slowly, or High docked.
  • View: Near (256×144) is the lightest, Far (480×270) the heaviest.
  • Core: Fast (mGBA) is much lighter than Accurate (SameBoy).
  • Profile → Faithful shows the original 160×144 picture and needs no neighbour workers at all.

Changes from The Oracles Project

  • CMakeLists.txt, third_party/CMakeLists.txt: the Switch build: SDL 3 from devkitPro's branch, mGBA by default, mGBA without mmap, no harness or tests.
  • launcher/CMakeLists.txt, launcher/switch/icon.jpg: the .nro with its icon and .nacp.
  • launcher/main.c: the launcher on an 8 MiB thread, the SD card's folders, the logs.
  • launcher/switch_clock.c: the CPU at 1785 MHz while running.
  • launcher/home_games.c, launcher/file_dialog.c: ROMs, European ROMs and patches found on the SD card by SHA-1.
  • launcher/sdl_backend.c: full-screen OpenGL window, the Switch's buttons by their letters, settings on the SD card.
  • launcher/session.c, launcher/home_choices.c: two neighbour workers by default.
  • engine/ghost/ghost.c: the workers on cores 1 and 2, with a 1 MiB stack.
  • launcher/switch/sdl-switch-audio.patch, cmake/apply_patch_once.cmake: a fix to the Switch SDL's audio driver, whose voice stopped for good when it ran out of buffers.
  • launcher/settings.c: the whole-pixel camera by default, as on Android.
  • build_switch.sh, docs/SWITCH.md: build script and notes.

This emulator is completely free and open-source. Optional donations to support the development are always welcome:

Ko-fi PayPal

Read official guide
CALIFICACIÓN
—
Loading votes…
Advertisement

PROJECT FILE

Project type
NATIVE PORT
Genre
Action / Adventure
Status
beta
Original platform
Game Boy Color
Technology
Native C/C++ port (engine reimplementation)
Version
—
Updated
Oct 22, 2026

Target platforms 0

View on GitHub
Advertisement