The Japanese Famicom didn't have a CIC (also known as "10NES") chip, and consequently there were tons of low-quality games cheaply available for it. When Nintendo came to America, they were the first videogame console to arrive after the Great Atari Crash of 1984 - most retailers wouldn't even look at a videogame, let alone sell one (hence the VCR-styling and "Entertainment System"). The CIC was Nintendo's effort to enforce quality control on their console (and heaping piles of money never hurt, either).<p>Naturally, this wasn't a popular move. Many things were tried to force Nintendo into making their console open, from the legislative (anti-trust suits) to the technical (in early NES revisions, a high-voltage spike to the CIC chip at startup would disable it until the console was reset... Nintendo stopped that soon enough). Eventually Atari, embittered that Nintendo had succeeded where they had failed, decided to devote their engineering resources to reverse-engineering the CIC chip. After many months of work, they finally presented their own equivalent to the CIC, which they called the Rabbit, and used it in a few games including a version of Tetris.<p>Nintendo was highly skeptical that Atari could have decoded their CIC chip, and sued them[1]. It came out that despite their best efforts, Atari had failed to reverse-engineer the CIC, and quietly requested a copy of the CIC program from the Copyright office, messed it around a bit and called it Rabbit. Things did Not Go Well for Atari after that. [2]<p>Fast forward to 2006, where the NES homebrew community (who so far had been making their NESs homebrew compatible by simply snipping the RESET pin off the CIC chip) decided that since the CIC patents had expired, and since so much reverse-engineering hardware was available to hobbyists, they should have a crack at the Greatest Unsolved Mystery of  NES Programming, and began to poke around. If you've got a few hours, I recommend reading the forum thread[3] as an excellent example of clever, creative, knowledgeable people working on an interesting problem.<p>For the less patient, even twenty years later, the CIC still resisted the best efforts of dedicated researchers... until one of them decided to abandon the CIC, and start poking at a Rabbit chip instead. After poring over a decapped Rabbit and trying to decipher its workings, somebody noticed a few circuit traces with no obvious purpose snaking across the silicon. It turns out the Atari engineers must have wanted to save others the stress and heartache they'd suffered through themselves: when Rabbit is hooked up like CIC, it behaves identically - but if a voltage is applied to a seemingly unused pin, another pin suddenly begins broadcasting the internal state of the chip after every stage of the algorithm. Once they had that bitstream, it was simple to figure out the instructions Rabbit was executing, and from there to put together the entire CIC algorithm.<p>These days, CIC is a Solved Problem as the original post shows... but it's impressive how long it lasted, considering how short-lived some content protection systems are these days. The only other system I know that's been remarkably long-lived is the original Playstation's - it's well understood by now, but there's still no way for ordinary consumers to burn a disc that will play on an unmodified PS1.<p>[1] <a href="http://digital-law-online.info/cases/24PQ2D1015.htm" rel="nofollow">http://digital-law-online.info/cases/24PQ2D1015.htm</a><p>[2] For more information on the early history of Nintendo up to the late SNES era, see the excellent book "Game Over" by David Sheff: <a href="http://www.amazon.com/dp/0679736220/" rel="nofollow">http://www.amazon.com/dp/0679736220/</a><p>[3] <a href="http://www.nesdev.com/bbs/viewtopic.php?t=1219" rel="nofollow">http://www.nesdev.com/bbs/viewtopic.php?t=1219</a>