Ever wondered how to use cheat codes such as Codebreaker or Armax on pcsx2? Maybe this simple guide can help you on how to cheat on pcsx2. Before i get started, i just want to let you know that there are three methods that you can use to cheat on pcsx2. And that three methods are: 1. Using External Memory Editing program 2. Multi Converter - 2.1. Multi Converter is a powerful tool for converting raw cheats to PCSX2's pnach format, creating and editing PCSX2 cheat patches and even providing a save state preview in the output window, using IrfanView.
03-19-2011, 05:38 PM (This post was last modified: 10-15-2015, 02:18 PM by Saiki.)
Cheat Engine guideClick here for conversion tutorial
what you need:
cheatengine (the one in the pictures is 5.6, but 6.0 works just as well)
PCSX2 0.9.8 (or newer)
game CRC
This template:
gametitle=(name here)
comment=(something that shows up in the console)
patch=1,EE,address,(byte/short/word),value
Quick Cheat Engine overview:
First scan: Starting value to scan for, as stated in scan type (exact,bigger than, smaller than, unknown, between two values)
Hex (checkbox): search a value in hex (you won't need this most likely)
Value type:
Quote:binary = not used with pcsx2scan options: usermode should be fine, personally have come across no issues with it. use ALL if you feel you need to
byte = 0-255 (byte)
2 bytes = 0-65535 (short)
4 bytes = 0-4294967295 (word)
8 bytes = 0-? (above squared, not used?)
First things first, you need a goal. For this guide I've used FFX-International, and I'm looking for gil
Right now, I have 973939518 gil so the first thing I am going to do is put that number in cheat engine. it's 4 bytes, and I know the exact number so I am going to search that. (yes I made a mistake when I searched it, end result is still correct you can search more, but not less)
As you can see, only 2 values showed up, this is because of the amount that I currently have, it's very high, and very specific HOWEVER, we are going to continue like it is not, so we'll change out gil count somewhere (I'm going to pay off Yojimbo, quickest way to lose money) Again, I have only 2 values, so the one that changed is easy to see. Type in the new value (in my case: 773841892) and hit 'next scan'
Voila, my address is found:
Now that we have our address, let's test it:
Double-click the address in the search you get a new small list of options for that address and value:
quick explination:
Quote:frozen: make this value never change
address: the location of the cheat (you'll need this in a minute or two)
type: Don't touch this (I however made a slight mistake, and shoud have used 4, not 8. but this will not usually harm your searches)
value: self explanitory
ok, so let's change that value, and make sure our code works:
sure enough, it does, we have out location. now it's time to make our patch
This shows up if there's no file to cheat with in PCSX2 and cheats are enabled: No longer appears in newer SVNs
[wx] can't open file 'cheats658597e2.pnach' (error 2: the system cannot find the file specified.)
Quote:(IsoFS) Block 0x10: Primary partition info.Well, now we have our CRC (658597e2) so it's time to make our patch. This is what it should look like:
(SYSTEM.CNF) Detected PS2 Disc = cdrom0:SLPS_250.88;1
(SYSTEM.CNF) Software version = 1.00
(SYSTEM.CNF) Disc region type = NTSC
(IsoFS) Block 0x10: Primary partition info.
Initializing Elf: 4730008 bytes
ELF (cdrom0:SLPS_250.88;1) CRC=0x658597E2, EntryPoint=0x00100008
(IsoFS) Block 0x10: Primary partition info.
(SYSTEM.CNF) Detected PS2 Disc = cdrom0:SLPS_250.88;1
(SYSTEM.CNF) Software version = 1.00
(SYSTEM.CNF) Disc region type = NTSC
gametitle=Final Fantasy 10 International
comment=Infinate Gil
patch=1,EE,2031CE98,word,1DCD6500
name this file 658597e2.pnach and put it in the CHEATS folder of pcsx2 (also be sure to enable cheats in PCSX2's Gui)
lastly all you have to do is run your game, and the cheats will apply on their own.
In QUICK review:
Quote:1: set your goalHappy Cheating!
2: find out what it is at the current time (don't know? search unknown)
3: change value to narrow down options
4: search the change
5: repeat 3 and 4 as needed
6: test code
7a: worked? make a patch of it
7b: failed? start over again or test another address that shows up.
8: save to PCSX2/cheats/
____________________________________________________________________________________
Conversion Tutorial:
What you need:
cheats you want to convert
a common code between 2 regions (MUST work for its respective region)
a hex calculator (for windows users: ALT + 3 when calulator is open. also choose HEX, not DEC)
NOTE: if the address exceeds FFFFFFFF, or below 00000000; Give up, and search it yourself
Games that are ported usually do NOT work. Find another region, not another system (in fact the one I started using does not work as I remember it working.)
There are some special instances, here are some PERSONAL notes I made for the .hack games (I'm sharing them for the first time here):
//Conversion Values: infection > mutation: mutation(h)DC400 (mutation is higher)
//conversion factor inf > out(h)= 43100 (Outbreak is higher)
//conversion out(h) > qua= 103480 (Outbreak is higher)
Ok, so on to the Tutorial:
First thing you need is a game and some values that match up. I'm going to use 3 games: FFX-NTSC U/C, FFX- PAL-E, and FFX International - NTSC J
I'm not going to go through explaining how to find these, I have done so above so here are the addresses for Gil for each game:
Quote:NTSC U/C: 0031A028
PAL-E: 0031D218
ITL: 0031CE98 (yes, I knocked off the 2 and replaced it, it works either way)
an old note of mine you can find on the forum:
'NTSC U/C + 31f0 = PAL?' (posted before testing, DOES work)
and here's a new one:
'NTSC U/C + 2E70 = ITL'
Now to start converting some codes:
I pulled a US patch for FFX form the forum, credit to aznboix for these codes. (I trust they work, I have not tested them)
Quote://Max HP/MP/Limit Break (All Characters)There are more, but I'm not converting all of them.
patch=1,EE,001BE130,word,AFC60004
patch=1,EE,001BE170,word,AFC60008
//Max All Items (Upon Usage/Buying)
patch=1,EE,001BEC38,word,0806EFFE
So first PAL-E version:
Quote://Max HP/MP/Limit Break (All Characters)And the ITL version:
patch=1,EE,001C1320,word,AFC60004
patch=1,EE,001C1360,word,AFC60008
//Max All Items (Upon Usage/Buying)
patch=1,EE,001C1E28,word,0806EFFE
Quote://Max HP/MP/Limit Break (All Characters)Now what did I do? it's simple:
patch=1,EE,001C0FA0,word,AFC60004
patch=1,EE,001C0FE0,word,AFC60008
//Max All Items (Upon Usage/Buying)
patch=1,EE,001C1AA8,word,0806EFFE
001BE130 + 31F0 = 001C1320
001BE130 + 2E70 = 001C0FA0
Windows calculator will show '1C1320' for example. this is because the opening '00' is seen by windows as useless, add it in yourself.
That's all there really is to it.
If you have any questions on EITHER of these, post below your question and on what topic it is.(you can put simply Search or convert, it will help me and others help you better)
Learn how to make your own cheats
Slow CPU? Read this
Read before download: Cheat engine is for private and educational purposes only. Before you attach Cheat Engine to a process, please make sure that you are not violating the EULA/TOS of the specific game/application. cheatengine.org does not condone the illegal use of Cheat Engine
April 22 2020:Cheat Engine 7.1 Released for Windows and Mac:
Hereby the new release of CE 7.1. Just click the big download button above
Also, check out my patreon for progress updates and prerelease binaries (which you can also get if you where to compile ce yourself)
and to add, from now on, the Mac version and Windows version will have equal release dates and features(Excluding mac/windows only stuff) as the sourcecode of the both have been merged into one
Additions and changes:
Also, check out my patreon for progress updates and prerelease binaries (which you can also get if you where to compile ce yourself)
and to add, from now on, the Mac version and Windows version will have equal release dates and features(Excluding mac/windows only stuff) as the sourcecode of the both have been merged into one
Additions and changes:
Changes:
Fixes:
New functions:
Please report bugs and give suggestions for an even better version next time
Post patch releases (This is the reason why your 7.1 version says there is a newer version):
Pcsx2 1.4.0 Cheat Engine
04/26/2020: Fixed slow loading and deleting huge tables
April 8 2020:Cheat Engine 7.1 Released for patrons:
Just a small notification that CE 7.1 has been released for my patrons. The official public version will come out as soon as a third party has given the green light (sometimes takes a few days and with this current pandemic who knows how long that will take. Will take a while)
August 20 2019:Cheat Engine 7.0 Released:
New major version released. 2017 wallpaper for desktop. Many improvements and features to make your gaming better
Download: Cheat Engine 7.0 for windows
Please report bugs and give suggestions for improvements in the bug tracker or forum
And you can of course contribute yourself by adding to the source on GitHub or become a patreon
Additions and changes:
Download: Cheat Engine 7.0 for windows
Please report bugs and give suggestions for improvements in the bug tracker or forum
And you can of course contribute yourself by adding to the source on GitHub or become a patreon
Additions and changes:
Pcsx2 Cheat Files
Fixes:
lua:New functions:
- compareMemory
- encodeFunctionEx
- enableKernelSymbols
- waitForExports
- waitForDotNet
- waitForPDB
- waitforsymbols
- searchPDBWhileLoading
- duplicateHandle
- getScreenDPI
- extendedToByteTable
- byteTableToExtended
- executeCodeLocalEx
- executeMethod
- allocateSharedMemoryLocal
- (un)registerCreateCallback
- (un)registerFirstShowCallback
- (un)registerCreateCallback
- dbk_usePhysicalMemoryAccess
- dbk_setSaferPhysicalMemoryScanning
- dbk_readPhysicalMemory
- dbk_writePhysicalMemory
- dbvm_addMemory
- dbvm_removechangeregonbp
- dbvm_speedhack_setSpeed
- dbvm_setTSCAdjust
God Hand Pcsx2 Cheat Engine
changes:- getWindowList now returns the results just like ce's window list
- documented OnChangeBounds for the Control class (was already there, now documented as well)
- executeCodeEx can now also taker just parameters without typedefs
- added Data field to ListItem's
- added description field to memrec.createHotkey method
- added clear method to the menuItem class
- readStringEx() can now deal with partial memory reads
- executeCodeEx: Fixed more than 4 parameters
- added Point type
- fixed editbox selstart/sellength types, and added CaretPos
- added HeaderSection class and document HeaderSections
- added roundRect, drawFocusRect and textRect to the Canvas.
- added ansicode character support for textRect
- added loadFromStream and saveToStream to the RasterImage class
- added readAnsiString and writeAnsiString to the Stream class
- Better document the mode field of createFileStream
- Expose the handle of the LuaPipeServer
- Publish frmTracer
- Publish frmUltimap2
- Publish frmCodeFilter
- Publish imagelist
- Added the DrawItemEvent general GUI property to Lua's callback system
- Added the MenuDrawItemEvent general GUI property to Lua's callback system
- Added the ContextPopupEvent general GUI property to Lua's callback system
- Created a new Diagram class group which can allow you to create graphs and diagrams
- Memoryrecord.DropDownValue and DropDownDescription work now (still RO)
Post release patches:
8/21/2019: Fixed when scripts load other scripts using files in non ascii language encodings