Hey guys, this is my first post here.
I was wondering, is there any way to apply gameshark to a game using mupen64 (since it's the only N64 emulator that offers rerecording)?
As far as I know, there is one person who managed to hack a ROM directly (with a hex editor I suppose), making the gameshark code to be directly implemented into the ROM's data. Does anyone here with experience in ROM hacking know anything on how to do this?
Also I recently read something at emutalk about the new version of Mupen64Plus having a new (and buggy) cheat system implemented... Is this true? (I tried the windows version but could not even start the game) So.. due to being released only for linux at the moment, I'm planning on running Ubuntu from a Virtual PC, then run the latest version of Mupen64Plus with it. Could anyone tell me if this will be ok?
Thanks for your time in reading this, I'd be really thankful if someone could answer to my inquiries. I've been TASing in N64 for a while, and always wanted to use gameshark while doing frame advance/save states. Tried a thousand ways but never got it to work.
Of course Gameshark codes are not allowed in TASes, but it doesn't mean that having codes would be useful for testing certain things. Also it's easy to disprove if someone was to use them anyway, otherwise the run would desync for everyone.
I'm not going to submit anything to anywhere, I just want to be able to use gameshark while have frame advance/save&load states.
I know how to do GS codes; what I need is what I stated above.
MHS lets you modify the value of any memory address while playing the game. For example, if you want infinite health, find the address corresponding to health and tell MHS to lock that value. Now no matter what happens in the game, you'll have however much health you told MHS to lock it at. Similarly, for infinite ammo, find an address for the particular ammo and have MHS lock it at a nonzero value, and you'll always have that much ammo as long as it's locked. You can do other things by changing memory addresses, but they're often more game-specific. Also, things like warping codes and press L to levitate are rather difficult to implement with this, so that may be a problem.
I use this in MM all the time. Most of the necessary values are all near each other (the game clock, magic meter, health, rupees, mask form, which items you have, how much of each item you have, and quest status are all within 100 bytes of each other), and if I need anything else, I can search the memory for it. Extremely useful when I want a bottle of X and can't be bothered to go through the rigamarole of getting it the normal way.
Anyways, I think this is the sort of thing you're looking for, right?
MHS lets you modify the value of any memory address while playing the game. For example, if you want infinite health, find the address corresponding to health and tell MHS to lock that value. Now no matter what happens in the game, you'll have however much health you told MHS to lock it at. Similarly, for infinite ammo, find an address for the particular ammo and have MHS lock it at a nonzero value, and you'll always have that much ammo as long as it's locked. You can do other things by changing memory addresses, but they're often more game-specific. Also, things like warping codes and press L to levitate are rather difficult to implement with this, so that may be a problem.
I use this in MM all the time. Most of the necessary values are all near each other (the game clock, magic meter, health, rupees, mask form, which items you have, how much of each item you have, and quest status are all within 100 bytes of each other), and if I need anything else, I can search the memory for it. Extremely useful when I want a bottle of X and can't be bothered to go through the rigamarole of getting it the normal way.
Anyways, I think this is the sort of thing you're looking for, right?
Thanks for the explanation! I downloaded MHS (Memory Hacking Software right?) but I can only open processes. Is it possible to directly open the game's ROM? How can I edit the memory of the game if it's a file?
And yes, I hope that's what I'm searching for.
Things like infinite health are done by editing the games RAM, not ROM.
For example, say you want to give yourself infinite bombchus in Majora's Mask (a very useful thing to have). First, open MM in Mupen and open mupen's process in MHS. Now, get some chus, and note the number you have. Search the memory for any values that equal that number. Now use a chu, and sub search the list of values you just obtained for numbers that equal your new chu count. Repeat until you find the proper address. Now, set that address to some nonzero value, like 9 or something, and have MHS lock that address. Congrats, you now have infinite bomchus.
This works great for things like ammo and health, as well as enemy health, but things like inventory items, quest status stuff, and flags are harder to find. Still, checking for memory differences between the "have" and "don't have" states should yield the desired result.
Things like infinite health are done by editing the games RAM, not ROM.
For example, say you want to give yourself infinite bombchus in Majora's Mask (a very useful thing to have). First, open MM in Mupen and open mupen's process in MHS. Now, get some chus, and note the number you have. Search the memory for any values that equal that number. Now use a chu, and sub search the list of values you just obtained for numbers that equal your new chu count. Repeat until you find the proper address. Now, set that address to some nonzero value, like 9 or something, and have MHS lock that address. Congrats, you now have infinite bomchus.
This works great for things like ammo and health, as well as enemy health, but things like inventory items, quest status stuff, and flags are harder to find. Still, checking for memory differences between the "have" and "don't have" states should yield the desired result.
Hey, thanks for the help again. I'll try now. If I have any issue, I'll edit this post in case no one has posted after me.
EDIT: btw, that do you mean with "chus" and "chu"? I'm sorry, but could you dictate me the exact steps I should take in order to apply a single line of GS code for a game? Or maybe it's not possible to do so wiht this method? I'm quite lost.
EDIT: btw, that do you mean with "chus" and "chu"? I'm sorry, but could you dictate me the exact steps I should take in order to apply a single line of GS code for a game? I'm quite lost.
chu in this case is short for bombchu, the kind of bomb that runs around.