Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

[Feature Request]: Debugger - Search by previous value without initial value #12276

Open
AtKiba opened this issue Feb 5, 2025 · 3 comments
Open
Assignees
Labels
Enhancement / Feature Request FR: Low Complexity Good for a first time contribution! FR: Medium Priority The request can bring some quality of life to the average emulator user.

Comments

@AtKiba
Copy link

AtKiba commented Feb 5, 2025

Description

I would like to request a “Comparative Filtering” option in the PCSX2 memory search tool using just the previous value, without having to input an initial value, similar to how BizHawk handles its RAM search. Specifically, this feature would allow us to continuously compare each address’s current value to its previous value and then filter by conditions such as “Equal,” “Not Equal,” “Less Than,” “Greater Than,” etc. The workflow would look like this:

1- Initial Search – You start by doing an initial scan with an unknown value.
2- Refine by Comparison – For each subsequent scan, compare the newly read values to their “previous” values from the last search.
3- Filter – Choose “Equal,” “Not Equal,” “Less Than,” “Greater Than,” etc., so the results get narrowed down to only those addresses that match your chosen condition.

This step-by-step approach makes iteratively hunting down unknown values much easier, this is how bizhawk works but Cheat Engine has a similar functionality.

Reason

This comparative filtering is essential for searches where the exact memory value is unknown, but we do know it should either increase, decrease, or remain unchanged from one search to the next. This may not sound important at first, but it opens a lot of doors for debugging games. It significantly simplifies and speeds up the process of finding variables such as health, timers, or counters, which often change predictably over time or in response to certain in-game actions. Without this feature, we have to rely on external tools like Cheat Engine for this type of incremental memory address discovery.

Examples

BizHawk RAM Search – As shown in the attached screenshot, BizHawk allows you to continuously refine the list of found addresses by selecting comparison operators (“Equal,” “Not Equal,” “Less Than,” “Greater Than,” etc.) for each new pass, always comparing the current value to the previously recorded one. This iterative approach is particularly effective for pinpointing unknown or dynamic values.

Cheat Engine – It also supports iterative scans using “Increased,” “Decreased,” “Changed,” or “Unchanged” to refine results when the actual numeric value is not known.

The idea is to make it easier to find memory addresses when we don't know what value they have.

Image

@AtKiba AtKiba added Enhancement / Feature Request FR: Awaiting Consideration The feature request is awaiting a team members consideration. labels Feb 5, 2025
@Berylskid
Copy link
Contributor

It is already implemented as "Filter Search" as of v1.7.5216 (about one year ago).
Make sure you use latest PCSX2 build.

@AtKiba
Copy link
Author

AtKiba commented Feb 5, 2025

It is already implemented as "Filter Search" as of v1.7.5216 (about one year ago). Make sure you use latest PCSX2 build.

I'm using V2.2.0 and you still have to input a value to start the search, so "Filter Search" is not actually doing what I'm talking about. I see that maybe the point was not very clear so I edited the request a little.

Image

@AtKiba AtKiba changed the title [Feature Request]: Debugger - Search by previous value [Feature Request]: Debugger - Search by previous value without initial value Feb 5, 2025
@F0bes
Copy link
Member

F0bes commented Feb 5, 2025

This can probably be resolved by creating an "unknown initial value" option like Cheat Engine.

@F0bes F0bes added FR: Medium Priority The request can bring some quality of life to the average emulator user. FR: Low Complexity Good for a first time contribution! and removed FR: Awaiting Consideration The feature request is awaiting a team members consideration. labels Feb 5, 2025
@F0bes F0bes self-assigned this Feb 5, 2025
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
Enhancement / Feature Request FR: Low Complexity Good for a first time contribution! FR: Medium Priority The request can bring some quality of life to the average emulator user.
Projects
None yet
Development

No branches or pull requests

3 participants