Difference between revisions of "Speedlock"

From CPCWiki - THE Amstrad CPC encyclopedia!
Jump to: navigation, search
(Disc)
 
(9 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 
[[Category:Copy Protection]]
 
[[Category:Copy Protection]]
  
'''Speedlock''' is the name of a disc and cassette copy protection designed by Dave Looker ([[DJL]]) and Dave Aubrey-Jones.
+
'''Speedlock''' is the name of a disc and cassette copy protection designed by Dave Looker ([[DJL]]), David Aubrey-Jones and Simon Berry.
  
Earlier versions mentioned "DJL Software" later versions mentioned "Speedlock Associates".  
+
Earlier versions mentioned "DJL Software", while later versions mentioned "Speedlock Associates".
  
 
== Cassette  ==
 
== Cassette  ==
  
It was a modified version of the Spectrum's cassette routines with protection added.
+
The Speedlock cassette loader was a combination of an encryption system and advanced cassette routines. It is often recognized by its blue and black stripes in the border during loading.
  
It is often recognised for it's blue/black stripes in the border during loading.
+
Certain hacking software, such as [[Soft-Lok]] and [[Bonzo Blitz]], attempted to follow the protection development to created unprotected versions of the protected software.
  
Later versions had multicoloured stripes for the leader/pilot tone, and then blue/black stripes for the data.
+
The Speedlock tape protections in their Amstrad CPC versions use 3 different types of encoding :
  
As the protection system continued to evolve, programs such as [[Soft-Lok]] and the [[Bonzo Blitz]] were upgraded to break the protection.  
+
Speedlock type 2 (1984-1986):
 +
 
 +
*11 A Side Soccer
 +
*3D star Fighter
 +
*Advanced Pinball sim.
 +
*Arcade Flight Sim.
 +
*Arkanoid
 +
*Army Moves UK
 +
*Batman
 +
*Beach Head
 +
*Beach Head II
 +
*Bounty Bob Strikes Back
 +
*Bmx Simulator
 +
*Death Stalker
 +
*Express Raider
 +
*Fruit Machine Sim.
 +
*Galivan
 +
*Grand Prix II
 +
*Green Beret
 +
*Head Over Heels
 +
*Hyper Sports
 +
*Impossible Mission
 +
*International Rugby
 +
*Italian Super Car
 +
*It's a Knockout
 +
*Kong Strikes Back
 +
*Kung Fu Masters
 +
*Leaderboard
 +
*Mikie
 +
*Mission 1 Project Volcano
 +
*Ninja Massacre
 +
*Ping Pong
 +
*Pro Skateboard sim.
 +
*Pro Tennis Sim.
 +
*Raid!!
 +
*Rambo First Blood Part II
 +
*SAS combat Sim.
 +
*Super Heroes
 +
*Super Stuntman
 +
*Super Tank
 +
*Xevious
 +
 
 +
 
 +
A Speedlock-protected game with a baud rate of 1900 is Speedlock v4. A Speedlock v6 will not exceed 1675 baud.
 +
 
 +
Speedlock type 4 (1900 baud) (1986-1988):
 +
 
 +
*Arkanoid Revenge of Doh
 +
*Basket Master
 +
*Crazy Cars
 +
*Deliverance Stormlord II
 +
*Gryzor
 +
*Mercenary: Escape From Targ
 +
*Renegade (Hitsquad)
 +
*Road Runner
 +
*Robocop
 +
*Stallone Cobra
 +
*Tank
 +
*Target Renegade
 +
*Tarzan (specific Speedlock)
 +
*The New Zealand Story
 +
*World Games
 +
 
 +
Special speedlock : *Nigel Mansell GP => the main code is protected by Speedlock v4 while the level data uses Speedlock v2.
 +
To determine whether a game uses Speedlock v4 or v6, check the baud rate with CSW2CDT.
 +
 
 +
Speedlock type 6 (1675 baud) (1988-until the CPC death):
 +
Note that level data may use either the Spectrum variant 2 scheme, or the Sinclair Spectrum one.
 +
 
 +
*Altered Beast
 +
*Back To the Future III
 +
*Bad Dudes vs Dragon Ninja
 +
*Batman the Movie
 +
*Darkman
 +
*Fighter Bomber
 +
*Guerrilla War
 +
*Hammerfist
 +
*Monty Python Flying Circus
 +
*Mutants 64k
 +
*Ocean Beach Volley
 +
*Operation Wolf
 +
*Operation Thunderbolt
 +
*P47 Freedom Fighter
 +
*Rainbow Islands
 +
*SDI (Activision)
 +
*Shinobi
 +
*Star control
 +
*Stormlord
 +
*Super Wonderboy in Monsterland
 +
*The Addams Family 128k
 +
*The Ninja Warriors
 +
*The Untouchables
 +
*Turrican II The Final Fight
 +
*Typhoon
 +
*Wizball
 +
*Cabal
 +
*Midnight Resistance
 +
*Chase HQ
  
 
== Disc  ==
 
== Disc  ==
Line 19: Line 116:
 
Speedlock was also available in disc version.
 
Speedlock was also available in disc version.
  
One version called "[[8k Speedlock]]", relied on the fact that the CPC's hardware could reliably read but not write 8k sectors.  
+
One version called "[[8k Speedlock]]" relied on the fact that the CPC's hardware (specifically, the [[765 FDC|µPD765]] disk controller) could read 8 Kbyte sectors even though it was typically only possible to store more than 6,250 bytes on 300 rpm double density diskettes. Attempting to write an 8 Kbyte sector would cause the system to over-write its header block, because it requires to slow down the write speed (what the duplicator is doing. when examined with a flux tool like AUFIT, you can see that speedlock tracks are 'density variation' type. the density is higher due to the slower write speed used).
 +
 
 +
It was written here that "the format was either "devised" on an Atari ST or an IBM PC compatible machine (since the CPC share with them the same FDC controler, but not written on them since the Atari ST and IBM PC are unable to perform writetrack, they can only do sector write).
 +
 
 +
"The main difference being that an ST or PC can write more data per track than a CPC."
 +
 
 +
"That's incorrect, since those industrial duplicator formats were not made on standard machine equipment, you can also squash up to 6700 bytes on a CPC track. For that, you will need to do exactly the same thing as on PC and ST, slowdown the write speed in order to write more on each track. With a standard 300RPM speed, that's impossible. A speed lowered to a range of 260-280RPM is needed. that's why trying to copy a speedlock track fails on a CPC. A CPC can't do write track, only sector write. Speedlock tracks were duplicated on trace machine or Philips Unix duplicator in Writetrack, not sector write."
 +
 
 +
"This contains several inaccuracies. The Speedlock team in fact wrote the diskettes using diskette interfaces custom-modified for this purpose. Also, an Atari ST also has 6,250 bytes/track although used a WD1772 disk controller, while the PC has over time been based on a variety of formats (e.g. HD was 360 rpm 15 sectors etc.) and controllers (e.g. NEC µPD765 or Intel 8272A or 82072A."
 +
 
 +
"The Speedlock team was using an IBM PC equipped with a drive linked to an FDC able to write disks in writetrack or they used directly a Trace machine (duplicator) to make the master disk.
 +
 
 +
"Another statement written here was: "In itself, a 'Speedlock track' exists in 2 versions, used at the discretion of the duplicator, one use a CRC, and the other not." This is inaccurate, in the sense that it was never at the discretion of the duplicator. There were at least two separate versions, one of which may have involved a CRA issue."
 +
 
 +
"the writing above is incorrect. I maintain what i said, i have encoded in IPF (interchangeable Preservation Format) all the commercial games/softwares using the speedlock $1800 track system on the Amstrad CPC
 +
 
 +
There are 3 variants :
 +
 
 +
-the Speedlock $1800 with CRC 16 bits,
 +
-the Speedlock $1800 with no EDC
 +
 
 +
The third one has only been used on one compilation, and i can't currently encode it in IPF, because it has a subtility
 +
that has yet to be found.
 +
 
 +
And nothing else. The CRC16 and no EDC options were decided by the operator when building the master before writing it to disk.
 +
The Speedlock $1800 with CRC 16 bits is made as follow :
 +
1.Track is $1800 bytes long,
 +
2.Checksum 16 bits calculated as polynomial on 2 bytes ;
 +
 
 +
The speedlock $1800 with no CRC (no EDC - Error Data Checksum):
 +
1.the checksum is always the same
 +
2.the '4e' byte pattern on each track is the same.
 +
 
 +
The publishers who released games with this version used a duplicator different from Trace Machine duplicators, and they did the duplication blindly, without checking (exactly what happens on spanish games, and some french,english,and german ones).
 +
 
 +
Last point, calling the speedlock tracks as speedlock 6K or 8K is incorrect. When i process a game dumped as flux for Amstrad CPC in original, my tool recognize the speedlock tracks. Those were "writetrack" written, NOT as a big 6K sector. Therefore, if someone copy a game with speedlock tracks, my tool will then not recognize the tracks anymore, because they will have been changed from "writetrack" mode to "writesector" mode, loosing informations in the process.
 +
 
 +
A 'Speedlock track' consists of only 512 bytes declared for the sector while all the remaining data is spanned in a huge GAP section. When copied on a CPC, the FDC only stores the 512 first bytes as declared in the CHRN, and discards the remaining contained in the gap section. Those tracks have an EDC (Error Data Checksum) because only 512 bytes are used to calculate the data checksum as well as an illegal data field size. Several other protection mechanisms existed on such tracks, including special codes written by the Trace 1006 duplication equipment commonly in use at the time: these codes could not be written by standard Amstrad disc drives.
 +
 
 +
Various methods were attempted to circumvent this protection, including:
  
There were two methods to get around this:
+
1. A hardware modification to the Amstrad CPC and a special copy program .
  
1. A hardware modification to the Amstrad CPC and a special copy program
+
2. Executioner's utility Xexor included a 'brain file' solution to crack individual games before copying them.
  
2. Executioner's utility Xexor included a 'brain file' solution to crack individual games before copying them. <br>
+
3. The Argonauts (Jason Brooks') 8K Disk Copier was sold both through Nemesis and Personally, it worked by approaching the issue the same as Tape to Disk copying the game code to standard sectors after the "Hack" and then copying protected sectors which contained level data at the end of the disk tracks.  This can be found on the Git Repo: https://github.com/muckypaws/AmstradCPC

Latest revision as of 10:16, 15 June 2025


Speedlock is the name of a disc and cassette copy protection designed by Dave Looker (DJL), David Aubrey-Jones and Simon Berry.

Earlier versions mentioned "DJL Software", while later versions mentioned "Speedlock Associates".

Cassette

The Speedlock cassette loader was a combination of an encryption system and advanced cassette routines. It is often recognized by its blue and black stripes in the border during loading.

Certain hacking software, such as Soft-Lok and Bonzo Blitz, attempted to follow the protection development to created unprotected versions of the protected software.

The Speedlock tape protections in their Amstrad CPC versions use 3 different types of encoding :

Speedlock type 2 (1984-1986):

  • 11 A Side Soccer
  • 3D star Fighter
  • Advanced Pinball sim.
  • Arcade Flight Sim.
  • Arkanoid
  • Army Moves UK
  • Batman
  • Beach Head
  • Beach Head II
  • Bounty Bob Strikes Back
  • Bmx Simulator
  • Death Stalker
  • Express Raider
  • Fruit Machine Sim.
  • Galivan
  • Grand Prix II
  • Green Beret
  • Head Over Heels
  • Hyper Sports
  • Impossible Mission
  • International Rugby
  • Italian Super Car
  • It's a Knockout
  • Kong Strikes Back
  • Kung Fu Masters
  • Leaderboard
  • Mikie
  • Mission 1 Project Volcano
  • Ninja Massacre
  • Ping Pong
  • Pro Skateboard sim.
  • Pro Tennis Sim.
  • Raid!!
  • Rambo First Blood Part II
  • SAS combat Sim.
  • Super Heroes
  • Super Stuntman
  • Super Tank
  • Xevious


A Speedlock-protected game with a baud rate of 1900 is Speedlock v4. A Speedlock v6 will not exceed 1675 baud.

Speedlock type 4 (1900 baud) (1986-1988):

  • Arkanoid Revenge of Doh
  • Basket Master
  • Crazy Cars
  • Deliverance Stormlord II
  • Gryzor
  • Mercenary: Escape From Targ
  • Renegade (Hitsquad)
  • Road Runner
  • Robocop
  • Stallone Cobra
  • Tank
  • Target Renegade
  • Tarzan (specific Speedlock)
  • The New Zealand Story
  • World Games

Special speedlock : *Nigel Mansell GP => the main code is protected by Speedlock v4 while the level data uses Speedlock v2. To determine whether a game uses Speedlock v4 or v6, check the baud rate with CSW2CDT.

Speedlock type 6 (1675 baud) (1988-until the CPC death): Note that level data may use either the Spectrum variant 2 scheme, or the Sinclair Spectrum one.

  • Altered Beast
  • Back To the Future III
  • Bad Dudes vs Dragon Ninja
  • Batman the Movie
  • Darkman
  • Fighter Bomber
  • Guerrilla War
  • Hammerfist
  • Monty Python Flying Circus
  • Mutants 64k
  • Ocean Beach Volley
  • Operation Wolf
  • Operation Thunderbolt
  • P47 Freedom Fighter
  • Rainbow Islands
  • SDI (Activision)
  • Shinobi
  • Star control
  • Stormlord
  • Super Wonderboy in Monsterland
  • The Addams Family 128k
  • The Ninja Warriors
  • The Untouchables
  • Turrican II The Final Fight
  • Typhoon
  • Wizball
  • Cabal
  • Midnight Resistance
  • Chase HQ

Disc

Speedlock was also available in disc version.

One version called "8k Speedlock" relied on the fact that the CPC's hardware (specifically, the µPD765 disk controller) could read 8 Kbyte sectors even though it was typically only possible to store more than 6,250 bytes on 300 rpm double density diskettes. Attempting to write an 8 Kbyte sector would cause the system to over-write its header block, because it requires to slow down the write speed (what the duplicator is doing. when examined with a flux tool like AUFIT, you can see that speedlock tracks are 'density variation' type. the density is higher due to the slower write speed used).

It was written here that "the format was either "devised" on an Atari ST or an IBM PC compatible machine (since the CPC share with them the same FDC controler, but not written on them since the Atari ST and IBM PC are unable to perform writetrack, they can only do sector write).

"The main difference being that an ST or PC can write more data per track than a CPC."

"That's incorrect, since those industrial duplicator formats were not made on standard machine equipment, you can also squash up to 6700 bytes on a CPC track. For that, you will need to do exactly the same thing as on PC and ST, slowdown the write speed in order to write more on each track. With a standard 300RPM speed, that's impossible. A speed lowered to a range of 260-280RPM is needed. that's why trying to copy a speedlock track fails on a CPC. A CPC can't do write track, only sector write. Speedlock tracks were duplicated on trace machine or Philips Unix duplicator in Writetrack, not sector write."

"This contains several inaccuracies. The Speedlock team in fact wrote the diskettes using diskette interfaces custom-modified for this purpose. Also, an Atari ST also has 6,250 bytes/track although used a WD1772 disk controller, while the PC has over time been based on a variety of formats (e.g. HD was 360 rpm 15 sectors etc.) and controllers (e.g. NEC µPD765 or Intel 8272A or 82072A."

"The Speedlock team was using an IBM PC equipped with a drive linked to an FDC able to write disks in writetrack or they used directly a Trace machine (duplicator) to make the master disk.

"Another statement written here was: "In itself, a 'Speedlock track' exists in 2 versions, used at the discretion of the duplicator, one use a CRC, and the other not." This is inaccurate, in the sense that it was never at the discretion of the duplicator. There were at least two separate versions, one of which may have involved a CRA issue."

"the writing above is incorrect. I maintain what i said, i have encoded in IPF (interchangeable Preservation Format) all the commercial games/softwares using the speedlock $1800 track system on the Amstrad CPC

There are 3 variants :

-the Speedlock $1800 with CRC 16 bits, -the Speedlock $1800 with no EDC

The third one has only been used on one compilation, and i can't currently encode it in IPF, because it has a subtility that has yet to be found.

And nothing else. The CRC16 and no EDC options were decided by the operator when building the master before writing it to disk. The Speedlock $1800 with CRC 16 bits is made as follow : 1.Track is $1800 bytes long, 2.Checksum 16 bits calculated as polynomial on 2 bytes ;

The speedlock $1800 with no CRC (no EDC - Error Data Checksum): 1.the checksum is always the same 2.the '4e' byte pattern on each track is the same.

The publishers who released games with this version used a duplicator different from Trace Machine duplicators, and they did the duplication blindly, without checking (exactly what happens on spanish games, and some french,english,and german ones).

Last point, calling the speedlock tracks as speedlock 6K or 8K is incorrect. When i process a game dumped as flux for Amstrad CPC in original, my tool recognize the speedlock tracks. Those were "writetrack" written, NOT as a big 6K sector. Therefore, if someone copy a game with speedlock tracks, my tool will then not recognize the tracks anymore, because they will have been changed from "writetrack" mode to "writesector" mode, loosing informations in the process.

A 'Speedlock track' consists of only 512 bytes declared for the sector while all the remaining data is spanned in a huge GAP section. When copied on a CPC, the FDC only stores the 512 first bytes as declared in the CHRN, and discards the remaining contained in the gap section. Those tracks have an EDC (Error Data Checksum) because only 512 bytes are used to calculate the data checksum as well as an illegal data field size. Several other protection mechanisms existed on such tracks, including special codes written by the Trace 1006 duplication equipment commonly in use at the time: these codes could not be written by standard Amstrad disc drives.

Various methods were attempted to circumvent this protection, including:

1. A hardware modification to the Amstrad CPC and a special copy program .

2. Executioner's utility Xexor included a 'brain file' solution to crack individual games before copying them.

3. The Argonauts (Jason Brooks') 8K Disk Copier was sold both through Nemesis and Personally, it worked by approaching the issue the same as Tape to Disk copying the game code to standard sectors after the "Hack" and then copying protected sectors which contained level data at the end of the disk tracks. This can be found on the Git Repo: https://github.com/muckypaws/AmstradCPC