
r/emulation

I built a clean, offline-first emulator frontend in C# (hash-based ROMs, no scraping) – Linux + Android
I got tired of messy emulator frontends relying on scraping and fragile filename matching, so I started building my own.
EutherDrive is a multi-system emulator frontend + core collection written in C# with Avalonia UI.
The main idea is to keep things deterministic and offline-friendly:
- ROMs are identified by hash (not filenames)
- Cover art is cached locally (Libretro thumbnails + No-Intro DAT matching)
- No scraping or online dependency once cached
- Shared savestates, playtime tracking, stars, etc.
Currently supports:
- Mega Drive / Genesis + Sega CD
- Master System / Game Gear
- Game Boy / Color / Advance
- NES / SNES
- PC Engine + CD
- PSX
- (N64 is wired but still WIP)
Runs on Linux, Windows, macOS (Avalonia), plus an Android frontend.
This started as a Mega Drive project and just kept growing.
Would love feedback from people who care about clean architecture / deterministic behavior.
Repo: