Skip to content

POKE culture

How magazine readers found, swapped and printed the numbers that changed commercial games

From late 1983 home-computer magazines printed readers' POKEs: a memory address and a number that, typed in before a game started, gave infinite lives, stopped a timer or switched off the enemies. CRASH, Your Sinclair and Sinclair User ran pages of them for the Spectrum, credited to the readers who found them, and Zzap!64, Amstrad Action and magazines in Spain, Czechoslovakia and Yugoslavia did the same. Finders used freezer add-ons such as the Multiface, search programs and disassemblers to work them out; the magazines paid in T-shirts and often admitted they had not tested them.

In May 1984 CRASH gave in. “We’ve received so many letters from people with helpful hints on how to cheat at Manic Miner that I’m beginning to suspect I’m the only person in Britain who doesn’t know how to cheat,” its letters page admitted. It had received 22 letters on the subject, and printed several cheats. The best known: stop the tape after the loading picture, break into the program, add one line, 25 POKE 35136,0, and type RUN. Miner Willy now had unlimited lives.

That line is a POKE: an instruction to write one number into one place in the computer’s memory. For the rest of the decade, home-computer magazines printed pages of them. Each one was a game’s secret, worked out by a reader and sent in with a name and a home town. A good one won a T-shirt. Not all of them had been tried by anyone at the magazine.

What a POKE did

POKE is a BASIC keyword. POKE 35136,0 puts the value 0 into memory address 35136. The Spectrum’s Z80 processor can address 65,536 places in memory, numbered 0 to 65535, and each holds a value from 0 to 255.

A Spectrum game on tape usually began with a short BASIC program, the loader, which loaded the machine-code game and then started it with RANDOMIZE USR and an address. The cheat went in between. CRASH’s first method was to stop the tape partway and break into the loader; “a better method”, it said, was to type MERGE "" before loading, which brought the loader in without running it. Then you listed it, added your POKE as a new line before the USR, and ran it. When the game started, the number had already been changed.

The printed instructions were short. CRASH’s cheat for Chuckie Egg in March 1985 read: “Type in MERGE”“: POKE 24501,195: GOTO 1. When the game has finished loading type in as a direct command POKE 42837,0 and RANDOMIZE USR 42000”. Two months later, for Mastertronic’s Finders Keepers, it was just “insert it in the basic loader before the RAND USR number and it gives infinite lives: POKE 34252,0”.

In March 1988 Sinclair User explained the idea to readers who had just unwrapped a Spectrum. A POKE, it said, was normally “an Address Number and a Value, which you type into your computer to alter the parts of a game which count how many lives you have left, how much energy you have remaining, or suchlike. You can cheat!” It warned that there were two kinds. One needed an add-on that could freeze a running game; the other came as a program listing to type in, which replaced the game’s own loader and usually included a checksum to catch typing mistakes. Its last tip: keep your cassettes of POKEs “neatly labelled”.

Some POKEs changed a counter, such as the number of lives. Others changed the game’s code. CRASH described freezer add-ons whose editors let you “change crucial instructions in the main program”. To the Z80, the value 0 is the instruction NOP, which does nothing, and 201 is RET, which returns from a subroutine straight away. A 0 written over the instruction that takes away a life, or a 201 at the start of a routine, could switch that part of a game off.

A page of Golden Oldies

In May 1987 CRASH printed a table sent in by Robert Gabriel of Uffculme, Devon, covering early Spectrum games. A few of its rows:

Game POKE Result
Manic Miner 35136,0 Infinite lives
Horace Goes Skiing 29270,0 No traffic
Hunchback 26888,0 Infinite lives
Psytron 28625,0 Endless fuel
Kokotoni Wilf 42214,255 255 lives

“The best way to use them is to insert them just before the RANDOMIZE USR statement,” the magazine advised. “Alternatively you could use a Multiface One.” It added: “As there are so many, I haven’t had time to test them all, so don’t complain to me if the odd one or two don’t work.”

The Manic Miner POKE in that table is the one from 1984, and it travelled. Sinclair User had printed it in February 1984. The Czechoslovak magazine Mikrobáze printed it in 1986, next to the level-select code 6031769, which it described as “supposedly the author’s old telephone number”.

How POKEs were found

A finder had to know which address mattered, out of tens of thousands. The tools changed over the decade.

The Multiface, which Romantic Robot began advertising in the autumn of 1985 at £39.95, was a box with a red button that froze a running Spectrum game. Its own menu let you look at memory and change it. The Multiface 3 manual lists the whole toolkit: PEEK and POKE at an address, stepping on with ENTER; a window of “16 lines of 8 bytes each” with full-screen editing; the Z80’s registers as they were when the button was pressed; a switch between hex and decimal; a text view, “very handy in revealing messages”; printing; and switching between the 128K machines’ memory banks. There is no search. A finder used it to browse and to test a guess, not to find the address in the first place. See Multiface.

Software filled the gap. In March 1988 CRASH surveyed the freezer add-ons, and explained the search programs. “Some programs try to work out POKEs for you automatically.” The first, it said, was The Gamester, sold for £6 by its author, D. R. Walton of Birmingham, which ran on the Multiface One, Multiface 128 and Datel’s Snapshot 2. Romantic Robot followed with its own, Lifeguard, at £7, which its advertisements called “an infinite life finder”. Both were “rather unpredictable”, the magazine warned, “because they both work by looking blindly through the contents of memory, adjusting parts of the program that appear to keep count of something, in the hope that the change will make the program easier to use.” They could easily crash a game, “but they’re great fun to play with.”

The serious finders went further. “The POKEs in magazines are usually sent in by programmers who use a mixture of automatic and manual techniques to analyse a program before they start fiddling with it,” CRASH wrote. “This is hard work but has great potential, as in theory a good hacker can make just about any change that the original programmer could have made.” The difficulty was that code, graphics, sound and scores all sat mixed together in memory as plain numbers. Romantic Robot’s answer was Genie, a £9.95 disassembler that loaded into the Multiface, could search memory for text or other patterns, and turned the numbers back into Z80 instructions. “You must be able to read assembly language,” the magazine cautioned, or you could not tell real code from data.

What a POKE was worth

Not money. In March 1985 CRASH’s tips editor, Robin Candy, set out the terms. “Officially I’m not supposed to give prizes to people who send in pokes etc but if you send in some golden chewy information that is unique to you then you’ll be able to have a super CRASH T-SHIRT.”

Two months later he launched a competition, the Robin Candy POKE Prize, with “the three P’s. PEEKing, POKEing and PRIZES”. First prize was “£50 of software of your choice for the Spectrum and a Mega Brill T-shirt”, second and third £25 of software, and fourth to sixth a T-shirt each, in descending grades of brilliance until he admitted that “all the T-shirts are really the same”. The rules show that a POKE was treated as a discovery with an owner. “No more Jet Set Willy Pokes, OK.” Anything already printed “in these hallowed pages or in any of the other magazines” was disqualified, and so was anything another magazine printed before the closing date. “We’re looking for EXCLUSIVE Playing Tips here.”

The magazines printed the finder’s name, often in capitals with the town: a single CRASH page in March 1985 credits Mark Le-May of Portsmouth, Graham Morgan of Midlothian, Darren Palmer of Redditch and Jason Partington of Poole.

They did not always check the numbers. The March 1985 Chuckie Egg cheat came with an apology: “I’m afraid I haven’t had time to check this out because we haven’t any Chuckie Eggs in stock.” When CRASH looked back over its tips pages in April 1992, it began the story with its first tipster, Lloyd Mangram, and his reputation for “faulty POKE listings”.

Not everyone approved

Cheats were not universally welcome. In August 1984 a CRASH reader complained that the magazine’s Manic Miner tips were “completely WRONG!!!”: the author had taken trouble over the game, and endless lives destroyed “the concept of the game”. Why not play it properly? The magazine answered that it was “only the really good game that people want to cheat at”. It also said it had held back. Within days of Jet Set Willy’s release, it said, someone had appeared charging £1.95 for an endless-lives POKE, and CRASH had printed no POKEs for either game “for a set period in order to give the game a chance”, while other publications had.

The columns

Magazine What it called its POKE pages
CRASH “Cheats Corner” in the letters page (1984), then Playing Tips
Your Sinclair “Hacking Away” (1986), then “Hack Free Zone”, then YS Tipshop from September 1987, with “Practical POKEs” and lists of “Multiface Pokes”
Zzap!64 Tips pages for the Commodore 64 from 1985
Amstrad Action Cheat Mode

CRASH’s 1992 history lists who ran its Playing Tips: Lloyd Mangram, the house name; then Robin Candy, who started as Lloyd’s helper; Hannah Smith, the magazine’s first woman tipster; Lloyd again for a while; and Nick Roberts, who had started by coming in after school to review games “for boxes of Mars bars”.

Your Sinclair’s first column, “Hacking Away”, was written by Chris Wood in 1986, and it worked the same way: “If you know, don’t keep it to yourself, tell the world via Hacking Away.” In September 1987 the magazine announced YS Tipshop, risen “from the ashes of Hack Free Zone (ritually burned last month)”. By 1988 its pages carried two kinds of cheat side by side: BASIC listings to type in before loading the game, and short lists of “Multiface Pokes” to enter at the freezer’s prompt.

Beyond the Spectrum

The habit was not only British, and not only Sinclair.

  • Commodore 64. In June 1985 Zzap!64 printed a page of “really old and crusty tips” that “many 64 owners probably know about already”. The C64 form was different: load the game’s second part, POKE, then start it with SYS, as in POKE 8646,255 and SYS 8000 for infinite lives in Audiogenic’s Motor Mania.
  • Amstrad CPC. Amstrad Action’s Cheat Mode ran the same economy of named readers. In May 1988 it printed Neil McDougall’s infinite-lives POKE for the disk version of Ocean’s Batman: “Run it and it automatically loads the game and pokes.” Many of its cheats were BASIC programs with DATA lines that loaded the game and patched it, rather than a single command.
  • Spain. The weekly Amstrad Semanal printed readers’ POKEs under their names, among them José R. Cañavate’s infinite lives for Manic Miner in May 1987.
  • Czechoslovakia. Mikrobáze printed Spectrum POKEs, including the 1984 Manic Miner one, in 1986.
  • Yugoslavia. Računari ran a page headed “POKE HITNO” in May 1987, with entries for Manic Miner and Bomb Jack.

On the Commodore 64 and later the Amiga, Datel’s Action Replay cartridge did the job the Multiface did on the Spectrum, and cheat menus built into cracked games, called trainers, packaged the finder’s work so that the player never saw an address at all.

The last years

The tips pages lasted into the 1990s. Sinclair User was still printing readers’ Multiface POKEs in June 1992. CRASH’s last Playing Tips Special, in April 1992, ran to sixteen pages; Nick Roberts wrote that it had “taken this long to recover from typing in lots of POKEs”.

Try it

Meteor Storm, one of the games built in Code198x’s Spectrum assembly lessons, has a loader like the ones above, and its release tape plays in a Spectrum on that page. POKE 33520,0 lets the ship survive a hit. When a meteor strikes, the game sets the ship’s hull to zero, and zero means destroyed; address 33520 holds the instruction that makes the zero, and the POKE turns it into one that does nothing.

The player types LOAD "" as soon as it starts, so the loader has run before you can change it. In the player, Shift is CAPS SHIFT and Control or Alt is SYMBOL SHIFT. To enter the POKE the way CRASH described:

  1. Press Run, then Stop tape and Rewind tape.
  2. Click the screen and press BREAK (Shift and Space). Type NEW (the A key) and press Enter, then press Enter again to clear the copyright message. The loader had set black ink on black paper; NEW puts the Spectrum back as it starts.
  3. Type MERGE "" and press Play tape. MERGE is extended mode (Shift and Control together), then Control and T; " is Control and P.
  4. When 0 OK appears, press Stop tape within a few seconds, before the next block arrives.
  5. Type 45 POKE 33520,0 and press Enter. Type RUN, press Enter, and press Play tape.

Sources

  • Personal Computer News, 7 December 1983, p. 10: Brian Sheldon’s Manic Miner lives POKE, and the editor’s “isn’t quite cricket”.
  • Computer & Video Games issue 26, December 1983, p. 183: Bug Hunter, readers’ cheats (99 lives in Planetoids on the BBC Micro).
  • Sinclair User issue 23, February 1984, p. 26: Simon Scott’s POKE 35136,0 for Manic Miner.
  • CRASH issue 4, May 1984, p. 102: Cheats Corner (22 letters; “the only person in Britain who doesn’t know how to cheat”; the two methods; 25 POKE 35136,0).
  • CRASH issue 7, August 1984, p. 29: a reader’s complaint and the magazine’s reply (the £1.95 POKE; holding back Manic Miner and Jet Set Willy POKEs).
  • CRASH issue 14, March 1985, p. 59: Robin Candy’s Playing Tips (the T-shirt terms; the untested Chuckie Egg POKE; the named finders).
  • CRASH issue 16, May 1985, p. 82: the Robin Candy POKE Prize and its rules; the Finders Keepers POKE.
  • Zzap!64 issue 2, June 1985, p. 92: C64 tips, including Motor Mania.
  • Your Computer, October 1985, p. 22, and CRASH issue 22, November 1985, p. 103: Romantic Robot’s Multiface One advertisement (£39.95).
  • Your Sinclair issue 4, April 1986, p. 34: Hacking Away, by Chris Wood.
  • Mikrobáze no. 10, 1986, p. 41: Spectrum POKEs, including Manic Miner.
  • CRASH issue 40, May 1987, p. 66: Robert Gabriel’s table of POKEs for “Golden Oldies”.
  • Amstrad Semanal no. 88, 19 May 1987, p. 49: José R. Cañavate’s Manic Miner POKE.
  • Računari, May 1987, p. 64: “POKE HITNO”.
  • Your Sinclair issue 20, August 1987, p. 72, and issue 21, September 1987, p. 48: YS Tipshop announced and launched.
  • CRASH issue 50, March 1988, pp. 54–56: the survey of freezer add-ons (editors that change instructions; The Gamester and Lifeguard; disassembly and Genie).
  • Sinclair User issue 72, March 1988, p. 48: “Bear Essentials”, what a POKE is and the two ways of entering one.
  • Amstrad Action issue 32, May 1988, p. 61: Cheat Mode (Neil McDougall’s Batman POKE).
  • Your Sinclair issue 34, October 1988: tips pages with “Multiface Pokes”.
  • Your Sinclair issue 42, June 1989, p. 66: Romantic Robot advertisement (Lifeguard, “an infinite life finder”; Genie).
  • Sinclair User issue 124, June 1992, p. 13: readers’ Multiface POKEs.
  • CRASH issue 98, April 1992, p. 36: Playing Tips Special and the history of the tips pages.
  • Romantic Robot, Multiface 3 manual, sections 5.1–5.9: the toolkit.
  • Rodnay Zaks, Programming the Z80, 2nd edition (Sybex, 1980): the NOP and RET instructions and their codes.

See also

Checked. Verified against primary sources and signed off by a person.