BizHawk
BizHawk is a multi-system emulator written in C#
...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.