From Sega Retro
Gens is a Sega Mega Drive emulator programmed by Stéphane Dallongeville. It runs on Windows systems (using DirectX) and on Linux (using Simple DirectMedia Layer). The earliest semi-functional release (only capable of debugging 68000 instructions) dates from 1999. As of September 2004, the current version (2.12b) advertises full compatibility with "92%" of all Genesis games. As with all emulators, games or ROM images are not included and have to be downloaded or obtained (copied) separately.
Gens also supports running Mega CD and Sega 32X games if provided with the respective BIOS files, which are not provided with the emulator. In addition, Game Genie codes allowing games to run with cheats are supported.
Another feature is support for the Kaillera Client, which allows games on the Gens emulator (as well as other emulators) to be played over a LAN or the Internet. However, on Gens at least, this is not as smooth a process as one would hope; a common problem is that on either PC, the other player appears to be a few seconds behind (lag); this may result in them appearing to attack non-existent enemies for example.
Gens can also record what buttons are pressed and slow the gameplay down so it is used in making of tool-assisted speedruns.
Gens v2.14 was the first emulator ever that featured save state support for SEGA CD.
There are a number of unofficial versions, including: