|
本帖最后由 sdiencelee 于 2012-12-5 14:41 编辑 , F5 t" S/ I) u
0 C2 ?- g& R# q& e: m
google上查ram search number of changes,找到了这个网址: ^. x- f/ ^! R _2 s
http://tasvideos.org/EmulatorResources/RamSearch.html9 B& d% H4 u$ }) w! l
其中这里说带此功能的模拟器如下:
8 a4 G& I3 ]4 l1 |+ t: e FCEUX, k( y6 L8 u! s
Gens- M& Y, ^! s' w/ J& J4 A0 {
SNES9X-rr. C% e# \: s( }" Y
VBA-rr4 H1 i+ a( D7 Y! q# H0 d3 `2 s/ B7 U3 h
DeSmuME
! b2 h5 h+ Z: t8 @. x& J PSXjin: I# A0 I' a! C4 \* C
PCSX-rr
6 W. W' |! k5 J+ v; Q PCEjin
" ?$ T0 g1 y: s FBA-rr7 q# }% y3 B0 `. n" }- K$ s! J4 F
VBjin
4 H" Q! }, O8 t# h+ p$ k1 A4 } Yabause-rr
+ H7 P# i. b' V# n9 C9 n% A若是不太懂ram search的使用,请参见http://bbs.emu618.com/thread-145227-1-1.html及15L的东东。% @' r6 \6 _8 ~* ?
若是不能上外国网,下面是将该网页复制过来的。
0 R" [# `0 B" g9 W
3 q8 ?( V; n. c4 T; s Login:% X. B8 n4 y% P% f6 g, i
Search:' a+ N3 K2 |7 c: v9 f
( ]! [1 `/ F ]0 A3 O% a5 G8 S
2 C) Y( ]" m, h0 x) F/ o C: z4 M) F* v( }- n# r* F/ D
Home
; E; x1 n) j3 B8 v0 \3 V Movies
* T [ P* }) G1 j o7 Z Game Resources9 G" ~$ T! D6 U
Articles8 a4 p6 U( s, d; S, ?# i
Emulators
# h* {0 i2 F* d, C s B/ g Submissions% y, N2 e# p. j$ V$ R
News
7 }/ T0 h2 W3 H Forums
9 G3 o! x9 D0 R2 t4 B Staff3 P9 I; G# [# A3 E, ]
About 6 M5 }/ S! ^2 f) M! O
* G* V& Z" I- h( o3 @' B0 N! l
TASVideos( S. F3 s0 P1 k; h4 S& O
Tool-assisted game movies# F2 h! H, Z0 ]9 c4 w
When human skills are just not enough
5 k1 v3 N( m# _+ \: S4 p1 zEmulator Resources / Ram Search
2 N, e! R' V- d) a3 c3 F5 l<< Emulator Resources
+ f, r0 l/ O$ v* R9 [9 Z9 P$ h) v6 i
0 U6 ?! I( u0 p+ i2 jRam 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.7 F, X! V& c5 w# K+ M
6 r! B3 R& I3 G$ v1 Y8 u2 s- k
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.4 ?3 `& o5 a# Z$ }
Emulators with Ram Search:% ~9 W W( I7 x9 `; L7 |
3 H8 @) }0 o# w# D/ { \& c FCEUX
$ N8 X! e. R0 W" i; A" I Gens% X- l. P: {' v- a# z' \& A
SNES9X-rr G- ?: r: h: b B( h; Q! a* k
VBA-rr
0 H: P" R" e6 ~/ i& N2 } DeSmuME* g( |& [( T h* s) O* v
PSXjin2 a4 q- k* B- u6 |8 `
PCSX-rr* ^) b6 r! S/ e6 b
PCEjin
( f4 \$ j9 c& U# E+ w$ @) `2 w3 b( @6 {3 p FBA-rr
' f1 e) z4 I8 z, t( A: L VBjin
; \, c8 n) }7 V" o M; Z Yabause-rr . G5 J* y" Y; V3 y, ^' X, w. [
" G. w+ K, P- N1 a+ RDocumentation5 E9 G; P# z- d6 T H2 {6 M3 z
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 .
" W/ |3 _9 q' h" y1 r1 [
, ^ Q, e- c) O( lTo 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.
5 g2 a! j/ I# ]& BComparison Operators% L |+ O7 G; D7 ?
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.1 d5 l/ c& e/ V1 M2 S) W
% O) V) i7 Q# U* |* z* w7 q4 }
Less Than - Keeps values that are smaller than the Compare value
# d0 b5 _) H) r/ c" c; P& x Greater Than - Keeps values that are greater than the Compare value0 |/ O" o) ]# U- f' B! I% \" p% w
Less than or equal - Keeps values smaller or equal
- D( X+ D0 ]$ b Greater than or equal - Keeps values larger or equal
# G4 X0 ~/ C6 I- K) l! }( [3 j3 g5 d& F5 p
(be careful of signed vs unsigned with these)
p( C5 E" N, o1 d- k
?. @' L/ t9 R4 w4 ] Equal to - Keeps only values that are the same (not a good one to use as your first search), d6 K5 V% a& G6 A0 t& \0 ]
Not Equal to - Keeps values that are different! p( \$ V% v. @& \* r6 b
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).
5 q: g: ?; \0 a. T& `* J1 R& z 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).
+ u+ B+ X/ S1 m8 ^5 \8 A1 Q7 S2 C) s( p% g+ G( J
Compare To/By
9 u. o! M3 s3 ?% r) f# o D0 ]8 u3 G. J& H8 S
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.$ s w+ z0 x& w
Specific Value - "Known value". Compares to the value typed into the edit box (useful when you know what value the address should be).
- b5 q, f3 T0 S7 s Specific Address - Compares to another RAM address based on the address typed in the edit box.
& d- l; N9 m! E% R Number of Changes - A handy feature. Compares the number of changes of each address with the value in the edit box.
" S$ i8 V, U0 S9 S
k, W. |8 W" R9 q, {# A3 q' hData Size/Type/Display
* h/ k$ f/ f$ W' Z% l, I$ uData size1 M0 y& O; C1 y9 p4 Y0 ]# [ ]$ _2 p3 b
! R: b! M$ f) ~( z% P0 D7 S8 F
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.& e# p" k$ B; t. c& ~) T. r
; i) z5 c* i* v6 N. mData Type/Display
, B! ?1 X: h8 w4 V" x( P
$ W9 ^' F+ z0 C# s+ wSigned/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.9 a: m5 X1 ]3 q
7 @* _1 v7 k' U% 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)." m2 y, Q! q# r
Advanced features
- r: `6 d" o1 ~" ~ a4 MChanges 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.& h9 s. S" f" X9 h" X* c
6 i+ c; z K' [0 H
Changes can be reset to 0 at any time with the Clear Change Counts button.; w# h2 q) o% |2 v, n% N
3 t1 U' [. n5 f0 I; c5 [/ t
Preview% R1 f) q# X8 C0 _/ \
& Z1 e6 ~: a# [4 E
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.
8 G+ \5 {, j( ]; b: L
# S4 Q0 `2 q, V2 `# c2 iAutosearch5 {' U. w) z" a9 p
: T( z" b! {; T' s/ n
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.8 m; u' C( \* A4 k1 q& R
2 X/ J# F/ R- |/ G1 @
Undo4 i" z* ^+ h9 N9 Z. l# V0 N- {
" F6 w) N. V, s" k( f' y5 w- @. m" G
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.0 [) u+ G7 t+ v% B
8 w. A+ \3 `' J) ^$ O# p6 C2 R) X- ]Eliminate
% p3 m9 Z2 \* P3 G- b8 \( r
: O5 U1 B, ^! i2 J0 j. W* AAllows 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.
( M' Q, T% ^- o" ]. p; w! \ |. q3 R5 c, g: S
Watch; b; Q) z4 N {) N% ~2 b# C
; N3 Y% K9 y# ]! t, U
When clicked, an address will be added to the Ram Watch dialog.
, X2 f& V" A* x- t. g- J
# c, U7 x9 n; W$ I- a& [Add Cheat$ U( n% n: U1 ^8 }, H& l2 h
F6 l3 J5 y9 ~3 `
Not currently working on a single emulator! If it were hooked up, it would take the highlighted address and freeze it to its current value.5 z' l9 V2 E" C( L; F$ g
$ A, i1 G2 {" o* l6 ?6 j4 W4 MCombined RSS Feed G7 L% ~" P% {4 z8 _
EmulatorResources/RamSearch last edited by Brandon on 2012-11-26 17:50:18: g0 I* _9 ~6 f$ y+ H2 n6 U
Page info and history | Latest diff | List referrers | View Source
8 F1 U' H6 B, @
9 ]0 d8 q- q1 H' ]
) J" }/ X& r, X |
|