INFINITE LIVES LOADERS
WHEN CHEATING WAS A FULL-TIME JOB
You were dead before you even started. Again and again. The game gave you no breathing room, the second screen was a pipe dream, and you were already about to hurl the joystick across the room. Total desperation. And then, flicking through your magazine between reviews and maps, the solution appeared. Written in black and white. No nonsense.
Infinite lives.
The catch was, what awaited you on that page wasn't quite what you'd expect from a "cheat". It was an endless column of numbers. Line after line of BASIC filled with comma-separated values that, at a glance, looked like the ravings of someone who'd spent too many hours in front of a screen.
But there it was. And you were going to type the whole thing out even if it took all afternoon.
What most people didn't realise was that those listings weren't simple magic codes. They were real programs that did something very specific: get inside the C64's memory before the game did.
The simpler ones worked like this: they installed themselves in the memory block the C64 reserved for BASIC, then executed a POKE — writing directly to the address where the game stored the lives counter — so that whenever the game checked how many lives you had left, it always found the same number. Like changing the scoreboard on a referee before he walks out onto the pitch.
stores the lives counter
= ignore instruction
never drops
The more advanced ones were a different story altogether. They sneaked into memory zones the game would never touch — sometimes in zero page, the first 256 bytes of the system, normally reserved for the processor itself — and from there replaced part of the C64's loading routine. They grabbed the game's code as it streamed in from the tape and patched it on the fly, before it had even been executed. Essentially rewiring its guts mid-operation.
That's why the listings had those endless DATA lines full of numbers. They weren't just any data: they were machine code instructions — assembler bytes translated into decimal so they could live inside a BASIC program. The authors — magazine contributors who spent hours disassembling games — located exactly where in memory the lives were stored and built a routine to freeze them. Then they published it in the magazine. And you typed it out.
Character by character.
One wrong number and the program didn't work. Or it half-worked, which was worse: the game loaded, the music played, and on the first death... the lives kept going down. Just like that. There you sat, staring at the screen, not knowing whether the mistake was yours, the listing's, or whether life was simply unfair.
When everything went right, when the loader worked and the lives froze on screen, the feeling wasn't exactly like having cheated. It was something else. You'd typed out code you didn't fully understand, corrected errors in the dark, waited through the loading with your fingers crossed... and the game had given in.
It wasn't cheating. It was a negotiation with the machine.
And this time, the machine had lost.
TO NOT WORK INSIDE THE GAME
Nobody taught us programming. Nobody explained what assembly language was. But we copied DATA lines from a magazine, put them in the right place, ran the program and the game did what we wanted.
That, even though we didn't know it at the time, was hacking. And we learned it ourselves, number by number, aged twelve, with a broken joystick.
► WHAT IT GAVE YOU
Infinite lives (when it worked)Your first real programming lesson
Absolute satisfaction when it succeeded
Total sense of control over the game
Legendary status in the school playground
► WHAT IT COST YOU
One mistake = start from scratchHalf-working could be worse than nothing
The game might not load at all
The permanent doubt: was it me or the listing?