Lenslok is a copy protection mechanism found in some computer games and other software on the 8bit Atari, Commodore 64, Sinclair ZX Spectrum, Sinclair QL, MSX and Amstrad CPC. The most famous game to use it was Elite for the ZX Spectrum.
The Lenslok device was essentially a row of prisms arranged vertically in a plastic holder. Before the game started, a two-letter code was displayed on the screen, but it was corrupted by being split into vertical bands which were then rearranged on screen. By viewing these bands through the Lenslok they were restored to their correct order and the code could be read and entered allowing access to the game. The device was small enough when folded flat to fit next to an audio cassette in a standard case.
In order for the Lenslok to work correctly the displayed image has to be the correct size. This meant that before each use the software needed to be calibrated to take account of the size of the display. Users found this setup particularly annoying, at least in part due to the poor instructions that were initially shipped.
Additionally, the device could not be calibrated at all for very large and very small televisions, and some games shipped with mismatched Lensloks that prevented the code from being correctly descrambled. The Lenslok system was not used in later releases of Elite.
Software that used the Lenslok system:
Elite, released by Firebird
OCP Art Studio, released by Rainbird
Fighter Pilot, released by Digital Integration
Tomahawk, released by Digital Integration
TT Racer, released by Digital Integration
Jewels of Darkness, released by Level 9 Computing
The Price of Magik, released by Level 9 Computing
ACE, released by Cascade Games Ltd
Graphic Adventure Creator, released by Incentive Software
Moon Cresta, released by Incentive Software
Supercharge, released by Digital Precision
LensLok Emulator
Lenskey
Introduction
LensKey is a Lenslok™ decoder for Windows 95 or later. It emulates the function of the plastic lens, unscrambling an on-screen pattern to reveal a 2 character security code.
The following 9 Lenslok-protected titles are supported: ACE, Art Studio, Elite, Graphic Adventure Creator, Jewels of Darkness, Mooncresta, Price of Magik, Tomahawk and TT Racer.
Usage
1)
Start LensKey, and select a software title from the drop-down list.
Each title uses a slightly different encoding method, so the correct one must be selected!
2)
Click on the main area in the Lens Viewer window to enter selection mode. This allows a pattern region to be selected for decoding.
The cursor changes to a cross-hair until a selection has been made.
3)
On the emulator window, select the right-hand half of the Lenslok pattern, as shown. Do this by holding down the left mouse button and dragging out a selection rectangle.
The left edge of the selection should be in the centre of the central line. The top of the box should be just above the character pattern, and the bottom of the box should be just below it.
4)
Follow the instructions above, and continue dragging to the right until the OK test pattern is visible in the viewer window.
With most patterns, you'll need to extend the selection area slightly beyond the right edge of the pattern.
5)
Finally, press return/space in the emulator to display the real pattern, which will be decoded in the viewer window.
Enter the code in the Spectrum emulator and you're in!
Troubleshooting
If you're using an emulator I'd recommended that you pause it while using LensKey, otherwise the frequent emulator screen updates will overwrite the selection box, making it difficult to see.
Can't see any recognisable characters in the viewer window?
Check the software title selection is correct.
Ensure the left edge of the region selection is on the central line.
Ensure you're dragging down+right, and not up+left.
Re-select the region if the target window has been moved or resized.
Ensure the emulator is not using a video overlay surface for its display.
Try pausing the emulator and/or turning off 'scanline' effects.
Download
Version 1.2, last updated 12th October 2008 [changelog]
http://simonowen.com/spectrum/lenskey/LensKey12.zip
The zipfile includes the source code and Visual Studio 6 project files.