Joined: 4/18/2007
Posts: 88
Location: Tokyo, Japan
You can download MHS_SetRanges.lss again for support for Snes9x 1.43. [EDIT] After looking at vba-rerecording.exe, I found that it stores the RAM image in an 8-byte byte-swapped format, which means MHS can not actually search it, which means you can’t really use MHS on it much. It also stores the RAM in segments that are not neatly packed together (or are packed together via a series of pointers that won’t allow me to simply set the search range), so I can’t actually set a single search range to cleanly cover the RAM area. Because of these two things combined I will not be adding support for VBA-based emulators. Sorry. [/EDIT] As for the update, it needs the game to initialize certain data before it can set the search ranges, so if the data is not set it will show a message box explaining the situation and telling you what to do. So if you open Snes9x.exe and suddenly see a warning box, don’t panic. L. Spiro
Active player (315)
Joined: 2/28/2006
Posts: 2275
Location: Milky Way -> Earth -> Brazil
Hmmm... just today I decided to check this thread... and wow, L. Spiro himself! MHS is really great. I first heard about it when I saw some guy hacking CV-SOTN on epsxe, adding new moves and changing character sprites. But it doesn't work on VBA... that's a terrible surprise...
"Genuine self-esteem, however, consists not of causeless feelings, but of certain knowledge about yourself. It rests on the conviction that you — by your choices, effort and actions — have made yourself into the kind of person able to deal with reality. It is the conviction — based on the evidence of your own volitional functioning — that you are fundamentally able to succeed in life and, therefore, are deserving of that success." - Onkar Ghate
Bisqwit wrote:
Drama, too long, didn't read, lol.
Editor, Experienced player (735)
Joined: 6/13/2006
Posts: 3300
Location: Massachussetts, USA
I have a question. How does MHS read the addresses for snes9x? does it still do it in the same format as 1/2/4 bytes, and signed/unsigned? Let's say I have a long string of addresses I already use for a SNES game... how can I easily find the corresponding addresses for MHS?
Homepage ☣ Retired
Joined: 4/18/2007
Posts: 88
Location: Tokyo, Japan
The way MHS reads RAM of the game is the same as on Windows®. 1, 2, 4, and 8 bytes, signed and unsigned, plus 4-byte and 8-byte floating point types. To convert an address from snes9x to MHS—a technical reply would involve telling you to subtract the base of the main RAM of the real Super Nintendo Entertainment System and then follow a pointer from an array of pointers inside snes9x and add that to the offset created by the original subtraction. But to approach this from a much more managable direction, you can find the address of one value from your cheat list in MHS, then all the other values should be the same distance from that value as they are from the value in your cheat list. So you find your health in MHS. Then think of every other value in your cheat list as being +X or -X from your health. They will also be +X or -X from your health in MHS. L. Spiro
Joined: 4/18/2007
Posts: 88
Location: Tokyo, Japan
I see people still using (very) old versions of MHS. Always check the official site for updates, since updates may or may not be posted anywhere else. There have been tons of major updates since the last version posted here. We are now at 5.007: http://www.memoryhacking.com/index.php L. Spiro
Experienced player (961)
Joined: 12/3/2008
Posts: 940
Location: Castle Keep
Request : mednafen-RR 1.38 set range script (this emu dont have ram watch so it would be realy usefull) Thx in advance :p
Joined: 4/18/2007
Posts: 88
Location: Tokyo, Japan
I am afraid I have no ROM files to use with this. You should be able to find it (the range of its emulation RAM) rather easily though. Simply find something in your game, look at the properties (File/Properties) to see which chunk has that address, and look at the starting address of that chunk. Put that value into a Pointer Search with Find Only Static checked and you should find one or 2 pointers that can be used to locate the RAM of your game each time it restarts. With that, just copy one of the other scripts and replace the process name, CRC, and address. L. Spiro
Experienced player (961)
Joined: 12/3/2008
Posts: 940
Location: Castle Keep
Considering im the worst taser in the world when it come to ram search, apparently its too much to ask me lol I sended ya pm, if you can get something out of it would be great :D
Joined: 4/18/2007
Posts: 88
Location: Tokyo, Japan
The file has been updated with Mednafen 0.8.A. The search range is snapped to a bit more than 2 kilobytes (this is Nintendo Entertainment System right?) because I could not find a logical starting point for the emulated RAM. The range I set should cover everything, but if you find that you are no longer finding values you could before then report back and I will update the range. L. Spiro
Experienced player (961)
Joined: 12/3/2008
Posts: 940
Location: Castle Keep
L-Spiro wrote:
(this is Nintendo Entertainment System right?)
No its PC-Engine Ill PM ya if i get into trouble, i use mednafen-RR 1.38, not the official branch 0.8A Thx for help :D
Joined: 4/18/2007
Posts: 88
Location: Tokyo, Japan
That would explain the RAM issues and why the graphics were better than Nintendo Entertainment System but worse than Super Nintendo Entertainment System. L. Spiro
Editor, Emulator Coder, Expert player (2161)
Joined: 5/22/2007
Posts: 1134
Location: Glitchvania
L-Spiro wrote:
I see people still using (very) old versions of MHS. Always check the official site for updates, since updates may or may not be posted anywhere else. There have been tons of major updates since the last version posted here. We are now at 5.007: http://www.memoryhacking.com/index.php L. Spiro
It works now. Thanks.
<klmz> it reminds me of that people used to keep quoting adelikat's IRC statements in the old good days <adelikat> no doubt <adelikat> klmz, they still do
Experienced player (961)
Joined: 12/3/2008
Posts: 940
Location: Castle Keep
It work for me too (i mean the ranges script for mednafen) Just as a sidenote but 12seconds to perform a search sound like "long" to me, maybe the range was too big ? :p Either way, thanks, now i can have ram watch for that emulator
Joined: 8/18/2009
Posts: 47
Bamp... I would like to know, if it is possible (probably with a script) to make "address 1" having the same value as "address 2" at any time? Thanks
Experienced player (642)
Joined: 11/30/2008
Posts: 650
Location: a little city in the middle of nowhere
-Right click on the address you want to change and click "modify selected" -click on the "script lock" tab, and click "use script to apply lock" -Right next to where it says 1, underneath "scripted lock" write something like this
VOID Lock ( MHS_ADDRESS aAddress, INT iItemsize ){

	extern int target = { "", aAddress };
	extern int base = { "", 0x40001C };
	target = base;

}
The above code will copy a short integer at 0x40001C (an example, chose whatever you like) to whatever you right clicked on in step 1 (if you have other data types like a float, or a long, replace "int" with "float" or "long" or whatever. -Click "ok" -Right click on the address and "lock selected" If you need extra support, open MHS and then press F1, then go to either modifying values -> locking modifications or scripting.
Measure once. Cut twice.
Joined: 8/18/2009
Posts: 47
Thanks a lot! It worked ^^