Announcement

Collapse
No announcement yet.

Please Help - Making On/Off Code

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

  • Please Help - Making On/Off Code

    Hello. I'm trying to make a code for Dragon Quest V - Hand of the Heavenly Bride (YV5E) (NDS) to set a value to "01", but the minigame continually overwrites that value. I've made a "Hold" code, but I'd prefer to have a code that writes the value until the buttons are pressed to disable it. It's for the T'N'T Board (http://www.youtube.com/watch?feature...ZG-RTC8#t=548s).

    Here's the code:

    T'n'T Board Dice Codes (Press SELECT+A to Enable, Press SELECT+B to Disable):
    94000130 FFFA0000
    220DE3C1 00000001
    220DE3C2 00000001
    2216C858 00000001
    D0000000 00000000
    94000130 FFF90000
    D2000000 00000000

    *Usage Note: Disable this code one step before the "Finish" square, or whichever square you want to land on.

    When I press SELECT+A, the die turns to 1 (for 1 move). Then, the game goes to the next roll of the dice, which is a variable. When I use an emulator, I only need to roll the die once and I just leave the code on - and disable it when I'm ready to stop. But, for handheld users, I need to make a constant write of 01 to the three addresses listed, but the game is constantly rewriting that value - unless I HOLD SELECT+A, which is irritating to do for the whole section.

    I've tried a "C" code, but I need a code type that could handle something like "Repeat codes until SELECT+B is pressed" - not just a certain number of times.

    I'm sure someone knows how to fix this. I would truly appreciate some help with this. Thank you!
    Last edited by DawsonJ; 06-23-2012, 02:43:01 PM.
    Abusus non tollit usum.
    "Misuse does not nullify proper use." ~Charles Harrington Elster

  • #2
    Change the 9 into an A :

    T'N'T Game Dice Roll 1 (Hold SELECT+A To Disable)
    A4000130 FFFA0000
    220DE3C1 00000001
    220DE3C2 00000001
    2216C858 00000001
    D2000000 00000000

    This makes it so it always make the code active unless you press the button combo, of course another enabler would be a good idea to use right before this code so that it isn't always writing to this area when you are out of the mini game and cause a possible lockup. Post a save of the game not a save state so I can take a look and stop typing in all caps.
    Spoiler Alert! Click to view...

    THE BAD GUY!!!!!!

    Comment


    • #3
      Adding on to what helder said -- a tutorial I wrote covers stuff like this (I'll update those ugly button activator images later).

      Basically, you would need to find free space in the RAM and set a value for on and off based on the button you've pressed. Let's say 0x02000000 is free.

      Code:
      94000130 FFFA0000 //select+a is pressed
      12000000 00000001 //set unused ram to 1 (enable)
      D0000000 00000000 //end if
      94000130 FFF90000 //select+b is pressed
      12000000 00000000 //set unused ram to 0 (disable)
      D0000000 00000000 //end if
      92000000 00000001 //if unused ram == 1
      220DE3C1 00000001 //write
      220DE3C2 00000001 //write
      2216C858 00000001 //write
      D2000000 00000000 //end
      This should keep the code always enabled unless Select+B is pressed. Pressing Select+B will change the unused ram value to 0 which will then disable the code and the original values will restore. I hope this helps.
      Last edited by Demonic722; 06-22-2012, 09:29:58 PM.
      I only bother with things that interest me.

      Comment


      • #4
        I've attached a saved game (from Desmume 0.9.8). Just load the newest save, go immediately south from the save point, enter the Casino, and down the stairs on the left side.

        I'll fix the all caps tomorrow for this and the other thread. Thanks for the reminder. Sorry about that.

        Thanks helder and Demonic722 for the help. I do want to improve my coding skills.
        Attached Files
        Abusus non tollit usum.
        "Misuse does not nullify proper use." ~Charles Harrington Elster

        Comment


        • #5
          I took a look at the game, but then took a look at the usrcheat at the same time. There's codes for this game already in there.

          Code:
          !TnT Board Codes
          
          ::Always 1 Move Left (L)
          :::Disable on penultimate square
          94000130 FDFF0000
          220DE3C1 00000001
          D2000000 00000000
          Source: usrcheat.dat
          Last edited by Demonic722; 06-23-2012, 11:58:21 PM.
          I only bother with things that interest me.

          Comment


          • #6
            Okay, that's fine. I'll add yours to my post either way. Thanks for the work, Demonic722!

            Yours works great. I never put the effort in to figure out exactly which address it was - that's why I still have 3 listed - and the alternates serve to confirm that it stays at 1. Once I had it working, I used it and moved on.

            Here's what I used:

            Continuous 1 T'n'T Game Die Code (Press SELECT+A to Enable, Press SELECT+B to Disable):
            94000130 FFFA0000
            12111370 00000001
            D0000000 00000000
            94000130 FFF90000
            12111370 00000000
            D0000000 00000000
            92111370 00000001
            220DE3C1 00000001
            220DE3C2 00000001
            2216C858 00000001
            D2000000 00000000

            The existing one seems to either require that you press L every roll with a "99 Turns" code (as the game only gives you a total of 10 rolls to cover more than 10 steps), or it's a "Hold L during every step" code. That's irritating. Yours is quick and works great.
            Last edited by DawsonJ; 06-24-2012, 12:14:23 AM.
            Abusus non tollit usum.
            "Misuse does not nullify proper use." ~Charles Harrington Elster

            Comment


            • #7
              I found that code in the usrcheat database and you must press L after each turn, but it can be done with the method I posted. Here's what I had:

              Code:
              ::Always 1 Move Left
              :::Select+A/B = ON/OFF
              94000130 FFFA0000
              12000000 00000001
              D0000000 00000000
              94000130 FFF90000
              12000000 00000000
              D0000000 00000000
              92000000 00000001
              220DE3C1 00000001
              D2000000 00000000
              This code is for the same version (Dragon Quest V: The Hand of The Heavenly Bride (U) - YV5E 49D61323).

              Edit: Also, I chose 0x02000000 because it has some free space that will most likely never be used in this game. 0x02111370 is a good spot as well since the original value is 0. Good job!
              Last edited by Demonic722; 06-24-2012, 12:23:36 AM.
              I only bother with things that interest me.

              Comment

              Working...
              X