CP System II

The CP System II (CPシステムII) or CPS-2 is an arcade system board that Capcom first used in 1993 for Super Street Fighter II. It was the successor to their previous CP System, CP System Dash and Capcom Power System Changer arcade hardware and was succeeded by the CP System III hardware in 1996, of which the CPS-2 would outlive by over four years. The arcade system had new releases for it until the end of 2003, ending with Hyper Street Fighter II.

History
Capcom announced the development of the CP System II (or CPS-2) in 1990. They had planned to complete and release the CP System II hardware in 18 months. They also originally had plans for the system to be capable of 3D graphics.

The earlier Capcom system board, the original CP System (or CPS-1), while successful, was very vulnerable to bootleggers making unauthorized copies of games. In order to rectify the situation, Capcom took the CP System hardware (with QSound) with minimal changes and employed encryption on the program ROMs to prevent software piracy. Due to the encryption, the system was never bootlegged until unencrypted program data became available.

The CP System II consists of two separate parts; the A board, which connects to the JAMMA harness and contains components common between all CP System II games, and the B board, which contains the game itself. The relationship between the A and B board is very similar to that between a home video game console and cartridge. CP System II A and B boards are color-coded by region, and each board can only be used with its same-colored mate. The exception to this is that the blue and green boards can be used together.

The B boards hold battery-backed memory containing decryption keys needed for the games to run. As time passes, these batteries lose their charge and the games stop functioning, because the CPU cannot execute any code without the decryption keys. This is generally referred to as a "suicide battery". It is possible to bypass the original battery and swap it out with a new one in-circuit, but this must be done before the original falls below 2V or the keys will be lost. Consequently the board would die outright, even if used legally it would not play after a finite amount of time unless a fee was paid to Capcom to replace it.

Due to the heavy encryption, it was believed for a long time that CP System II emulation was next to impossible. However, in January 2001, the CPS-2 Shock group was able to obtain unencrypted program data by hacking into the hardware, which they distributed as XOR difference tables to produce the unencrypted data from the original ROM images, making emulation possible, as well as restoring cartridges that had been erased because of the suicide system.

In January 2007, the encryption method was fully reverse-engineered by Andreas Naive and Nicola Salmoria. It has been determined that the encryption employs two four-round Feistel ciphers with a 64-bit key. The algorithm was thereafter implemented in this state for all known CPS-2 games in MAME.

In April 2016, Eduardo Cruz, Artemio Urbina and Ian Court announced the successful reverse engineering of Capcom's CP System II security programming, enabling the clean "de-suicide" and restoration of any dead games without hardware modifications.

Capcom ceased manufacturing the CP System II hardware on December 22, 2003, with Hyper Street Fighter II being the final game released for the hardware. Capcom ended most of the technical support for the hardware and its games on March 31, 2015. Battery replacements ended on February 28, 2019, ending all official support of the CP System II hardware and software.

Technical specifications

 * CPU:
 * Primary: Capcom DL-1525 (encrypted 68000) @ 16 MHz
 * Sound: Kabuki DL-030P (encrypted Z80, but encryption not used) or standard Z80 @ 8 MHz
 * Capcom custom chipset:
 * GPU: CPS-A & CPS-B Graphics Processors @ 16 MHz (same as CPS-1)
 * Sound chip: Lucent DL-1425 Q1 QSound DSP16A Processor @ 4 MHz
 * DRAM Refresh Controller: DL-2227
 * I/O Controller: DL-1123
 * Display:
 * Active resolution: 384×224 pixels
 * Overscan resolution: 512×262 (262 scanlines)
 * Sprites: 900 on screen
 * Colors:
 * Depth: 32-bit (RGBA)
 * Palette: 16,777,216 colors (24-bit)
 * Alpha transparency: 256 levels (8-bit)
 * Colors on screen: 4096 (12-bit)
 * Colors per tile: 16 (4-bit)
 * RAM: 1328 KB (1 MB FPM DRAM, 304 KB SRAM)
 * A-Board: 1 MB FPM DRAM, 280 KB SRAM (256 KB video, 16 KB I/O, 8 KB sound)
 * B-Board: 16 KB SRAM (2× 8 KB)
 * Communication Board: 8 KB SRAM
 * Maximum ROM capacity: 322 Mbit (40.25 MB)
 * Dimensions (A+B board pair): 40 x 27 x 8 cm