- Joined
- Feb 2, 2008
- Messages
- 2,571
- Trophies
- 1
- Age
- 31
- Location
- Australia
- Website
- www.holidaygamerz.zoomshare.com
- XP
- 185
- Country
<img src="http://img90.imageshack.us/img90/1254/mybannerglitterdf66d5a5fk2.gif" border="0" class="linked-image" />
<b><!--coloro:#FF0000--><span style="color:#FF0000"><!--/coloro--><!--sizeo:2--><span style="font-size:10pt;line-height:100%"><!--/sizeo-->Before Continuing on Down The Page, Read through these Rules<!--sizec--></span><!--/sizec--><!--colorc--></span><!--/colorc--></b>
<!--sizeo:2--><span style="font-size:10pt;line-height:100%"><!--/sizeo--><b>Coders And Helpers</b><!--sizec--></span><!--/sizec-->
Without the Help of <b>ElixirDream,</b> I would not be making this guide.. He taught me everything I know and will be assisting me in helping you guys out... Other members helping out include <b> Narin, Hehe Moo</b> and <b>polle123</b>. If you want to help out in this guide, give me a <b>PM</b> and I will make my mind up from that.
<!--sizeo:2--><span style="font-size:10pt;line-height:100%"><!--/sizeo--><b>Rules:</b><!--sizec--></span><!--/sizec-->
<b> Members will need to pay attention to these rules or otherwise I will delete the Guide temporarily until you can obey them.. This means everyone. Im being serious.</b>
<b>1</b>. This Thread is to be used in conjunction with Questions regarding How to Create Codes. It is also going to be used as a testing area for your codes. However, You shall not post any codes which you know do not work. You must post codes which you believe will work. This thread has nothing to do with The New Massive Cheat Compilation Thread. You must not post your codes there, knowing they do not work. You must post them here for testing first
<b>2.</b> Any questions which you believe will get you flamed or you are afraid of getting embarassed, Just PM myself, Narin, Elixir, Polle123 or Hehe Moo regarding these.
3. You must not hassle us on having private tutorials. If you are unable to get passed one step without getting help, Dont bother creating codes. This thread is only for those who are willing to learn and have the ability to.
<b>4.</b> Stupid questions and excess flaming will result in a temporary deletion of the guide, for 12 hours. I know this sounds harsh but you must learn to control yourselves.
<b>5.</b> No Requesting Ridiculous Codes for every game you want.. You are allowed a couple of requests but not too much.. Your requests will not be fulfilled if you have too many..
<!--sizeo:2--><span style="font-size:10pt;line-height:100%"><!--/sizeo--><b>Programs Needed and Starting Off..</b><!--sizec--></span><!--/sizec-->
<a href="http://www.mediafire.com/?zwd4aml4zyr" target="_blank">Download Link Here</a>
I am providing Emucheat, a program you need to create codes.
You will need to search for No$GBA 2.6A yourself.. There will be no requesting a link to this.. And no posting a link to it
<b>Steps to setting up your Emucheat</b>
<b>1.</b> Extract all files
<b>2.</b> Place the EMU folder on the main root of Emucheat, along with the other folders.
<b>3.</b> Make sure it looks like below
<img src="http://www.mediafire.com/imgbnc.php/4aaa43bad3a7ab6c4d1e76be2d3bafe95g.jpg" border="0" class="linked-image" />
<!--sizeo:4--><span style="font-size:14pt;line-height:100%"><!--/sizeo--><!--coloro:#FF0000--><span style="color:#FF0000"><!--/coloro--><b>Extras:</b>
8 bit = 1 bytes
16 bits = 2 bytes
32 bits = 4 bytes
Each byte coontains two nibbles or a half a hexdicimal
So
8 bits = 00
16 bits = 0000
32 bits is 00000000<!--colorc--></span><!--/colorc--><!--sizec--></span><!--/sizec-->
<!--coloro:#006400--><span style="color:#006400"><!--/coloro--><b><!--sizeo:2--><span style="font-size:10pt;line-height:100%"><!--/sizeo-->Understanding the Concept of Codes Even more...<!--sizec--></span><!--/sizec--></b>
The idea when to use 0 , 1 , 2 is pretty straight forward....
Y - Address, X - Value
1-2 digit value will always be 8 bit - use 2 infront - 22YYYYYY 000000XX
3-4 digit value will always be 16 bit - use 1 infront - 12YYYYYY 0000XXXX
5-8 digit value will always be 32 bit - use 0 infront - 02YYYYYY XXXXXXXX<!--colorc--></span><!--/colorc-->
Im afraid if you dont understand this, you will only be able to create basic codes..
<!--sizeo:2--><span style="font-size:10pt;line-height:100%"><!--/sizeo-->
VERY IMPORTANT INFORMATION.. PLEASE READ!!
<b>
The Beginning of Creating Codes - Ninjatown Money Code</b><!--sizec--></span><!--/sizec-->
1. Open up a rom of "Ninjatown" with No$GBA 2.6A.
2. Open up Emucheat, And click on the tab (Emulator Select) at the bottom and select No$GBA.
<img src="http://www.mediafire.com/imgbnc.php/665c680b78c5dace46fc15a609cecab14g.jpg" border="0" class="linked-image" />
3. Next, go to "Search" and on Search Type select 32bit
<img src="http://www.mediafire.com/imgbnc.php/3501df859066d063c5eb41e27b443bec4g.jpg" border="0" class="linked-image" />
4. Get into your game of Ninjatown. (Be aware some pics and buttons to not show up on the glitchy No$GBA [Also Press Enter to skip Intro]) Your money should be 140
5. Type 140 in the target box and click on the bincoluars. There should be around 5000 Addresses
6. Next Buy a Wee Ninja Hut which costs you 40 cookies. Type 100 in the Target box and press on binoculars. There should be around 2 addresses. If not, continue updating building and typing in money amount left until you get 1-3 addresses.
7. Double Click on First code. Type 9999 in the value DEX box. You will notice the Value HEX is 270F.
8. In Desc. Box, Type in Money or something similar. Untick the Locked box.
9. Click OK.
10. Go to Table, and you will see your address. This is basically the code, you just have to piece it together.
11. You have to put 12 in front of the first part of the code, so it should look similar to this:
12211F74
12. The next part of the code is the 270F. So you have to put 0000 in front of this to add up to eight digits.
13. Your code should look like this: 12211F74 0000270F
Testing Your code
Go back into No$GBA 2.6A and go here
<img src="http://img444.imageshack.us/img444/1183/nogbacheatsiconlt8.jpg" border="0" class="linked-image" />
Go Add New, add your code along with the title, click on Action Replay, and ok.. Next double click on the tick box and go ok.. See if your code works
Although, Some codes require an activator.. I will talk about these below..
<b>
Activators and Codes</b>
To acquire an activator for your code, Its very simple.. Just go to R4CCE08. Add your code and at the bottom of the window should be a whole lot of numbers and boxes e.g STA SEL etc.. Picture Provided below
<img src="http://img243.imageshack.us/img243/9930/activatorsgj8.jpg" border="0" class="linked-image" />
All you have to do is click on one and Then Add..
An Offset is often needed but I will talk about this later
<b>
<!--sizeo:2--><span style="font-size:10pt;line-height:100%"><!--/sizeo-->Other Coding Methods<!--sizec--></span><!--/sizec--></b>
<a href="http://www.youtube.com/watch?v=v7ncoUAkaBw" target="_blank">http://www.youtube.com/watch?v=v7ncoUAkaBw</a>
<a href="http://www.youtube.com/watch?v=038ETKmT8qE" target="_blank">http://www.youtube.com/watch?v=038ETKmT8qE</a>
<a href="http://www.youtube.com/watch?v=zAS97DiCVJg" target="_blank">http://www.youtube.com/watch?v=zAS97DiCVJg</a>
<u><b>Some Useful Info on Code Types..</b></u>
Thanks to Hehe Moo for this second example
<b>Another example - Ninjatown Infinite Lives/Hearts Code</b>
1. Open up a rom of Ninjatown on No$gba Emulator 2.6a.
2. Open up EmuCheat, and click on the Emulator Select tab at the bottom. Click on No$gba Emulator 2.6a.
3. Click on "Search" at the top of EmuCheat, and click leave the "Search Type" as 8bit.
4. Start a new game of Ninjatown, and build a Wee Ninja Hut.
5. It will ask you to upgrade the building, so after upgrading, destroy the hut. This ensures that your ninjas do not attack the Devils. You want the devils to escape.
6. Click on the fast forward icon on the Emulator, and click "Pause Emulator" on EmuCheat.
7. Type "10" into the search box on EmuCheat, see how many results you receive. There should be thousands of results.
8. Click "Run Emulator", and your Emulator will continue. One of the Devils will eventually escape. As soon as it does, click "Pause Emulator".
9. Enter the new number of Lives, that is, 9.
10. You should receive about 4 results. Double click on the first one. Type 9999 in the value DEX box. The HEX value becomes 270F.
11. The the Desc. Box, type in "Infinite Lives/Hearts", or whatever you would like it to be called.
12. Untick the Locked box, click OK, and click on "Table".
13. This brings you to another page, and now you can piece together your code.
14. Click on Utility, type in the first part, with "02" at the start.
15. Hit the spacebar, and type 270F, with "0000" at the start to sum up to 8 digits.
16. After clicking on the words "Action Replay DS" and OK, double click on your cheat and it should become ticked.
17. Click OK.
18. Your cheat is complete. You should now have infinite lives.
<u><b>A Tougher Example</b></u>
<!--sizeo:2--><span style="font-size:10pt;line-height:100%"><!--/sizeo--><b>
<!--coloro:#FF0000--><span style="color:#FF0000"><!--/coloro-->Coming Soon<!--colorc--></span><!--/colorc--></b><!--sizec--></span><!--/sizec-->
Offsets
Pointers (maybe <img src="style_emoticons/<#EMO_DIR#>/smile.gif" style="vertical-align:middle" emoid="" border="0" alt="smile.gif" /> )
<!--coloro:#FF0000--><span style="color:#FF0000"><!--/coloro-->
<b>NOTE:</b> Information will be added often, so keep looking back..<!--colorc--></span><!--/colorc-->
<b><!--sizeo:5--><span style="font-size:18pt;line-height:100%"><!--/sizeo-->NEW:<!--sizec--></span><!--/sizec--></b>
<!--coloro:#FF0000--><span style="color:#FF0000"><!--/coloro-->
<!--sizeo:3--><span style="font-size:12pt;line-height:100%"><!--/sizeo--><b>Enchanted Folk and the School of Wizardry (E)<!--sizec--></span><!--/sizec-->
Speed Modifying Code Tutorial</b>
1. Open no$gba and select Enchanted Folk. Also open up EmuCheat and click the tab at the bottom and link it to no$gba.
2. Click on Options>Controls Setup and make the key B into a key close to the arrow keys on the keyboard. This will be explained later.
3. Click the Search tab on EmuCheat and we can now begin making the code.
4. First, walk right using your left hand, then use your right hand to click Pause Emulator on EmuCheat. Make sure your character is paused while he's walking, or this won't work.
5. Type ? into the Target box, and press enter.
6. Now unpause the emulator, but keep walking. Now pause it again, while the character's still walking, and type = into the Target box.
7. Unpause, and hold B while walking to run. Do both of these with the same hand, and click Pause with the other hand while the character is running. Make sure you character is paused while running, or this won't work
8. Now type ! into the Target box. This finds any values that have changed since the last time you pressed Enter.
9. Unpause the game, and go back to walking rather than running. Pause, and type ! into the Target box.
10. Keep repeating the above steps until you only have about 6-8 results. From there, start testing every code in this format:
XXXXXXXX 00000014 <------ X = the code, 00000014 = the speed you want. (for those who understand hexadecimal, 14 = 20)
When you've found the correct code, your character will move at an uncontrollable speed. You might even fly through the wall, so this is the best way to find out whether the code works. Now just lower the speed of the code somewhere between 7-9.
The code should be: 2236A485 00000007
However, there's a chance that you could find a better code than this one; post it up and let us try it out.
Also, try the above code outdoors; it doesn't work. So repeat all the above steps while you're outside to make a new code, one for indoors and one for outdoors.
Happy Cheating!
- Hehe Moo.<!--colorc--></span><!--/colorc-->
<b>ANOTHER EXAMPLE - POINTER</b>
<!--coloro:#000080--><span style="color:#000080"><!--/coloro-->Here is a pointer example. The game that we will be using for this example will be Giana Sisters DS. What we will be doing here is that we will fill the "Red Crystals" that we currently have, to their total ( the total crystals address), without overfilling. Of course we could just find the current crystals address and input 999, but that would look weird (999/3 etc.).
First off, we will need to; find the addresses of the current and total crystals. Open up EMUCheat or whatever you use.
For the current address, you can simply input the number of crystals you currently have collected, and then collect more and search again etc. for example; if you have 1 crystal, search 1, when you get another, search 2, and so on, until you only get a few addresses, and then test them. If you did it correctly, you should have come up with (02)0A3012. For the total, you can just get onto a level, search the total number of crystals you need (3 etc.), jump onto another level with a higher or lower total (2 etc.) and search that, and then repeat until you get a few addresses. Alternatively, you could have just looked at the addresses when you were looking for the current crystals variable, and just changed one of them to change the total variable (which means they are right beside each other in memory). You should have came up with (02)0A3010.
Now that we've found those, we will start to build the code.
We need to set the offset value to our total crystals address, which means we will use the D3 code type. This will set the total crystals address as the internal "pointer" register.
D3000000 XXXXXXXX , XX being the address.
Next, we will need to copy memory (bytes), using the 0F code type, which works in conjunction with the code types (D3, DC or B) to set the offset beforehand. Doing this will copy the bytes specified, from the internal pointer register (0A3010 or the first line), to our current crystals address (0A3012).
FXXXXXXX YYYYYYYY , XX being the address (current crystals), and YY being the number of bytes to copy. We'll do only 1 byte, so 00000001.
And then, we finish off with the terminator D2000000 00000000, which clears AR's internal registers. If you followed correctly, the code should be:
D3000000 020A3010
F20A3012 00000001
D2000000 00000000
This means that it will copy only the total to the current variable, no more, no less. Test that out on hardware. Remember that no$gba isn't a proper AR, so it will not work there (will bring up a ?)
-anandjones
<!--colorc--></span><!--/colorc-->
<a href='irc://irc.gbatemp.net:5190/NDSCheats'>#NDSCheats</a>
<b><!--coloro:#FF0000--><span style="color:#FF0000"><!--/coloro--><!--sizeo:2--><span style="font-size:10pt;line-height:100%"><!--/sizeo-->Before Continuing on Down The Page, Read through these Rules<!--sizec--></span><!--/sizec--><!--colorc--></span><!--/colorc--></b>
<!--sizeo:2--><span style="font-size:10pt;line-height:100%"><!--/sizeo--><b>Coders And Helpers</b><!--sizec--></span><!--/sizec-->
Without the Help of <b>ElixirDream,</b> I would not be making this guide.. He taught me everything I know and will be assisting me in helping you guys out... Other members helping out include <b> Narin, Hehe Moo</b> and <b>polle123</b>. If you want to help out in this guide, give me a <b>PM</b> and I will make my mind up from that.
<!--sizeo:2--><span style="font-size:10pt;line-height:100%"><!--/sizeo--><b>Rules:</b><!--sizec--></span><!--/sizec-->
<b> Members will need to pay attention to these rules or otherwise I will delete the Guide temporarily until you can obey them.. This means everyone. Im being serious.</b>
<b>1</b>. This Thread is to be used in conjunction with Questions regarding How to Create Codes. It is also going to be used as a testing area for your codes. However, You shall not post any codes which you know do not work. You must post codes which you believe will work. This thread has nothing to do with The New Massive Cheat Compilation Thread. You must not post your codes there, knowing they do not work. You must post them here for testing first
<b>2.</b> Any questions which you believe will get you flamed or you are afraid of getting embarassed, Just PM myself, Narin, Elixir, Polle123 or Hehe Moo regarding these.
3. You must not hassle us on having private tutorials. If you are unable to get passed one step without getting help, Dont bother creating codes. This thread is only for those who are willing to learn and have the ability to.
<b>4.</b> Stupid questions and excess flaming will result in a temporary deletion of the guide, for 12 hours. I know this sounds harsh but you must learn to control yourselves.
<b>5.</b> No Requesting Ridiculous Codes for every game you want.. You are allowed a couple of requests but not too much.. Your requests will not be fulfilled if you have too many..
<!--sizeo:2--><span style="font-size:10pt;line-height:100%"><!--/sizeo--><b>Programs Needed and Starting Off..</b><!--sizec--></span><!--/sizec-->
<a href="http://www.mediafire.com/?zwd4aml4zyr" target="_blank">Download Link Here</a>
I am providing Emucheat, a program you need to create codes.
You will need to search for No$GBA 2.6A yourself.. There will be no requesting a link to this.. And no posting a link to it
<b>Steps to setting up your Emucheat</b>
<b>1.</b> Extract all files
<b>2.</b> Place the EMU folder on the main root of Emucheat, along with the other folders.
<b>3.</b> Make sure it looks like below
<img src="http://www.mediafire.com/imgbnc.php/4aaa43bad3a7ab6c4d1e76be2d3bafe95g.jpg" border="0" class="linked-image" />
<!--sizeo:4--><span style="font-size:14pt;line-height:100%"><!--/sizeo--><!--coloro:#FF0000--><span style="color:#FF0000"><!--/coloro--><b>Extras:</b>
8 bit = 1 bytes
16 bits = 2 bytes
32 bits = 4 bytes
Each byte coontains two nibbles or a half a hexdicimal
So
8 bits = 00
16 bits = 0000
32 bits is 00000000<!--colorc--></span><!--/colorc--><!--sizec--></span><!--/sizec-->
<!--coloro:#006400--><span style="color:#006400"><!--/coloro--><b><!--sizeo:2--><span style="font-size:10pt;line-height:100%"><!--/sizeo-->Understanding the Concept of Codes Even more...<!--sizec--></span><!--/sizec--></b>
The idea when to use 0 , 1 , 2 is pretty straight forward....
Y - Address, X - Value
1-2 digit value will always be 8 bit - use 2 infront - 22YYYYYY 000000XX
3-4 digit value will always be 16 bit - use 1 infront - 12YYYYYY 0000XXXX
5-8 digit value will always be 32 bit - use 0 infront - 02YYYYYY XXXXXXXX<!--colorc--></span><!--/colorc-->
Im afraid if you dont understand this, you will only be able to create basic codes..
<!--sizeo:2--><span style="font-size:10pt;line-height:100%"><!--/sizeo-->
VERY IMPORTANT INFORMATION.. PLEASE READ!!
<!--QuoteBegin-Polle+--><div class='quotetop'>QUOTE(Polle)</div><div class='quotemain'><!--QuoteEBegin-->info on using the math symbols (verry easy)
Ok first you must understand how finding adresses works:
say you would type in the number "15" for example
emucheat looks trough the ENTIRE memory to find all adresses that have a value of "15" and stores those adresses
if you would after that look for the number "89" for example
emucheat would look trough ONLY THE STORED adresses (the ones that where "15" at your first scan) to find all andresses that now have a value of "89"
this is VERRY IMPORATANT to understand when making codes
when using the math symbols u have to start with a know value or with the math symbol "?"
the math symbol "?" looks for "A value" so if you start with the math symbol "?" emucheat will store EVERY adress
the math symbol "!" looks through the STORED adresses and returns every adress of witch the value has CHANGED since your last scan
the math symbol "=" looks through the STORED adresses and returns every adress of witch the value has NOT CHANGED (remained the same) since your last scan
the math symbol "+" (or ">") looks through the STORED adresses and returns every adress of witch the value has increased since your last scan
the math symbol "-" (or "<") looks through the STORED adresses and returns every adress of witch the value has decreased since your last scan
as you see the math symbols are used when you do not know the value of the adress you 'r searching (like a health/magick bar)
I hope that was clear enough tongue.gif (if not just awsk)
EDIT: forgot to mention: I' have encountered negative value's before and they have wierd effect on the symbols wich SOMETIMES makes them work the other way around, but you won't encounter those verry mutch)<!--QuoteEnd--></div><!--QuoteEEnd-->
Ok first you must understand how finding adresses works:
say you would type in the number "15" for example
emucheat looks trough the ENTIRE memory to find all adresses that have a value of "15" and stores those adresses
if you would after that look for the number "89" for example
emucheat would look trough ONLY THE STORED adresses (the ones that where "15" at your first scan) to find all andresses that now have a value of "89"
this is VERRY IMPORATANT to understand when making codes
when using the math symbols u have to start with a know value or with the math symbol "?"
the math symbol "?" looks for "A value" so if you start with the math symbol "?" emucheat will store EVERY adress
the math symbol "!" looks through the STORED adresses and returns every adress of witch the value has CHANGED since your last scan
the math symbol "=" looks through the STORED adresses and returns every adress of witch the value has NOT CHANGED (remained the same) since your last scan
the math symbol "+" (or ">") looks through the STORED adresses and returns every adress of witch the value has increased since your last scan
the math symbol "-" (or "<") looks through the STORED adresses and returns every adress of witch the value has decreased since your last scan
as you see the math symbols are used when you do not know the value of the adress you 'r searching (like a health/magick bar)
I hope that was clear enough tongue.gif (if not just awsk)
EDIT: forgot to mention: I' have encountered negative value's before and they have wierd effect on the symbols wich SOMETIMES makes them work the other way around, but you won't encounter those verry mutch)<!--QuoteEnd--></div><!--QuoteEEnd-->
<b>
The Beginning of Creating Codes - Ninjatown Money Code</b><!--sizec--></span><!--/sizec-->
1. Open up a rom of "Ninjatown" with No$GBA 2.6A.
2. Open up Emucheat, And click on the tab (Emulator Select) at the bottom and select No$GBA.
<img src="http://www.mediafire.com/imgbnc.php/665c680b78c5dace46fc15a609cecab14g.jpg" border="0" class="linked-image" />
3. Next, go to "Search" and on Search Type select 32bit
<img src="http://www.mediafire.com/imgbnc.php/3501df859066d063c5eb41e27b443bec4g.jpg" border="0" class="linked-image" />
4. Get into your game of Ninjatown. (Be aware some pics and buttons to not show up on the glitchy No$GBA [Also Press Enter to skip Intro]) Your money should be 140
5. Type 140 in the target box and click on the bincoluars. There should be around 5000 Addresses
6. Next Buy a Wee Ninja Hut which costs you 40 cookies. Type 100 in the Target box and press on binoculars. There should be around 2 addresses. If not, continue updating building and typing in money amount left until you get 1-3 addresses.
7. Double Click on First code. Type 9999 in the value DEX box. You will notice the Value HEX is 270F.
8. In Desc. Box, Type in Money or something similar. Untick the Locked box.
9. Click OK.
10. Go to Table, and you will see your address. This is basically the code, you just have to piece it together.
11. You have to put 12 in front of the first part of the code, so it should look similar to this:
12211F74
12. The next part of the code is the 270F. So you have to put 0000 in front of this to add up to eight digits.
13. Your code should look like this: 12211F74 0000270F
Testing Your code
Go back into No$GBA 2.6A and go here
<img src="http://img444.imageshack.us/img444/1183/nogbacheatsiconlt8.jpg" border="0" class="linked-image" />
Go Add New, add your code along with the title, click on Action Replay, and ok.. Next double click on the tick box and go ok.. See if your code works
Although, Some codes require an activator.. I will talk about these below..
<b>
Activators and Codes</b>
To acquire an activator for your code, Its very simple.. Just go to R4CCE08. Add your code and at the bottom of the window should be a whole lot of numbers and boxes e.g STA SEL etc.. Picture Provided below
<img src="http://img243.imageshack.us/img243/9930/activatorsgj8.jpg" border="0" class="linked-image" />
All you have to do is click on one and Then Add..
An Offset is often needed but I will talk about this later
<b>
<!--sizeo:2--><span style="font-size:10pt;line-height:100%"><!--/sizeo-->Other Coding Methods<!--sizec--></span><!--/sizec--></b>
<a href="http://www.youtube.com/watch?v=v7ncoUAkaBw" target="_blank">http://www.youtube.com/watch?v=v7ncoUAkaBw</a>
<a href="http://www.youtube.com/watch?v=038ETKmT8qE" target="_blank">http://www.youtube.com/watch?v=038ETKmT8qE</a>
<a href="http://www.youtube.com/watch?v=zAS97DiCVJg" target="_blank">http://www.youtube.com/watch?v=zAS97DiCVJg</a>
<u><b>Some Useful Info on Code Types..</b></u>
0XXXXXXX YYYYYYYY
32bit write of YYYYYYYY to location:
(xxxxxxx + ‘offset’)
1XXXXXXX ????YYYY
16bit write of YYYY to location:
(XXXXXX + ‘offset’)
2XXXXXXX ??????YY
8bit write of YY to location:
(XXXXXXX + ‘offset’)
3XXXXXXX YYYYYYYY
32bit ‘If less-than’ instruction.
If the value at (XXXXXXX or ‘offset’ when address is 0) < YYYYYYYY then execute the following block of instructions.
Conditional instructions can be nested.
4XXXXXXX YYYYYYYY
32bit ‘If greater-than’ instruction.
If the value at (XXXXXXX or ‘offset’ when address is 0) > YYYYYYYY then execute the following block of instructions.
Conditional instructions can be nested.
5XXXXXXX YYYYYYYY
32bit ‘If equal’ instruction.
If the value at (XXXXXXX or ‘offset’ when address is 0) == YYYYYYYY then execute the following block of instructions.
Conditional instructions can be nested.
6XXXXXXX YYYYYYYY
32bit ‘If not equal’ instruction.
If the value at (XXXXXXX or ‘offset’ when address is 0) != YYYYYYYY then execute the following block of instructions.
Conditional instructions can be nested.
7XXXXXXX ZZZZYYYY
16bit ‘If less-than’ instruction.
If the value at (XXXXXXX or ‘offset’ when address is 0) masked by ZZZZ < YYYY then execute the following block of instructions.
Conditional instructions can be nested.
8XXXXXXX ZZZZYYYY
16bit ‘If greater-than’ instruction.
If the value at (XXXXXXX or ‘offset’ when address is 0) masked by ZZZZ > YYYY then execute the following block of instructions.
Conditional instructions can be nested.
9XXXXXXX ZZZZYYYY
16bit ‘If equal’ instruction.
If the value at (XXXXXXX or ‘offset’ when address is 0) masked by ZZZZ == YYYY then execute the following block of instructions.
Conditional instructions can be nested.
AXXXXXXX ZZZZYYYY
16bit ‘If not equal’ instruction.
If the value at (XXXXXXX or ‘offset’ when address is 0) masked by ZZZZ != YYYY then execute the following block of instructions.
Conditional instructions can be nested.
BXXXXXXX ????????
Load offset register.
Loads the offset register with the data at address (XXXXXXX + ‘offset’)
Used to perform pointer relative operations.
C??????? NNNNNNNN
Repeat operation.
Repeats a block of codes for NNNNNNNN times. The block can include conditional instructions.
Repeats blocks cannot contain further repeats.
D0?????? ????????
End-if instruction.
Ends the most recent conditional block.
D1?????? ????????
End-repeat instruction.
Ends the current repeat block. Also implicitly ends any conditional instructions inside the repeat block.
D2?????? ????????
End-code instruction.
Ends the current repeat block (if any), then End-if's any further outstanding conditional statements.
Also sets ‘offset’ and ‘stored’ to zero.
D3?????? YYYYYYYY
Set offset register.
Loads the offset register with the value YYYYYYYY.
D4?????? YYYYYYYY
Add to ‘stored’.
Adds YYYYYYYY to the ‘stored’ register.
d5?????? YYYYYYYY
Set ‘stored’.
Loads the value YYYYYYYY into the ‘stored’ register.
D6?????? XXXXXXXX
32bit store and increment.
Saves all 32 bits of ‘stored’ register to address (XXXXXXXX + ‘offset’). Post-increments ‘offset’ by 4.
D7?????? XXXXXXXX
16bit store and increment.
Saves bottom 16 bits of ‘stored’ register to address (XXXXXXXX + ‘offset’). Post-increments ‘offset’ by 2.
D8?????? XXXXXXXX
8bit store and increment.
Saves bottom 8 bits of ‘stored’ register to address (XXXXXXXX + ‘offset’). Post-increments ‘offset’ by 1.
D9?????? XXXXXXXX
32bit load "stored" from address.
Loads ‘stored’ with the 32bit value at address (XXXXXXXX + ‘offset’)
DA?????? XXXXXXXX
16bit load ‘stored’ from address.
Loads ‘stored’ with the 16bit value at address (XXXXXXXX + ‘offset’)
DB?????? XXXXXXXX
8bit load "stored" from address.
Loads ‘stored’ with the 8bit value at address (XXXXXXXX + ‘offset’)
EXXXXXXX NNNNNNNN VVVVVVVV VVVVVVVV * ((NNNNNNNN+7)/8)
Direct memory write.
Writes NNNNNNNN bytes from the list of values VVVVVVVV to the addresses starting at (XXXXXXX + ‘offset’)
FXXXXXXX NNNNNNNN
Memory copy.
Copies NNNNNNNN bytes from addresses starting at the ‘offset’ register to addresses starting at XXXXXXXX.
Dc000000: //0xdcxxxxxx : Add a value onto offset register
C4000000: //Load offset register with address of the current position in the codelist (can self modify)
C5000000: //Every x frames code.. c5000000 mmmmnnnn //If ((frame_count & nnnn)==mmmm) then..
C6000000: //c6000000 : Store offset register to address
32bit write of YYYYYYYY to location:
(xxxxxxx + ‘offset’)
1XXXXXXX ????YYYY
16bit write of YYYY to location:
(XXXXXX + ‘offset’)
2XXXXXXX ??????YY
8bit write of YY to location:
(XXXXXXX + ‘offset’)
3XXXXXXX YYYYYYYY
32bit ‘If less-than’ instruction.
If the value at (XXXXXXX or ‘offset’ when address is 0) < YYYYYYYY then execute the following block of instructions.
Conditional instructions can be nested.
4XXXXXXX YYYYYYYY
32bit ‘If greater-than’ instruction.
If the value at (XXXXXXX or ‘offset’ when address is 0) > YYYYYYYY then execute the following block of instructions.
Conditional instructions can be nested.
5XXXXXXX YYYYYYYY
32bit ‘If equal’ instruction.
If the value at (XXXXXXX or ‘offset’ when address is 0) == YYYYYYYY then execute the following block of instructions.
Conditional instructions can be nested.
6XXXXXXX YYYYYYYY
32bit ‘If not equal’ instruction.
If the value at (XXXXXXX or ‘offset’ when address is 0) != YYYYYYYY then execute the following block of instructions.
Conditional instructions can be nested.
7XXXXXXX ZZZZYYYY
16bit ‘If less-than’ instruction.
If the value at (XXXXXXX or ‘offset’ when address is 0) masked by ZZZZ < YYYY then execute the following block of instructions.
Conditional instructions can be nested.
8XXXXXXX ZZZZYYYY
16bit ‘If greater-than’ instruction.
If the value at (XXXXXXX or ‘offset’ when address is 0) masked by ZZZZ > YYYY then execute the following block of instructions.
Conditional instructions can be nested.
9XXXXXXX ZZZZYYYY
16bit ‘If equal’ instruction.
If the value at (XXXXXXX or ‘offset’ when address is 0) masked by ZZZZ == YYYY then execute the following block of instructions.
Conditional instructions can be nested.
AXXXXXXX ZZZZYYYY
16bit ‘If not equal’ instruction.
If the value at (XXXXXXX or ‘offset’ when address is 0) masked by ZZZZ != YYYY then execute the following block of instructions.
Conditional instructions can be nested.
BXXXXXXX ????????
Load offset register.
Loads the offset register with the data at address (XXXXXXX + ‘offset’)
Used to perform pointer relative operations.
C??????? NNNNNNNN
Repeat operation.
Repeats a block of codes for NNNNNNNN times. The block can include conditional instructions.
Repeats blocks cannot contain further repeats.
D0?????? ????????
End-if instruction.
Ends the most recent conditional block.
D1?????? ????????
End-repeat instruction.
Ends the current repeat block. Also implicitly ends any conditional instructions inside the repeat block.
D2?????? ????????
End-code instruction.
Ends the current repeat block (if any), then End-if's any further outstanding conditional statements.
Also sets ‘offset’ and ‘stored’ to zero.
D3?????? YYYYYYYY
Set offset register.
Loads the offset register with the value YYYYYYYY.
D4?????? YYYYYYYY
Add to ‘stored’.
Adds YYYYYYYY to the ‘stored’ register.
d5?????? YYYYYYYY
Set ‘stored’.
Loads the value YYYYYYYY into the ‘stored’ register.
D6?????? XXXXXXXX
32bit store and increment.
Saves all 32 bits of ‘stored’ register to address (XXXXXXXX + ‘offset’). Post-increments ‘offset’ by 4.
D7?????? XXXXXXXX
16bit store and increment.
Saves bottom 16 bits of ‘stored’ register to address (XXXXXXXX + ‘offset’). Post-increments ‘offset’ by 2.
D8?????? XXXXXXXX
8bit store and increment.
Saves bottom 8 bits of ‘stored’ register to address (XXXXXXXX + ‘offset’). Post-increments ‘offset’ by 1.
D9?????? XXXXXXXX
32bit load "stored" from address.
Loads ‘stored’ with the 32bit value at address (XXXXXXXX + ‘offset’)
DA?????? XXXXXXXX
16bit load ‘stored’ from address.
Loads ‘stored’ with the 16bit value at address (XXXXXXXX + ‘offset’)
DB?????? XXXXXXXX
8bit load "stored" from address.
Loads ‘stored’ with the 8bit value at address (XXXXXXXX + ‘offset’)
EXXXXXXX NNNNNNNN VVVVVVVV VVVVVVVV * ((NNNNNNNN+7)/8)
Direct memory write.
Writes NNNNNNNN bytes from the list of values VVVVVVVV to the addresses starting at (XXXXXXX + ‘offset’)
FXXXXXXX NNNNNNNN
Memory copy.
Copies NNNNNNNN bytes from addresses starting at the ‘offset’ register to addresses starting at XXXXXXXX.
Dc000000: //0xdcxxxxxx : Add a value onto offset register
C4000000: //Load offset register with address of the current position in the codelist (can self modify)
C5000000: //Every x frames code.. c5000000 mmmmnnnn //If ((frame_count & nnnn)==mmmm) then..
C6000000: //c6000000 : Store offset register to address
Thanks to Hehe Moo for this second example
<b>Another example - Ninjatown Infinite Lives/Hearts Code</b>
1. Open up a rom of Ninjatown on No$gba Emulator 2.6a.
2. Open up EmuCheat, and click on the Emulator Select tab at the bottom. Click on No$gba Emulator 2.6a.
3. Click on "Search" at the top of EmuCheat, and click leave the "Search Type" as 8bit.
4. Start a new game of Ninjatown, and build a Wee Ninja Hut.
5. It will ask you to upgrade the building, so after upgrading, destroy the hut. This ensures that your ninjas do not attack the Devils. You want the devils to escape.
6. Click on the fast forward icon on the Emulator, and click "Pause Emulator" on EmuCheat.
7. Type "10" into the search box on EmuCheat, see how many results you receive. There should be thousands of results.
8. Click "Run Emulator", and your Emulator will continue. One of the Devils will eventually escape. As soon as it does, click "Pause Emulator".
9. Enter the new number of Lives, that is, 9.
10. You should receive about 4 results. Double click on the first one. Type 9999 in the value DEX box. The HEX value becomes 270F.
11. The the Desc. Box, type in "Infinite Lives/Hearts", or whatever you would like it to be called.
12. Untick the Locked box, click OK, and click on "Table".
13. This brings you to another page, and now you can piece together your code.
14. Click on Utility, type in the first part, with "02" at the start.
15. Hit the spacebar, and type 270F, with "0000" at the start to sum up to 8 digits.
16. After clicking on the words "Action Replay DS" and OK, double click on your cheat and it should become ticked.
17. Click OK.
18. Your cheat is complete. You should now have infinite lives.
<u><b>A Tougher Example</b></u>
MARIO 64 DS (E)
1: ok so open up MARIO 64 with No$GBA and emucheat (if you don't know how to do that stop reading NOW xD )
2: If you do not have finished the game before we will need to activate this code (witch unlocks all castle doors):
1209CAA4 0000FFFF
2209CAA6 000000FF
3: run the game and enter the castle then go to the door at the upper floor - right
4: connect emucheat to NO$GBA
5: while still being yoshi goto emucheat and search for the math symbol "?"
6: now go into the door with an green "L" on it ( u will now become luigi)
7: now search with math symbol "!"
8: go into the door with a red "M" on it (u will now become mario)
9: search with the math symbol "!" again
10: go into the door with a yellow "W" on it (u will now become wario)
11: search with the math symbol "!" again
12 go into the door with the green "L" again
13: continue until u have just a few results left ( the result will in this case be 09CAE1 XXXXXXXX)
14: now test a little bit using the "refresh" button and you will find that mario=0, luigi=1, wario=2 and yoshi=3
15: this is clearly a 8-bit value so our adress becomes: 2209CAE1
16: so mario= 2209CAE1 00000000 luigi= 2209CAE1 00000001 wario= 2209CAE1 00000002 and yoshi= 2209CAE1 00000003
17: now lets add activators and terminators to it:
Hold L+R+DOWN while walking trough a door to Play as Mario:
94000130 0000007F
2209CAE1 00000000
D0000000 00000000
Hold L+R+DOWN while walking trough a door to Play as Luigi:
94000130 0000007F
2209CAE1 00000001
D0000000 00000000
Hold L+R+DOWN while walking trough a door to Play as Wario:
94000130 0000007F
2209CAE1 00000002
D0000000 00000000
Hold L+R+DOWN while walking trough a door to Play as yoshi:
94000130 0000007F
2209CAE1 00000003
D0000000 00000000
18: and done, you have just made yourself a character modifier
1: ok so open up MARIO 64 with No$GBA and emucheat (if you don't know how to do that stop reading NOW xD )
2: If you do not have finished the game before we will need to activate this code (witch unlocks all castle doors):
1209CAA4 0000FFFF
2209CAA6 000000FF
3: run the game and enter the castle then go to the door at the upper floor - right
4: connect emucheat to NO$GBA
5: while still being yoshi goto emucheat and search for the math symbol "?"
6: now go into the door with an green "L" on it ( u will now become luigi)
7: now search with math symbol "!"
8: go into the door with a red "M" on it (u will now become mario)
9: search with the math symbol "!" again
10: go into the door with a yellow "W" on it (u will now become wario)
11: search with the math symbol "!" again
12 go into the door with the green "L" again
13: continue until u have just a few results left ( the result will in this case be 09CAE1 XXXXXXXX)
14: now test a little bit using the "refresh" button and you will find that mario=0, luigi=1, wario=2 and yoshi=3
15: this is clearly a 8-bit value so our adress becomes: 2209CAE1
16: so mario= 2209CAE1 00000000 luigi= 2209CAE1 00000001 wario= 2209CAE1 00000002 and yoshi= 2209CAE1 00000003
17: now lets add activators and terminators to it:
Hold L+R+DOWN while walking trough a door to Play as Mario:
94000130 0000007F
2209CAE1 00000000
D0000000 00000000
Hold L+R+DOWN while walking trough a door to Play as Luigi:
94000130 0000007F
2209CAE1 00000001
D0000000 00000000
Hold L+R+DOWN while walking trough a door to Play as Wario:
94000130 0000007F
2209CAE1 00000002
D0000000 00000000
Hold L+R+DOWN while walking trough a door to Play as yoshi:
94000130 0000007F
2209CAE1 00000003
D0000000 00000000
18: and done, you have just made yourself a character modifier
<!--sizeo:2--><span style="font-size:10pt;line-height:100%"><!--/sizeo--><b>
<!--coloro:#FF0000--><span style="color:#FF0000"><!--/coloro-->Coming Soon<!--colorc--></span><!--/colorc--></b><!--sizec--></span><!--/sizec-->
Offsets
Pointers (maybe <img src="style_emoticons/<#EMO_DIR#>/smile.gif" style="vertical-align:middle" emoid="" border="0" alt="smile.gif" /> )
<!--coloro:#FF0000--><span style="color:#FF0000"><!--/coloro-->
<b>NOTE:</b> Information will be added often, so keep looking back..<!--colorc--></span><!--/colorc-->
<b><!--sizeo:5--><span style="font-size:18pt;line-height:100%"><!--/sizeo-->NEW:<!--sizec--></span><!--/sizec--></b>
<!--coloro:#FF0000--><span style="color:#FF0000"><!--/coloro-->
<!--sizeo:3--><span style="font-size:12pt;line-height:100%"><!--/sizeo--><b>Enchanted Folk and the School of Wizardry (E)<!--sizec--></span><!--/sizec-->
Speed Modifying Code Tutorial</b>
1. Open no$gba and select Enchanted Folk. Also open up EmuCheat and click the tab at the bottom and link it to no$gba.
2. Click on Options>Controls Setup and make the key B into a key close to the arrow keys on the keyboard. This will be explained later.
3. Click the Search tab on EmuCheat and we can now begin making the code.
4. First, walk right using your left hand, then use your right hand to click Pause Emulator on EmuCheat. Make sure your character is paused while he's walking, or this won't work.
5. Type ? into the Target box, and press enter.
6. Now unpause the emulator, but keep walking. Now pause it again, while the character's still walking, and type = into the Target box.
7. Unpause, and hold B while walking to run. Do both of these with the same hand, and click Pause with the other hand while the character is running. Make sure you character is paused while running, or this won't work
8. Now type ! into the Target box. This finds any values that have changed since the last time you pressed Enter.
9. Unpause the game, and go back to walking rather than running. Pause, and type ! into the Target box.
10. Keep repeating the above steps until you only have about 6-8 results. From there, start testing every code in this format:
XXXXXXXX 00000014 <------ X = the code, 00000014 = the speed you want. (for those who understand hexadecimal, 14 = 20)
When you've found the correct code, your character will move at an uncontrollable speed. You might even fly through the wall, so this is the best way to find out whether the code works. Now just lower the speed of the code somewhere between 7-9.
The code should be: 2236A485 00000007
However, there's a chance that you could find a better code than this one; post it up and let us try it out.
Also, try the above code outdoors; it doesn't work. So repeat all the above steps while you're outside to make a new code, one for indoors and one for outdoors.
Happy Cheating!
- Hehe Moo.<!--colorc--></span><!--/colorc-->
<b>ANOTHER EXAMPLE - POINTER</b>
<!--coloro:#000080--><span style="color:#000080"><!--/coloro-->Here is a pointer example. The game that we will be using for this example will be Giana Sisters DS. What we will be doing here is that we will fill the "Red Crystals" that we currently have, to their total ( the total crystals address), without overfilling. Of course we could just find the current crystals address and input 999, but that would look weird (999/3 etc.).
First off, we will need to; find the addresses of the current and total crystals. Open up EMUCheat or whatever you use.
For the current address, you can simply input the number of crystals you currently have collected, and then collect more and search again etc. for example; if you have 1 crystal, search 1, when you get another, search 2, and so on, until you only get a few addresses, and then test them. If you did it correctly, you should have come up with (02)0A3012. For the total, you can just get onto a level, search the total number of crystals you need (3 etc.), jump onto another level with a higher or lower total (2 etc.) and search that, and then repeat until you get a few addresses. Alternatively, you could have just looked at the addresses when you were looking for the current crystals variable, and just changed one of them to change the total variable (which means they are right beside each other in memory). You should have came up with (02)0A3010.
Now that we've found those, we will start to build the code.
We need to set the offset value to our total crystals address, which means we will use the D3 code type. This will set the total crystals address as the internal "pointer" register.
D3000000 XXXXXXXX , XX being the address.
Next, we will need to copy memory (bytes), using the 0F code type, which works in conjunction with the code types (D3, DC or B) to set the offset beforehand. Doing this will copy the bytes specified, from the internal pointer register (0A3010 or the first line), to our current crystals address (0A3012).
FXXXXXXX YYYYYYYY , XX being the address (current crystals), and YY being the number of bytes to copy. We'll do only 1 byte, so 00000001.
And then, we finish off with the terminator D2000000 00000000, which clears AR's internal registers. If you followed correctly, the code should be:
D3000000 020A3010
F20A3012 00000001
D2000000 00000000
This means that it will copy only the total to the current variable, no more, no less. Test that out on hardware. Remember that no$gba isn't a proper AR, so it will not work there (will bring up a ?)
-anandjones
<!--colorc--></span><!--/colorc-->
<a href='irc://irc.gbatemp.net:5190/NDSCheats'>#NDSCheats</a>