The C-One is a single-board computer (SBC) created in 2002 as an enhanced version of the Commodore 64, a home computer popular in the 1980s. Designed by Jeri Ellsworth, a self-taught designer, and Jens Schönfeld from Individual Computers, who manufactured the boards themselves, the C-One has been re-engineered to allow cloning of other 8-bit computers.
The machine uses a combination of configurable Altera field-programmable gate array (FPGA) chips and modular CPU expansion cards to create compatibility modes that duplicate the function of many older home computers. The default CPU is the 65C816 CPU which is used in Commodore 64 compatibility mode as well as the C-One's native operating mode. The C-One is not merely a software emulator, it loads various "core" files from disk to configure the FPGA hardware to recreate the operation of the core logic chipsets found in vintage computers. This provides for a very accurate and customizable hardware emulation platform. The C-One is not limited to recreating historical computers: its programmable core logic can be used to create entirely new custom computer designs.
In 2006, Peter Wendrich ported his FPGA-64 project (originally intended for a Xilinx FPGA) and enhanced it for the C-One. This core supported both PAL and NTSC machine emulation, and aimed to be cycle-exact and emulate many of the bugs and quirks of the original hardware.
In 2008, after development of an "Extender" card which added a third FPGA, Tobias Gubener added Amiga 500 compatibility by porting Dennis van Weeren's Minimig code to the board. This core replaced the physical 68000 CPU and the PIC chip from the original with his own TG68 CPU core on the FPGA. Recent[update] developments to this core include features not possible with the original Minimig board.
In 2009, Peter Wendrich released a "preview" of a next-generation C64 core called "Chameleon 64", with a greatly expanded specification compared to his earlier core. A new version of the CPC core was also released in mid-2009, featuring an embedded SymbOS core for control of device emulation, and a clock unlocked mode for CPU speeds of up to 80 MHz.