Forums

Sega Master System / Mark III / Game Gear
SG-1000 / SC-3000 / SF-7000 / OMV
Home - Forums - Games - Scans - Maps - Cheats - Credits
Music - Videos - Development - Hacks - Translations - Homebrew

View topic - Cheat Finder

Reply to topic
Author Message
  • Site Admin
  • Joined: 08 Jul 2001
  • Posts: 8649
  • Location: Paris, France
Reply with quote
Cheat Finder
Post Posted: Thu Oct 27, 2011 8:39 pm
My sense of priority being quite wrecked up, I'm working on a Cheat/Memory Finder for MEKA. Do any of you has suggestion on the kind of features you'd expect in such tools? Feel free to throw your ideas over here, I'm collecting them :)

Expected features:
- You'd be able to search in all kind of memory regions (RAM,VRAM,SRAM,ROM) to make it as open-ended as possible
- Select type of value to search for (8-bits, 16-bits with various endianness, possibly individual bits).
- "Start" a search to initialize the match set to all possible locations
- "Reduce" the set by comparing value to either the previous value, either a manually input value.
- Comparaison types would be the usual Equal,Not Equal,>,<,>=,<=

I'd also like the tool to double as a raw memory searcher you can search for a memory pattern.

Any other ideas?
  View user's profile Send private message Visit poster's website
  • Joined: 21 Jun 2010
  • Posts: 200
  • Location: Earth Planet
Reply with quote
Post Posted: Fri Oct 28, 2011 1:09 am
"NICE!" - Announcer of Asterix (AC) Bonus Stage 1
  View user's profile Send private message
  • Joined: 15 Aug 2009
  • Posts: 74
  • Location: Portland, Oregon
Reply with quote
Post Posted: Fri Oct 28, 2011 3:53 am
Bock wrote
My sense of priority being quite wrecked up, I'm working on a Cheat/Memory Finder for MEKA. Do any of you has suggestion on the kind of features you'd expect in such tools? Feel free to throw your ideas over here, I'm collecting them :)

Expected features:
- You'd be able to search in all kind of memory regions (RAM,VRAM,SRAM,ROM) to make it as open-ended as possible
- Select type of value to search for (8-bits, 16-bits with various endianness, possibly individual bits).
- "Start" a search to initialize the match set to all possible locations
- "Reduce" the set by comparing value to either the previous value, either a manually input value.
- Comparaison types would be the usual Equal,Not Equal,>,<,>=,<=

I'd also like the tool to double as a raw memory searcher you can search for a memory pattern.

Any other ideas?


If you could add the option to load in a .tbl text file like Windhex uses so that when you're looking at the memory in the debugger instead of showing ascii it shows your table file values, that would be fookin' awesome.

Also, then you could add an option to search for a text string (based on your .tbl file values) or a hex value. That would be awesome and make translation hacking much easier. Right now I have to keep Windhex open in another window to search the rom file for specific text or hex values.

On a related note, your debugger is the best I've ever used; it's nearly flawless. I did the port of Pitfall 2 Arcade to the ColecoVision last year and if it wasn't for your debugger I never would have gotten anywhere with it (also did a couple SMS translations and it was the same story)! It also was how I basically learned asm, nothing really made sense until I could step through the code and watch things happen in real time. So anyway, a huge THANKS from me for your hard work, it's been massively, massively helpful to me.
  View user's profile Send private message
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 14740
  • Location: London
Reply with quote
Post Posted: Fri Oct 28, 2011 8:56 am
A "relative search" would be nice, similar to RomSearcher.

The cheat finder modes in the Action Replay, and replicated in Kega, are a bit more user-friendly as they hide everything behind requests for what you can actually see, but underneath they must have to deal with all sorts of monstrosities (various ways of encoding numbers, mostly).
  View user's profile Send private message Visit poster's website
  • Site Admin
  • Joined: 08 Jul 2001
  • Posts: 8649
  • Location: Paris, France
Reply with quote
Post Posted: Fri Oct 28, 2011 4:49 pm
Here how it is looking so far. It works quite well and can search for invidiual bits.

I will add shortcuts/highlighting in the memory editor and then see how i can support different types of encoding (including BCD). Perhaps search for all types automatically for I want t\o allow manual type selection which is also useful for debugging.

  View user's profile Send private message Visit poster's website
  • Site Admin
  • Joined: 08 Jul 2001
  • Posts: 8649
  • Location: Paris, France
Reply with quote
Post Posted: Fri Oct 28, 2011 5:55 pm
Added button to jump to memory editor at the right location, and highlighting matches in the memory editor as well.

I guess I could use the highlighting system for other features in the debugger itself ?
cheat_finder-wip2.png (17.34 KB)
cheat_finder-wip2.png

  View user's profile Send private message Visit poster's website
  • Joined: 21 Jun 2010
  • Posts: 200
  • Location: Earth Planet
Reply with quote
Post Posted: Fri Oct 28, 2011 10:18 pm
How about implementing a kind of Game Genie decoder (like a GG->PAR in Fusion, since I know the the method do decode the GB/GG Genie codes, but is not that is avaliable in SMS Power!) and a function that can save the codes list?
  View user's profile Send private message
  • Site Admin
  • Joined: 08 Jul 2001
  • Posts: 8649
  • Location: Paris, France
Reply with quote
Post Posted: Sat Oct 29, 2011 9:53 am
Sonic of 8! wrote
How about implementing a kind of Game Genie decoder (like a GG->PAR in Fusion, since I know the the method do decode the GB/GG Genie codes, but is not that is avaliable in SMS Power!) and a function that can save the codes list?


I think I will have a separate applet for adding ROM/RAM/PAR/GG code and maybe this could feature a decoder as well.
  View user's profile Send private message Visit poster's website
  • Site Admin
  • Joined: 08 Jul 2001
  • Posts: 8649
  • Location: Paris, France
Reply with quote
Post Posted: Sat Oct 29, 2011 4:32 pm
Added:
- any size search
- comparer types
- ability to compare with old memory values (so you can find a location without entering any constant)
- and few other tweaks to the interface

I think I'm done for now as a first step.
I checked the Kega Fusion cheat finder but I though its interface was not well designed and cumbersome to use.

*EDIT* eventually should add BCD support.
cheat_finder-wip3.png (11.11 KB)
cheat_finder-wip3.png

  View user's profile Send private message Visit poster's website
  • Joined: 08 Dec 2005
  • Posts: 488
  • Location: Melbourne, Australia
Reply with quote
Post Posted: Wed Mar 07, 2012 10:02 am
Bock wrote
eventually should add BCD support.

Would it be possible to add support for entering constants in hexadecimal? This would be useful in its own right, as well as making it easier to handle BCD "manually".

For example, to search for a BCD value of 99 currently requires entering 153, but it would be easier to enter $99.
  View user's profile Send private message Visit poster's website
  • Site Admin
  • Joined: 08 Jul 2001
  • Posts: 8649
  • Location: Paris, France
Reply with quote
Post Posted: Wed Mar 07, 2012 1:35 pm
I'll do that yes, it should be an easy fix.

As a temporary workaround you can convert hexedecimal/decimal in the debugger windows using the P command (eg: p $99).
  View user's profile Send private message Visit poster's website
  • Site Admin
  • Joined: 08 Jul 2001
  • Posts: 8649
  • Location: Paris, France
Reply with quote
Post Posted: Fri Mar 09, 2012 1:09 am
I commited a chance that you can input any type of value in that box now:

Default in decimal,
or
$xxxx (hex)
0xXXXX (hex)
%xxxxx (binary)
#xxxxxx (decimal)

Same format the debugger, only different is that the default with no prefix is decimal. Do you think it make sense to default to decimal here ?

If you update SVN you can get it
svn://svn.smspower.org/meka/branches/20110530-allegro5-sound
  View user's profile Send private message Visit poster's website
  • Joined: 08 Dec 2005
  • Posts: 488
  • Location: Melbourne, Australia
Reply with quote
Post Posted: Fri Mar 09, 2012 4:19 am
Bock wrote
Same format the debugger, only different is that the default with no prefix is decimal. Do you think it make sense to default to decimal here ?

I think it does make sense: the Cheat Finder is aimed at a fairly non-technical audience while the debugger is targeted at developers.

However, it would be good to make the difference clear. I wonder if there is a nice way to add the information to the UI itself?
  View user's profile Send private message Visit poster's website
Reply to topic



Back to the top of this page

Back to SMS Power!