Open the emulator codes on any of our retro game pages and each set carries a heading such as Game Genie · SNES · USA version · 149 codes. Most people skip straight to the list, but the heading is the part that tells you whether a code will work for you.
Two kinds of device, two kinds of code
Nearly every name you will see belongs to one of two families, and they change the game in different ways.
Game Genie plugged in between the cartridge and the console. It changed what the console read from the cartridge, so the game was running slightly different program data. Its codes are written in letters or scrambled characters, so you cannot read the address off them by eye.
Action Replay, Pro Action Replay, GameShark, Code Breaker, Xploder and Game Buster work the other way. They leave the cartridge alone and keep writing a value into the console's working memory while you play. A lives counter stays at 5 because the device keeps putting 5 back. These codes are usually plain hexadecimal, and the address and value are sitting in the open.
Reading a memory code
Super Mario World is the clearest example, because the Action Replay set on our page lists three codes that differ by a single digit:
7E001902— Mario Cape7E001903— Mario Fire7E1490FF— Mario Star
Split the first two after the sixth character. 7E0019 is the address in the SNES's memory that holds Mario's power-up, and the last two characters are the value written there: 02 for the cape, 03 for the fire flower. The address is the same in both. Only the value changes.
Other systems lay the parts out differently, but the idea holds:
- Genesis / Mega Drive Action Replay puts a colon between them. Sonic the Hedgehog 2's stage select is
FFFFD0:0100— address on the left, value on the right. - PlayStation GameShark prefixes the address with a type. Metal Gear Solid's infinite health is
800B7526+03E7:80means "write a 16-bit value",0B7526is the address, and03E7is 999 written in hexadecimal. - Game Boy GameShark packs the value in first and stores the address backwards. Kirby's Dream Land's infinite lives is
010589D0:01is the type,05is the value, and89D0read in reverse byte order is addressD089.
A + in a code joins pieces that are entered together. Super Mario World's "Mario On Ice" is three Game Genie codes, EDA5-0F6F+61A5-040F+61A6-0D6F, and it does nothing unless all three are on.
Why the version in the heading matters
An address is a location inside one particular build of a game. The Japanese release, a European release and a later revision can move things around, and a code written for one of them will write its value into the wrong place in another. Usually that just means nothing happens. Sometimes it means a crash, or a corrupted save.
This is why each set on our pages names the version it was written for, and why you should match it to your copy before trying one. On our Zelda: A Link to the Past page, the only set right now is for the Japan version. If your copy is the US one, treat those four codes as unlikely to work.
"Master code" and "must be on"
Some sets start with a line like Metroid Fusion's Enable Code (Must Be On). Code Breaker and some GameShark sets need that code switched on first, before any of the others do anything. If a set has one, turn it on together with the code you actually want.
What "RetroArch code" means
Some sets are labelled RetroArch code instead of naming a device. That means the source file was written for the RetroArch emulator and did not say which device the codes came from. It does not mean a separate code format. Look inside and you will find the same families as above. Sonic 2's RetroArch set is Game Genie codes such as ABLT-CAR2, and Kirby's Dream Land's RetroArch set opens with the same FA6-DBB-4C1 infinite-lives code as its Game Genie set.
Using them in RetroArch
- Load the game, then open the Quick Menu and go to Cheats.
- Either load a cheat file there, or add a new cheat and type in the code you copied from our page.
- Switch the cheat on and choose Apply Changes.
Two warnings. First, make a save before you try a code you have not used before, because memory codes can crash a game. Second, if you use RetroAchievements, its Hardcore mode turns cheats off. The codes only work in Casual mode.
What we have and have not checked
Every emulator code on this site comes from libretro-database, the open cheat collection RetroArch itself uses. Each set links to the exact file it came from. None of them has been tested by us, and they are kept in a separate section from the site's own cheat codes so the two are never confused. Our own codes show whether someone here has run them. These show where they came from, and nothing more.