How to Use Cheat Codes in Snes9x (Game Genie, PAR & .cht Files)

Snes9x 1.63 has full cheat support built in: a cheat editor for entering codes, a cheat search tool for finding your own, and automatic loading of saved codes every time you start a game. It accepts the two classic code systems — Game Genie and Pro Action Replay (PAR) — plus raw codes you type directly. This guide covers entering each kind, finding new codes with the built-in search, and how the .cht files it saves can be shared. You need Snes9x running a game first; the Windows setup guide, setup hub and download page cover that side.

Entering a code in the cheat editor

Load your game, then open the cheat editor with Alt+G (the full keyboard list is in the hotkeys reference). Add a new entry and type or paste the code. Snes9x understands three input styles:

  • Game Genie codes — the letter-and-dash codes published for the original Galoob device; just enter them as printed
  • Pro Action Replay codes — the hex codes from the PAR ecosystem, entered as published
  • Raw codes — the standard raw format xxxxxx=bb, with an optional compare form xxxxxx=cc?bb; version 1.63 additionally accepts the Address:byte input form for the same thing

Give each code a description so future-you knows what it does — “infinite lives” ages better than “code 3”. Codes can be enabled and disabled from the editor, so you can keep a library per game and switch individual effects on only when wanted. A practical caution: leave codes off until you have a clean battery save of your progress, because a code that corrupts game state gets written into your .srm like any other save — the save states and .srm guide explains how those files work and why a pre-cheat backup is cheap insurance.

How .cht files work

When you enter codes for a game, Snes9x saves them in a .cht file for that game, and auto-loads the file whenever the same game is loaded again — enter a code once and it is simply there next session, in whatever enabled state you left it. The format is not Snes9x-proprietary: per the bundled readme, .cht files are shared with higan and bsnes, so cheat collections you build in Snes9x can be carried to those emulators and vice versa. Keep that in mind when downloading code collections: a .cht offered “for bsnes” is very likely usable here too, subject to the same care about safe sources you would apply to any file.

Finding your own codes with cheat search

For effects nobody has published a code for, Snes9x includes a built-in cheat search (finder). Open it with Alt+A and the workflow runs like this: the tool snapshots a value in the game’s memory — lives, health, ammunition, whatever is displayed as a number — then you play until the value changes and search again. Each pass narrows the candidate memory addresses until only the address(es) actually holding that value remain, and you can turn a surviving address into a raw code in the formats above. It rewards patience: the cleaner the value (a small counter that only changes one way), the faster the search converges. The Mac port gained its new cheat finder in 1.63; on Windows the search is a long-standing part of the program.

Entering codes without the usual mistakes

Work through a new code methodically and it will either work or tell you why not. Enter it character for character as published — Game Genie codes include their dashes as printed, and raw codes are unforgiving of a transposed digit, because a wrong address is not an error message, it is a different location in memory that may do nothing or something strange. Enable just that one code, return to the game, and test the exact situation the code describes; a code for lives will not announce itself on a screen that never shows lives. If it works, write the description properly while you remember what it does. If it does nothing, the order of suspicion is: a typing error, the code being disabled, then a region mismatch between the code list and your ROM — the same game released in Japan, North America and Europe is three slightly different programs, and their code lists are not interchangeable. Only after those three should you suspect the code itself was published wrongly, which does happen on older lists.

Cheat etiquette and troubleshooting

  • A code that “does nothing” is most often disabled in the editor, entered with a typo, or published for a different regional version of the game — code lists are region-specific, because different releases put data at different addresses
  • Freeze-type effects depend on the emulator applying the code continuously; if an effect applies once and fades, check the entry is still enabled
  • Stacking many codes invites interactions — enable one at a time when diagnosing
  • Codes and netplay do not mix sensibly: everyone in a netplay session must be running the same game state, and cheats break that assumption
  • Always keep an un-cheated .srm backup of a long-running game (RPGs especially) before experimenting

Keeping a library that stays useful

Because .cht files load automatically, your cheat library quietly becomes part of how the game boots — which is pleasant until a forgotten always-on code changes a game you wanted vanilla. Develop the habit of reviewing a game’s list in the editor whenever behaviour surprises you, and of disabling rather than deleting codes you have finished with: the entry costs nothing to keep, its description remembers what it did, and re-typing a long code from a website is nobody’s idea of fun. A tidy, described, mostly-disabled library is the end state you are aiming for.

Cheats configured, the rest of the tuning story lives in the setup hub — display settings, controllers and saves included.

Similar Posts