GENESIS MEGA DRIVE EMULATOR
clownmdemu-core
ClownMDEmu is a portable Sega Mega Drive / Genesis emulation core implemented in ANSI C. The repository clownmdemu-core provides the emulator library (CPU, VDP, FM/PSG audio, etc.) intended to be used by separate frontends such as a standalone frontend or a libretro core.

WHY IT MATTERS
Why pick this core
ClownMDEmu emphasises portability, minimal dependencies, and a low-level interface that gives frontends control over scanline timing and native audio streams. The core is designed as a self-contained C library that can be integrated into multiple frontends (standalone and libretro are provided by the author).
BEST FOR
Best for
Developers and advanced users who need a compact, portable Mega Drive core to embed in other frontends, or users who want a libretro-compatible core with clear separation between emulation and platform logic.
The people behind clownmdemu-core
History and status
ClownMDEmu is authored and maintained by Clownacy. The project separates the emulation core (this repository) from frontends (a standalone frontend and a libretro frontend are provided as separate repositories). The core's design goals (documented in its README and TODO) prioritise portability, original implementations of components (custom 68000 and YM2612 implementations), and a relatively low-level API for audio and video output. Development is active: the project and its frontends have release activity and blog posts by the author describing new versions and technical notes. Some Mega Drive features remain listed as TODO in the repository's documentation, so exact compatibility varies by version and frontend.
What clownmdemu-core supports
- Intended to be portable across Linux, Windows, macOS and other platforms (platform support depends on the chosen frontend)
- Libretro (RetroArch and other libretro frontends) via clownmdemu-libretro
- Standalone frontend (clownmdemu-frontend) that provides runnable builds and debugging menus
- Build from source on platforms that support C89 toolchains
Download and availability
OFFICIAL DOWNLOADS
Get clownmdemu-core
Official sources and release builds are hosted by the project. The emulator core is on GitHub; official frontend releases (standalone and libretro integrations) are available from the author's GitHub releases pages and blog posts. Use the core repository to build integration targets and the frontend repositories for ready-to-run binaries.
Get clownmdemu-core ↗DOCUMENTATION
Official documentation
Read the official configuration, compatibility, and troubleshooting material before changing advanced options.
Read official documentation ↗clownmdemu-core setup guide
Setup note: ClownMDEmu is distributed as a core library plus separate frontends. To actually run Mega Drive/Genesis games you must either build or download one of the provided frontends (standalone frontend or libretro core). The following guide walks through obtaining the core, building or using a frontend, and practical setup notes.
- 1) Inspect official repositories: Start from the core repository (clownmdemu-core) to read README, TODO, and build instructions. Also open the standalone frontend (clownmdemu-frontend) and libretro frontend (clownmdemu-libretro) repositories to determine which distribution (prebuilt binaries or source) suits your platform.
- 2) Choose frontend: standalone or libretro: If you want an immediately runnable program with debug menus and platform glue, use the standalone frontend repository's releases. If you prefer integration into RetroArch or another libretro frontend, use the clownmdemu-libretro project (build as a libretro core or obtain a packaged libretro core if available).
- 3) Download releases or clone source: For binaries: check the frontend's Releases page for AppImage/Windows/macOS builds (if present). For building: clone clownmdemu-core and the chosen frontend, then follow each repo's build instructions. The core is ANSI C and aims to build with standard C toolchains; the frontend will provide the platform-specific build steps.
- 4) Build notes for developers: Treat the core as a library. Build the core per its repository instructions (it intentionally keeps platform-specific code out of the core). Then build the frontend which links against the core. Pay attention to required build tools listed in the frontend (for example, make, a C compiler that supports C89, and any dependency listed by the frontend).
- 5) Using the libretro core: If using the libretro frontend, produce a libretro core binary from the clownmdemu-libretro repository and place it in your RetroArch cores folder. RetroArch will load the core; ROM files must be provided separately and are not included with the project.
- 6) Runtime configuration and ROMs: Configure video/audio/input through the chosen frontend (RetroArch or standalone). The core exposes raw scanlines and separate FM/PSG audio streams; frontends handle conversion to the host's audio/video subsystems. Do not expect any commercial BIOS or game content to be included — provide your own legally obtained ROMs and firmware if required by particular use cases.
- 7) Troubleshooting and debugging: Refer to the project's TODO and issue tracker for known limitations and unimplemented features. The standalone frontend includes debugging menus which can help diagnose rendering or audio differences. If encountering platform build problems, verify your toolchain supports C89 and check the frontend repo for additional dependency notes.
Software reminder: ClownMDEmu provides only the emulator code and frontends; it does not include commercial games, BIOS, or firmware. Obtain game files and any required firmware legally and configure them through the frontend.
Sources and further reading
Detailed guides and tutorials
Explore step-by-step guides for clownmdemu-core as they are published.
Retro Replay Retro Gaming History, Reviews & Emulation