BlastEm - The fast and accurate Genesis emulator

Overview

BlastEm has the goal of being an extremely accurate Genesis emulator while still running on relatively modest hardware by using advanced techniques. Currently it meets neither my accuracy nor performance goals, but those goals are pretty high. Speed and accuracy should be sufficient for most purposes. It runs at full speed on an old first generation Intel Atom and can run Sonic 2 at around 600 fps on a Haswell desktop using a single core. To my knowledge, it is the only emulator besides Genesis Plus GX that can properly display the "TITAN 512C FOREVER" portion of Titan's Overdrive demo, and the only emulator besides Exodus that passes all 122 of the tests in Nemesis' VDP FIFO Testing ROM and can properly display "Direct Color DMA" demos.

Requirements

BlastEm requires a computer with an x86 processor running Linux, OSX or Windows. There is experimental support for x86 Android devices like the Nexus Player, but due to the rough state of that port I am not providing pre-built binaries at this time. The current version depends on SDL 2, GLEW and OpenGL 2. On systems without OpenGL 2 support, BlastEm will fallback to using SDL 2's render API. You may be able to use it on other Unix-like systems if you're willing to compile it yourself.

Features

Screenshots

Sonic 2 Title Screen Sonic 2 ingame shot Comix Zone ingame shot Vectorman Sega logo screen Day Trip direct color DMA section

Download

BlastEm 0.4.1 - Released August 6th, 2016

Usage of older releases is not recommended, but links can be found in the changelog.

Third Party Packages

Some individuals have taken it upon themselves to provide OS/distro specific packages. I don't maintain these so I can't vouch for their contents, but they may be more convenient than the generic binaries above.

Installation

Extract the tarball/zip to a directory of your choosing. If you wish to change the configuration settings, copy default.cfg to ~/.config/blastem/blastem.cfg and modify the copy. If you're using it from the command line, you may also whish to add the blastem directory to your PATH environment variable.

Usage

BlastEm 0.4.0 includes an experimental Genesis ROM based UI. In other words, the UI itself is actually a Genesis ROM running inside the emulator. It is useable with both the mouse and the first emulated gamepad, which is mapped to both the keyboard and first connected gamepad by default. Not all features are currently exposed via the GUI at this time so some features requiring invoking BlastEm via the command line or a launcher that can pass command line parameterss. For a list of all command line options, run blastem -h. For more details on the various options and information on editing the configuration file see the included README.

Source Code

The code to BlastEm is available under the GNU GPL v3 or later. You can get it from the Mercurial repo.

Known Issues

Commercial Game Compatibility

I have generally only tested with games I personally own. Presently, this includes less than 25% of the North American Genesis library and many of those have not received extensive testing. There may be other games that do not work other than those on the list above. Additionally, EEPROM games need ROM database entries in order to work and my database is currently incomplete.

Homebrew Compatibility

Unimplemented Hardware Features

Accuracy (incomplete list)

Contact

I can be reached via email at pavone@retrodev.com. Follow me on Twitter for news on the latest releases.