Genesis Plus GX: a portable and accurate Sega 8 and 16 bit emulator
An enhanced port of Genesis Plus - accurate & portable Sega 8/16 bit emulator
At a glance
- What is it?
- Genesis Plus GX began as a GameCube and Wii port of Charles MacDonald's Genesis Plus and has become a shared multi-platform core with a non-commercial licence, used by RetroArch, BizHawk and OpenEmu. The repository keeps one core directory and a separate set of makefiles and frontend directories for each target, and it makes a compatibility claim across the Sega hardware it covers.
- Who is it for?
- Genesis Plus GX is worth building on if you are writing a Sega frontend, because the core is maintained as a portable reference implementation and the accuracy work has been the point of the project for years, so you inherit that rather than redoing it.
- Can I use it commercially?
- Check first. The repository uses a licence we do not classify automatically, so read its LICENSE file before any commercial use.
- Is it still maintained?
- Yes. The repository last received commits 17 days ago.
- What is it written in?
- Mainly C, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 23, 2026, and from our analysis. They are not legal advice.
Editorial analysis
Accuracy and portability as the two goals
Genesis Plus GX is an open source Sega 8 and 16 bit emulator focused on accuracy and portability, and the pairing of those two words is the design position rather than a marketing phrase. The code was initially based on Genesis Plus 1.2a by Charles MacDonald and has been heavily modified and enhanced, with respect to the original goals and design, to improve emulation accuracy as well as to add support for new peripherals, cartridge or console hardware and other features documented in the wiki. The readme makes a claim about its own lineage that is worth repeating, that the result is now more a continuation of the original project than a simple port. The accuracy claim is stated in the same strong terms, with very accurate emulation and 100% compatibility across the Sega hardware it covers, and the authors are candid that this includes all unlicensed or pirate known dumps, which is a measure of how thoroughly the hardware behaviour has been mapped rather than a comment about software policy. It also emulates the backwards compatibility modes when the hardware provides them.
From a GameCube port to a shared core
The history explains the layout. The emulator was initially ported and developed on GameCube and Wii consoles through libogc and devkitPPC, and it is now available on many other platforms through various frontends, of which the readme names RetroArch through the libretro project, BizHawk and OpenEmu. The multi-platform source code, the core, is made available for use under a specific non-commercial licence and is maintained on both Bitbucket and GitHub, with the stated reason being that other Genesis Plus ports can benefit from it, and with the author's stated wish that the emulator becomes a reference for portable and accurate Sega 8 and 16 bit emulation. That is a clear invitation to port it, and the readme says so directly, that if you ported the emulator to other platforms or need help porting it, you can get in touch. In the repository that idea is structural rather than aspirational, since the core sits in its own directory and the platform specific code lives in directories beside it.
What the emulator actually covers
The supported hardware list from the readme is a specific one: Genesis and Mega Drive, Sega and Mega CD, Master System, Game Gear and SG-1000, with the compatibility pages in the wiki holding the detail. The SG-1000 and the Master System are the parts people forget, since the 8 bit machines are outside what most people mean by a Genesis emulator, and including them with the same accuracy target is what makes the project a Sega 8 and 16 bit emulator rather than a Mega Drive emulator with extras. The Mega CD is the harder half, because it is an add-on with its own CPU and its own timing behaviour, and the list of new peripherals and cartridge hardware added since the original port is long enough that the readme links to a separate features page rather than listing them. The project also maintains a credits page listing everyone who contributed directly or indirectly, which is the sort of thing an emulator that has been worked on for many years accumulates.
The licence is non-commercial, and that is the constraint
The licence is the first thing a commercial user needs to read, and the readme is explicit about it. The multi-platform source code, the core, is made available for use under a specific non-commercial licence, and the repository carries a LICENSE.txt file. The full terms are in that file rather than in the summary, so anyone considering using the core in a product, in a console product, in a device sold to customers, or in a hosted service needs to read it before doing anything else. It is worth contrasting this with the general expectation, because many emulator cores are under a permissive licence precisely because they are meant to be embedded in frontends that ship commercially, and RetroArch is one of the frontends listed here. The honest position is that the author maintains the core for the community of ports and asks that commercial use be arranged, and a project that has to make that call should expect a conversation rather than assume the code is free for any purpose.
One core, one makefile per target
The repository layout makes the portability story concrete. There is a core directory holding the shared implementation, and beside it a gx directory for the GameCube and Wii port, a libretro directory for the RetroArch core, an sdl directory, a psp2 directory for the PlayStation Vita, and a gcw0 directory for another handheld. The makefiles match: Makefile.gc for the GameCube build, Makefile.gc.low-mem for a low memory variant, Makefile.wii and Makefile.libretro. There is a builds directory for the compiled output, including the latest official GameCube and Wii standalone port, with screenshots in the readme of the main menu, the load menu, the ROM browser and the controller menu. The readme tells you to check the included user manual first, and there is a startup guide and a frequently asked questions page in the wiki as well. For developers there are also CI configurations in the tree, a Travis configuration and an AppVeyor one, and a HISTORY.txt file that records the changes over time.
Trying a build, and where the project stands
If you would rather not compile anything, the builds directory carries the official GameCube and Wii standalone port, and the readme also points to compiled builds for GameCube, Wii and Retroarch, with the parenthetical that the Retroarch one is the Windows 32-bit version only. That narrowness is worth knowing before you plan a download. The maintainer also accepts PayPal donations, which is a small signal that the project runs on volunteer time. On the state of the code, the repository has no GitHub releases at all, so there is no tagged version to pin and the changelog is the HISTORY.txt file in the tree, and the last push was on 2026-10-06, so the code is being worked on. The master branch is the default and the wiki is where the substantive documentation lives, with pages for features, for compatibility, for getting started and for frequently asked questions, and the credits page. For a project that describes itself as a reference implementation, having the reference live in a wiki rather than in release notes is a reasonable shape, but it does mean the wiki is the artefact to watch.
Editorial conclusion
Genesis Plus GX is worth building on if you are writing a Sega frontend, because the core is maintained as a portable reference implementation and the accuracy work has been the point of the project for years, so you inherit that rather than redoing it. It is the wrong choice for a commercial product, since the core is under a specific non-commercial licence, and it is the wrong choice if you want a single binary you can hand to users, because the repository ships builds for a limited set of targets. Before you start, read the licence file rather than the summary, check the features and compatibility pages in the wiki, and pick the frontend that matches the platform you actually ship on.
Frequently asked questions
What is Genesis Plus GX?
It is an open source Sega 8 and 16 bit emulator focused on accuracy and portability, based on Charles MacDonald's Genesis Plus and heavily enhanced since. It provides a shared multi-platform core used by frontends including RetroArch through libretro, BizHawk and OpenEmu.
Which Sega systems does Genesis Plus GX emulate?
Genesis and Mega Drive, Sega and Mega CD, Master System, Game Gear and SG-1000, with 100% compatibility claimed for released software including unlicensed and pirate dumps, and it also emulates the backwards compatibility modes when the hardware provides them.
What licence is the Genesis Plus GX core under?
A specific non-commercial licence, with the details in the LICENSE.txt file in the repository. The readme asks anyone who has ported the emulator or needs help porting it to get in touch.
How is Genesis Plus GX built for different platforms?
There is one shared core directory and a set of platform specific ones, with a matching makefile for each target: Makefile.gc for GameCube, Makefile.gc.low-mem, Makefile.wii, Makefile.libretro, plus sdl, psp2 and gcw0 directories. The compiled output goes to the builds directory.
Where can I get a ready-made Genesis Plus GX build?
The builds directory in the repository carries the official GameCube and Wii standalone port, and the readme also offers compiled builds for GameCube, Wii and Retroarch, where the Retroarch build is the Windows 32-bit version only.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/ekeeke-genesis-plus-gx)Was this useful?