r/emulation

Image 1 — Xenia Canary can now run the Xbox 360 Metro dashboards!
Image 2 — Xenia Canary can now run the Xbox 360 Metro dashboards!
Image 3 — Xenia Canary can now run the Xbox 360 Metro dashboards!
▲ 338 r/emulation

Xenia Canary can now run the Xbox 360 Metro dashboards!

You can't really do much with the dashboards though, and most of the menus are crippled due to XAM URI functions being unimplemented. Though this is quite great for Xenia, since we have the entire history of Xbox 360 dashboards that can run on PC!

u/Weak-Sherbert9341 — 3 days ago
▲ 977 r/emulation+2 crossposts

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!

Here's also a 15min video of me playing Final Fantasy Crystal Chronicals: The Crystal Bearers on my Wii emulator!

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! :)

u/ioncodes — 5 days ago
▲ 16 r/emulation+1 crossposts

Starting an NES emulator in Haskell

Some final words on our EmuDevz JavaScript emulator, which is finally finished, and then on to the next challenge...writing an NES emulator in Haskell!

If you want to skip the introductory remarks about the JavaScript code and get straight to the Haskell, skip to around 3:45.

Thumbnail painting: "Napoleon Crossing the Alps", by Jaques Louis-David (1801).

youtube.com
u/peterb12 — 3 days ago

An x86 emulator written in CSS

This works in Chromium-based browsers, and emulates the subset of 16-bit x86 typically used in programs compiled using gcc-ia16 (e.g. it doesn't emulate the carry and overflow flags):

https://github.com/rebane2001/x86CSS

It's a few months old now, and I apologise if this was already posted here. This is a working x86 emulator written entirely in CSS. It just has a small HTML wrapper to allow browsers to load it. By default, it uses a small piece of JavaScript to provide the clock which gives a performance improvement, but you can disable JavaScript and it will fall back to a pure CSS implementation.

This isn't practical, but it's a pretty unique emulator, and I hope some of the people here find it interesting.

reddit.com
u/cuavas — 4 days ago

Goosestation v0.2

Goosestation is a project that allows you to transform standalone Duckstation® source code into a libretro core source code, and compile it into your own personal binary.

https://codeberg.org/hueponik/goosestation-builder/src/tag/v0.3 

  • Added macOS build support
  • Added Nintendo Switch build support (.nro). Native Deko3D driver for retroarch included!
  • Fixed Vulkan on Windows (static lib linking)
  • Updated upstream base to

There's more to it, but I'm bad with changelogs.

No videoguides still, sorry. No dolphin style reports either.

Install docker, get the source (git or download from codeberg)

On windows - run:

docker build -f Dockerfile.windows -t goosestation-builder-windows .
docker run --rm -v "$PWD/dist:/work/dist:Z" goosestation-builder-windows windows

On linux:

make docker-linux

Or, if you're using the best distros:

https://codeberg.org/hueponik/goosestation-overlay

https://aur.archlinux.org/packages/goosestation-libretro

On mac:

make macos

And look for core files in dist folder.

Android users can build right on their phones with termux. Run these commands:

termux-setup-storage
pkg install -y git
git clone https://codeberg.org/hueponik/goosestation-builder.git
cd goosestation-builder
git checkout v0.3
./build-in-android.sh

The core will be in your Download folder.

Okay, hopefully I didn't break anything. Let me know how it goes on your machine. Have fun!

Oh and don't distribute compiled binaries, please!

Edit: bump to v0.3

reddit.com
u/HueponiK — 5 days ago
▲ 15 r/emulation+2 crossposts

Thoughts on Emu-Sync? How does it compare to Syncthing?

While I initially looked into moving rom save files onto external storage devices like SD cards (so I may easily access my saves from either my Bazzite PC, Steam Deck, and hopefully eventual Steam Machine), I recently found out about using cloud syncing. I've heard of two examples: EmuSync and Syncthing. (Here's the link to the farmer's github https://github.com/emu-sync/EmuSync)

I'm inclined to try out the former since, well, it seems more in line with emudeck. But I need more insight. What are your thoughts on EmuSync? How does it compare to Syncthing?

u/Questioning-Warrior — 5 days ago
▲ 150 r/emulation

Mesen is now a community-driven project called MesenCE

Mesen is now a community-driven project under the name MesenCE. The original Mesen developer Sour is still actively involved, and future development will continue there exclusively. In other words: Mesen itself is no longer being developed separately, MesenCE is now the continuation of the project.

https://github.com/nesdev-org/MesenCE

reddit.com
u/xxelb — 7 days ago
▲ 127 r/emulation

GR2fork v3.0 MASSIVE Performance boosts, crash fixes, 4k support, initial Steam Deck support, and Gravity Rush Remastered Support

Hello everyone, this is the third and biggest release of ShadPS4 (PS4 emulator) GR2fork since launch. It aims to fix the remaining issues with the game while adding more features. Thank you for your patience and if you can please support me by buying me a kofi.

  • refactored gpucomm thread from a monolithic design to a dual core design to ease single threaded bottleneck (30% performance boost).
  • added cpu affinity logic to pin and isolate gpucomm threads to specific cores to get the best single core performance possible.
  • decreased cpu power draw by around 20% by using idle-detection + sleep for the GpuComm dispatcher loop.
  • added Intel specific peformance patches in cpu_patches by relocating the illegal-instruction traps firing in the GR2 eboot.bin.
  • added Intel P+E core detection when gpucomm pinning occurs so P cores are favored over E cores.
  • added more crash hotfixes across gameplay from texture bombs.
  • patched errors in imgui code that was causing silent crashes and automatic window exits.
  • added more rigorous diagnostics to crashes in crash handler.
  • created custom GR2Launcher to work with GR2fork that adds many exclusive settings and features for easy access in the gui without ever having to touch a config file.
  • added steam deck preset in launcher settings to automatically choose the best settings for its hardware.
  • added support from 540p up to 8k in resolution patches
  • added support for Gravity Rush Remastered. Added toggles for br cache and lru cache for fixing flickering or other graphical anomalies in either game if encountered.
  • Merged the double controller input detection fix from the mainline build.
  • added many more input mapping settings in GR2Launcher so that touchpad swipes can be emulated and mapped to any button whether it be on touchscreen, touchpad, controller, or keyboard, which is important for switching between different shifting styles.

@ 720p 30fps(locked) @ 1080p 30fps(locked) @ 4k 60fps(locked) @ 8k 60fps(locked)

ryzen 5 3600-------------ryzen 5 3600-------------ryzen 5 7600---------ryzen 5 7600

GTX 960 4GB ------------- gtx 1060 6gb----------- rtx 3060 8gb------ rtx 5080 16gb

12 gb ram------------------12 gb ram--------------12 gb ram------------12 gb ram

SSD-------------------------SSD----------------------SSD-------------------SSD

Download my fork here -> https://github.com/junminlee2004/GR2fork

Watch my fork in action here -> https://www.youtube.com/watch?v=8aHVM7qea6g&t=5s&pp=0gcJCdQKAYcqIYzv

Buy me a kofi here -> https://ko-fi.com/junminlee2004

join the GR2fork discord server (new) here for extended support. Anyone who wants to lurk for general game discussion surrounding gravity rush 1 and 2 are also welcome -> https://discord.gg/hnHRpzxGzG

u/Rude-Act8901 — 8 days ago
▲ 237 r/emulation+1 crossposts

Cemu x64 AppImage and Ubuntu zip compromised with malware

If you downloaded Cemu 2.6 in its x64 AppImage for Linux of Ubuntu zipfile between May 6 2026 and May 12 2026, you might have downloaded a compromised package.

More details here : https://rentry.org/cemu-security-psa

If you use a tool such as EmuDeck and updated its emulators in that time period, your copy of Cemu is also possibly compromised (as EmuDeck uses the Cemu AppImage).

To make sure your copy of Cemu is legit, verify the SHA256 signatures :

Cemu-2.6-x86_64.AppImage 0c20c4aeb800bb13d9bab9474ef45a6f8fcde6402cad9b32ac2a1bbd03186313 (sha256)
cemu-2.6-ubuntu-22.04-x64.zip 5e4592d0dae394fa0614cb8c875eff3f81b23170b349511de318d9caf7215e1b (sha256)
github.com
u/kwyxz — 9 days ago
▲ 1.3k r/emulation+2 crossposts

Apologies if this sort of post in not allowed here, but the unofficial PC port of twilight princess is out now!

youtu.be
u/EAT_UR_VEGGIES — 12 days ago
▲ 52 r/emulation+1 crossposts

Release v0.12.1 · jsgroth/jgenesis

Mostly-bugfix release for v0.12.0

This release fixes a regression in v0.12.0 that caused turbo input mappings to not work properly; in v0.12.0 they behaved the same as non-turbo mappings.

This release also includes changes to where the emulator stores its settings files on Windows. They are now generally stored in a user profile-level directory by default rather than in the emulator directory, so settings will be automatically shared between different copies of the emulator in different directories (it already worked this way on other platforms). It is possible to restore the old Windows behavior if desired, see the full changelog below.

Save states are not compatible with previous versions.

Full changelog:

Settings Changes

  • On Windows, the settings file is now stored in a user profile directory by default (generally C:\Users\$NAME\AppData\Local\jgenesis\); other platforms already behaved this way (e.g. generally $HOME/.config/jgenesis/ on Linux)
  • If you want to restore the old Windows behavior of storing the settings file in the emulator directory, there is a new option in Settings > Paths to switch the settings file location, or you can create a portable.txt file in the emulator directory (contents don't matter, the file just has to exist); this works on all platforms
  • The --config command line arg still exists and overrides all of this behavior if it is used

Improvements

  • The rewind buffer is now compressed in memory; this significantly decreases the emulator's RAM usage, particularly when emulating Sega CD or 32X
    • Exact savings will vary based on a lot of things, but with 32X for example I'm seeing that a 10-second rewind buffer now takes 40-80 MB of RAM instead of ~600 MB
    • Compression is performed asynchronously, so this should not impact emulator performance
  • Save states are now compressed and written to disk asynchronously, which makes it significantly less likely that saving state will cause the emulator to stutter

Fixes

  • Fixed turbo input mappings not working properly; this was a regression in v0.12.0
    • This was caused by the backend changes to support the Genesis debugging tools added in v0.12.0, which involved mostly rewriting the main emulator execution loop (among other things); the new version was missing the bit of code that makes turbo buttons alternate between pressed and not pressed
  • Fixed all settings reverting to defaults when a single setting fails to deserialize from the config file; now only the setting(s) that failed to deserialize will reset to default
  • (SNES) Cartridges that specify a nonsensically high amount of SRAM in the cartridge header now get 256 KB of SRAM instead of none (#635)
    • This seems to usually happen with prototype cartridges that don't have a proper cartridge header, where the "SRAM byte" is just part of a random chunk of code or data; some of these do require SRAM though
github.com
u/Legendary_Player — 8 days ago
▲ 37 r/emulation+4 crossposts

Hola gordos jueguito, por temas de la vida en el laburo me dieron un Mac, y estan buenisimas, pero me gusta la emulación y los emuladores que hay para mac son todos horribles, excepto por OpenEmu que crashea cuando le pongo un joystick, solo soporta tres sistemas y encima no se que se supone que tenes que hacer para jugar un juego de play, me embola.

Cuestion, me canse, la IA es grati' y tengo tiempo, asi que hice mi propio front-end, tecnicamente soporta todos los sistemas de libretro (todavia estoy estabilizando algunos), y tiene muchos QoL que ningun otro frontend tiene (hasta donde vi).

- Meter un joystick anda de una
- Te baja las imagenes de una (y con un click podes elegir una de googlea/duckduckgo)
- Cheats automaticos
- Achievements (estoy con eso, no funciona todavia)
- Generos, categorías, busqueda facil

Me diverti muchisimo creando de cero TODOS LOS SHADERS (creo que me quedaron MUY ZARPADOS, el de Game Boy por ejemplo no es una imagen sino que esta di-bu-ja-do en C alrededor de la pantalla.

Cuestion, es open source, gratis, etc, lo hice principalmente para mi, pero me gustaria compartirlo por si a alguno le sirve: https://github.com/JuanchoGithub/truchiemu

juanchogithub.github.io
u/truchisoft — 11 days ago

Cxbx reloaded is continuing development.

This was transcribe from discord encase anyone interested.

Luke Usher

Cxbx-Reloaded – Project Direction Update

Hi everyone, As the original initiator of Cxbx-Reloaded, I’ll be stepping back into an active ownership role and guiding its development going forward. The project has explored multiple technical directions, and trying to pursue all of them in one codebase is now holding things back.

What’s changing

The mainline project will return to a primarily HLE-driven approach rather than the current hybrid/LLE-heavy direction. This is a deliberate shift.

Preserving the current direction

A snapshot of the current project has been published as: cxbx-reloaded-legacy
https://github.com/Cxbx-Reloaded/cxbx-reloaded-legacy This represents the project as it exists today. It’s open for anyone to maintain, accept PRs, or fork. I won’t be actively maintaining it.

About LLE and other projects

Cxbx-Reloaded will focus on HLE. If you’re interested in LLE or closer-to-hardware behaviour, xemu is already aligned with that direction: https://github.com/xemu-project/xemu

Why this split

Supporting fundamentally different approaches in one repo has slowed development and lead to us being in a weird place where we are not doing a good job of either path. This split allows us move forward with a clear direction and focus.

Going forward

If you’re contributing to mainline, please align with this direction. Otherwise, the legacy branch is there. Thanks to everyone who’s contributed so far.

- Luke

u/Wheat-man — 11 days ago