Fast loaders (e.g. Bleepload) and all sorts of other tricks had been employed for a number of years to try and make games harder to copy. The Lenslok device was the latest attempt at trying to prevent copies of games being played by people who hadn’t bought the game.
Lenslok was the brainchild of electronics consultant and freelance inventor John Frost. He approached ASAP Developments (a subsidiary of J Rothschild Holdings Limited) with the idea and they then brought it to market. The device was made from plastic with two fold back hinges on either side of a clear plastic lens. The lens had thirteen ridges split into two groups of six and one ridge in the middle. These ridges refracted the light in different directions, descrambling what was being viewed through the lens at the time.
Each Lenslok was unique to the game it was supplied with. The game developer was given some Lenslok code to incorporate into the final version of the game. The code was then executed as soon as the game had finished loading or when a particular point in the game had been reached.
Using the Lenslok was a two stage process. Due to the variety of different screen sizes, the initial stage was spent by the player calibrating the device. They had to take the unfolded Lenslok device and hold it against the screen. The player had to use the keyboard to increase or decrease the size of the Lenslok window until the H shape on screen matched the physical size of the device. They then had to fold back the hinges and place the device against the TV or monitor screen so they could clearly see the letters 'OK' through the device. At that point, they would type OK and proceed to the last stage of the process, where they were asked to type in the next two-letter code they could see through the Lenslok. Only if they got this part correct would they then be able to play or continue to play the game.
The implementation of Lenslok varied from title to title. For example, some titles would run the Lenslok code as soon as the game had finished loading (e.g. Elite), whilst others waited until a key point in the game (e.g. Jewels of Darkness). Some displayed the Lenslok check white on black (as shown above), whilst others would use black on white. The number of allowed attempts also varied, with some being very strict and giving the player only three chances after calibration to get it right, whilst others would give you six (three and then a return to calibration, then three more after that) before resetting the machine. On some titles, code entry was 'case sensitive' (if the player saw 'ab' through the device, typing AB would fail), whilst others weren't.
A number of TelecomSoft titles used Lenslok, including versions of Elite, The OCP Art Studio and Level 9's Jewels of Darkness. TelecomSoft committed to buying 100,000 of the devices, which helps to explain why it continued beyond Spectrum Elite despite all of the teething problems (see below). Outside of TelecomSoft, Digital Integration also used it on their simulators TT Racer and Tomahawk, as did Level 9 with graphical versions of their adventure game The Price of Magik. Digital Precision's Supercharge compiler for the Sinclair QL also used Lenslok.
TelecomSoft were initially very happy with Lenslok. Herbie Wright was quoted as saying "We are amazingly pleased to be the first publishing house to use Lenslok. We have been thinking for some time about of taking the initiative against piracy and Lenslok breaks out of the syndrome of constantly refining disc and cassette production systems."
Althought Lenslok was developed with the best of intentions (from the publisher's point-of-view), it had the unfortunate knack of locking out a lot of legitimate players! The Spectrum version of "Elite" was the first game to use Lenslok, and it caused no end of problems. The wrong version of the device was shipped with a batch of about 500 boxes (version B rather than version A), and being a new device a number of people just couldn't get to grips with it anyway!
Lenslok also failed to work properly with large screen TVs simply because the displayed Lenslok window was physically too large for the device. For numerous reasons, few people lamented the demise of Lenslok in the end.
Believe it or not, Lenslok has also now been emulated! Simon Owen has written Lenskey. This device will allow players to get past Lenslok protected games under emulation. I have tried it on the original 48k Spectrum version of Elite and it worked without any problems (see below).
Thanks to Tony Beckwith and Simon Owen for some of the above info!
As with any protection scheme, it was only a matter of time before someone figured out a way to get around it. It wasn't too difficult to find out where the Lenslok software resided if you had the right tools, and hence learn how to circumvent it.
The address (aka location) of the Lenslok code was different for each game that used it, which was supposed to make it harder for the more curious programmers with time on their hands (aka the hackers) to crack it.
However, searching the game code for OK would (by a systematic trial-and-error approach) reveal the address where the access code would appear once the calibration stage was completed. Once the hacker knew that, simply pressing Enter at the calibration stage and then looking at that address in the game code would give them the two character code required to enter or continue playing the game. Alternatively, the hacker could modify the software slightly so that the code to get into the game was always OK, but that required a greater amount of expertise.
To test the theory, I ran an emulated Lenslok protected version of Elite for the 48k Spectrum. The emulator I chose was a personally registered copy of Spectaculator. Having loaded the .tzx file into the Spectrum, I then activated the Multiface device and used the supplied tool to search through the code (viewing as text rather then hex). Lo and behold, near the very end of the 48k memory I suddenly started to find the instructions for Lenslok (Increase, Decrease, etc.) and shortly afterwards I found the characters O and K next to each other. I scribbled down the addresses for both, and then returned to the game and pressed Enter to get past calibration. I then reactivated the Multiface, had another look at the same addresses and it showed Fs. I returned to the game, pressed FS and it let me in!
I wonder how long it was until someone within the developers or publishing companies realised how ridiculously easy it was to circumvent Lenslok?
Thanks to Jon North and the World of Spectrum forums for enlightening me on how to get around Lenslok!