Game cheats

From PCSX2 Wiki
Revision as of 17:34, 8 November 2009 by Ngng (talk | contribs)
Jump to navigation Jump to search

Patching system is one of the most splendid features of PCSX2. Some patches will help you make the broken game playable by messing with its code skipping some of its parts. You'll have to discover and download these patches from the Internet. Still there are other patches helps you cheat on games while playing. So even if your skill is not enough to beat the game fairly you won't be frustrated like on the real PS2. All you have to do is to find or better yet create your own cheat for the game. Here goes a small tutorial that can help you understand a bit how does these cheats work and how to create your own cheat.

PCSX2 uses so-called CRC for each game. This CRC is a special control sum of all bytes in the main game executable. It help to distinguish not only different games but even different regions and different editions of one game. This is a precaution not to apply the patch created for one game version on another making the game unplayable/crashing. The CRC is a 8 chars long hexadecimal number. You can find the number for your game in PCSX2 console when the game is starting (or on the console caption in some PCSX2 versions, it looks like "Game running [CRC=xxxxxxxx]").

All the patches are stored in the patches folder by default. Your installation of PCSX2 may already have many patches in it. These are the default ones to improve some games behavior (they skip videos or some sections in otherwise hanging games). When you create your patch it will be placed here as well and will have the name <GameCRC>.pnach (for example a patch for Drakan 2 PAL has name 04f9d87f.pnach).

This tutorial will cover the game Resident Evil Code: Veronica X. This is not a simple game to play neither it's too simple to cheat but you may need some cheats playing it. The game starts in a prison with only a knife for a weapon. Our first priority will be to make Claire immortal so her condition will steadily be in green. There is a byte or a word (2 bytes) somewhere in the game memory that is responsible for storing the Claire's condition. Lets assume this is a byte first. We will need to vary this value to catch it so Claire has to take some damage and find a green plant to be able to restore it. It's quite easy to take any amount of damage in this game so it won't be a problem. When you get to the safer place (it may prove harder) press ESC and choose Patch Finder... from the Misc submenu of main GUI menu. The pictured dialog will pop up. The dialog allows us to search through EE RAM and IOP RAM. Assuming the main work is done by EE processor lets start to search for our condition byte in EE RAM. Every byte has 8 bits and it is the smallest data unit so we will select 8bits size. Lets assume also that the condition cannot be less than zero (unsigned) although it will not make much difference if we would assume otherwise.

Cheat of patch finder

Currently this dialog holds no data, this is its the starting state. As the Claire health must be greater than a zero now (or else she would die) lets select Greater, compared to Specific Value and place a zero in the edit box. Lets hit Search after that. The program will find some 13 million values greater than zero. Thats good for a start. Lets hit Close button now and return to game by Run-Execute.

We'll need to walk around a bit (make a few steps) and press ESC again getting to the patch finder by Misc-Patch finder menu. We can see that the page is still holding our previous search so now we will search in those 13,5 million bytes left (we need to find only one!). There's no changes in Claire condition from the last time so set the options as Equal and Old Value (we're leaving only those bytes not changed from the previous search). Press Search again. Now the number of result bytes is decreased by many thousands maybe a million if you're lucky enough (see Intermediate stage picture).

Intermediate stage