PCSX2 'Patch Finder' - Removed completely or just hidden ?
#1
In some earlier versions of PCSX2 there was a command named "Patch Finder" in the "Misc" section of the GUI's main drop-down menu. This was an excellent method of finding PS2 RAM addresses with specific in-game content, as needed for making game patches, not just for cheating but also for other purposes (such as widescreen graphics tweaks etc).

Today that command is no longer present in the PCSX2 menu, having been removed somewhere between r1888 (which still has it) and r1913 (which lacks it), those versions both being beta versions between v0.9.6 and v0.9.7.

I'm rather surprised that such an extremely useful feature seems to have been completely removed, so I wonder if it may still exist in the program, though now requiring some other method for invoking it. (Perhaps similar to the PEC 'Cheat Hacking Engine' of ePSXe, invoked by pressing a control-key during emulation.)

If there is no remnant of this command left in the current PCSX2 version, then I suggest that it should be re-introduced in a future version, since it filled an important purpose and can't be replaced by any external tools which I am aware of.

NB:
The tools ArtMoney or "Cheat Engine" can't do the same job, since they give all search result addresses relative to the PC address space (or that of a PC sub-process), and we really need results related to the PS2 address space. Because only then can we make patches and cheats that are equally valid for a real PS2 as for the PCSX2 emulation.

Such results can only be achieved well by a tool that is either native to the emulator or at least aware of its internal addressing schemes. And to my knowledge that's not the case for any existing external tool.

Best regards: dlanor
Reply

Sponsored links

#2
AFAIK the GUI had to be completely rebuilt with wxWidgets and no one was up to that Tongue
[Image: newsig.jpg]
Reply
#3
(09-19-2012, 06:09 PM)Bositman Wrote: AFAIK the GUI had to be completely rebuilt with wxWidgets and no one was up to that Tongue
No one ? In over 3 years ?

That can't be a matter of lacking ability, but rather indicates that it was simply postponed and eventually forgotten.

The complexity of the old "Patch Finder" GUI dialog box is no worse than that of other dialog boxes in PCSX2 and its plugins. So it can't be this that prevents a re-implementation.

I fully understand that it would be postponed at a point when the entire GUI had to be rebuilt, with many other things then having higher priority. But now when all that work has been completed, I feel it is high time to re-implement this feature as well.

Btw:
I just scanned through the 'Changes' list between r1888 and r1913, and found no mention of this feature being removed anywhere, indicating that its removal was never really intended. And the current source apparently still has a menu entry for the "Patch Finder" command, though disabled by commenting...

Best regards: dlanor
Reply
#4
The last pcsx2 rev that has the old gui(and the pnach finder still works)is r2186.

What exactly ArtMoney and Cheat Engine can't do?
As the console say
Code:
Mapping host memory for virtual systems...
    EE Main Memory                   @ 0x20000000 -> 0x22884000 [40mb]
    IOP Main Memory (2mb)            @ 0x24000000 -> 0x24211000 [2mb]
    VU0/1 on-chip memory             @ 0x28000000 -> 0x2800A000 [40kb]
Reserving memory for recompilers...
    SuperVU0 Recompiler Cache        @ 0x0E800000 -> 0x0F000000 [8mb]
    SuperVU1 Recompiler Cache        @ 0x0F000000 -> 0x0F800000 [8mb]
    Micro VU0 Recompiler Cache       @ 0x3C000000 -> 0x40000000 [64mb]
    Micro VU1 Recompiler Cache       @ 0x40000000 -> 0x44000000 [64mb]
    R5900-32 Recompiler Cache        @ 0x30000000 -> 0x34000000 [64mb]
    R3000A Recompiler Cache          @ 0x34000000 -> 0x36000000 [32mb]
    VIF0 Unpack Recompiler Cache     @ 0x36000000 -> 0x36800000 [8mb]
    VIF1 Unpack Recompiler Cache     @ 0x38000000 -> 0x38800000 [8mb]

What you find using the Pnach Finder will be the same on those programs.

For example if you have this cheat(finded with Pnach finder)
012345678 0000FFFF
You will find the same cheat when you use ArtMoney\Cheat Engine in
212345678 0000FFFF

It doesn't really matter if you are going to use the pnach finder or external program,the end result is only one digit difference(the first digit of the address)

If you want to search the whole EE memory(like in the pnach finder),you have to search between
0x20000000 -> 0x22884000
If you want IOP then 0x24000000 -> 0x24211000 and so on
Reply
#5
(09-19-2012, 06:41 PM)dlanor Wrote: No one ? In over 3 years ?

That can't be a matter of lacking ability, but rather indicates that it was simply postponed and eventually forgotten.

The complexity of the old "Patch Finder" GUI dialog box is no worse than that of other dialog boxes in PCSX2 and its plugins. So it can't be this that prevents a re-implementation.

I fully understand that it would be postponed at a point when the entire GUI had to be rebuilt, with many other things then having higher priority. But now when all that work has been completed, I feel it is high time to re-implement this feature as well.

Btw:
I just scanned through the 'Changes' list between r1888 and r1913, and found no mention of this feature being removed anywhere, indicating that its removal was never really intended. And the current source apparently still has a menu entry for the "Patch Finder" command, though disabled by commenting...

Best regards: dlanor

Yes it was intended. No, no one over 3 years did it. No one has touched the GUI except Jake Stine, and he has unfortunately quit the team. It was also a pretty low priority at the time, so it was never done. You are very welcome to help in that regard though Tongue
[Image: newsig.jpg]
Reply
#6
(09-19-2012, 07:38 PM)vsub Wrote: The last pcsx2 rev that has the old gui(and the pnach finder still works)is r2186.
I suppose there must have been a reversion of some kind then, since it is definitely missing from the r1913 I just tested (again). Its full "Misc" menu contains only four entries, which are "Show Console", "Show Profiler", "Visit Website..." and "About..."

Quote:What exactly ArtMoney and Cheat Engine can't do?
As the console say
Code:
Mapping host memory for virtual systems...
    EE Main Memory                   @ 0x20000000 -> 0x22884000 [40mb]
    IOP Main Memory (2mb)            @ 0x24000000 -> 0x24211000 [2mb]
Those two are the only areas of interest for normal cheat code usage, since normal cheat engines can't reach any other areas and most of them can only affect EE RAM. Also, even with the pnach abilities of PCSX2, any messing in the other areas is probably just a good way to crash...

Code:
What you find using the Pnach Finder will be the same on those programs.
I still don't see how it can be, if those report PC addresses.

Quote:For example if you have this cheat(finded with Pnach finder)
012345678 0000FFFF
You will find the same cheat when you use ArtMoney\Cheat Engine in
212345678 0000FFFF
I'm not sure what you're getting at here. The PS2 only has 32 address bits, not 36 as you show here, and the patch finder in r1888 is definitely showing 32 bit addresses too. (Exact same addresses as used on a PS2 for the same variables found.) I suspect you may just have made a typo or other entry mistake here, but it's a rather confusing one on this particular topic.

Quote:It doesn't really matter if you are going to use the pnach finder or external program,the end result is only one digit difference(the first digit of the address)

If you want to search the whole EE memory(like in the pnach finder),you have to search between
0x20000000 -> 0x22884000
That does sound useful, though I'm still a bit confused as to how those external patchers can know of the local addressing scheme of PCSX2, because surely that must be a virtual address range rather than a physical one...?

I suppose I'll have to try it myself to see how it works in practice.

However, I'm still opposed to having to use external tools for something more natural to do within the application that 'owns' the RAM to be tested.

Quote:If you want IOP then 0x24000000 -> 0x24211000 and so on
I'd never use IOP RAM for patches unless they're purely emulator-specific, since there is no standard way for a normal cheat engine to access IOP RAM.

----- switch of reply target -----

(09-19-2012, 10:05 PM)Bositman Wrote: Yes it was intended.
Of course removal of the non-functional code was needed, when rebuilding the entire GUI. But the commented menu entry that still remains clearly states that its functional code has not been rebuilt yet, which implies the intention to do so.


Quote:No, no one over 3 years did it. No one has touched the GUI except Jake Stine, and he has unfortunately quit the team.
I have wondered why the GUI shows so little real change through several versions, and what you just said certainly explains that.

Quote:It was also a pretty low priority at the time, so it was never done.
I agree that it would have a low priority compared to rebuilding the whole thing, but I still think someone could step in and fix it now, when that major overhaul is already complete.

Quote:You are very welcome to help in that regard though Tongue
I'm tempted to do so, except that I don't think my old dev environments are up to it, so I'd first have to study up on exactly what I need to install here, in order to handle current PCSX2 builds.

Best regards: dlanor
Reply
#7
We really mean this.
If you want to have a feature in PCSX2 and it doesn't look like the team is going to add it anytime soon, you best do it yourself! Smile
We're a small dev team and have few coders that actually build stuff. Our main focus since Jake left (he was the guy that built stuff)
has been fixing and improving emulation accuracy to get more games working.
GUI work is something we don't do well currently.

To start working on PCSX2, all you need is a copy of MSVC 2008, 2010 or 2012 really. The build system is pretty good ™.
Reply
#8
(09-20-2012, 01:10 PM)rama Wrote: To start working on PCSX2, all you need is a copy of MSVC 2008, 2010 or 2012 really. The build system is pretty good ™.
That sounds good, but I've been reading the forum thread "Windows - Compile Guide and Support" dealing with these things, and what I've seen so far doesn't seem so simple, mentioning compatibility problems between different visual studio versions and also with the then current PCSX2 sources.

I had expected that thread to contain updated links to the currently needed resources, with likewise updated instructions for how to use them, in the very first post(s). but instead it seems that none of the early posts have been updated for almost two years, and the same goes for the linked compilation Wiki, so I'll have to read that thread in its entirety so as to be sure to pick up all relevant tidbits for modern builds along the way.

I'm not hassling anyone about it mind you. I know full well that everyone prefers doing 'real' coding rather than documenting the process. I'm the same way myself Smile

Best regards: dlanor
Reply
#9
(09-20-2012, 01:04 PM)dlanor Wrote: I suppose there must have been a reversion of some kind then, since it is definitely missing from the r1913 I just tested (again). Its full "Misc" menu contains only four entries, which are "Show Console", "Show Profiler", "Visit Website..." and "About..."
See the attachment.
Quote: I suspect you may just have made a typo or other entry mistake here
Yes typo(one extra digit to the address).
But still what I find with external program,I'll find the same thing on pcsx2 if pnach finder existed on the new gui.

I sometimes even get cheats from some site,convert them to raw(if needed)and add them to ArtMoney(just change the first digit of the address to 2 and the code work).


Attached Files Thumbnail(s)
   
Reply
#10
(09-20-2012, 02:04 PM)vsub Wrote: See the attachment.
I never doubted your word on this. As I said before, I think it must be due to some reversion or branching within the project.

Btw: Here is a screenshot of the r1913 I spoke of:
   
As you can see this has the newer GUI background picture similar to current versions and lacks the patch commands of your r2186, even though it is one and a half months older. Possibly it was an experimental build, preparatory to merging changes into the main branch. The 'Debug' entry in the main menu also lends credence to that theory.

Quote:I sometimes even get cheats from some site,convert them to raw(if needed)and add them to ArtMoney(just change the first digit of the address to 2 and the code work).
Like I said earlier, this does sound useful, but I still think it would be better to have both the search tool and the patcher inside PCSX2 itself.

I also think it would be useful to add an option for cyclic patching in PCSX2, so it would gain the same abilities as a real PS2 cheat engine, though without the RAM conflicts these always suffer from (as their code has to reside in PS2 address space).

----- switch of reply target -----

@Rama:
I've looked for some of the MSVC tools mentioned in that other thread, but some of them are no longer available at Microsoft. But I did find free ISO downloads of MS VS 2010 Express Editions and its SP1 update (for all VS 2010 versions). So I wonder if that stuff can be used for building PCSX2 ?

Best regards: dlanor
Reply




Users browsing this thread: 1 Guest(s)