{"id":174,"date":"2006-08-08T20:06:23","date_gmt":"2006-08-09T01:06:23","guid":{"rendered":"http:\/\/www.vintagecomputing.com\/?p=174"},"modified":"2012-12-10T17:12:49","modified_gmt":"2012-12-10T22:12:49","slug":"old-school-copy-protection-schemes","status":"publish","type":"post","link":"https:\/\/www.vintagecomputing.com\/index.php\/archives\/174\/old-school-copy-protection-schemes","title":{"rendered":"Old-School PC Copy Protection Schemes"},"content":{"rendered":"<p><a href=\"\/wp-content\/images\/copyprotection\/finesthour_large.jpg\" target=\"new\"><img decoding=\"async\" src=\"\/wp-content\/images\/copyprotection\/finesthour_small.jpg\" alt=\"Finest Hour\" class=\"alignright\" \/><\/a><small><em>[This is Eric Lambert&#8217;s second submission to VC&#038;G, with contributions and editing by RedWolf.]<\/em><\/small><\/p>\n<p>Nothing seems to make headlines more these days than war and copyright infractions.   Whether it has to do with movies, music, or games, &#8220;piracy&#8221; is now a household word, and media providers are searching for ways to reduce it and make money off of it at the same time.   Hollywood&#8217;s Broadcast Flag.  Sony&#8217;s rootkit debacle.  <a href=\"http:\/\/www.glop.org\/starforce\" target=\"new\">Starforce<\/a>.  So much time, effort, and public goodwill has been wasted on the quest to prevent people from copying things.<\/p>\n<p><a href=\"http:\/\/www.youtube.com\/watch?v=afuc8TmU2Rg\" target=\"new\"><img decoding=\"async\" src=\"\/wp-content\/images\/copyprotection\/dontcopyfloppy.jpg\" alt=\"Don't Copy That Floppy\" class=\"alignleft\" \/><\/a>All right.  Did I scare off the casual passers-by yet?   Because this isn&#8217;t a crusade to rail against the evils of modern copy-protection.  No, I just needed a legitimate sounding opening to introduce what I really want to talk about: old-school copy protection.   We&#8217;re talking &#8220;<a href=\"http:\/\/www.youtube.com\/watch?v=afuc8TmU2Rg\" target=\"new\">Don&#8217;t Copy That Floppy<\/a>&#8221; here, folks &#8212; back in the days when men were men and boys had to learn how to handle boot floppies and extended memory.<\/p>\n<p><img decoding=\"async\" src=\"\/wp-content\/images\/copyprotection\/dctf.gif\" alt=\"Don't Copy That Floppy\" class=\"alignright\" \/>The early copy protection schemes were much more analog than digital, and tended to fall into two categories: <em>code wheels<\/em> and <em>manual lookups<\/em>.   That&#8217;s right, they used documents and devices that were physically separate from the program.  While the games themselves were easy to duplicate, copy protection (C.P.) implementations weren&#8217;t.   Moving parts, dark-colored pages, esoteric information scattered throughout a manual all meant that photocopying (when possible) could be prohibitively expensive.   And without a world-wide publicly available Internet, digital scans and brute-force cracking programs were almost unheard of.  For the most part, the C.P. methods were an effective low-tech solution to a high-tech problem.<\/p>\n<p>So let&#8217;s take a look at a couple of them and revel in their oh-so-simple glory.<\/p>\n<p><!--more--><\/p>\n<h3>Code Wheels<\/h3>\n<p><a href=\"\/wp-content\/images\/copyprotection\/zanygolf_large.jpg\" target=\"new\"><img decoding=\"async\" src=\"\/wp-content\/images\/copyprotection\/zanygolf_small.jpg\" alt=\"Zany Golf\" class=\"alignright\" \/><\/a>Many games made use of devices called &#8220;code wheels.&#8221;   <em>Zany Golf<\/em> had a relatively simple setup: two concentric cardboard circles, one slightly smaller than the other, each with terms written around the outer edge.  Spiraling along the inside of the smaller wheel were cutout windows.   At a particular point in the game (right after the first hole, I believe), the game would provide the player with a term from the outer wheel, a term from the inner wheel, and a specific window to look through.   When properly aligned, the window would show a code to enter which would allow you to continue the game.  In this case, golf terms were used on the code wheel to keep with the game setting.   Similarly, <em>Their Finest Hour<\/em> used names of Luftwaffe units and RAF bases.  <a href=\"\/wp-content\/images\/copyprotection\/ssiwheels_large.jpg\" target=\"new\"><img decoding=\"async\" src=\"\/wp-content\/images\/copyprotection\/ssiwheels_small.jpg\" alt=\"SSI\" class=\"alignleft\" \/><\/a>SSI got a little more complex with theirs, using symbols from fantasy languages along the edges of the wheels, and three different sets of cutout windows, each designated by a particular pattern of dashed lines.   Not only would it be difficult to copy accurately by hand, but in order to photocopy it, you would effectively have to destroy it.  And what self-respecting computer geek could bear to destroy any documentation that came with a program?<\/p>\n<p><a href=\"\/wp-content\/images\/copyprotection\/alonedark2_large.jpg\" target=\"new\"><img decoding=\"async\" src=\"\/wp-content\/images\/copyprotection\/alonedark2_small.jpg\" alt=\"Alone in the Dark 2\" class=\"alignright\" \/><\/a>A similar technique that I have not seen implemented anywhere else was included with <em>Alone in the Dark 2<\/em>.   Rather than a code wheel, Infogrames used a playing-card system which reflected puzzles in the actual game.  Provided in the original retail game box was a set of double-sided cards, each one tagged as a particular value and suit on each of its four orientations, and peppered with randomly-spaced cutout windows.   At the appropriate point in the game, the player would be given a pair of card values (which would have to be overlaid) and a particular cutout to look through.   For example: &#8220;Place the 3 of Diamonds over the Queen of Spades and read the character in the first row, second column,&#8221; which would be a green club.  If the enormous number of possible combinations weren&#8217;t already enough to stymie the would-be pirate, the fact that the suits were different colors on different cards made photocopying (commonly black and white in those days) an iffy proposition.<\/p>\n<h3>Manual Lookups<\/h3>\n<p><a href=\"\/wp-content\/images\/copyprotection\/railroadtycoon_large.jpg\" target=\"new\"><img decoding=\"async\" src=\"\/wp-content\/images\/copyprotection\/railroadtycoon_small.jpg\" alt=\"Railroad Tycoon\" class=\"alignright\" \/><\/a>Another common copy protection technique was the &#8220;manual lookup.&#8221;  <em>Populous<\/em>, <em>X-Com: UFO Defense<\/em>, <em>Railroad Tycoon<\/em>, <em>Prophecy<\/em>, and countless other titles went this route.  With this method, no additional items needed to be packaged with the game, and the C.P. could take up previously unused space in the margins of the user guide.   <em>Populous<\/em> would show a coat-of-arms for a given world and ask the player to provide the name of said world.  One shield was displayed on the bottom corner of every page or two in the manual, and you had to flip through until you found the right one.   It was kind of a brute-force way to do it, but it worked.  Without the manual, the game wouldn&#8217;t play.  <em>Railroad Tycoon<\/em>, I understand, provided images of trains (what else?) and asked the player to identify them correctly.   <a href=\"\/wp-content\/images\/copyprotection\/prophecy_large.jpg\" target=\"new\"><img decoding=\"async\" src=\"\/wp-content\/images\/copyprotection\/prophecy_small.jpg\" alt=\"Prophecy\" class=\"alignleft\" \/><\/a><em>Prophecy<\/em> would show an image of a particular enemy, and again, the player would have to flip through the book to find the one that matched exactly.  Considering the state of character sprites at the time, the number of unique variations was surprising.  You could usually identify the correct image and get on with your game, but the interruptions were annoying and time consuming.   <em>Sim City<\/em> used a similar technique, although it was not part of the manual.  A &#8220;High Scores&#8221; page in dark red was included in the box, and each page\/name combination had a unique symbol pair.  There were four pages containing 88 codes each, all nearly impossible to read, even in good light \u00e2\u20ac\u201c yeah, that must have been fun.  At least it was photocopy-proof, even if it wasn&#8217;t friendly to the eyes.<\/p>\n<p><a href=\"\/wp-content\/images\/copyprotection\/simcity_large.jpg\" target=\"new\"><img decoding=\"async\" src=\"\/wp-content\/images\/copyprotection\/simcity_small.jpg\" alt=\"Sim City\" class=\"alignright\" \/><\/a>A little less time consuming were the manual lookups that told you exactly where to go.   Many games &#8212; <em>X-Com: UFO Defense<\/em> included &#8212; would ask the player to type in a code that appeared on a given page.  Other games took it a step further and would ask for a specific word from a given line in a given paragraph on a given page: &#8220;Type in the fourth word of the first line of the last paragraph on page 254 to continue.&#8221;   Not very creative, but not terribly time consuming either &#8212; that is, until games started being re-released with reformatted or electronic manuals.   A condensed re-release manual could cause enough havoc with this sort of protection that companies eventually started listing all the answers together on one easily-reproducible page.   My copy of <em>X-Com: UD<\/em>, for example, was a jewel case copy, and the case liner listed all the associated page numbers and codes since no manual shipped with the game.  Origin went the same way with some of their <em>Ultima<\/em> re-releases, but the original games had a unique C.P. twist&#8230;<\/p>\n<h3>Of Maps and Cracks<\/h3>\n<p><a href=\"\/wp-content\/images\/copyprotection\/ultimamap_large.jpg\" target=\"new\"><img decoding=\"async\" src=\"\/wp-content\/images\/copyprotection\/ultimamap_small.jpg\" alt=\"Ultima Map\" class=\"alignright\" \/><\/a>You see, one of the things I loved about Ultima games were the &#8220;feelies&#8221; that were included.   You know, the little toys and things that make you feel that you got extra value for your money.  <em>Ultima<\/em> games usually included (among other items) high quality cloth maps.  And while the C.P. within the game might ask you to look up answers in the manual, it would also require you to look up latitude\/longitude coordinates on the map.  The game would ask a question like &#8220;At what longitude does the city of Skara Brae lie?&#8221;  And since everything on the map was written in Britannic runes, well&#8230;if you were new to the game, the first task was to translate everything.  Then, once you had located the correct city, you had to trace the lat\/long lines back to the edge and hope that you were reading the number correctly.   It was a rather clever way of keeping the C.P. theme &#8220;within the game,&#8221; even if it was time consuming.  But frankly, as much as I loved the world of Ultima, it didn&#8217;t seem to be a hardship at all.<\/p>\n<p><img decoding=\"async\" src=\"\/wp-content\/images\/copyprotection\/gameguru.jpg\" alt=\"Game Guru\" class=\"alignleft\" \/>Lastly, there was one C.P. scheme that I only saw used once, and it wasn&#8217;t really on a game.   You may recall that back in the days before online trainers and cheat utilities, one of the best (if geekiest) ways to make a game easier was to use a hex editor to change some of the basic player data.   A program called <em>Game Guru<\/em> bundled a decent hex editor with some automation features and a cheats database to provide a one-stop program for modifying game files.   It shipped on a 3.5&#8243; floppy, but the program was restricted to only three installs.  In order to install it, the write-protect tab on the floppy had to be disabled, and the software would supposedly write a marker to a file on the disk every time it was installed.   Once that count reached three, poof!  No more installs for you.  Hmmm&#8230;I wonder why that technique never became popular.<\/p>\n<h3>A Strange Kind of Shareware<\/h3>\n<p>Looking back, you know what I like most about these old C.P. methods?   Many programs implemented them after you were already playing the game.  You were allowed to complete the first mission, play for a given length of time, or explore the entire first city before they cropped up.   And from a marketing standpoint, that&#8217;s genius.  It applies the best idea of the shareware model to the full-retail model.   Want to make a copy of the game?  Go for it: the first mission&#8217;s free, but after that &#8212; after you&#8217;re hooked &#8212; ya gotta pay, just like everybody else.<\/p>\n<p>And you know what?  It was usually worth it.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>[This is Eric Lambert&#8217;s second submission to VC&#038;G, with contributions and editing by RedWolf.] Nothing seems to make headlines more these days than war and copyright infractions. Whether it has to do with movies, music, or games, &#8220;piracy&#8221; is now a household word, and media providers are searching for ways to reduce it and make [&hellip;]<\/p>\n","protected":false},"author":9,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7,13],"tags":[],"class_list":["post-174","post","type-post","status-publish","format-standard","hentry","category-computer-info-and-history","category-video-game-info-and-history"],"_links":{"self":[{"href":"https:\/\/www.vintagecomputing.com\/index.php\/wp-json\/wp\/v2\/posts\/174","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.vintagecomputing.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.vintagecomputing.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.vintagecomputing.com\/index.php\/wp-json\/wp\/v2\/users\/9"}],"replies":[{"embeddable":true,"href":"https:\/\/www.vintagecomputing.com\/index.php\/wp-json\/wp\/v2\/comments?post=174"}],"version-history":[{"count":0,"href":"https:\/\/www.vintagecomputing.com\/index.php\/wp-json\/wp\/v2\/posts\/174\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.vintagecomputing.com\/index.php\/wp-json\/wp\/v2\/media?parent=174"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.vintagecomputing.com\/index.php\/wp-json\/wp\/v2\/categories?post=174"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.vintagecomputing.com\/index.php\/wp-json\/wp\/v2\/tags?post=174"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}