emmd
What it is
emmd is a free Sega Genesis (Mega Drive) emulator written in Go and targeting Model 1 hardware. Its desktop interface organizes games in a library with ROM scanning, artwork, metadata, save-state management, rewind, fast-forward, shader effects, RetroAchievements integration, and configurable settings. The emulator supports the Motorola 68000 and Zilog Z80 CPUs, VDP rendering, YM2612 FM synthesis, and SN76489 PSG audio. It supports two-player three-button and six-button controllers, plus battery-backed SRAM and save states checked against CRC32 checksums and ROM CRC matching. NTSC and PAL regions are detected from a ROM header or can be selected manually. A LibRetro core is available for compatible frontends, and the project documents a macOS build that creates an app bundle with an icon and code signing. Its stated scope is officially licensed, released Genesis games; unlicensed or homebrew games, prototypes, beta ROMs, and non-controller peripherals are unsupported. The repository lists a GPL-3.0 license, and building requires Go 1.25 or later.
For and against
For
- Game library includes ROM scanning and metadata.
- Supports rewind, fast-forward, and shader effects.
- Handles NTSC and PAL regions.
- Provides a LibRetro core for compatible frontends.
- Supports two-player three-button and six-button controllers.
Against
- Unlicensed and homebrew games are unsupported.
- Prototypes and beta ROMs are unsupported.
- Non-controller peripherals are unsupported.
- Building requires Go 1.25 or later.
The verdict
emmd pairs Genesis emulation with library and save-state features, while its compatibility scope is limited to officially licensed, released games. Its build requirement matters for anyone compiling the project.
Who it suits
It suits people seeking a free Genesis emulator for supported games, including users who want save states, shaders, or LibRetro frontend integration. Builders need Go 1.25 or later.
On the record
- Build requirement
- Building the project requires Go 1.25 or later.github.com · read 3 Oct 2026
- Compatibility limit
- The emulator targets officially licensed, released Genesis games and lists unlicensed or homebrew games, prototypes, beta ROMs, and non-controller peripherals as unsupported.github.com · read 2 Oct 2026
- Compatibility limits
- The emulator targets officially licensed and released Genesis games and says it does not support unlicensed or homebrew games, prototype or beta ROMs, or non-controller peripherals.github.com · read 3 Oct 2026
- Controllers
- It supports two players using 3-button or 6-button controllers.github.com · read 3 Oct 2026
- Desktop features
- The desktop UI includes a game library with ROM scanning, artwork, metadata, save state management, rewind, fast-forward, shader effects, RetroAchievements integration, and configurable settings.github.com · read 3 Oct 2026
- Desktop library
- Its desktop UI provides a game library with ROM scanning, artwork, metadata, save-state management, rewind, fast-forward, shader effects, RetroAchievements integration, and configurable settings.github.com · read 2 Oct 2026
- Development requirement
- Building the project requires Go 1.25 or later.github.com · read 2 Oct 2026
- Emulated hardware
- The emulator supports Motorola 68000 and Zilog Z80 CPUs, VDP rendering, YM2612 FM synthesis, and SN76489 PSG audio.github.com · read 3 Oct 2026
- Emulation
- The emulator supports Motorola 68000 and Zilog Z80 CPUs, VDP rendering, YM2612 FM synthesis, and SN76489 PSG audio.github.com · read 2 Oct 2026
- Frontend integration
- The project provides a LibRetro core for use with LibRetro-compatible frontends.github.com · read 3 Oct 2026
- Integration
- A LibRetro core is provided for use with LibRetro-compatible frontends.github.com · read 2 Oct 2026
- License
- The repository lists a GPL-3.0 license.github.com · read 3 Oct 2026
- macOS
- The project documents a build target that creates a macOS application bundle with an icon and code signing.github.com · read 2 Oct 2026
- Maker
- The GitHub account for the repository is named John Schember and lists Florida, USA.github.com · read 2 Oct 2026
- Product
- emmd is a Sega Genesis (Mega Drive) emulator written in Go and targeting Model 1 hardware.github.com · read 2 Oct 2026
- Purpose
- emmd is a Sega Genesis (Mega Drive) emulator written in Go and targeting Model 1 hardware.github.com · read 3 Oct 2026
- Regions
- It supports NTSC and PAL and can detect the region from a ROM header.github.com · read 3 Oct 2026
- Save data
- It supports battery-backed SRAM and save states, which are checked with CRC32 checksums and ROM CRC matching.github.com · read 3 Oct 2026