Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
PCSX2 keeps changing where the PS2 (EE?) RAM is stored
#1
I'm doing some experiments on a PS2 game using PCSX2 1.7.0-dev-1040 and Cheat Engine to search for variables. When I find a variable I was looking for, I save it in a cheat table, which stores at what address the variable is located. 
However, I've been running into an issue where sometimes the location changes. It seems that sometimes the PS2 RAM (or the EE RAM?) is stored starting at address 30000000, and sometimes 20000000, and when it changes it breaks the cheat table (I'm fairly certain at least the first correct because if I create a cheat code to use on a real console, and remove the MSD from the address, it works the same as CE).
Is there any way to force the emulator to always use the same location, or is it influenced by something else like the OS, which can't be "fixed"?
Reply

Sponsored links

#2
If you want to continue to use Cheat Engine, you will need to downgrade your PCSX2. If you want to consider using the IPC we implemented, that would get around this issue. You could also use the built-in debugger and/or a disassembler like ps2dis or Ghidra, and make an actual pnach.

The randomization of the address was a prerequisite to get 64 bit compilation working, so this behavior will always be there going into the future.
Problems? Check out the development builds for the latest updates.

Mobo: ASUS Prime Z370-A
CPU: Intel i7-8700K (3.7 GHz)
RAM: G.Skill TridentZ, 2x8 GB DDR4 (3000 MHz)
GPU: EVGA GeForce GTX 1070 Ti FTW2 (8 GB)
OS: Windows 10 Pro (64 bit)

Oh yeah Red Pandas are cool too.


Reply
#3
(03-05-2021, 04:16 PM)pandubz Wrote: If you want to continue to use Cheat Engine, you will need to downgrade your PCSX2. If you want to consider using the IPC we implemented, that would get around this issue. You could also use the built-in debugger and/or a disassembler like ps2dis or Ghidra, and make an actual pnach.

The randomization of the address was a prerequisite to get 64 bit compilation working, so this behavior will always be there going into the future.

I see. I've tried using the built-in debugger, but it doesn't seem to offer the same features as CE (or maybe I'm just too unfamiliar with it); I'm currently not familiar with the IPC either.
 Honestly, since it seems to just change between two possible offsets, I could simply keep two separate cheat table files, at least as a temporary solution.
Reply




Users browsing this thread: 1 Guest(s)