Announcement

Collapse
No announcement yet.

47iscool's NDS & GBA Codes

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #16
    Will fix ASAP

    Comment


    • #17
      Sonic codes have a conditional that activate only when that game is loaded or at least it should since the codes can cause glitches or lockups in other sonic games. I haven't hacked this game since it was released but I remember it being setup like that.

      Here is a trainer toolkit guide but useful for anyone wanting to hack NDS codes, it has good examples of code nesting and all code types and explanations. The ArmRef is for if you ever decide to do ASM hacks on the NDS its a nice reference to the different instructions.
      Attached Files
      Spoiler Alert! Click to view...

      THE BAD GUY!!!!!!

      Comment


      • #18
        To: helder, lee4, D722

        Thanks for info about different codetypes, this will help me to not make mistakes so much.

        Comment


        • #19
          >Explain to him the Difference of D0 and D2 Demonic since most people don't know.
          Code type D2 is a full end (ends all lines), while D0 is an end-if which means that it will "end" all lines that are executed after the most recent conditional.

          I'll use some of my codes as an example:
          Code:
          ::Max Pickups
          94000130 FFBB0000 ;@check if we're pressing select+up
          DA000000 02084BD4 ;@if we are, load the 16-bit value at 0x02084BD4
          D7000000 02084BDC ;@and store it in 0x02084BDC
          D2000000 00000000 ;@end; You can use a D0 or a D2 here since there's only one conditional line, but D2 is more common
          Code:
          ::Save Anywhere
          B21C54B0 00000000 ;@load pointer
          94000130 FFF70000 ;@check if start has been pressed
          0000017C 00000003 ;@if it has, write 0x3 to the address at 0x021C54B0 + 0x17C (offset)
          D0000000 00000000 ;@otherwise, end if. If I place a D2 here instead I'll have to reload my pointer since all lines above it will be terminated
          94000130 FFF30000 ;@check if Start+Select has been pressed
          0000017C 00000000 ;@if it has, write 0x0 to the address at 0x021C54B0 + 0x17C (offset)
          D2000000 00000000 ;@end
          Next example:
          Code:
          ::Freeze Time
          5200487C 15901050 ;@check if the value at 0x0200487C equals 0x15901050
          94000130 FDFE0000 ;@if it does, check if we're pressing L+A
          02004880 12811000 ;@if we are, write 0x12811000 to 0x02004880
          D0000000 00000000 ;@this will end the 2nd and 3rd lines since the 2nd line is the "most recent" conditional check before this end-if
          94000130 FDFD0000 ;@check if we're pressing L+B (we're still checking if the value at 0x0200487C equals 0x15901050 first)
          02004880 12811001 ;@if we are, write 0x12811001 to 0x02004880
          D2000000 00000000 ;@end
          Last Example:
          Code:
          ::Clear Outside of "Dead/Invisible Seeds"
          94000130 FEBF0000 ;@check if we're pressing R+Up
          D3000000 021E3124 ;@set our offset value to 0x021E3124
          C0000000 00001000 ;@this is how many times we will loop
          F2000000 00000002 ;@copy 2 bytes from our offset to 0x02000000
          82000000 00001FFF ;@if that half-word (this is an item) is greater than 0x1FFF,
          72000000 00003000 ;@but less than 0x3000
          10000000 0000FFF1 ;@overwrite it with 0xFFF1
          D0000000 00000000 ;@end our conditional check for less than 0x3000
          D0000000 00000000 ;@end our conditional check for greater than 0x1FFF
          82000000 00005021 ;@if that half-word (item) is greater than 0x5021
          10000000 0000FFF1 ;@overwrite it with 0xFFF1
          D0000000 00000000 ;@end our conditional check
          DC000000 00000002 ;@add 0x2 to our offset because this is the difference between our map slot addresses
          D2000000 00000000 ;@end
          I only bother with things that interest me.

          Comment


          • #20
            removed
            Last edited by 47iscool; 09-16-2014, 11:52:11 PM.

            Comment


            • #21
              my pointer avoids unnecessary porting.
              I see on first post
              Last edited by lee4; 04-26-2013, 10:33:36 PM.
              lee4 Does Not Accept Codes Requests !
              When lee4 asks a question it does not mean lee4 will look at your game
              *How to create and use SegaCD codes >click here<*
              >)

              Comment


              • #22
                Originally posted by lee4 View Post
                my pointer avoids unnecessary porting.
                I see on first post
                True, but they also mean more lines of code, each one of mine usually only require 3.

                Comment


                • #23
                  Originally posted by 47iscool View Post
                  But for codes that go past the FFFF offset more research needed.
                  you forget math?

                  Its carry over on to next digit

                  Originally posted by 47iscool View Post
                  True, but they also mean more lines of code, each one of mine usually only require 3.
                  Advance codes never "short" as shown on Demonic722 example of Codetype D

                  when I make codes, try make them safer to use, when all codes on at once.
                  Last edited by lee4; 04-27-2013, 10:35:29 AM.
                  lee4 Does Not Accept Codes Requests !
                  When lee4 asks a question it does not mean lee4 will look at your game
                  *How to create and use SegaCD codes >click here<*
                  >)

                  Comment


                  • #24
                    Good advice, I have nowhere near the experience & knowledge as you & some others in hacking codes. I always hated math in school, but loved science & reading. I'm very new to DS hacking/codetypes.

                    Comment


                    • #25
                      Too bad the cheats.gbatemp forum is gone, exlirdream and I as well as other made a shit load of guides to tackle just about any type of code and the methods used to find said codes.
                      Spoiler Alert! Click to view...

                      THE BAD GUY!!!!!!

                      Comment


                      • #26
                        I actually joined that site a few days before that part of the site got shut down. I was BigApple3AM. I joined so I could learn how to make pointer codes for the Nintendo DS and learn how to port Nintendo DS codes too. That's originally where I learned who you were helder.
                        I'm retired from code hacking.
                        I do not take requests!

                        Comment


                        • #27
                          RIP GBATemp Cheat Forum.... I made Pointer Codes tutorial long ago at that site, but... is gone forever...
                          Doakan untuk MH370 / Pray for M370

                          Comment


                          • #28
                            NDS

                            Super Mario 64 DS V2 (U)

                            Code:
                            Press L+R to have 2 shells for "Shell Smack" mini-game.
                            94000130 FCFF0000
                            221807EE 00000003
                            D2000000 00000000
                            Last edited by 47iscool; 09-10-2014, 04:19:25 AM.

                            Comment


                            • #29
                              Woah woah hold it right there, you can't have ANY conditional without a terminator line added at the end of it or the code doesn't work correctly.

                              So make sure you add D2000000 00000000 to the code so it looks like this:

                              Press L+R to have 2 shells for "Shell Smack" mini-game.
                              94000130 FCFF0000
                              221807EE 00000003
                              D2000000 00000000
                              Spoiler Alert! Click to view...

                              THE BAD GUY!!!!!!

                              Comment


                              • #30
                                Originally posted by Helder View Post
                                Woah woah hold it right there, you can't have ANY conditional without a terminator line added at the end of it or the code doesn't work correctly.

                                So make sure you add D2000000 00000000 to the code so it looks like this:

                                Press L+R to have 2 shells for "Shell Smack" mini-game.
                                94000130 FCFF0000
                                221807EE 00000003
                                D2000000 00000000
                                Yeah sorry about that, I was tired when I put that code in so I forgot about that last line. Fixed. Also thanks for whomever added that last line into the DB.
                                Last edited by 47iscool; 10-29-2013, 03:25:42 PM.

                                Comment

                                Working...
                                X