Ram Search is a windows dialog for rerecording emulators designed to find useful ram values. It was originally developed for Gens rerecording by Upthorn and Nitsuja. Since then it has been ported to most rerecording emulators supported by the site. Therefore, it is documented here.

Emulators with Ram Search:


Documentation

Ram Search is a memory searching dialog to aid in finding useful RAM values. Like any RAM searching dialog, it is designed to start with the entire RAM contents and then the user weeds out values that aren't what the user is looking for. For more information regarding how to find RAM Values see Memory Search. For a video tutorial on RAM Search, see http://www.ustream.tv/recorded/8547343 .
To make a search, the first step is to press the Reset button. This will put all RAM Values into the available search. The next step is to advance the game (either by frame advance, or by letting the game play unpaused). Then a search must be done. This requires setting the Comparison Operator and Compare To/By then clicking the Search button.

Comparison Operators

Whenever the Search button is clicked, RAM Search compares the current RAM values with a value based on the Compare To/By . It compares the contents based on which comparison operator is selected. Any RAM values that don't match the comparison criteria are discarded. RAM Search offers a variety of searching filters.
(be careful of signed vs unsigned with these)

Compare To/By


Data Size/Type/Display

Data size
A very important value to set and depends on knowledge about the platform being used. NES for instance will almost always be 1 byte (8-bit) values whereas SNES and GENS will often be 2 byte values. DS and GBA are typically 4 byte.
Data Type/Display
Signed/Unsigned can make a significant different on the search criteria so knowledge of this property is important. Speed address, for instance, will usually be signed whereas x,y coordinates and subpixel values will be unsigned.
Hexadecimal display can be useful, especially for values that tend to be base 16 anyway (NES subpixel values for instance are almost always 1 byte with 1/16th precision. Hexadecimal display will show these values as 10, 20, 30, A0, etc).

Advanced features

Changes RAM search keeps track of values every frame. Each time they change, the change counter increases. It is reset after every search. This knowledge can be used in conjunction with the Number of Changes comparison operator. For instance, one could move the character right for 6 frames, and then do a Number of Changes = 6 search to find the characters x position. Timers could be found by search for Changes = 1 every frame.
Changes can be reset to 0 at any time with the Clear Change Counts button.
Preview
Whenever a search criteria is set, RAM Search will display in red the values that will be removed if the Search button is clicked. This allows you to preview the results of the search.
Autosearch
This allows you to automate the search process. When checked, RAM Search will click the Search button for you every frame. This could be useful for finding x position for instance. Set the search to Greater than Previous Value, click Autosearch, the press the Frame Advance key repeatedly.
Undo
This allows you to clear the last search. Useful for mis-clicks or to revert to a previous state should the search criteria not give desirable results.
Eliminate
Allows you to manually highlight one or more addresses in the address list and remove them without having to do a search. This is especially useful when the list is narrowed down to just a few values that the user can visually monitor and eliminate.
Watch
When clicked, an address will be added to the Ram Watch dialog.
Add Cheat
Take the highlighted address and freeze it to its current value.

EmulatorResources/RamSearch last edited by feos on 10/19/2023 4:12 PM
Page History Latest diff List referrers View Source