
Gecko, a new GameCube and Wii emulator, is now public!
I'm here to present "Gecko" a new, cross-platform and modern GameCube and Wii emulator written in Rust! It's been a work-in-progress project for a while now and I'm extremely happy to finally share it publicly :)
In case you don't care about my ramblings, here's a link to the GitHub repository!
Many games already work extremely well, but it's very far from being on Dolphin's level! GameCube games tend to work better than Wii games currently, but I know of at least one game that is perfectly playable even on the Wii. More to this a bit later!
Here are some highlighted features:
- GameCube & Wii support
- Cranelift based JIT recompiler (PPC, DSP, vertex parser)
- WGPU based renderer supporting all major platforms
- Modular audio backend
- ISO, RVZ, ZIP support
- Frame pacing
- and much more!
Gecko aims to offer a playable and accurate experience for the average user. However, Gecko is also tailored to reverse engineers and homebrew developers. It's packed with tons of goodies that aren't mentioned in the above list! To name a few more (if you're not interested skip ahead!):
- Lua scripting
- An advanced yet beautiful debugger
- Rich logging system
- Symbol parsing from ELFs and IDA Pro databases
- RenderDoc captures with tons of debug markers
- Multitool to decode/encode IPLs, extract DVD filesystems, disassemble PPC/DSP code
- Recording audio to .wav files
- Built-in diagnostics for JIT and GX (GPU)
The emulator runs on all major platforms, it has been tested on: Windows, Linux, macOS and the browser (incl. the debugger). Here's also an old YouTube video of it (poorly) running on an iPad: https://www.youtube.com/watch?v=ACW36TXlUhM, because why not?
I also automated screenshot gathering over a selection of games, these are hosted here (mainly used to catch regressions/improvements, but also useful to gauge compatibility):
I'd be more than happy to see people try it out, share their experience and perhaps even contribute!!
To finish up the post I'd like to also share the "Why?". Why does this emulator even exist? I've always been very interested in low level stuff and figured I could do something to make 12yo me proud: Create an emulator that can play my childhood favorite game (Final Fantasy Crystal Chronicles: The Crystal Bearers on the Wii). I ended up going on a multi-year journey learning about emulator development, with the goal to improve my skills and ultimately do Wii.
I mentioned earlier that a game is already perfectly playable on the Wii... That is my childhood game, so to me, this project is already a huge success despite it not being anywhere as mature as Dolphin! :)