(Outdated, for Cart hacking only) A Beginners Guide To Hacking Codes For No Mercy

D

Deleted User

Crowd Member
*Note: This was all taken word for word from another site. So no credit goes to me and if you see any words refering to "me" or "I", that is not me. This covers all of the basics and more, so people who don't know how to hack should read this.*

"Direct Credit for this guide goes to BiZaTcH & megahard. You can see our site @ www.megalee.com or www.nomercyrevolution.com (dif. layouts)"

This is done from my knowledge, and help for this guide goes really to this whole community, but specifically goatman and JHR I guess. If anything is wrong, please tell me. The only thing that is not right is the exact values for the make ropes feel like guard rails, I'll fix that when I post it onto my site. The last 4 or 5 guides are not done, and like half I don't know how to do, the other half I'll do later. If you could point me to a guide that explains any of them, I'd really appreciate it. This really covers EVERYTHING from start to finish, so all newbies should read this. I haven't really read over it, so some of it might not be complete, I don't remember....


The Very Basics

What you Need to Buy:
-Gameshark Pro Version 3.2
-Expansion Pack
-WWF No Mercy
-Nintendo 64 & Plugs (Plug it In)
-N64 Controller

Now, put the Gameshark with No Mercy attached to it into the Nintendo 64, and Turn the Power on. Go to Select Cheat Codes, and then Scroll all the way to the Top, and put in 'New Game'. Now, make the name of the Game 'WWF No Mercy'. Then after that, go into the game, and pick 'New Code'. Make the new code called 'Enable Code'. Make the Enable Code's CODE F103E360 2400. Now select Default ON, and then press Exit & Save. Now, the Enable Code should be Green (or Highlighted in yellow). Press the Start button, and then press Down Twice. Now Press 'A' to turn on the Code Generator, and the press Up twice. Press 'A'. This will start the game. Now you will be in the game. Press Start repeatedly to quickly get by the intro. Now, you can press the Gameshark Button at any time and you will bring up a Gameshark Options menu. Let's do that right now just so we can get a look around and see what everything is. Here is what you see:

Codes Are ON - States that the codes in which you typed in are on. ALWAYS leave this alone.
Code Generator - This leaves several options, and is how you find the addresses to make codes. The options are as follows:
-Known Value Search
-Unknown Value Search
-8 Bit Search
-16 Bit Search
Memory Editor - This shows all the Hexidecimal programming for the entire game. By changing values here, you will change the gameplay options.
View GFX Memory - This allows you to adjust the screen that you see, or to go back to the screen so that you can remember what you saw. This is seldomly used, but should be.
Return to Game - Returns to the Game.

Now that you have a basic feel for everything, we can begin to learn a little more difficult material.

Activators

Activators are extremely important parts to hacking codes, and are always found in certain types of Matches such as the HIAC or Table Match or even a Casket Match. Activators are the 'IF' parts of codes, in which are placed directly above the Code they activate, and always start out with a 'D' rather than an '8'. An 8 would be the 'THEN' part of the code. You can have as many activators on top of each other as you would like. This would read, "If....", "AND If....", "AND if...", "THEN". Now that I have completely confused you, I will introduce the Activators. There are two distinct types of activators. One of them is a lot much easier to understand and than the other. That easy one would be a 'button activator'. So this would be 'If you Press Z' and then you follow it with a 'then...' The Controller 1 Activators (Activators that Controller 1 Controls) all start out the same, as do the P2-P4 Activators. Then, they are followed by different ends, each giving a different Button to press. Here they are:


Here is an example of the code in use:
D... <-- When P1 Presses 'Z'
8.... <-- Then P1 Wins

Now, most of the time, I would say that Activators such as these are stupid. But, there are some exceptions of good times to use them. One is like 'When you Press Z you get Spacial'. Others in which can be used to greatly enhanced new matches are ones such as:
'When P1 is at this point'
'And when P1 Presses C^'
'P1 Begins to Climb the Cage'.
This will allow us to make the Barracade of the HIAC to act like that of a normal Cage Match.

The next type of activator is what I call a 'Game Oriented' activator. What it does is it says 'If Something Happens' 'Then Something Else Happens'. I'll use the example of the "When P1 Bleeds, P2 Wins". I won't make it vice versa simply for code making reasons. You need to have first found the value/addrsess of Player 1 bleeding. That would be: 80064880 2000. Now, we change it to a 16 Bit activator. It is now D1064880 2000. Next, we must find the Code for Auto Win P2. Specctremz has find this code, and so we will use it. That would be: 8015AF44 0001. So now, we have this code:

D1064880 2000 <--- If Player 1 Bleeds
8015AF44 0001 <--- Then Player 2 Wins


Terminology

NM - NM is the abbreviation of WWF No Mercy, the game in which we are going to be hacking.
WM2K - WM2K is the abbreviation for Wrestlemania 2000, the game made prior to No Mercy, by THQ. Much of the gameplay & values are similar between the two games.
Expansion Pack - An expansion pack is a red piece of equipment that can be bought at Best Buy, and it can be put into the front of the N64, thus replacing the previous Pack.
Gameshark - A game enhancing utility made by InterAct in which is used to Hack games.
Values -
Addresses - Places in the Memory of games. These are the numbers that start with 8 and are to the left on Memory Editor.
Decimal - The base 10 number system in which we use every day.
Hexidemical - A base 16 Number system, commonly abbreviated as Hex. The Number system used in the Memory of Games & for Hacking Codes.
Gameshark Button - A small button found on the Gameshark in which activates the Hacking options.
Memory Editor - The device implemented on the Gameshark to manually change the Values for various addresses in the game.
Code Generator - A device implemented on the Gameshark used to find Addresses.
Hacking - To alter the Memory of a Program (in this case it will be No Mercy).

8 Bit
8 Bit Codes always start off with '80'. An example would be as follows:

80068294 0083

When the computer reads these 8 bit codes, it only checks the last 2 digits in the second part of the code. We only put the two zeros down so that we do not get confused with 16 bit values. So the Computer is actually reading 80068294 as the address, and 83 as the value. The 00 is ignored, as stated above.

16 Bit
16 Bit codes always start off with '81'. An example would be as follows:

81068294 2784.

Contrary to 8 bit codes, 16 bit codes read the entire line of code in which you enter, thus saving space. However, there is one important rule to making a 16 bit code. That rule is that the very last number in a 16 bit code's address MUST be even. That means it can be any of the following: 0, 2, 4, 6, 8, A, C, or E.

Converting two 8 Bits to one 16 Bit
Converting 8 bits to 16 bits is simple, however it cannot be done with just ANY two 8 bits. The two 8 bits must be exactly two addresses apart. Here is a conversion.

80068294 0026
80068296 0028

Can be changed to the 16 bit code:

81068294 2628. Notice that the codes had to be exactly 2 addresses apart, and thus are both included. The 16 bit code actually says 'repeat this address again'. So you now see that the 28 is really at the addrses 80068296, and not 8006294, because it is in the back.

Understanding Hex

Hex is the language in which the Gameshark is programmed in. It is similar to decimal, but not the same. Decimal is a base ten number system, hex would be, I guess, a base 16 number system. It goes 1-9 as decimal would, but then it proceeds to go to A, B, C, D, E, F, and then 10. Here is a chart that illustrates both Hex and Decimal.

00, 01, 02, 03, 04, 05, 06, 07, 08, 09, 0A, 0B, 0C, 0D, 0E, 0F,
10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 1A, 1B, 1C, 1D, 1E, 1F,
20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 2A, 2B, 2C, 2D, 2E, 2F,
30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 3A, 3B, 3C, 3D, 3E, 3F,
40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 4A, 4B, 4C, 4D, 4E, 4F,
50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 5A, 5B, 5C, 5D, 5E, 5F,
60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 6A, 6B, 6C, 6D, 6E, 6F,
70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 7A, 7B, 7C, 7D, 7E, 7F,
80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 8A, 8B, 8C, 8D, 8E, 8F,
90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 9A, 9B, 9C, 9D, 9E, 9F,
A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, AA, AB, AC, AD, AE, AF
B0, B1, B2, B3, B4, B5, B6, B7, B8, B9, BA, BB, BC, BD, BE, BF
C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, CA, CB, CC, CD, CE, CF
D0, D1, D2, D3, D4, D5, D6, D7, D8, D9, DA, DB, DC, DD, DE, DF
E0, E1, E2, E3, E4, E5, E6, E7, E8, E9, EA, EB, EC, ED, EE, EF
F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, FA, FB, FC, FD, FE, FF
100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 10A, 10B, 10C, 10D, 10E, 10F,
110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 11A, 11B, 11C, 11D, 11E, 11F....

00, 01, 02, 03, 04, 05, 06, 07, 08, 09,
10, 11, 12, 13, 14, 15, 16, 17, 18, 19
20, 21, 22, 23, 24, 25, 26, 27, 28, 29
30, 31, 32, 33, 34, 35, 36, 37, 38, 39
40, 41, 42, 43, 44, 45, 46, 47, 48, 49
50, 51, 52, 53, 54, 55, 56, 57, 58, 59
60, 61, 62, 63, 64, 65, 66, 67, 68, 69
70, 71, 72, 73, 74, 75, 76, 77, 78, 79
80, 81, 82, 83, 84, 85, 86, 87, 88, 89
90, 91, 92, 93, 94, 95, 96, 97, 98, 99
100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
110, 111, 112, 113, 114, 115, 116, 117, 118, 119....


As you can clearly see, the Hex is dramatically longer than the Decimal. Basically what I mentioned earlier was that 10 in Hex is equal to 16 in Decimal.


Converting

It is important to be able to quickly convert Hex to Decimal. There is a Formalu that you can use to know how to convert. The Formula is . If you can't
do it with that Formula, there is a good alternative. On your computer, there is a Calculator, here is how to access it. Go to the Start Menu (bottom left hand corner), and click Programs, then Accessories, then Calculator. Select View in the Top Left, and then Select Scientific. Now, make sure the dot is in Dec. Type in a number, and then click the Circle next to Hex. The Hex of the Dec you typed in will be revealed. This also works vice versa.


Understanding Memory Editor
The Memory Editor shows all the programming gone into making No Mercy. When we hack codes, what we are really doing is altering the Memory Editor in order to exchange values or something of that nature. The picture below was borrowed from Goatman's site (with his permission of coarse) in order to help you understand the memory editor. First off, you have to understand the Addresses of everything.


Unknown Value Search
The Unknown Value search is how all the addresses for all the things that we have decided is worth altering is found.. It is what all the good hackers use to help everybody else, and is very important to be able to use, not to mention very easy to use. We will use it in this example to discover the value of making the Head value for Paramaters equal to 5. We can repeat this several times to find the Body, Legs, Arms, etc, but you have that to do for homework. I actually did this code because the old one didn't work correctly, so I feel really special now. Turn on Code Generator and the Enable Code, and then go into the Paramater section for your CAW. Set everything to 2, including Head. Now, highlight the Head part, and press the Gameshark button. Click Code Generator, and then Unknown Value Search. Tell it to Start the search. Now, return to the game, and then do not do anything. Press the Gameshark Button again, and say 'Equal to Last' - because we did not change anything. Next, go back to the game, and move the Head Value up to 3. Press the Gameshark button again, and select 'Greater than Last'. Now, return to the game, and reduce the Head Value back to 2. Press the Gameshark Button, and select 'Less than Last'. Then change the Head to 3 and press the Gameshark Button and select 'Greater than Last'. Return to the game, and do not change anything. Now press the Gameshark button once again, and Select 'Equal to Last'. You should be slowly narrowing in on the amount of possible Addresses left. Continue this process until you are at just one Value. Then, take note of that value. It should be 801F4F3C. Go to that address in the Memory Editor, and then return to the game. Change the Head to 5, and then take note of the change in the Value in the Memory Editor. It should be 0505. Now, put every value to as high as possible, except for the Head, which should go down to 1. Restart the Gameshark, and this time go to No Mercy, and make a New Code. Name it 'Max Head Strength'. Now, type in 801F4F3C 0505 for the code. Start the game with selected Codes on, and go to your CAW. Go to the Paramaters section, and then you should see you've cheated 4 extra points already. Press Start to save, you've just done a code!

Known Value Search
Known Value Searches are seldomly used in WWF No Mercy, however it is important to know how everything works. I used a Known Value Search for finding the Address for the Iron Man counting. Here is how. Turn on the Gameshark, with, of coarse, the Enable Code on, and then put turn on Code Generator. Next, select Iron Man Match, 1P vs 2P. After the match has started, Press the Gameshark Button. Go to Code Generator, and then Known Value Search. After that, put in Equal to 000. We did this because for Iron Man it says 0 falls in the bottom, so we KNOW that is the value found on the address at this time. Beat the guy up, however don't pin him yet. Push the Gameshark button once again, and put in Equal to 000 (again). This is to get rid of just a few really quick. Next, pin Player 2. It should increase the amount of Falls to 1. Now, press the Gameshark Button, and pick equal to 001. We know that the value at the unknown address CHANGED to 001 after we pinned him because it says 1 now for number of falls. Now pin him again, and pick Equal to 3. Pin again, and then pick equal to 4. Beat the guy up now, however do not pin him. Put in Equal to 4, again. Now you are aiming to get 2 results (for this specific one, because 2 addresses control the number that appears there). Well, just keep repeating the process until you are able to get to 2 results. These should read as follows:

80159ED0
8015A73B

This same process works whenever there are visible numbers involved, such as this, or the amount of people for the Royal Rumble. It is dramatically faster than an Unknown Value Search, thus should be used as often as possible.


Begginners Move Hacking

Move Hacking is incredibly easy if you know what you are doing. After learning this simple method, you can make a brand new move in approximately 10 minutes, sometimes less. First we have to understand what we are doing when 'hacking' moves. The answer is that we are taking a fraction of one move, and then cutting off the rest, and replacing it with a fraction of another move. Thus, a new move forms. So here is how to do it. I will give the example of the Body Press to Fire Thunder - A move that BEAST made, in which comes close to glitch free. The move replaces the Body Press to Front Slam. The code is below, with explanations.

D106B454 34C9 <--- Says it will Start as the Body Press to Front Slam (P1)
D106B456 0072 <--- Tells the exact point in the Move where the Splice will Occur (P1)
8106B460 00B9 <--- Tells that the new move will be the Fire Thunder (P1)
D106B454 34C9 <--- Says it will Start as the Body Press to Front Slam (P1)
D106B456 0072 <--- Tells the exact point in the Move where the Splice will Occur (P1)
8106B462 39A4 <--- Tells what frame the Fire Thunder Starts At (P1)
D106B514 34CA <--- Says it will Start as the Body Press to Front Slam (P2)
D106B516 0072 <--- Tells the exact point in the Move where the Splice will Occur (P2)
8106B520 00B9 <--- Tells that the new move will be the Fire Thunder (P2)
D106B514 34CA <--- Says it will Start as the Body Press to Front Slam (P2)
D106B516 0072 <--- Tells the exact point in the Move where the Splice will Occur (P2)
8106B522 559A <--- Tells where the new move will start at (P2)

Now, here is how he found those values. Go to the Body Press to Front Slam, and press the Gameshark Button right when he slaps the guy on his shoulder. You will be able to record 4 of the values for the code, all of them will be repeated once. Go to the address 8006B454. It should say 34C9. Take note of that Value. Now add 1 to it (remember, this is hex). The new number should be 34CA, which is the value for D006B514. Whenever you find the P1 Value for a move, note that the P2 value is always ONE higher. Next, Go To Address D006B456. If you pressed the Gameshark Button at the same time that Beast did when making this move, you should come up with 0072 as the value. That is ALWAYS the same as the Player 2 value for D006B516. So now we've found 2/3s of the move that we are going to hack. Right now we have:

8006B454 34C9 <--- First Value that we Looked up
8006B456 0072 <--- Second Value that we Looked up

8006B454 34C9 <--- Repeat of First Value that we Looked up
8006B456 0072 <--- Repeat of Second that we Looked up

8006B514 34CA <--- First Value that we Looked up PLUS 1
8006B516 0072 <--- Repeat of Second Value that we Looked up

8006B514 34CA <--- Repeat of First Value that we Looked up PLUS 1
8006B516 0072 <--- Repeat of Second Value that we Looked up

Now we only have a little bit more. What we do now is go to the Fire Thunder Driver. Press the Gameshark Button right as he is in the middle of being dropped onto his head (while he is in the air). Now, go to 8006B460. Take note that the value is 00B9. This same value will be found at 8006B520, so no need to go there, we'll just keep in mind that they will be the same. The next address to go to is 8006B462 - the next sequence of 4. The address should be 39A4. This is the first value that doesn't remain constant from P1 to P2. So we will have to go to P2's address, which is 8006B522. Once again, if you hit the Gameshark button at the correct time, the value here should read 559A. So just now, by pressing the Gameshark Button only once, you have discovered the following values, in which will complete the value finding (remember that even though Values are the same, the Addresses may not be):

8006B460 00B9 <--- First Value we Looked up in 2nd Paragraph

8006B462 39A4 <--- Second Move we Looked up in 2nd Paragraph

8006B520 00B9 <--- Repeat of First Value we Looked up in 2nd Paragraph

8006B522 559A <--- Third Value we Looked up in 2nd Paragraph

Now, we are at the final phase. Here is where we actually put the code into the gameshark. So, turn the Power off, and then Back on. Pick Select Codes, and then pick No Mercy. Go to 'New Code' at the top. We'll name this code Body Press to Fire Thunder. The Move order should ALWAYS look like this:

D106B454 34C9 <--- First Value that we Looked up
D106B456 0072 <--- Second Value that we Looked up
8106B460 00B9 <--- First Value we Looked up in 2nd Paragraph
D106B454 34C9 <--- Repeat of First Value that we Looked up
D106B456 0072 <--- Repeat of Second that we Looked up
8106B462 39A4 <--- Second Move we Looked up in 2nd Paragraph
D106B514 34CA <--- First Value that we Looked up PLUS 1
D106B516 0072 <--- Repeat of Second Value that we Looked up
8106B520 00B9 <--- Repeat of First Value we Looked up in 2nd Paragraph
D106B514 34CA <--- Repeat of First Value that we Looked up PLUS 1
D106B516 0072 <--- Repeat of Second Value that we Looked up
8106B522 559A <--- Third Value we Looked up in 2nd Paragraph

Note that the first 2 numbers of most of the moves changed. That is because the first 2 are always activators (so are 4+5, 7+8 & 10+11), and all the codes must be 16 bit codes. Well, after that you are done as far as this move goes. This same process should be applied whenever hacking new moves.

Cutting The Move
Occassionally, you will come across a move where the first move animation is longer than the second move animation, thus a huge glitch occurs at the end. This can easily be stopped. Let's say you have a beginning move that ends at 85, and then the move that you are replacing usually ends at 78. Well, the move will totally glitch for 13 frames unless you fix it by causing the move to stop at a certain frame. This frame would be usually be 78, unless it is under a special circumstance. Now, here is how you would do that:

D106B454 ???? <--- Specifies The Move (P1)
D106B456 0078 <--- If at Frame 78 (P1)
8115AF52 0000 <--- Move Stops (P1)
D106B514 ???? <--- Specifies the Move (P2)
D106B516 0078 <--- If at Frame 78 (P2)
8115B2AA 0000 <--- Move Stops (P2)


Running Moves

Moves Through Tables
Yes, it is awesome to make a move that goes through a Table, I know. Well, in this tutorial, I will explain how to do it.. We'll re-create The Jacknife Powerbomb through a Table right now. This is for any player to do it to P2, and the actual code is:
D106B514 37B0 <--- States that we will be using the Jacknife Powerbomb
D106B516 008A <--- States that the Table will break at THIS Point
D115B28A 0004 <--- States that the Table will break only when we are Outside (Never change this)
8115B28A 0060 <--- States that the Table will break when all this happens

Now here is how you do it. First, go to Create a Wrestler, and get to a move that you want to see go through the Table. Hit the Gameshark Button at the exact point where the Table should brake. Now, go to this address:

8016B514, and record the value (should be 37B0).

Now go to the address of D106B516, and record the value (if you hit it at the perfect time, according to this person, then it should be 008A). Those are the only 2 values that you will need to find. So that means that all you have to do is plug the values in:

D106B514 37B0 <--- First Value that we Looked up
D106B516 008A <--- Second Value that we Looked up
D115B28A 0004 <--- Remains Constant; says that the it breaks when we are outside
8115B28A 0060 <--- Remains Constant; says that the Table will break when all this happens

Now, to make this work for players 1, 3, and 4, it is the same way. They have these addresses:

P1
D106B454 37B0 <--- States that we will be using the Jacknife Powerbomb
D10GB456 008A <--- States that the Table will break at THIS Point
D115AF32 0004 <--- States that the Table will break only when we are Outside (Never change this)
8115AF32 0060 <--- States that the Table will break when all this happens

P3
D106B5D4 37B0 <--- States that we will be using the Jacknife Powerbomb
D106B5D6 008A <--- States that the Table will break at THIS Point
D115B5E2 0004 <--- States that the Table will break only when we are Outside (Never change this)
8115B5E2 0060 <--- States that the Table will break when all this happens

P4
D106B694 37B0 <--- States that we will be using the Jacknife Powerbomb
D106B696 008A <--- States that the Table will break at THIS Point
D115B93A 0004 <--- States that the Table will break only when we are Outside (Never change this)
8115B93A 0060 <--- States that the Table will break when all this happens

You will have to repeat the process for each of these to work, but it is still very simple. Just for a quick example, if you want it to be 'If Player 4 is outside, and another Player gives him the Jacknife Powerbomb, and it is at this point, Table Breaks', then you would want to simply go into Edit a Wrestler, and then go into Front Strong Grapple, Jacknife Powerbomb. Press the Gameshark Button when he is at the point where the table should break, and then go to the address of 8016B694, and record the value (should be 37B0), and then the next address, 8016B696 (should be 008A). As you can see, Player 2 has the same value as Player 4, and also the same value as Player 1 and Player 3. So by finding just one player's value, you can quickly convert it to the other players.

P1-P4 Action Modifying
This is one of the most important areas to be able to be well rounded in. That would be P1-P4 Action Modifying. It can change the effects of running into the ropes, climbing the cage, recieving an attack, and much more! For this demonstration, I will go over making the ropes feel like the guard rail. The final codes is:

Now here's how we do this. First, make P1 run into the guard rail, and press the gameshark button. Now go to the address 8006B454, and record the value. It should be 0000. Now, have P1 run into the ropes. Go to the same address of 8006B454. Now, again, record the value, which should be 0001. Well, now we are done in Memory Editor. We just plug it in with activators.

D106B454 0001 <--- If P1 Does Run into Rope Action
8106B454 0000 <--- P1 Does Run into Guard Rail Action

Now, we can plug it in for players 2-4 really easily because we know all of their Action Modifier Addresses as well. Observe:

D106B514 0001 <--- If P2 Does Run into Rope Action
8106B454 0000 <--- P2 Does Run into Guard Rail Action

D106B5D4 0001 <--- If P3 Does Run into Rope Action
8106B454 0000 <--- P3 Does Run into Guard Rail Action

D106B694 0001 <--- If P4 Does Run into Rope Action
8106B454 0000 <--- P4 Does Run into Guard Rail Action

Some Notes
When Unknown Value Searching, you usually want to try and stray away from using 'Different To' Searches. Instead, simply Assume that the value is Greater than if it is unknown (the Value that you are searching for). If you are unable to find an address, then try again with the Less than Search. You will cut your time nearly in half!

Types of Codes
Here are all the types of codes:

80 Default, used for "regular" 8-bit codes
88 Default AR Button, Used to activate the code by the AR Button
81 Used for 16-bit codes initiallizing all four quantity digits
89 Same as above, only the code will be activated by AR button
CC All CC codes are like CC000000 0000. This disables the Expansion Pak (if you have one).
D0 8-bit Equal To Activator", When the given address reaches the supplied value, activate the following code
D1 AR Pro 3.x ONLY, 16-bit Equal To Activator. Same as above, only the address needs all four digits to be equal to the supplied value
D2 8-bit Different To Activator. When the given address is different to the value on this code, activate the following code
D3 16-bit Different To Activator. When the given address is different to the value on this code, activate the following code
DD All DD codes are like DD000000 0000. This disables the Expansion Pak (if you have one).
DE AR 1.08+ ONLY, Tells the GameShark where the value "3C0880" is in the RAM. This type of code does not write a value to the given address
EE All EE codes are like EE000000 0000. This disables the Expansion Pak (if you have one).
F0 Tells the Action Replay what address is causing malfunction with it, and writes the supplied value to that address. This is in 8-bit mode
F1 Same as above, only this is 16-bit mode
50 AR Pro 3.x ONLY, Patch Code, to make a code string shorter. EG, You have five codes put together to give you "all weapons".
FF Sets the address in memory where it stores the codes that are currently on

There are 2 main types of lines in a code.
The first is a simple 8-bit code. This sets a particular address at 1 value.

So if we used the code 80167520 0022

this would make the address 80167520 ALWAYS 22. The 00 is there just to fill in space, it doesn't mean n e thing and it won't affect any part of the game.

We now have the address 80167520 in the memory editor and we see that not only does it have the value 22, but next to it is 33.

It would look like

80167520 | 22 33

Now we could use two seperate codes
80167520 0022
80167521 0033

but instead we "tie them together" to be
81167520 2233 (note the "1" after the

This just saves room in our codes, and without realising it you just learned the difference between 8-bit and 16-bit.

--------------------------------------------------------------------------------
The next type of code is called and "activator", so called because it activates the line beneath.
An activator always begins with a "D".
There are 3 main types of activator.

The first is an 8-bit activator which may look like
D0167100

The second is a 16-bit activator which may look like
D1167100

The third is an activator which isn't used very often. It is the "not equal to" activator. This activator is an 8-bit activator and is used to activate a code when it is not equal to a certain value.
It may look like this
D2167100

Here's a few examples to make this all a little clearer

You go to the Memory editor and you see the line
80167100 | 00 01 00 02 00 03 00 04

Now note that we will be using 16-bit activators.

Now see the 0001? Well the address for that value is 81167100.
Now see the 0002? The address for that is 81167102.

Now you go back to that address and you realise that some values have changed
Heres what it looks like

80167100 | 00 0A 00 0B 00 03 00 04
Well 0001 has now changed to 000A and the 0002 has changed to 000B.
This is a catastrophy, it's destroyed your life's work! (or sumthin)
"When" 81167102 = 000B we want 81167100 to still equal 0001.
So we use an activator:

D1167102 000B "When" 81167102 equals 000B
81167100 0001 "81167100 equals 0001"


There is also an address that it is used as an activator frequently. It is the address which sez which or what buttons are being pressed.
The address for it is:
D1057210 XXXX

Where it sez XXXX U have to specify which buttons are being pressed.

The values for each button are as follows:
C-Right 0001
C-Left 0002
C-Down 0004
C-Up 0008
R 0010
L 0020
D-Pad Right 0100
D-Pad Left 0200
D-Pad Down 0400
D-Pad Up 0800
Z 2000
B 4000
A 8000

So if you want Z to be pressed then the activator would be:
D1057210 2000
If you wanted C-Down to be the activator then it would be:
D1057210 0004

But now let's say that you wanted two buttons to be pressed, C-Down AND Z, then you would add them together:
D1057210 2004
 
Top