PCSX2, the PlayStation 2 emulator, does not have a box where you type a cheat code. Cheats live in small text files called pnach files, and PCSX2 reads them when the game starts. That design is why most "PCSX2 cheats not working" problems have nothing to do with the codes: the file is in the wrong place, has the wrong name, or a setting is off.
Everything below follows PCSX2's own documentation.
Patches and cheats are different folders
PCSX2 reads three kinds of file, and only one of them is cheats:
- Patches, from the
patchesfolder, are quality-of-life changes such as widescreen support. - Cheats, from the
cheatsfolder, are changes to gameplay. - GameDB patches are compatibility fixes built into PCSX2 and switched on by default.
PCSX2 looks for cheats in the cheats folder, so that is where a cheat file goes.
The file name has to match your exact copy
This is the part that catches most people. A pnach file is named after two things: the game's serial (its product code) and the CRC, a fingerprint of the game's executable. PCSX2's documentation gives this example for the original PAL release of Ratchet & Clank:
SCES-50916_6A8F18B9.pnach
A file named for the US release of a game will not load on the European disc, because the serial and CRC are different. If you downloaded a cheat file, check that its name matches the copy you are running.
The easy way to get the name right is to let PCSX2 make the file. With the game running, use Tools → Edit Cheats… and PCSX2 creates a file for the current game, with the correct name.
Switch cheats on
A correctly named file in the right folder still does nothing unless the Enable Cheats setting is on. PCSX2 lets you turn it on in two places:
- for every game, on the Emulation page of the settings window, or
- for one game, on the Cheats page of that game's properties window.
That same Cheats page is where each cheat in the file is switched on or off.
What is inside a pnach file
A pnach file is plain text, split into named groups. Each group can be switched on and off on its own. The example from the PCSX2 documentation:
gametitle=Ratchet & Clank (PAL-M5) (SCES-50916)
[Cheats\Infinite Health]
description=Don't let Ratchet drop below 8 HP.
patch=1,EE,001415F8,word,00000008
The line that does the work is the patch= line. It has five parts:
- 1 is when it applies.
1means every frame, which is what most cheats want.0means once, at startup. - EE is the processor, the PS2's main CPU. Almost every cheat uses it.
- 001415F8 is the memory address, in hexadecimal.
- word is the size of the value:
byte,short,word(four bytes) ordouble. - 00000008 is the value to write, also in hexadecimal. Here it is 8, the health the cheat holds Ratchet at.
Because the rule is "every frame", the cheat keeps writing 8 back, which is why the health never drops below it.
The checklist, in order
- Is the file in the
cheatsfolder, notpatches? - Does its name match the serial and CRC of the copy you are running? If unsure, make a new file with Tools → Edit Cheats….
- Is Enable Cheats on, either globally or for this game?
- Is the individual cheat switched on in the game's Cheats page?
- Are you on a current PCSX2? Older versions had documented bugs in how some patch types were applied.
If you just want the game's built-in cheats
Many PlayStation 2 games have their own cheat codes, typed in or entered as button sequences, which work in PCSX2 exactly as they did on the console, with no pnach file at all. Our pages list them: GTA San Andreas, Bully, GTA Vice City Stories and Tony Hawk's Pro Skater 3 among them. If a code on those pages does nothing, our cheat troubleshooter goes through the usual reasons.