View Full Version : Cheat creation

25th January 2007, 12:13 PM
One of the new features added to Project64 makes it possible & easy to find new cheat codes for games. We use game shark cheats as the method. These work by constantly changing a location in memory with some value. For example, for infinite lives in Super Mario 64, the code is 8033B21D 0064. The first two numbers (80) tells the cheat system to constantly change 1 byte in memory. The next 6 numbers are the location in memory where this variable is stored. The rest of the numbers are the value to keep changing it to (64). This is actually 100 in decimal (64 hex). This will keep your lives at 100 no matter what happens. As you can see the most important thing to create new cheats is to know the memory location.
I am going to show you how to find this location above with the new tool; I have gotten in to the game. Open the memory search and searched for the number of lives I have, in this case 4. As you can see in this picture I get a lot of results.
http://www.pj64.net/main/images/stories/cheat_find/Pic1.jpg I know to get myself killed. I know to search the results to see what address now contains the value of 3. This is a lot less. I kill my self again and search for the value 2, as you can see we are down to 2 values left. I can right click on an address to be able to view it in memory.
http://www.pj64.net/main/images/stories/cheat_find/Pic2.jpg The memory viewer has a new great trick, it can now click on a memory location and an edit box appears and lets you change this memory address. I change the value to 8 and as you can see this has correctly changed the number of lives to 8 so we know that we have the correct address.
http://www.pj64.net/main/images/stories/cheat_find/Pic3.jpg You can see we have the exact same location as the cheat above. Of course, we already knew this code, but you can use this same method to do many things in many games :)

26th January 2007, 03:02 AM
That's pretty sweet! Congrats on this feature! ;D

I'd only ask if you could also search for values ( 1/-1) from what you're searching for, because in other games '4' lives can be represented by either a '5' or a '3'...

26th January 2007, 03:31 PM
In the unknown search above you can search for values that have stayed the same/changed/increased/decreased. I might go through that one at a latter stage.

29th January 2007, 03:59 PM
where can we download this thing or does it come with 1.7?

29th January 2007, 04:04 PM
This is part of the beta version, only registered members have access.

12th February 2007, 04:12 PM
;D ;D 8)pj64 is of the best

15th February 2007, 10:57 AM
Can you use it to modify actors in games like Legend of Zelda: Ocarina of Time?

5th April 2007, 02:47 AM
hi, where does it stand that Memory Viewer option?

i've beta 1.7 and can't find that!

5th April 2007, 10:21 AM
I got to look how to make this more accessable ..

To get to this:
Go to settings/Options - Unclick Hide advanced settings, Apply
Go to settings/Advanced - Turn on debugger

This will give you a new menu.
When the game is running you can see the option under debugger/memory

24th July 2007, 04:15 PM
ooo this is a feature i would actually really like , of course a decent guide on it would be needed because im not good at programming and hexadecimal - im more of a designer then a coder.

16th August 2007, 03:18 PM
Pretty good to know for some custom screenshots, or if someone happened to miss an addable cheat for something.

"the book zonde table [smilies] hauahauahau"

Yes, I know, the awesomeness. :D

Damn though, I was really waiting for one of those gibberish-writing/speaking dudes to spam here before saying that.

23rd August 2007, 12:46 AM
thanks for the tip about the debugger ;D

2nd September 2007, 09:11 AM
a muito legal mas como abaxa

27th January 2008, 01:59 AM
I'm a big fan of [pec] for playstation emulators, and actually influenced some of it's later features with my pestering. Most useful, the ability to add a range to a search manually (ever so much better than the old GS "hunt through everything to get to the desired range" method, since you can add multiple anges of interest to a single watch list. Definitely something I hope you'll be doing here as well ;)

In addition, for those who like to manipulate registers on the fly, it would be super cool to reserve a chunk of empty registers for codemakers to copy into. For example, say you want to smoothly increment a value in a register, though the game also keeps writing into it. If you are able to write your current value to the blank space you can reference it for your incrementation and avoid letting the game take over again.

A couple of potential uses that come to mind: button-controlled vertical movement in games that don't innately support "flying," and user- or situation-triggered camera movement. Of course, it's all dependent upon what the particular game is doing with it's registers, but once you have the functionality, more applications will become apparent.

You might even show off and add new math functions to the list of standard GS code options, though that might confuse us old folks who are set in our ways ;D.

5th July 2008, 04:10 PM
haha eu sou foda 8)