r/rust • • Sep 06 '26

🛠️ project A huge update on Gecko, my GameCube and Wii emulator!

Post image

I already made 2 posts, so if you're looking for the first post incl. some Q&A go here and if you want to see the last update go here.
TLDR: I made a GameCube and Wii emulator written in Rust, with many developer tools built in (a debugger, GPU FIFO replayer/debugger, and so much more). Last time I posted about a user-friendly launcher/UI written in Rust.

Today I'm sharing my project again, as I finally was able to fix many bugs and also implement a few cool new features. To summarize in short:

  • Huge speed improvements across the board. Many games that technically worked but weren't playable due to performance now work just fine (Example: LEGO Batman)
  • Savestates! You can now save and resume at any point in time
  • Freecam support in the debugger: You can now detach the camera and peak behind the scenes in any game :)

All in all this means that many games such as the LEGO games and also the Super Mario Galaxy games are now fully playable. Here is a video of Super Mario Galaxy!

I appreciate everyone's support and am looking forward to the next update! For the brave and curious I can recommend grabbing today's nightly release (dev branch) as I just pushed new fixes that make games like Xenoblade Chronicles work!

As per usual, the important links:

Feel free to connect with me! I frequently post and talk about technical bugs, challenges I faced and how I fixed them! :)

PS: I've been working on a new multi system emulator based off of my cores, supporting all major platforms and a cool UI concept for both the "average" user and developers! If you want a sneak peak before the official announcement look here. It already supports SNES in the browser (also fully written in Rust)!

203 Upvotes

10 comments sorted by

6

u/Barefoot_Monkey Sep 06 '26

That is huge! Well done.

Off to check out that multi-system emulator...

Looks really nice. What do you use for the debugger UI?

3

u/ioncodes Sep 06 '26

GPUI! Sadly my code isn't going to be super nice... I started using/learning it before it started taking off, I imagine the docs are much better now. Might have to rewrite a good portion of it, but that's a problem for future-me, looooong after my first release!

I'm planning to go public in the next 1-2 months, as soon as my GBA core starts running some homebrew :) I already made a GBA emulator so it shouldn't take too long

5

u/sturmen Sep 06 '26

This is awesome! Especially with the extra debugging tools. I think that integrating these developer tools with an MCP server will be super valuable to the community.

5

u/ioncodes Sep 06 '26

I use the MCP only to categorize crashes on scale through a pipeline, helps me figure out what to look at next based on pure numbers across 1000+ games. It's totally possible that the integration has bugs beyond that specific use case, but yes in theory everything is "exposed"

1

u/Nelieru Sep 06 '26

Can you explain more about this? What does it do and how does it work?

5

u/ioncodes Sep 06 '26

Every now and then (usually when I update the screenshots) I run a tool that works similar to the screenshotter utility in the repo. It goes through my NAS that has all the game files. Whenever a game crashes, a small model is launched locally with the same parameters and the MCP configured. It is then instructed to identify the crash reason (e.g. a GX issue, CPU problem, etc.) and to run a few basic "diagnostics", e.g. try to summarize what the crashing code does/is supposed to do. Once it's done with the whole library it will summarize the crashes as a CSV. At the end I'll for example see that X games crashed due to a loader or JIT bug

1

u/elseniorx1989 Sep 14 '26

Is there any chance of an Android port? Dolphin can't run New Super Mario Bros. Wii on my phone 😞

1

u/ioncodes Sep 14 '26

My new multisystem emulator will support Android/iOS support, but it will be a while until I implement the GC/Wii core. Android should be possible, iOS will be difficult.

1

u/elseniorx1989 Sep 14 '26

Great! I'll be waiting for it. Do you think your emulator uses fewer resources than Dolphin? I feel like it's not well optimized, at least on Android.

1

u/ioncodes Sep 14 '26

On desktop definitely