BizHawk
BizHawk is a multi-system emulator written in C#
...As well as quality-of-life features for casual players, it also has recording/playback and debugging tools, making it the first choice for TASers (Tool-Assisted Speedrunners). Screenshotting and recording audio + video to file. Firmware management, input, framerate, and more in a HUD over the game. Rebindable hotkeys for controlling the frontend (keyboard+mouse+gamepad). A comprehensive input mapper for the emulated gamepads and other peripherals. Programmatic control over core and frontend with Lua or C#.NET. Development builds are made automatically whenever someone contributes. Because of this, we recommend using a release for work that requires stability (such as TASing), and only switching to a dev build if there's a specific change or addition you need.