FCEUX is a merger of versions forks of FCE Ultra, intended to supersede FCE Ultra.
The project began in 2006 by Zeromus and Rheiny (SP). Additional
authors joined the group prior to its August 2008 release, including mz,
adelikat, nitsujrehtona, maximus, CaH4e3, qFox, punkrockguy318 and Sebastian Porst. Later contributers include xhainingx, gocha, AnS, feos, and rainwarrior, among others.
FCEUX contains all features and enhancements from FCE, FCE Ultra, FCEU rerecording, FCEUXD, and FCEUXDSP as well as many new mappers from FCEU-mm.
Bero originally wrote a Nintendo Entertainment System/Famicom emulator that was referred to as FCE. This name was apparently meant only to serve as a temporary name, but its usage remained. Xodnizel originally ported it to Linux SVGAlib, and made a few improvements. This code base was abandoned, and work began anew, under DOS, with the original FCE source code. At the end of November, 1998, FCE Ultra Beta 1 was released.
FCE Ultra remained DOS-only until version 0.18, when it was ported to Linux SVGAlib, and released as a statically-linked executable. The first MS Windows port was released as version 0.25.
The source code of 0.40 was released on November 12, 2000. It retained the simple license of FCE for a long time, which stated that "This software is freeware. You can use it non-commercially." Almost two years later, in June 2002, 0.80 was released, and FCE Ultra was re-licensed under the GNU GPL.
FCE Ultra has been tested (and runs) under DOS, Linux SVGAlib, Linux X, Mac OS X, and Windows. A native GUI is provided for the Windows port, and the other ports use a command-line interface. The SDL port should run on any modern UNIX-like operating system (such as FreeBSD, Solaris or IRIX) with no code changes. It has also been ported to the GP2X, PlayStation Portable as PSPFceUltra, the Nintendo GameCube and Pepper Pad.
FCE Ultra was created by Xodnizel. Development appeared to stop and the homepage and forums for the emulator were taken down. The last version before this was v0.98.13-pre, released in September 2004 as source-only. The last binary release was v0.98.12 in August 2004.
However, it was resurrected again in March of 2006 by Anthony Giorgio and Mark Doliner.
There is also a graphical frontend for FCE Ultra. GFCE Ultra is written in Python and uses the GTK2 user interface library. Because is it written in Python and with portability in mind, it can be run on any UNIX-like platform and any processor architecture that is supported by Python.
The "rerecording" version of FCE Ultra was implemented to FCE Ultra 0.98.10 with movie recording support. This was done by blip, and was implemented for the purpose of creating Tool-Assisted Speedruns.
The rerecording branch continued with 0.98.12, adding movie support features, such as "bullet proof" recording. In 2006, FCEU 0.98.16 was implemented by nitsuja and luke. Various tools such as read-only toggling, increased hotkey mapping, and memory watch were added.
In 2008, FCEU rerecording was picked up again by mz, maximus, adelikat, and nitsujrehtona with various updates named FCEU.0.98.17 - 0.98.28
In 2002, Parasyte modified the then-current version (0.81.3) of FCE Ultra and added a Nesten-style debugger, along with several other features, and named it "FCEUD" (FCE Ultra Debugger).
In January 2004, bbitmaster began working on more features and called
it "FCEUXD" (FCE Ultra Extended Debugger).
It is a branch of FCE Ultra that contains many extended debugging
features compared to the original FCE Ultra code such as a trace logger,
a built-in hex editor, a name table viewer, code/data logger, inline
assembler, and Game Genie decoder/encoder in addition to the debugger
and PPU viewer from FCEUD. The last version made was FCEUXD 1.0a.
FCEUXDSP stands for FCEUXD "SP" version and is a branch of FCEUXD 1.0a.
It was created in 2006 by sp. The project extends the debugging tools even further compared to FCEUXD by adding new tools, functions, and usability of debugging tools.
The last version of FCEUXDSP was 1.07 which adds a feature known as the RAM Filter.
CE stands for "Champion Edition" and is a branch of XDSP that adds a text hooker tool. The CE is a play on the excessive acronyms and branches in the FCEUD chain.
FCEU "mappers modified" is an unofficial build of FCEU Ultra by CaH4e3, which supports a lot of new mappers including some obscure mappers such as one for unlicensed NES ROM's.
FCEUX supports mappers from older versions of FCEU-mm.