Post subject: Gameshark in Mupen64!
Joined: 10/10/2008
Posts: 5
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.
Former player
Joined: 12/1/2007
Posts: 425
Gameshark codes are not allowed in TASes.
Joined: 11/28/2004
Posts: 138
Maybe he just wants to mess around on his own? Not submit anything here.
The best time you have is the time you share with other people.
Joined: 10/10/2008
Posts: 5
I'm not doing Speedruns, but mostly Superplays. I'm not going for records, I usually only do demonstrations. Anyone who can help me out?
Mitjitsu
He/Him
Banned User, Experienced player (532)
Joined: 4/24/2006
Posts: 2997
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.
Player (58)
Joined: 7/7/2008
Posts: 872
Location: Utah
Are you thinking about publishing these "superplays" that your talking about? Cause I don't think it'll be accepted.
ventuz
He/Him
Player (123)
Joined: 10/4/2004
Posts: 940
I think gameshark only manages RAM, has nothing to do with ROM. (unless you track down where ROM modifies RAM with debugger or so)
Joined: 7/16/2006
Posts: 635
With a good Memory hacking software like MHS, you can make your own Gameshark codes.
Joined: 10/10/2008
Posts: 5
Captain Forehead wrote:
Are you thinking about publishing these "superplays" that your talking about? Cause I don't think it'll be accepted.
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.
petrie911 wrote:
With a good Memory hacking software like MHS, you can make your own Gameshark codes.
I know how to do GS codes; what I need is what I stated above.
Joined: 7/16/2006
Posts: 635
House wrote:
petrie911 wrote:
With a good Memory hacking software like MHS, you can make your own Gameshark codes.
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?
Joined: 10/10/2008
Posts: 5
petrie911 wrote:
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.
Joined: 7/16/2006
Posts: 635
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.
Joined: 10/10/2008
Posts: 5
petrie911 wrote:
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.
Joined: 7/26/2006
Posts: 1215
House wrote:
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.
MarbleousDave
He/Him
Player (12)
Joined: 9/12/2009
Posts: 1555
Using GameShark codes I use Project64, other emulators like 1964 and Nemu have such feature.
Experienced player (618)
Joined: 11/30/2008
Posts: 650
Location: a little city in the middle of nowhere
what if you want to record something?
Measure once. Cut twice.