Question about code creating and the DSi

Discussion in 'NDS - Console and Game Discussions' started by praetorxyn, Mar 30, 2010.

Mar 30, 2010
  1. praetorxyn
    OP

    Newcomer praetorxyn Newbie

    Joined:
    Mar 27, 2010
    Messages:
    8
    Country:
    United States
    I didn't own an original DS or a DSLite.
    But there were a few games I wanted to play, so I got a DSi this year.

    I am sort of interested in code creating, and you sort of need something to do it with.
    I was going to buy the Datel Trainer Toolkit, but it looks like it goes in the GBA slot which the DSi doesn't have.
    (I didn't mind the lack of the slot, because a GBA SP is better for GBA games anyway since it supports link cables).

    Is there any way to make that hardware work with the DSi?
    If not what should I do?

    I read a sticky about using EmuCheat and No$GBA, and I tried it, but I couldn't get what I wanted.
    Maybe I just didn't do it correctly. Here's what I was searching for.

    I'm creating a code for Final Fantasy Tactics A2 to increment the selected unit's speed by 1 when I press SELECT.
    It works, but the problem is it executes once for each frame that the select button is held down.
    I am pretty sure that when you first press the button, aside from the universal activator address, 4000130 or w/e it is,
    there's a flag that's set to 1 or something somewhere to tell it the select button's state changed from not pressed to pressed.
    I think if I could find that address and use it, the code would only execute for one frame.

    I tried to search, I got the rom up in No$GBA, and got EmuCheat up. I searched for values of 0.
    Lots of addresses, as you would expect, came up. So I held the select key in the emulator and tried to search again to narrow the results, but nothing changed. I think when I click out of the emulator to go to EmuCheat it lets go of the button. So how am I supposed to search for button states?
     
  2. elixirdream

    Member elixirdream GBAtemp Legend

    Joined:
    May 27, 2008
    Messages:
    10,007
    Location:
    6th Dimention
    Country:
    Malaysia
    i saw your question on the cheat forum and you don't sound like someone really new to cheat (you think smart)
    anyway, i decided to answer here

    in game button search?
    is VERY EASY

    starting with a 0 seems to be a good move !
    before you PAUSE your emulator make sure the you hold the SELECT button!
    you can let go the SELECT button after you had pause your emulator
    there is when you conduct an increment search, or search for a value which is 4

    so start with a 0 search
    hold select and pause the game
    do a increment or +4 search
    unpause the game
    do a 0 search [​IMG]
     
  3. praetorxyn
    OP

    Newcomer praetorxyn Newbie

    Joined:
    Mar 27, 2010
    Messages:
    8
    Country:
    United States
    Well, this is the first code I've ever created that was more than one line long.

    Several years ago, I played something or other on Visual Boy Advance, probably one of the fire emblem games, and I noticed I could search for cheats, so I did and put in hex values for stats, and found those addresses and made codes to change them.

    I wanted to do this code, and I found the Datel Trainer toolkit manual in PDF that gave info on the code types.
    I stumbled across a code somewhere to set the selected unit's level to 1 and it used the pointer
    B21D520 00000000
    , so I figured that was the pointer to the currently selected unit. Found that the level stat was offset 1A, and speed is 2 higher than that, so 1C. It wasn't too difficult to piece together the rest just by looking at the list of code types.

    Anyway, thanks for replying; I was hoping you or Narin would reply since most of the threads I've seen on here (including the creating codes with No$GBA and EmuCheat tutorial sticky) say that you two are the onlyo ones who can do the advanced stuff like pointers and offsets.

    I'll give what you said a try, hopefully I can find the address. It's sort of a pain to test though, because you can't just write a value to the address with EmuCheat and see if something changed.
     
  4. praetorxyn
    OP

    Newcomer praetorxyn Newbie

    Joined:
    Mar 27, 2010
    Messages:
    8
    Country:
    United States
    I repeated the search several times, I'm just not getting consistent results. Not even results in the same ballpark, like some of them will be 403xxx some will be 28cxxx some will be 1fxxxx.

    I'll keep at it though.
     
  5. elixirdream

    Member elixirdream GBAtemp Legend

    Joined:
    May 27, 2008
    Messages:
    10,007
    Location:
    6th Dimention
    Country:
    Malaysia
    hmmmmmmmmmmm
    as far as i know
    game buttons are usually not a pointer code..

    if it is a pointer code then is really a headache

    so you want to find out the address for game buttons eh?
    i will download the game and take a look

    the game is FFA2(U) and which part of the game you wish to find out about the buttons?
    any .sav?
     
  6. praetorxyn
    OP

    Newcomer praetorxyn Newbie

    Joined:
    Mar 27, 2010
    Messages:
    8
    Country:
    United States
    Yeah, it's FFTA2(U)

    On the emulator I just have this .sav after the first battle and the first town scene (where you're allowed to access the Unit Menu).
    I tried using a link for the sav but when I clicked it it didn't work.
    http://www.angelfire.com/extreme3/uda/FFTA2save.zip
    Pasting it into the browser address bar and pressing Enter seems to work fine.

    I just want it to always work so that in the unit menu I can press select and it will increment for just 1 frame.
    I haven't tried pressing select while in the unit menu and searching, I'll give that a shot.
     
  7. elixirdream

    Member elixirdream GBAtemp Legend

    Joined:
    May 27, 2008
    Messages:
    10,007
    Location:
    6th Dimention
    Country:
    Malaysia
    i will locate the in game select address for you
    [​IMG]
     
  8. praetorxyn
    OP

    Newcomer praetorxyn Newbie

    Joined:
    Mar 27, 2010
    Messages:
    8
    Country:
    United States
    When doing it inside the unit menu, I consistently find four addresses:

    125FE4 value either 00 or 04
    125FEC value either 00 or 04
    125FEF value either 00 or 02
    125FF4 value either 00, 01, or 02 (the upper bound consistent on every search)

    I tried using all four addresses as an activator, i.e.
    9212FE4 00000004

    The first two did the same thing as
    94000130 FFFB0000

    The second two didn't do anything.
     
  9. elixirdream

    Member elixirdream GBAtemp Legend

    Joined:
    May 27, 2008
    Messages:
    10,007
    Location:
    6th Dimention
    Country:
    Malaysia
    you got it then [​IMG]

    the first two should be what you wanted
    you can stick with either one
    anyway, i will take a look at the game later (still working)

    92125FE4 00000004 = when you press SELECT

    A2125FE4 00000004 = when you let go SELECT
     
  10. praetorxyn
    OP

    Newcomer praetorxyn Newbie

    Joined:
    Mar 27, 2010
    Messages:
    8
    Country:
    United States
    Yeah, the problem is that they still incremented once for every frame the button was held down.
    The universal activator does the same thing.

    So I press the button, and even if I let off extremely quickly, the code executes 40-50 times.
    I want it to just execute once, even if I hold the button for 5 seconds.

    I figured a state change address would only trigger once. Maybe that's not the case.
    I tried adding a
    C5000000 00000064 // Execute once every 100 frames code
    and I was getting much smaller increases, but still. I was hoping there would be a better solution than
    C5000000 0000400
    or something similar.
     
  11. elixirdream

    Member elixirdream GBAtemp Legend

    Joined:
    May 27, 2008
    Messages:
    10,007
    Location:
    6th Dimention
    Country:
    Malaysia
    i thought you sorted that out?
    alright
    add this line after the activators

    92125FE4 00000004 / 94000130 FFFB0000
    74000100 FF000010
     
  12. praetorxyn
    OP

    Newcomer praetorxyn Newbie

    Joined:
    Mar 27, 2010
    Messages:
    8
    Country:
    United States
    That seems to help.

    What is stored at the address 4000100?
     
  13. elixirdream

    Member elixirdream GBAtemp Legend

    Joined:
    May 27, 2008
    Messages:
    10,007
    Location:
    6th Dimention
    Country:
    Malaysia
    just a generic counter
     

Share This Page