FCEUX is a free open source video game emulator for Windows, Linux, and Macintosh written in C++. The program emulates the Nintendo Entertainment System (NTSC and PAL models), Famicom, FamicomBox, Famicom Disk System, PlayChoice-10, VS. System, and Dendy, as well as several hardware accessories like the NES Controller, Zapper, Power Pad, Arkanoid Paddle, and more.
FCEUX was initially built by combining several forks of FCE Ultra into a single powerful emulator. Features include the ability to accurately play pretty much every game ever made for each system it supports, a cheat tool, RAM search, hex editor, powerful debugger, PPU viewer, trace logger, Lua scripting, the ability to log audio and video, network play, and a tool-assistant.
I began NES emulation on NESticle, but, as other emulators began to eclipse it, and it became harder to run in Windows, I eventually switched over to a Windows-based emulator. I tried several, but eventually landed on FCE Ultra, which I used for awhile. It had better game support, but it still lacked any new development, so I went out looking for another replacement and found an early build of FCEUX. FCEUX has been my favorite NES emulator ever since. It's not the most accurate emulator or the most feature rich (Mesen currently holds that crown), but it's the one I'm most familiar with.