What Are Peeks & Pokes and How Do You Use Them in MSX Emulators?
Updated
A peek reads the current value stored at a memory address; a poke writes a new value to that address. In MSX emulators, pokes are the manual, low-level way to change game state — infinite lives, extra money, unlocked items — while built-in emulator cheats are pre-packaged shortcuts that often do the same thing with less typing. CheatMSX lists a small set of Peeks & Pokes (7 entries in its statistics) alongside a much larger library of 364 emulator cheats, so the section is best treated as a reference for specific titles rather than a general-purpose cheat list.
Peek vs. poke: the core mechanic
Memory in an MSX machine (and in the emulator recreating it) is a numbered sequence of addresses, each holding one byte. A cheat works by finding the address that controls the thing you want to change.
- Peek — read the byte at an address. Used to find the right address: you peek, note the value, let the game change it (lose a life, spend gold), peek again, and see which address moved.
- Poke — write a byte to an address. Used to apply the cheat once the address is known.
A typical entry looks like an address plus a value, for example POKE &HD5A0,&HFF — write hex FF to address D5A0. The &H prefix is MSX BASIC notation for hexadecimal; some listings use $ or a plain 0x instead.
Peeks & Pokes vs. emulator cheats: which to use
| Peeks & Pokes | Emulator cheats | |
|---|---|---|
| Form | Address + value you enter yourself | Named, pre-built patch |
| Effort | Manual entry, may need trial and error | Usually one toggle |
| Flexibility | Works when no cheat file exists | Limited to what's been made |
| Risk | Wrong address can freeze or corrupt the game | Lower, already tested |
| CheatMSX count | 7 | 364 |
Use a poke when a game has no ready-made cheat, when you want to change something specific the cheat file doesn't cover, or when you're learning how the game stores its data. Use the built-in cheat list when one exists for your title — it's faster and less likely to crash the emulator.
Finding and reading the Peeks & Pokes section on CheatMSX
CheatMSX organizes content by category in its main navigation and statistics panel. The Peeks & Pokes category sits alongside Emulator Cheats, Cheats, Maps, Walkthroughs, IPS Patches, Manuals, and Online Password Generators.
- Open CheatMSX.com.
- Go to the Peeks & Pokes category (listed in the site statistics as "7 Peeks & Pokes").
- Browse or use the A–Z index to find your game title.
- Read the entry: it gives a memory address and the value to write, usually in hex.
Note that the site requires JavaScript and asks visitors to disable ad/script blockers to view some pages, so a blocked script can leave a category looking empty.
Applying a poke in an MSX emulator
Exact menu names differ between emulators (blueMSX, openMSX, fMSX, and others), but the workflow is the same:
- Load the game and get to a state where the cheat should apply (in-game, not the title screen).
- Open the emulator's memory editor or debugger. Most MSX emulators expose a memory view or a "poke"/cheat console.
- Enter the address from the CheatMSX listing, matching the number base the tool expects (hex or decimal).
- Enter the value from the listing.
- Write the byte and return to the game.
- Verify — check that the effect appears (lives count, gold, etc.). If nothing changes, the address may be for a different ROM revision.
Some emulators also accept a poke through a built-in BASIC prompt or a cheat-file format, which lets you save the entry for reuse instead of retyping it each session.
Common problems and how to read them
- Nothing happens. The address is likely correct for a different version or region of the ROM. MSX games were often re-released with shifted memory layouts.
- The game freezes or glitches. You poked the wrong address or the wrong value. Reload a save state and try again; avoid poking addresses you haven't confirmed with a peek.
- Hex vs. decimal confusion. A value of
255andFFare the same byte. If the emulator expects decimal and you typeFF, it will reject or misread it. Convert before entering. - Value too large. A single address holds one byte (0–255 decimal, 00–FF hex). Larger numbers need more than one address.
- Emulator compatibility. A poke written for one emulator's memory map may not match another if the machine model (MSX1, MSX2, MSX2+) differs. Match the model the listing was made for.
Because CheatMSX's Peeks & Pokes collection is small, expect to rely on the emulator cheat list for most titles and treat pokes as the fallback when no cheat exists.