Skip to content

Copylock

Rob Northen's disk protection for the Amiga and Atari ST

Rob Northen's copy protection for Atari ST and Amiga games, first sold in 1987. A keydisk carried a sector no ordinary drive could write, an encrypted routine checked for it, and programmers were told to hide the result in their game's data. By Northen's count it protected around 500 Amiga games.

A Copylock disk looked ordinary. It loaded like any other Amiga or Atari ST game, and a drive read every track without complaint. But one track, and on the first version a single sector of it, had been written with a different bit timing, and no Amiga or ST drive could write that back. Copylock was Rob Northen’s copy-protection system built on that difference. By his own later count it protected around 500 commercial Amiga games between 1988 and 1996, most of them from 1989 to 1992, and when the German magazine Amiga Joker interviewed him in March 1992 it called him “the undisputed king of the protected diskette”.

What made Copylock hard to beat was less the disk than the code around it. The routine that checked the disk was encrypted and wrapped in anti-hacking measures, and Northen told programmers not to test its answer at all, but to fold it into the game’s data so that a cracked copy failed later, somewhere else.

Fast facts

  • Creator: Rob Northen. He had protected Acornsoft’s BBC Micro disc games from 1984; the first system sold as Copylock was for the Atari ST in 1987, and the Amiga version followed “soon after”, using the same 68000 code.
  • Company: Amiga Joker gave it as Rob Northen Computing, founded when he went independent in 1987. Northen later recalled first trading as Copylock Software after leaving Acornsoft.
  • Platforms: Atari ST, Commodore Amiga.
  • Scale: “three to four hundred” games by March 1992; around 500 Amiga games by 1996 on his later count. Populous was one; Ocean and Domark were his best customers.
  • Versions: twelve, with about a hundred updates, by early 1992.
  • Related work: a disk format that let single-sided ST drives read ST Format’s cover disks in 1990, dual- and tri-format disks carrying a game for Amiga, ST and PC on one disk, the PDOS disk format and ProPack compression. In 1995 Amiga Action credited its cover disks to Rob Northen Computing.

How it worked

The protected track exploited a gap between reading and writing. Amiga, ST and PC drives “are quite tolerant of reading data at varying bitcells, within reason”, Northen explained, but “will always write data at a constant bitcell”. A bitcell is the stretch of time, and so of disk surface, given to one bit, and a sector written with a different bitcell takes a measurably different time to pass under the head. On the first ST version, one sector on one track, “probably track 0”, was written that way. A drive read it without error, but any copy made on a drive came out at the standard rate. The check timed the reads: from memory, the slow sector “had to take at least 15% longer to read than the other sectors or it failed the protection test”. Northen used “a similar technique, and variations of it” on the Amiga.

The code that ran the check was encrypted and full of anti-hacking routines. Northen’s Codetapper interviewer called it “the encrypted trace-mode code”, and said it used the 68000’s ILLEGAL instruction, which is why later hard-disk installers had to remove a Copylock rather than run it.

The answer the routine gave was not a plain yes or no. Each customer received keydisks with a unique serial number, and the routine returned either 0 on failure or that 32-bit number. Later versions handed it over more quietly, writing it to an address passed in a register or XORing it into memory. Northen’s advice was never to write

Code
cmp.l   #$12345678,d0
bne.s   fail

but “to incorporate somehow the number into their own data, which would be used later in the game”. Then a copy did not fail at one branch that a cracker could find and patch, but somewhere further on, with wrong data. Some programmers also checksummed the code around his routines.

Ocean’s Hook shows what that could look like. Its programmer, Bobby Earl, said that a failed disk check did “the usual”, probably resetting the Amiga, but that a second check later on removed one of the three mugs of cocoa the player needed to put three pirates to sleep, about halfway through the adventure. The idea came from Ocean’s producer Colin Gordon. Earl’s interviewer describes the game as “famous in the Amiga scene for being badly cracked by the group Fairlight”: the cracked copy could not be finished.

Fitting it to a game

There were two ways to add Copylock. If Northen protected the finished master himself, he replaced the game’s loader with his own encrypted loader, which “would go through various anti-hacking routines, check for the protected disk format and finally run the original game loader”. That check ran once, at start-up, and he had to find room on the disk for the protected track and the new loader.

The better route, and the one he preferred because it left him “more time to develop better routines”, was to post the programmer a set of keydisks and the check code, so the checks “were embedded in the game and would be called at various stages of game play”. He sent out “literally hundreds of jiffy bags containing Copylock routines and keydisks”. With them came PROTECT, a program for encrypting the game’s own files with “as many random elements of encoding as I could”, so that no two protected copies of the same file were alike. “Quite often”, though, “the programmer would not encrypt the game, but just rely on calling the Keydisk code”.

Mastering

A drive could not write the special track, so it was made on the machines the disk duplicators used. Trace’s duplicators were a Unix box with a floppy controller and loaders fed from hoppers of blank disks. At the start, Paul Caton, who worked at Trace in the UK, wrote a program that made Copylock keydisks, and Northen sent it to any duplicator with a Trace machine. Around 1990 he bought a Trace 1006 of his own, for £15,000, and could make keydisks and experiment with new formats himself. He supplied the format files duplicators needed to read a Copylock master. Because the protection was usually on one track, a Copylock disk took about as long to duplicate as a standard one: roughly 40 seconds with verification.

Why publishers bought it

Northen gave Amiga Joker three reasons in 1992. His protection was “certainly not the worst”; he changed it regularly; and he offered service: “the programmers can reach me round the clock”. It did not have to be adapted to each program, so most developers built it in themselves, and when that caused small problems they needed someone to call. Among the publishers he later named were Ocean, Domark, U.S. Gold, MicroProse, Psygnosis, Electronic Arts, Bullfrog, DMA Design and Team 17. Ocean’s Operation Wolf, in December 1989, was protected in a few hours, sent back by taxi, found to be incompatible with earlier Amigas, and protected twice more before it reached the duplicator.

The cracker response

Northen told Amiga Joker that he only heard a protection had been cracked “when it went particularly fast”, and that he had no personal contact with crackers, with one exception. He had hidden his telephone number in the code, and “a few crackers plagued me for weeks with night-time calls to tell me they had got another step further. I found that rather childish.” Years later he remembered it differently, as a single early-morning call from a German hacker several weeks after the release of what he thought was the ST version of R-Type.

Tools that claimed to remove his protection automatically circulated as “Rob Northen autocrackers”. Asked about them in 1992, he said programmers sent him plenty, that most were useless, “if they work at all, then only on a single game”, and that because he kept changing the protection there could never be a working autocracker, “just as there will never be the perfect copy protection”. The crackers’ side of the contest was organisation. Subzero, who supplied original disks to the group Skid Row, explained that when a major title “had heavier protection”, one specialist cracker, Eurosoft, “took care of it” while the others worked through the rest. Northen’s own view was that “the better the protection the greater the challenge. It’s just a matter of time.”

Afterwards

By 1994 and 1995, Northen said, “new game releases were getting few and far between”, and publishers putting old games into compilations were “sending me games to remove the protection”. The same property that made Copylock work makes it hard to preserve: a standard Amiga disk image records only the decoded sectors, not how densely each one was written. The Software Preservation Society’s IPF format, built to record disks as mastered, has density types of its own for “Copylock Amiga”, “Copylock Amiga new” and “Copylock ST”.

Sources

  • Dr. Freak, “Exklusiv-Interview mit Rob Northen”, Amiga Joker, March 1992: 1984 at Acorn, Rob Northen Computing in 1987, Populous, three to four hundred games, twelve versions and about 100 updates, service, the telephone calls, autocrackers, dual- and tri-format disks, a packing system.
  • ST Format issue 7, February 1990, cover disk pages: Northen’s format for single- and double-sided drives.
  • Amiga Action issue 68, March 1995, masthead: “Disks: Rob Northen Computing”.
  • Codetapper, “An interview with Rob Northen” (web, secondary): http://www.codetapper.com/amiga/interviews/rob-northen/
  • Codetapper, “An interview with Bobby Earl” (web, secondary): Hook. http://www.codetapper.com/amiga/interviews/bobby-earl/
  • Codetapper, “An interview with Subzero of Skid Row” (web, secondary): http://www.codetapper.com/amiga/interviews/subzero-of-skid-row/
  • Jean Louis-Guerin, “Interchangeable Preservation Format (IPF) Documentation”, version 1.6, April 2018 (web, secondary): Copylock density types.

See also

Checked. Verified against primary sources and signed off by a person.