Next Generation Emulation banner

How to find memory addresses to be used with both read and write breakpoints in both No$psx 2.0 and pSX 1.13 PlayStation emulators?

1K views 0 replies 1 participant last post by  ezgm17 
#1 · (Edited)
I see that both No$psx 2.0 and pSX 1.13 PlayStation emulators allow me to set both read and write breakpoints at any memory address but I don't see in their interfaces any way to scan the memory and filter out results like both DuckStation, PCSX-Redux and Cheat Engine do.

I wanted to use DuckStation instead of No$psx and pSX but unfortunately DuckStation only supports execute or PC breakpoints right now. There is no any read or write breakpoints in DuckStation. Also DuckStation doesn't have the "Change instruction" context menu that No$psx does another reason that I can't use DuckStation. With DuckStation I can freeze any memory address though but I want to do much more than this by changing MIPS instructions and change the flow control and logic of any PSX game that I am playing.

Right now I can achieve what I want to achieve with PCSX-Redux but unfortunately PCSX-Redux, like DuckStation, also doesn't have the "Change instruction" context menu that No$psx does and I have to use an online MIPS assembler to assemble all MIPS instructions and patch the new MIPS instructions with the memory editor of PCSX-Redux all manually which is very inconvenient for me.

I have already started a new feature request to add both read and write breakpoints to DuckStation and "Assemble" to the context menu of Assembly window in PCSX-Redux but I don't know when the developer(s) of both DuckStation and PCSX-Redux will implement these features and update their PlayStation emulators to add these features in the future.

Meanwhile I want to use No$psx temporarily to use it's "Change instruction" context menu which is much more convenient for me until the "Assemble" feature request is implemented and added to PCSX-Redux. Even when DuckStation can add new, remove existing and support both read and write breakpoints I still have to start another feature request to add "Assemble" command also for DuckStation which also lacks it currently.

With both No$psx 2.0 and pSX 1.13 I found the memory addresses with Cheat Engine 7.4 but they are different than these that I found with both DuckStation Memory Scanner and PCSX-Redux Memory Observer Delta-over-time search for the same variables like health and hearts in Castlevania Symphony of the Night and also the read and write breakpoints of both No$psx and pSX don't work on these addresses that I found with Cheat Engine 7.4.

Also when I close and reopen both No$psx and pSX and boot the same PS1 rom the addresses of the same variables change in Cheat Engine but not in DuckStation Memory Scanner and PCSX-Redux Memory Observer Delta-over-time search.

With PCSX2 1.6.0 I don't have this problem. Any address that I find with Cheat Engine 7.4, I just change the most left digit from 2 to 0 and add a read or write breakpoint at this address with the Debugger of PCSX2 1.6.0 and this works great.

Also if I close and reopen PCSX2 1.6.0 and boot the same PS2 rom again, the memory address of the same variable does not change on Cheat Engine unlike No$psx 2.0 and pSX 1.13.

I wanted to both play and hack PS1 roms with PCSX2 and Cheat Engine because not only Cheat Engine memory scanner can be used with PCSX2, not only PCSX2 can add new, remove existing and support both read and write breakpoints but PCSX2 also has "Assemble Opcode" context menu which is both equivalent and identical to the "Change instruction" context menu of No$psx but the problem is that PCSX2's PS1 compatibility is both awful, bad and terrible and right now PS1 roms can't be played well with PCSX2 at the moment and it doesn't seem in the near future that the developer(s) of PCSX2 are going to improve the PS1 compatibility with PCSX2 since PCSX2 is mainly a PS2 emulator, not a PS1 emulator, and improving PS2 compatibility is more important even though at least 98% of PS2 roms are already playable with the most recent nightly build and release of PCSX2 though.

I wanted to save the state of both No$psx (snapshot) and pSX and temporarily switch to DuckStation or PCSX-Redux to use their Memory Scanner or Memory Observer Delta-over-time search and then go back to No$psx or pSX but unfortunately the save states of both No$psx and pSX are not compatible with DuckStation and PCSX-Redux and this means that both DuckStation and PCSX-Redux can't load any save state of both No$psx and pSX!

I can use memory cards instead but the problem with memory cards is that they are modified by the in-game save function and the in-game save function is not always available unlike emulator's save state feature!

Another problem with memory cards is that NOT every modified memory, especially modified executable code, is saved to memory cards unlike save states which do save all modified memories including executable code!

BizHawk's Nymashock core doesn't support any debugger at all and BizHawk's Octoshock core supports a very limited debugger without even able to Step In, Step Over and Step Out!

BizHawk does have a "Set Libretro Core..." submenu but it is currently experimental and it does not seem to even working on any core that I downloaded from buildbot.libretro.com at all!

Although BizHawk does provide excellent tools to find any memory address and watch, poke and even freeze them! But as I said earlier I want to do much more than just freezing memory addresses like changing MIPS instructions and change the flow control and logic of any PS1 rom that I am playing.

I do wish that BizHawk can load any states saved by both No$psx 2.0 and pSX 1.13 so BizHawk's memory search can be used for both No$psx 2.0 and pSX 1.13 though.

According to my research and from all what I have read about Mednafen, Mednafen should have and support everything that I need EXCEPT a convenient GUI like that of both DuckStation, PCSX-Redux, BizHawk and PCSX2!

Both MedGui Reborn, Mednaffe and MedLaunch help me to launch Mednafen and start playing my PS1 rom on a normal window size (not too small) without hiding my mouse cursor (MedGui Reborn only) but there is NO a convenient GUI to use Mednafen cheat system and debugger! Not even a convenient GUI to bind all DualShock buttons to my keyboard keys!

It seems that RetroArch has a cheat search and a feature to use existing cheats but not a debugger that supports both read and write breakpoints.

What is the point to be able to add both read and write breakpoints with both No$psx 2.0 and pSX 1.13 PlayStation emulators but unable to quickly and easily find any memory addresses to be used with both read and write breakpoints? And unlike PCSX2, their memories are both changing, dynamic and random and not even compatible with Cheat Engine!

Also pSX 1.13 like both DuckStation and PCSX-Redux also doesn't seem to have any "Assemble Opcode" or "Change instruction" context menu that both No$psx and PCSX2 do which is also annoying.
 
See less See more
This is an older thread, you may not receive a response, and could be reviving an old thread. Please consider creating a new thread.
Top