This document was written by: Tony Hedstrom t.hed@excite.com This document is actually a continuation of another document. In the first one, I explained how to make Super Nintendo (SNES) Pro Action Replay (PAR) codes using the "Exact Value Search" method. In this document, I will explain how to make SNES PAR codes using the "Comparitive Search" method. The two methods of finding codes are similar in some ways, but different enough to warrant making another document. It's best if you read the first document (part 1) before you read this one, but not absolutely necessary. You should use the "Comparitive Search" method whenever you don't know the exact value of what you are trying to make cheat codes for or when the "Exact Value Search" method doesn't work. Some examples would be- energy bar, health, internal clocks/timers, etc... Also, at the end of this document (if I remember to include it) I'm going to include some of my own personal tips on finding PAR codes. I never intended to have anyone else but myself read these, so do the best you can to understand them. To make PAR codes, you only need two things (three if you count your computer): 1) A SNES emulator called ZSNES. You should get the newest version you can find (version 0.991 is what I use in this example). You can get the latest version here: zophar.net 2) The ROM of the game you want to make codes for. I'm going to use the same game for an example as I used in the first document (Black Thorne) and I'm going to try and find the same code (infinite health) but this time we'll assume that we don't know the exact value of our health. Now, lets get going... 1) Run the ZSNES program. 2) Load the ROM you want codes for (in this case it's Black Thorne). 3) Start the game. Since we are assuming that we don't know the exact value of our health, all we know for sure now is that our health is at the max amount. 4) Now press the "Esc" button on your keyboard to pause the game and bring up the menu screen. 5) Click on the "Cheat" button, then click on "Search" 6) You now have to make a few decisions about what type of search you want. Number of Bytes: This number will usually be one or two bytes. In this case, we don't know what the amount of our health is, so we will make an educated guess and go with one byte (because the amount we're looking for (health) most likely will be less than 255). If the amount your looking for might be greater than 255, than choose 2 bytes, if it's greater than 65,535 then choose 3 bytes. You will hardly ever need to choose 4 bytes. An example of when you may need to choose 2 or 3 bytes is when you are searching for the amount of gold you have. The amount of gold/money you have can be 999,999 or higher in some games. Sometimes you will have to make your best guess at how many bytes you need. 7) The next decision you need to make is which Format to use. You have two choices: Dec or Hex. 98% of the time, you should choose Dec (Base 10). 8) Now we need to decide which search method to use. In this example, we're using the "Comparitive Search" method. 9) Now click on the "Start" button. 10) We now have 131,072 choices for our code. Lets see if we can narrow that number down a bit. Now lets return to the game (just like it says). To return to the game, all you do is press the "Esc" button a few times. 11) Now what we need to do is to somehow change the amount of health we have. That should be easy enough. Go find an enemy and let him shoot you once (but only once). Pause the game. We now know that our amount of health is less than it was before. 12) Press the "Esc" button again to get to the menu screen. 13) Click on the "Cheat" button, then click on "Search" 14) You now have to pick one of the 4 choices for what kind of search to do: Greater than (>), less than (<), equal to (=), or not equal to (!=). In this case, the new amount of health is less than the old amount, so we will pick "<" (less than). 15) Click on "Search". The number of choices has been narrowed down to 5,147. We still need to narrow it down some more. 16) Repeat steps 10 thru 15 until the number of choices has been narrowed down to 1 (or until the number won't go any lower). In this case, 2 choices is as low as you can get. 17) If you only have one choice left, then chances are pretty good that's the right one, but if you have more than one, you have to eliminate some of the choices thru the process of elimination. We have 2 choices left in this example, so we need to find out which one is right. To see the codes, click on the "View" button. 18) Lets try the first code (which is 7E007F). Select it and click on "Add". Before clicking on "Add", write down the "PValue" listed for the code (16). 19) Now you will need to pick a value for our code. Since we don't know what the value of our health is, we will have to use the "PValue" that we wrote down in the last step (which was 16). So then that's the number we will enter. One note about the value number... the number that you choose for the value, in some cases, isn't all that important. But other times, it's very important. As for this example, the number you use for the value in the health code, can be any number between 1 and 255. The reason why this is is because the PAR constantly replaces the original value with the new value that you entered. So if you choose a value of 1, then your health will always stay at 1 (in other words, infinite health!). 20) Next, you need to enter a brief description of what the cheat does (optional). 21) Next, you should write down the PAR code that is in the "PAR Code Equivalent" box. You should also write down a desciption of what you think the PAR code may do. It's a good idea to write the code down even before you know if it's the right code or not incase the emulator crashes, you'll know not to use that code again. 22) Now click on the "Add" button. The code will automatically be turned on. 23) Press the "Esc" button a few times to get back to the game and see if the code works. In this case, it didn't work, so it is a pretty safe bet that the other code is the right one (which is 7E0FC5). 24) If the code works, go back to the cheat menu and click on the "Save" button to save the code. If the code doesn't work, then either remove the code that didn't work (or toggle it off) and try the next code in the same way as before. I know it seems like there are a lot of steps in this example, but once you try it for the first time, you will see that it is really very easy to do. By going to my website (unless your already there), and going to the SNES section, you can see some of the codes that I made (over 100 I think) using this method. Here are some of my own personal tips on finding PAR codes. I never intended to have anyone else but myself read these, so do the best you can to understand them. I am constantly adding to this list. This is a collection of misc. tips on how to use the cheat part of ZSNES. Before looking for cheat codes in a game, look in the "options" menu of the game and see if you can adjust things like the number of lives, the number of continues, etc..., then use the cheat menu to find codes. This method will sometimes give you codes that will work with the GG (ie not "7E" type codes). I have found that it is usually better to use the "Compare" method instead of the "Exact Value" method to find codes. (> = greater than, < = less than.) "Jump" codes: These can be easy to find, but hard to get the right value for the code. To find a jump code, just pause the game with the character on the ground, then use the "comparative" cheat method. Go back to the game and pause the game while pressing the jump button (right after the character leaves the ground). Then go back to the cheat menu and search for a greater value (higher number). Then when he's back on the ground, search for a lesser value. It sometimes helps to do two pauses on the way up, and search for a higher number each time. Repeat as needed. "Time" codes: Many time codes are 2 bytes long. Sometimes, when you have a code that is 2 bytes (or 3 or 4), if you only use one of the bytes, you can get some very neat effects. The reason for this is because one of the bytes will be fixed by the PAR code, but the other part of the code can change. "Speed" codes: It is usually fairly easy to find speed codes for racing type games. I hope this document helps you out. Tony Hedstrom t.hed@excite.com