Code wheel. A code wheel is a type of copy protection used on older computer games, often those published in the late 1980s and early 1990s.  It evolved from the original "manual protection" system in which the program would require the user to enter a specific word from the manual before the game would start up or continue beyond a certain point.  This system was popular because it allowed the actual media to be backed up and replaced freely while retaining security, but with the increased availability of photocopiers, those wishing to distribute the games simply started copying their manuals as well to defeat the measure.

Although whole code wheels could not be directly photocopied, the component wheels could be disassembled and individually photocopied; these components could then be crafted together into a duplicate wheel. The contents of code wheels could also be copied onto paper and the user of an unlicensed copy could simply apply a mathematical formula to the presented challenges to calculate the correct response.  Once a suitable formula was found, code wheels actually made the process of copying easier since the amount of information they could contain was low compared to a manual of potentially unlimited size.  Thus, code wheels were rapidly phased out in favor of regular manual protection and protection based around color, as public access to color photocopying at the time was expensive and uncommon.  This was itself made obsolete by a return to protection based on the game media itself, when CD-ROMs were introduced.

Code wheel forms

A code wheel itself is a physical object consisting of several circular sheets of paper or card of different sizes, fastened in the center, creating a set of concentric circles.  The game issues the user with a set of challenges (symbols, words, or other identifiers), which instruct the user in how to manipulate the wheel in order to reveal a response, a single symbol or word that the user must enter in order to start the game.  Entering anything other than the expected response would result in the game halting or performing other behaviour associated with unauthorised usage of the software (for example, the game Starflight would send unbeatable "police ships" to destroy the player's spaceship).

2-ply
A simple 2-ply code wheel consisted of two circular sheets, both with challenge symbols printed at intervals around the rim, and with the back sheet containing a table of responses printed to fit to the circle, and the front sheet a series of holes allowing the responses to be viewed, each hole labelled with a challenge symbol.  The computer would present three challenge symbols, and the user would read the response by rotating the front sheet until the first two challenge symbols were aligned with each other on the rim of the wheel, then read the response from the hole indicated by the third challenge symbol.  This type of codewheel was used for a large number of games, such as Neuromancer, and Cybercon 3 (which used a code wheel printed on carbon paper).

Single-ply
There was one usage of a single-ply code wheel, where only two challenge symbols were used; in the Amiga game Rocket Ranger, the player turned the wheel to match their Ranger's current location, then read a value from the hole corresponding to the location where they wanted to fly to.  The holes were in a simple column.  Since this was the only mechanism for the player to specify where they wanted to fly, it was impossible for crackers to remove it from the game without destroying the entire gameplay.

3-ply
A 3-ply code wheel, used in games such as Star Control and The Fool's Errand, retained the back wheel with printed responses and the front wheel with holes, and added further "middle" wheels between the front and back which contained a mixture of printed responses and further holes that allowed the next wheel to show through when particular challenge symbols were aligned

See also

 Volvelle
 Slide chart

External links

Interactive code wheels online on OldGames.sk

Authentication methods
Copy protection