PCSX2 and Cheat Engine
#1
Hello guys,

I hope you will be able to help me out because I don't know why it's happening. So for some reason Cheat Engine doesn't actually see the values of an address that I previously found for a PS2 game. It shows zeros, sometimes it shows some random ass value which is not correct, and sometimes it actually works and shows the correct value. From my understanding only 32 bit version of PCSX2 work with Cheat Engine since it just shows ?? if I add the same address manually in x64 version. I tried both SSE4 and AVX2 latest 32 supported builds - 1.7.2484 and still cannot load in my cheat table with correct values, in fact it shows 00 in the whole memory region around the address like all the values are masked or some crap. The same values show up perfectly in the inbuilt PCSX2 debugger.

Does anyone know why it could be happening? I have MEM_MAPPED enabled in the scan options and have the latest CE 7.4.
It worked sometimes but I don't know why it doesn't always work and it's very frustrating because CE is more convenient than inbuilt debugger.
Reply

Sponsored links

#2
I don't know if the base address is always the same but in the x64 version is different
In the x32 was 20000000 but on the x64 version(probably depending on how much ram you have)the base address is 7FF680000000(I have 16GB ram)

From then on,it's the same thing
The max money in Ar Tonelico the address is 7FF680A036E0 so subtract 7FF680000000 from that and you will get the PS2 address ?0A036E0 and since the money is a value above 65535(FFFF)the pnach will be
patch=1,EE,20A036E0,extended,0098967F

Start pcsx2 and enabled from the console=>Sources=>Dev\Verbose and restart pcsx2
You will see "Main Memory Manager" and the address
Disabled Dev\Verbose after that

After that,open your pcsx2 x32 codes in Cheat Engine,select all addresses,right click on them and choose "Change Record=>Smart Edit Record" and set 7FF660000000(in my case)in Adjust address by

20A036E0+7FF660000000=7FF680A036E0
Reply
#3
in 1.7 we have an "EEmem" variable set up.

so you can make a pointer in cheat engine using pcsx2x64.exe.EEmem (or EEMem, i forget)

then you can offset from there.

Edit: Kinda like this

[Image: unknown.png]
[Image: ref-sig-anim.gif]

Reply
#4
Hi, I had the same issue and I just had to replace the first 2 of the address with 7FF7F.
For example: if the address of one of your cheats was "208DA388", now it has to be "7FF7F08DA388" to work.

edit: this only work once, the pointer is the real solution
Reply
#5
(04-25-2022, 02:01 AM)dragonhex Wrote: Hi, I had the same issue and I just had to replace the first 2 of the address with 7FF7F.
For example: if the address of one of your cheats was "208DA388", now it has to be "7FF7F08DA388" to work.

Thanks, but it did not work.
And my problem is that for some reason Cheat Engine shows crap instead of real values, like bunch of zeroes, or some weird values that are not correct, and sometimes it works as intended.

I don't know why it's happening and still haven't been able to fix it.
Reply
#6
(04-25-2022, 09:03 PM)Deyrax Wrote: Thanks, but it did not work.
And my problem is that for some reason Cheat Engine shows crap instead of real values, like bunch of zeroes, or some weird values that are not correct, and sometimes it works as intended.

I don't know why it's happening and still haven't been able to fix it.

Oh sorry what I replied only work once, after I restart my pc the cheat was useless again, but I finally understand how to use the pointer, is just copy my old cheat adress without the first 2 and with EEmem on that part should work always. By the way my old cheats didn't have weird values with pcsx1.7 everything was "??" on the value


Attached Files Thumbnail(s)
   
Reply
#7
(04-26-2022, 03:30 AM)dragonhex Wrote: Oh sorry what I replied only work once, after I restart my pc the cheat was useless again, but I finally understand how to use the pointer, is just copy my old cheat adress without the first 2 and with EEmem on that part should work always. By the way my old cheats didn't have weird values with pcsx1.7 everything was "??" on the value

Thank you so much, it worked!
Reply
#8
Hello.
I got a problem while using Cheat Engine on PCSX2 1.60.
After I active the codes and change the value, nothing happened.
Some values are lock, -1 and 3305 yet I change them to Unlock and active it.
The game is Digimon World Data Squad.
The Cheat Engine said it works on PCSX2 1.60 only yet I used PCSX2 1.60.
Is there any specific setting to make it work?
Reply
#9
(03-26-2022, 01:39 AM)refraction Wrote: in 1.7 we have an "EEmem" variable set up.

so you can make a pointer in cheat engine using pcsx2x64.exe.EEmem (or EEMem, i forget)

then you can offset from there.

Edit: Kinda like this

[Image: unknown.png]

I'm having issues using EEmem... I have a game which itself uses pointers, so CE needs to use a double pointer, but it looks like CE is interpreting the 64 bit EEmem value as a negative number so it just doesn't point to the right place... 
am I doing it wrong?

(The photo is an example - what I want to do is take EEmem, add the RAM address of the "real" EE RAM at which the pointer is found, go to that pointer relative to EEmem, then add the final offset to get to the value)

[Image: image.png]



EDIT
Got it to work thanks to @berylskid on the PCSX2 Discord
How to handle 32-bit pointers in virtual EE memory with Cheat Engine:
1. Download latest `emurpm.lua` and `emurpm.frm` from CE's GitHub
2. Put them into `autorun` folder
3. (Re)Boot CE and open PCSX2 from process list
4. Click "Emulator Memory" > "Set Base Address"
5. Type `[eemem]` to first text box and type `0x02000000` to "Size of Memory", then click "(Re)Set address"
6. Execute following script on "Cheat Table Lua script" (shortcut: Ctrl+Alt+L)
Code:
setPointerSize(4)
setAssemblerMode(0)
The files are in /Cheat Engine/bin/autorun in CE's Github repo
Reply




Users browsing this thread: 1 Guest(s)