Back in the 80s loading games from a cassette was a tedious and time consuming process with some titles taking up to 15 minutes to process. On top of that, the medium was also prone to widespread piracy. In a bid to stop copying by using a consumer tape-to-tape machines several companies developed their own “loaders” – a non-standard mechanism of getting the data from cassette (and in some cases disk) that included clicks and ticks of varying frequencies that home machines didn’t reliably detect.
A by product of overriding the default mechanisms was the ability to load data faster (the introduction of “turbo” loaders) and the ability to do other things (animate sprites, play small games or show a counter) as the data was imported.
Buying into a system such as Speedlock was an expensive process, so two programmers at Gremlin Graphics put their heads together to write their own.
This is a slice of an interview with Peter Harrap that has been recovered from the cutting-room floor of A Gremlin in the Works:
Peter Harrap [PH] Greg [Holmes – the author of Jack The Nipper] was the inspiration behind starting it all. [Greg had written a loader on the ZX Spectrum] Getting to grips with how the Commodore 64 and Amstrad loads games was my job – figuring out how the hardware works. The Spectrum was simply the case of making sure the timings were faster. The 1s were twice as long as the 0s and you were checking for the change in the magnetic flux to recognise the data change. It was the same with disk drives. You can’t just encode a load of 0s because you can’t time the space of a length of 0s, you have to keep flicking the flux to get the fact that is a 0. For the Spectrum tape it was literally timing the length of 0s and 1s, and because you were timing it you could do extra things in that timing – as long as you knew exactly how much time you spent doing it. That’s how the loaders worked when you had animations on screen: You’ve loaded data that you can use as animation and you have enough time during those tiny little waits to draw something – such as timers counting down. With the Commodore you had more fun with the disk drive that had a 1MHz CPU and you could bypass the firmware to make it run even faster.
Mark Hardisty [MH] So you and Greg are the fathers of the Gremlin Loaders I and II? Something you sold on to other companies to use?
PH I don’t recall exactly what Greg did, but we probably did sell it on. The whole point about getting things to load fast was important as players at that time expected it. We had to compete with Novaload and Speedlock – and if we didn’t have our own we would have ended up paying those companies to licence their product. The Amstrad was even more fun as
you had to get the chip book from the manufacturer so you knew exactly what the commands were. In terms of anti-piracy you’d find you were in complete control at this point so you can put extra data on the cassette or disks – you’ve more data on there and you’re loading it faster so none of the copying programmes could mirror that.
Retro Gamer issue 3 has a feature on piracy and loading systems.
A nice set of ZX Spectrum Loading Systems (including code can be found here.