Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

86 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A retro game launcher, with its own multi-emulators.

Build status Go 1.25 Wails v2 Platforms

Espaze is a multiplatform (Windows, macOS, Linux) retro game launcher.
Bundling several emulators into a single launcher.


Supported systems

System Status Extensions
CHIP-8 ✅ Complete .ch8
Super-CHIP ✅ Complete .sc8
Game Boy (DMG) ✅ Complete .gb
Game Boy Color ✅ Complete .gbc
NES ✅ Complete .nes
Sega Master System ✅ Complete .sms
Sega Genesis / Mega Drive ✅ Complete .md, .bin, .gen
Sega Game Gear ✅ Complete .gg
Atari 2600 ✅ Complete .a26, .bin
PC Engine / TurboGrafx-16 ✅ Complete .pce
Game Boy Advance ✅ Complete .gba
Neo Geo Pocket Color ✅ Complete .ngp, .ngc
Super Nintendo ✅ Complete .sfc, .smc
ColecoVision ✅ Complete .col

Tech stack

  • Backend: Go + Wails v2 (native window, Go ↔ JS bindings).
  • Frontend: vanilla JavaScript + Vite, no framework - each view is a small module that mounts its own DOM.
  • Emulation: homemade implementations under internal/systems/<console>/, all behind one common interface (core.Core) that lets any new console plug in without touching the rest of the app.

Architecture

  • internal/emulation/core/core.go - the Core contract every system implements.
  • internal/systems/<console>/ - one implementation per console (CPU, memory, video, sound...).
  • internal/app/app/ - the bindings exposed to the frontend via Wails.
  • frontend/src/views/ - one view per screen (library, detail, settings, player...).

Releases

Packages

Contributors

Languages