|
本帖最后由 sdiencelee 于 2012-12-5 14:41 编辑
6 v5 e* m+ Z5 v7 |. w, {) a }+ T6 M# h; F
google上查ram search number of changes,找到了这个网址6 |4 b' x( R) T- Z: q4 z0 u8 T; a
http://tasvideos.org/EmulatorResources/RamSearch.html
0 t2 k$ n) h4 U+ H `4 ~1 W其中这里说带此功能的模拟器如下:: l ^% t5 B9 a: q- y5 s
FCEUX
& g. y$ {( a$ f# `& {* F Gens, g* y" w: n6 n1 L( k, j s
SNES9X-rr
! N$ N1 s+ [+ l! | VBA-rr! l0 m: u9 @9 x0 |: O3 F: U
DeSmuME
: R; N7 ~" l& X% H4 Q$ y8 i+ M PSXjin
* M9 J/ `6 h# L- i PCSX-rr
7 I* D1 p) s Z2 h$ u* b PCEjin
$ H6 o B! ^) I0 Q& q; z0 N FBA-rr
2 }5 K7 B5 m4 d5 q4 }2 ^ VBjin/ _3 Z$ M& Z% X6 @/ p- \' q
Yabause-rr 1 H) _; O1 _# K7 ], H# ^3 Y6 A) q) K
若是不太懂ram search的使用,请参见http://bbs.emu618.com/thread-145227-1-1.html及15L的东东。; ^6 |1 L; V9 o2 @7 z
若是不能上外国网,下面是将该网页复制过来的。
8 \) D5 R# Z+ \' l4 i- L
; C9 a1 a1 w% x5 W4 C% m2 f, w Login:
! J& k$ j% \+ y. l* }* W% j1 X Search:( u$ c$ ^, n( D) c
* k" k6 B# G; V* b' f
3 p0 G: f$ ~5 C
% r% k) @" ?% @2 i7 I
Home) @( Q7 ^6 {) h, J- k. |3 g- u
Movies
, Y* r* x) D4 P6 d3 @( L7 w1 `5 [ Game Resources
) ~+ t# l- }& f+ q& n! |( e, S- w Articles
2 S& j3 h$ o% ]$ a Emulators
: X, [0 b/ s: M1 M7 K4 o Submissions
2 Z% {/ W& {0 `- A News
9 _2 f, Q* o0 {5 B9 Y$ ~ Forums: G* k6 g1 ?8 @8 C4 O/ G3 t
Staff* e* W3 J( B% C+ Q, z
About : s+ b% M' B" ~
& W6 Q( Y; T, `; M+ ^7 QTASVideos
9 i1 G K8 `3 kTool-assisted game movies5 m x; R3 K0 U$ E& I& ^
When human skills are just not enough0 Y0 r: }$ K) l/ @5 y- M
Emulator Resources / Ram Search/ t; U# M- i+ Y4 ~+ K8 Y1 @$ Z2 q
<< Emulator Resources
$ E& j U, w% y5 g& l7 k- T+ i3 U
) D/ K3 Q0 x+ R- x* yRam 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.
`' s8 L, h; O6 N; p {4 G2 }# P5 ]4 [% {
Addresses Sets contain many useful addresses, allow you to download them as .wch files for the supported emulators, let you contribute your own, and provide modules to embed existing address sets on Wiki pages.
: Q8 A& h& T; V! AEmulators with Ram Search:
+ [2 Y" u7 ?$ p5 `9 `; P
2 q6 y& W: ~& e( j: u3 m" e# P2 n FCEUX
& G0 O' g/ S, v, C6 C$ z% h Gens
+ l3 c$ R# D# e5 p SNES9X-rr
+ h2 T* F+ f- M/ P8 R/ C5 r VBA-rr
. M7 q# `- _7 C! e9 A DeSmuME
& M& [/ r5 \2 G. E# t( }! r( q PSXjin! P/ B' h8 e0 x
PCSX-rr. Y, b: B( I1 e2 b, D$ L
PCEjin9 ^ N1 q" ~: [: w6 D% @
FBA-rr
) F' ]! r# V/ n4 x: b& v' L VBjin' U( }. Z) P. W
Yabause-rr
4 o1 i9 t1 H3 t- g& l8 P5 K1 F' V- v( E2 g! S, ^' s4 h
Documentation
# D) p8 s v6 b% @" BRam 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 .8 G+ J& g) c" @; L$ d- d# |( s
- m- W1 K" S* f
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.
7 M. U4 o( L4 J& _; Z3 @Comparison Operators6 {1 x; N& w0 u: U/ {/ i
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.5 l( L; C/ ^4 Q5 v6 ?
/ u. G5 u, j0 ~ I5 L' K' w
Less Than - Keeps values that are smaller than the Compare value
1 i7 O$ ~$ F, a% x) N) G Greater Than - Keeps values that are greater than the Compare value, l) f, |" L! X: `8 _- ?* }# b
Less than or equal - Keeps values smaller or equal
. H l2 W4 y0 s, D( K1 }+ i Greater than or equal - Keeps values larger or equal
4 M% o! B3 ~! F& d2 q9 s; t- v( g. [' C. f2 Q( G+ U! F7 r
(be careful of signed vs unsigned with these)# o. j# I# f8 U, h
6 ]: @: m% ]4 m7 ]; E" U
Equal to - Keeps only values that are the same (not a good one to use as your first search)- `5 W; b, x4 f2 C/ r" v1 v1 ~3 Q
Not Equal to - Keeps values that are different9 u8 A/ n; M4 p- y4 \
Different By []: - Keeps values that are less then or greater than the compare value by the amount typed into the edit box. (This can be useful, for instance, if you know the amount of damage a weapon does and you are looking for an enemy HP value).: M( r5 _4 O" \( B* q. ]7 f! q
Modulo [] Is - The modulus operator. Will divide the current and previous and keep any that have a remainder equal to the value typed in the edit box. (Useful for finding timers). # I6 m4 a& V0 n- H% F
/ I- ?9 j6 ~5 a5 w0 q2 d8 J9 zCompare To/By) z0 [ f, l) a5 V4 ?3 g
. v; j, o, H- k- _- Y% s. g Previous Value - compares to the value from the last time the Search button was pressed or from the point Reset was pressed if no search has yet been made.7 h+ E, }2 f/ W3 X2 l
Specific Value - "Known value". Compares to the value typed into the edit box (useful when you know what value the address should be).
- j5 h& |9 w8 l, U6 R Specific Address - Compares to another RAM address based on the address typed in the edit box.
; [: [& c' W3 B3 y U2 |8 q Number of Changes - A handy feature. Compares the number of changes of each address with the value in the edit box. ! Z& Y2 v: {3 @+ \
3 k5 }0 I: O) \# Z) P
Data Size/Type/Display
/ R: s! M, u( w; L( [Data size- z8 y4 y1 h) x; a3 k
4 K/ C! z& `* ?9 N
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.
$ d. X$ B7 @! @5 u2 |5 r5 w8 k: l( C, t
Data Type/Display
. S+ r$ r9 f2 v7 {8 p# c& p! N) M6 l6 S
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.
; d+ m0 R8 M6 P, c) Y2 C0 d7 m- t, ~, k- V( ~! R) I$ g; v; `5 |( o+ @! l
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).4 W2 J [1 z: S& w9 A
Advanced features# D4 W P" w: Z
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.
+ g( E: U, ~2 o D
8 V" K8 n3 M# U6 Y- P! ~5 o, PChanges can be reset to 0 at any time with the Clear Change Counts button.
: `& ~. I1 E6 H* ^2 Z& ]0 X: m( ^/ a( C$ y
Preview( v1 v6 V& n d6 ?/ | @
0 e6 G6 n$ Z. T6 G2 u' c& ^
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.
* F8 Z% A2 o$ ^9 p" N4 M4 a7 z# K. |4 d Y) |
Autosearch
w7 z5 L: j) v* I
* T1 V' y+ t5 a: F% GThis 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.
5 ?0 d, z4 |. X7 ] b1 O1 |- w y) C5 D; T* J' V
Undo
2 N8 G4 i" W; g* K; O* x, \
A2 o1 F6 T5 e! [. g9 W. {; CThis 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. N$ N% i1 `' K# n' `" y4 v) U: w
7 o, }- s% S3 y A
Eliminate
* u. M( |. o1 N, m. o' L8 I. a
6 r* h( `% b, ?! M) M K; M4 RAllows 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.3 e" \4 D- s- z( S' S
& V( c! \7 e4 L' _, \0 E6 {Watch. y; A2 R% H/ P7 ?- U- ?- w* X! Y
+ }! r' Y8 ^0 N( Z/ X" e# B$ G/ @When clicked, an address will be added to the Ram Watch dialog.
' s4 t/ e1 \, A
# v5 B, y) F1 I9 W5 H( w4 _Add Cheat
8 }5 @0 |8 I; e9 N$ v
! j' e, M: {' ?) s! ONot currently working on a single emulator! If it were hooked up, it would take the highlighted address and freeze it to its current value.
8 r% L9 v2 h; [+ @
7 C/ f4 l( B) a5 J* NCombined RSS Feed
! ]; m9 c0 U6 t; F3 X% S/ B9 @EmulatorResources/RamSearch last edited by Brandon on 2012-11-26 17:50:186 E0 U8 {3 T! j% b6 u
Page info and history | Latest diff | List referrers | View Source , D, _" w z8 ^7 y# T0 o
& X4 U, F' M" V6 A4 _' B. h0 X$ p8 w7 t* h2 ^% ]$ d3 V
|
|