This article has multiple issues. Please help improve it or discuss these issues on the talk page . (Learn how and when to remove these template messages)
|
Rob Northen Copylock (also known simply as Copylock) is a copy-protection system designed to prevent disk duplication with standard floppy disk drives on the Amiga, Atari ST, and IBM PC compatibles. It was created by British programmer Rob Northen after founding his own company Copylock Software. It was used mainly to prevent games from being copied by regular users.
In 1984, Rob Northen was hired by Acornsoft to write copy protection routines for their published software, such as the original Elite for the BBC Micro. Northen left the company six months later and started his own company Copylock Software, while still working part-time for Acornsoft to write copy protection routines, file systems and disk utilities.
Northen's first copy-protected software under the Copylock name came in 1987 on the Atari ST. The first version of the Copylock software was used to protect early Amiga and Atari ST games that had no multi-load and were on a single floppy disk. Initially, publishers would send the unprotected master disk to Northen, who would then replace the loader program with his own encrypted loader and ship the protected master disk out for duplication. [1]
Following requests from game developers, such as The Bitmap Brothers, who were keen to implement more complex protection checks, Northen wrote subroutines that developers could implement to their own liking. In 1990, he purchased a disk duplicator and used it to create floppies with Copylock serial numbers embedded in them, which he would then send to developers in lieu of the protected master disks, along with the Copylock routines for them to include in their games. This Copylock series could accommodate more recent games with multi-load or spanning across multiple floppies. It also allowed for protection checks to be included at arbitrary points in the game code: one example of this was the Hook computer game by Ocean Software, which included an in-game protection check that if failed would cause a key item, namely a mug, to disappear from the game. [2]
In 1990, Copylock was also ported to MS-DOS-based systems. By the end of its run in 1996, around 500 commercial Amiga games had reportedly been protected with Copylock.
A Copylock-protected floppy disk contains one long track, known as the Copylock Serial Track, which can be read on a standard floppy drive but is impossible to write without a sophisticated disk duplication machine. The disk contains a special loader which is heavily encrypted and can read and decode the Copylock Serial Track. The encrypted code verifies that the disk has the correct Copylock Serial Key, which is uniquely generated for each game.
On the machine language level, Copylock works by using the Motorola 68000 trace mode, which causes the processor to execute a specific trace vector before each instruction in the main program. The trace vector decodes the machine language code just-in-time before it is executed and re-encrypts it after execution, so that no more than one or two instructions are stored unencrypted into physical memory at any given time. This is called a trace vector decoder and was originally implemented on the Atari ST platform and afterwards copied to early Amiga models, both based on the 68000 architecture.
There were two types of Copylock routine of the earlier series.
In the internal type, the Copylock Serial Key for that particular software is passed in hardware register D0 and stored at memory address $24. Inventive programmers could use this serial key for specific purposes to force the would-be cracker to have to remove the additional checks in the game. However, on many early titles, programmers typically just performed a check for the serial key, which was easy to find in a program and therefore to disable.
In the wrapper type, the code to start the game, or boot routine, is encrypted and then included with the Copylock code. All disk validity checking is performed by the Copylock code: if successful, the trace vector decoding extends to the encrypted boot routine or file; the data are then moved to the location expected by the game code and the routine is executed. This type of Series 1 Copylock was often used for games that loaded in one hit and did not need to access the disk drive again. However, this meant that the copy protection was rendered useless once the game was decrypted, as then the game could be 'single-filed', i.e. dumped entirely from memory, saved to disk and then made to work independently of the Copylock routines.
Series 2 was an evolution of the internal Series 1 routines, which again made early versions easy to circumvent, since many programmers only implemented a simple protection check that read the serial key from the Copylock Serial Track and checked that it was correct. Crackers often did not even need to inspect the encoded Copylock routines, because the check for disk authenticity was implemented in such a way that they could clearly see what the serial key was from the code that checked for it. Therefore, whilst many people understood how Copylock worked, very few had taken the time to work out how to actually decode one. By now, however, Copylock had evolved to allow parameters to be passed to it before execution, which meant that Copylock could now write not only the serial key, but also specific game-related values into the contents of registers passed to Copylock, or simply write values to a list of predefined addresses, which would make the game operate correctly.
The typical, generally incorrect way of cracking a Copylocked game was to get the serial key, modify the header of the Copylock to put the correct serial key into register D0, and then bypass all the reading and decoding process. This would mean the "special case" code in the Copylock would never be executed, which would mean the game would not work by using the serial key alone.
It was possible to port Copylock to IBM PC compatibles because the x86 microprocessor supports the trace vector the same as the 68000 processor does, through a single-step interrupt or INT 1. It manifested itself in a slightly different way in that the game's executable code was encrypted and "wrapped" by the Copylock loader. At runtime this loader would read 4 sectors from the floppy, and generate checksums from them. These in turn would be used as the keys to decrypt the game code. Once the decryption was done, the loader transferred control to the game program. It was easy to circumvent, as the original game executable code was just stored inside the loader. Once you got past the disk checks, and encryption code, dumping the unencrypted executable was just a matter of performing 2 disk writes. The first would dump the unmodified "MZ" header, and the 2nd write would finish the job by saving the actual game code. Fabulous Furlough of The Humble Guys wrote a tool that did just that, and could "crack" a game in less than a minute.
The Atari ST is a line of personal computers from Atari Corporation and the successor to the Atari 8-bit family. The initial model, the Atari 520ST, had limited release in April–June 1985 and was widely available in July. It was the first personal computer with a bitmapped color GUI, using a version of Digital Research's GEM from February 1985. The Atari 1040ST, released in 1986 with 1 MB of RAM, was the first home computer with a cost-per-kilobyte of less than US$1.
AMOS BASIC is a dialect of the BASIC programming language for the Amiga computer. Following on from the successful STOS BASIC for the Atari ST, AMOS BASIC was written by François Lionet with Constantin Sotiropoulos and published by Europress Software in 1990.
Amiga demos are demos created for the Amiga home computer.
Copy protection, also known as content protection, copy prevention and copy restriction, describes measures to enforce copyright by preventing the reproduction of software, films, music, and other media.
Apple DOS is the family of disk operating systems for the Apple II series of microcomputers from late 1978 through early 1983. It was superseded by ProDOS in 1983. Apple DOS has three major releases: DOS 3.1, DOS 3.2, and DOS 3.3; each one of these three releases was followed by a second, minor "bug-fix" release, but only in the case of Apple DOS 3.2 did that minor release receive its own version number, Apple DOS 3.2.1. The best-known and most-used version is Apple DOS 3.3 in the 1980 and 1983 releases. Prior to the release of Apple DOS 3.1, Apple users had to rely on audio cassette tapes for data storage and retrieval.
WHDLoad is a software package for the Amiga platform to make installation of software to a hard disk easier, for such things as demos or games. Allowing for better compatibility for Amiga software, which can sometimes have hardware incompatibilities making them hard to use in emulated environments due to the widely varying hardware specifications of the Amiga product line across its history. WHDLoad basically circumvents the operating system in the Amiga for greater compatibility and preserves the original program environment.
Dual format is a technique used to allow software for two systems which would normally require different disk formats to be recorded on the same floppy disk.
Amiga Disk File (ADF) is a file format used by Amiga computers and emulators to store images of floppy disks. It has been around almost as long as the Amiga itself, although it was not initially called by any particular name. Before it was known as ADF, it was used in commercial game production, backup and disk virtualization. ADF is a track-by-track dump of the disk data as read by the Amiga operating system, and so the "format" is really fixed-width AmigaDOS data tracks appended one after another and held in a file. This file would, typically, be formatted, like the disk, in Amiga Old File System (OFS).
A bit nibbler, or nibbler, is a computer software program designed to copy data from a floppy disk one bit at a time. It functions at a very low level directly interacting with the disk drive hardware to override a copy protection scheme that the floppy disk's data may be stored in. In most cases the nibbler software still analyses the data on a byte level, only looking to the bit level when dealing with synchronization marks (syncs), zero-gaps and other sector & track headers. When possible, nibblers will work with the low-level data encoding format used by the disk system, being Group Coded Recording, Frequency Modulation, or Modified Frequency Modulation.
This article is about the various external peripherals of the Commodore 64 home computer. Due to the backwards compatibility of the Commodore 128, most peripherals will work on that system, as well. There's some compatibility with the VIC-20 and PET too.
A fast loader is a software program for a home computer, such as the Commodore 64 or ZX Spectrum, that accelerates the speed of file loading from floppy disk or compact cassette.
A Trace Vector Decoder (TVD) is computer software that uses the trace facility of its underlying microprocessor to decode encrypted instruction opcodes just-in-time prior to execution and possibly re-encode them afterwards. It can be used to hinder reverse engineering when attempting to prevent software cracking as part of an overall copy protection strategy.
The Amiga computer can be used to emulate several other computer platforms, including legacy platforms such as the Commodore 64, and its contemporary rivals such as the IBM PC and the Macintosh.
Amiga software is computer software engineered to run on the Amiga personal computer. Amiga software covers many applications, including productivity, digital art, games, commercial, freeware and hobbyist products. The market was active in the late 1980s and early 1990s but then dwindled. Most Amiga products were originally created directly for the Amiga computer, and were not ported from other platforms.

Alien Breed: Tower Assault is run and gun video game, the third in the Alien Breed franchise. Like the first two games in the series, it is a science fiction-themed, top-down shooter. It was released in 1994 by Team17 for the Amiga, PC and CD32.
Minimig is an open source re-implementation of an Amiga 500 using a field-programmable gate array (FPGA).
Emerald Software was a video game publisher founded in 1988 by two UK entertainment executives – David Martin of Martech, and Mike Dixon who previously worked with EMI and worked as the company CEO.
Hunk is the executable file format of tools and programs of the Amiga Operating System based on Motorola 68000 CPU and other processors of the same family. This kind of executable got its name from the fact that the software programmed on Amiga is divided in its internal structure into many pieces called hunks, in which every portion could contain either code or data.
Amiga support and maintenance software performs service functions such as formatting media for a specific filesystem, diagnosing failures that occur on formatted media, data recovery after media failure, and installation of new software for the Amiga family of personal computers—as opposed to application software, which performs business, education, and recreation functions.