[Fuse-for-macosx-commits] SF.net SVN: fuse-for-macosx:[777] trunk/fuse/fusepb/resources/Fuse Help/
Brought to you by:
fredm
From: <fr...@us...> - 2014-04-11 12:35:24
|
Revision: 777 http://sourceforge.net/p/fuse-for-macosx/code/777 Author: fredm Date: 2014-04-11 12:35:21 +0000 (Fri, 11 Apr 2014) Log Message: ----------- Fix typo in example "set" command. Modified Paths: -------------- trunk/fuse/fusepb/resources/Fuse Help/html/pokefinder.html Modified: trunk/fuse/fusepb/resources/Fuse Help/html/pokefinder.html =================================================================== --- trunk/fuse/fusepb/resources/Fuse Help/html/pokefinder.html 2014-03-22 11:32:42 UTC (rev 776) +++ trunk/fuse/fusepb/resources/Fuse Help/html/pokefinder.html 2014-04-11 12:35:21 UTC (rev 777) @@ -1,92 +1,131 @@ -<head> -<!-- AppleSegStart="The Poke Finder" --> - <title>The Poke Finder</title> -</head> -<font - face="Lucida Grande,Helvetica,Arial"><a name="The Poke Finder"></a><!-- AppleSegDescription="This section describes the Fuse poke finder." --></font> -<div class="refsect1" xml:lang="en" lang="en"> -<h2><font face="Lucida Grande,Helvetica,Arial">The Poke -Finder</font></h2> -</div> -<p> -<font face="Lucida Grande,Helvetica,Arial">The `poke finder' is a tool -which is designed to make the task of -finding (infinite lives etc) pokes for games a bit easier: it is -similar to the `Lifeguard' utility which was available for use with -the Multiface. It works by maintaining a list of locations in which -the current number of lives (etc) may be stored, and having the -ability to remove from that list any locations which don't contain -a specified -value.</font></p> -<p> -<font face="Lucida Grande,Helvetica,Arial">The poke finder dialog -contains an entry box for specifying the -value to be searched for, a count of the current number of possible -locations and, if there are less than 20 possible locations, a list -of the possible locations (in `page:offset' format). The five -buttons act as -follows:</font></p> -<div class="variablelist"> -<dl> - <dt> <span class="term"><font face="Lucida Grande,Helvetica,Arial"><em>Incremented</em> - </font></span></dt> - <dd> - <p><font face="Lucida Grande,Helvetica,Arial">Remove from the list -of possible locations all addresses which have not been incremented -since the last search.</font></p> - </dd> - <dt> <span class="term"><font face="Lucida Grande,Helvetica,Arial"><em>Decremented</em> - </font></span></dt> - <dd> - <p><font face="Lucida Grande,Helvetica,Arial">Remove from the list -of possible locations all addresses which have not been deccremented -since the last search.</font></p> - </dd> - <dt> <span class="term"><font face="Lucida Grande,Helvetica,Arial"><em>Search</em> - </font></span></dt> - <dd> - <p><font face="Lucida Grande,Helvetica,Arial">Remove from the list -of possible locations all addresses which do not contain the value -specified in the `Search for' field.</font></p> - </dd> - <dt> <span class="term"><font face="Lucida Grande,Helvetica,Arial"><em>Reset</em></font></span></dt> - <dd> - <p><font face="Lucida Grande,Helvetica,Arial">Reset the poke finder -so that all locations are considered possible.</font></p> - </dd> - <dt> <span class="term"><font face="Lucida Grande,Helvetica,Arial"><em>OK</em></font></span></dt> - <dd> - <p><font face="Lucida Grande,Helvetica,Arial">Close the dialog. -Note that this does not reset the current state of the poke -finder.</font></p> - </dd> -</dl> -</div> -<p> -<font face="Lucida Grande,Helvetica,Arial">An example of how to use -this may make things a bit clearer. We'll -use the 128K version of Gryzor. Load the game, define keys to suit -and start playing. Immediately pause the game and bring up the poke -finder dialog. We note that we currently have 6 lives, so enter `6' -into the `Search for' field and click `Search'. This reduces the -number of possible locations to around 931 (you may get a slightly -different number depending on exactly when you paused the game). -Play along a bit and then (deliberately) lose a life. Pause the -game again. As we now have 5 lives, replace the `6' in the 'Search -for' field with a `5' and click `Search' again. This then reduces -the list of possible locations to just one: page 2, offset 0x00BC. -This is the only location in memory which stored `6' when we had 6 -lives and `5' when we had 5 lives, so its pretty likely that this -is where the lives count is stored. Double-clicking on the -`2:0x00BC' entry in the dialog will set the appropriate breakpoint -(you may wish to open the debugger at this point to confirm this). -Play along a bit more. When you next lose a life, emulation is -stopped with PC at 0x91CD. Scrolling up a few addresses in the -debugger's disassembly pane shows a value was loaded from 0x80BC -(our hypothetical lives counter), decremented and then stored again -to 0x80BC, which looks very much like the code to reduce the number -of lives. We can now use the debugger to replace the decrement with -a NOP (`set 0x91C90'), and playing the game some more after this -reveals that this has worked and we now have infinite -lives.</font></p> -<!-- AppleSegEnd --> +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> + <head> + + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"> + <!-- AppleSegStart="The Poke Finder" --> + <title>The Poke Finder</title> + </head> + <body> + <font face="Lucida Grande,Helvetica,Arial"><a name="The Poke Finder"></a><!-- AppleSegDescription="This section describes the Fuse poke finder." --></font> + <div class="refsect1" xml:lang="en" lang="en"> + <h2><font face="Lucida Grande,Helvetica,Arial">The Poke + Finder</font></h2> + </div> + <p> + <font face="Lucida Grande,Helvetica,Arial">The `poke finder' is a + tool + which is designed to make the task of + finding (infinite lives etc) pokes for games a bit easier: it is + similar to the `Lifeguard' utility which was available for use + with + the Multiface. It works by maintaining a list of locations in + which + the current number of lives (etc) may be stored, and having the + ability to remove from that list any locations which don't + contain + a specified + value.</font></p> + <p> + <font face="Lucida Grande,Helvetica,Arial">The poke finder dialog + contains an entry box for specifying the + value to be searched for, a count of the current number of + possible + locations and, if there are less than 20 possible locations, a + list + of the possible locations (in `page:offset' format). The five + buttons act as + follows:</font></p> + <div class="variablelist"> + <dl> + <dt> <span class="term"><font face="Lucida + Grande,Helvetica,Arial"><em>Incremented</em> </font></span></dt> + <dd> + <p><font face="Lucida Grande,Helvetica,Arial">Remove from the + list + of possible locations all addresses which have not been + incremented + since the last search.</font></p> + </dd> + <dt> <span class="term"><font face="Lucida + Grande,Helvetica,Arial"><em>Decremented</em> </font></span></dt> + <dd> + <p><font face="Lucida Grande,Helvetica,Arial">Remove from the + list + of possible locations all addresses which have not been + deccremented + since the last search.</font></p> + </dd> + <dt> <span class="term"><font face="Lucida + Grande,Helvetica,Arial"><em>Search</em> </font></span></dt> + <dd> + <p><font face="Lucida Grande,Helvetica,Arial">Remove from the + list + of possible locations all addresses which do not contain + the value + specified in the `Search for' field.</font></p> + </dd> + <dt> <span class="term"><font face="Lucida + Grande,Helvetica,Arial"><em>Reset</em></font></span></dt> + <dd> + <p><font face="Lucida Grande,Helvetica,Arial">Reset the poke + finder + so that all locations are considered possible.</font></p> + </dd> + <dt> <span class="term"><font face="Lucida + Grande,Helvetica,Arial"><em>OK</em></font></span></dt> + <dd> + <p><font face="Lucida Grande,Helvetica,Arial">Close the + dialog. + Note that this does not reset the current state of the + poke + finder.</font></p> + </dd> + </dl> + </div> + <p> + <font face="Lucida Grande,Helvetica,Arial">An example of how to + use + this may make things a bit clearer. We'll + use the 128K version of Gryzor. Load the game, define keys to + suit + and start playing. Immediately pause the game and bring up the + poke + finder dialog. We note that we currently have 6 lives, so enter + `6' + into the `Search for' field and click `Search'. This reduces the + number of possible locations to around 931 (you may get a + slightly + different number depending on exactly when you paused the game). + Play along a bit and then (deliberately) lose a life. Pause the + game again. As we now have 5 lives, replace the `6' in the + 'Search + for' field with a `5' and click `Search' again. This then + reduces + the list of possible locations to just one: page 2, offset + 0x00BC. + This is the only location in memory which stored `6' when we had + 6 + lives and `5' when we had 5 lives, so its pretty likely that + this + is where the lives count is stored. Double-clicking on the + `2:0x00BC' entry in the dialog will set the appropriate + breakpoint + (you may wish to open the debugger at this point to confirm + this). + Play along a bit more. When you next lose a life, emulation is + stopped with PC at 0x91CD. Scrolling up a few addresses in the + debugger's disassembly pane shows a value was loaded from 0x80BC + (our hypothetical lives counter), decremented and then stored + again + to 0x80BC, which looks very much like the code to reduce the + number + of lives. We can now use the debugger to replace the decrement + with + a NOP (`set 0x91C9 0'), and playing the game some more after + this + reveals that this has worked and we now have infinite + lives.</font></p> + <!-- AppleSegEnd --> + </body> +</html> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |