Another routine for lots of games with lots of data lines. This is for the Speedlock with multi-coloured borders when it beeps. Play the tape from the start. Don't try running it on it's own though: because you'll only get an 'Out of data' message: you need to bolt on the game data for hacking the game into line 400 onwards...
Speedlock was the first and most common commercial turbo loader to be ever used on the ZX Spectrum. It was used in hundreds of ZX-Spectrum games, many of which were released by Ocean software. Although there are several revisions of the Speedlock, in the later releases, you can recognize it because the loading screen appears suddenly, there are no coloured stripes in the border whilst loading, and when the loading screen has appeared, there is often a countdown timer showing the remaining time expressed minutes, seconds and tenths of a second. Speedlock version one was the first turboloader to ever appear on the ZX Spectrum and was first developed in 1983. It was not however used commerically until October 1984, when it was used on 'Daley Thompson's Decathlon' which was released by Ocean software, by which time it had reached it's third version. Speedlock was first developed by David Looker and David-Aubrey-Jones (see left inset picture) who also wrote Mercenary for the ZX Spectrum. Further revisions of the Speedlock soon followed. The first type one Speedlocks were completely different to the later releases. They used the same initaliation routine, but a completely standard decrypter. The only differences between the type one Speedlock and an ordinary decrypting loader were it's initialisation routine and it's use of the IY register.
There were seven different versions of Speedlock, plus a hybrid one, although if David wrote all of these is unknown. It should be noted I can only find one game which uses Speedlock 7, and that was Repton 1 which was released by Aligator Software. I can find no reference to any game which uses Speedlock 6, which seems unusual. An interesting piece of history is that David secretly hid a message in his Speedlock one loader which reads "Government Health Warning - Attempting to crack Speedlock can seriously damage your Sanity!" Spectrum hackers attempted to hack the protection system, but it took an experienced and competent hacker who had a good understanding in Z80 assembler language to disassemble and to crack the Speedlock! The main reason why the Speedlock protection system was developed was to reduce the amount of software piracy because a loading system which loaded at over 150% above normal speed would not copy very reliably if a software pirate copied it many times over via a hifi system from cassette to cassette. It was also developed to reduce the loading times of commerical ZX Spectrum games (Speedlock 2 would load a game nearly 150% faster than normal), to keep out any hackers, and to save money (A cassette with a turboloader would load faster, hence the software company would require less cassette tape than was originally needed!). No doubt David made a substantial sum for his idea!
Examples : Athena 48 and 128k, Catch 23
Click here to download this hacker (TAP format) or Click here to download this hacker (TZX format).
10 CLEAR 45e3 : LET t=0
20 FOR f=3e4 TO 30139
30 READ a : POKE f,a
40 LET t=t+(f-29990) * a : NEXT f
50 IF t<>1077568 THEN STOP
60 FOR f=f TO 1e9 : READ a
70 IF a>255 THEN GOTO 100
80 POKE f,a
90 LET t=t+(f-30130) * a : NEXT f
100 IF t<>a THEN STOP
110 LOAD "" CODE : RUN USR 3e4
120 DATA 42,188,117,221,33
130 DATA 182,117,6,6,197
140 DATA 221,78,0,221,35
150 DATA 6,0,197,229,17
160 DATA 20,116,237,176,33
170 DATA 49,116,126,254,249
180 DATA 32,2,54,0,33
190 DATA 36,116,126,254,249
200 DATA 32,2,54,0,235
210 DATA 54,201,205,20,116
220 DATA 225,193,9,193,16
230 DATA 209,42,188,117,1
240 DATA 112,11,9,1,100
250 DATA 0,62,243,237,177
260 DATA 43,1,0,4,237
270 DATA 66,17,169,250,1
280 DATA 0,6,237,176,33
290 DATA 150,117,34,195,254
300 DATA 195,169,254,1,96
310 DATA 54,82,50,17,14
320 DATA 12,24,205,28,254
330 DATA 33,38,255,1,100
340 DATA 0,62,217,237,177
350 DATA 54,72,54,72,43
360 DATA 54,0,33,190,117
370 DATA 17,217,254,1,40
380 DATA 0,237,176,201,17
390 DATA 36,57,14,25,23