1. Deleted User

    OP Deleted User Newbie

    Hello,
    I am translating the DS game Tingle's Love Balloon Trip. One problem I have is that there is not enough space for the new text. So I need to hack the pointers. I've hacked NES pointers before using the Mad Hacker's guide, but I just can't figure out NDS ones.
     
  2. rastsan

    rastsan 8 baller, Death Wizard,
    Member

    Joined:
    May 28, 2008
    Messages:
    1,002
    Country:
    Canada
    sometimes its reversed 4 byte so 48 49 06 02 but found in memory at 06 49 48 or 02 06 49 48. just drop the 02. you find the text in memory then search for three of those bytes but reversed through the rom. there may be some additional math here adding or taking away something. fasts guide has a good section on this
    although there are some ds games that don't have pointers like this. they are based from pointers stored differently. 7th dragon had them relative to their position so at x location it would say y pointer. so at 448 offset in file there was a 4501 pointer. 145 hex from where the pointer actually was. this had to be done for each and every pointer. then you have shiren the wanderer with some of its sir0 files where in those files the pointers would be based off x offset in said file. so in file at say 24 you find the start of the pointers list and then every pointer would point from offset 24 in that file. my favorite pointers though had to be the work the translators did for master of the monster lair. they used asm to have it re-point to files that again would re-point in file. everything that was in the arm9 or overlay files were re-pointed that way with a load this file and load those pointers.

    if this confuses you please ask away...
     
  3. Deleted User

    OP Deleted User Newbie

    I used this tool-
    http://www.romhacking.net/utilities/978/
    to calculate the pointer for $55D16 and it said it was $5D05. But all that is there is 00. However when I modify the bytes around it it screws up the text at $55D16. How would I modify them to repoint the text somewhere else?
     
  4. Deleted User

    OP Deleted User Newbie

    [​IMG]
    I noticed that every 8 bytes it increases B2 to B3 to B4 etc.
    Does that mean anything?
     
  5. Normmatt

    Normmatt Former AKAIO Programmer
    Member

    Joined:
    Dec 14, 2004
    Messages:
    2,159
    Country:
    New Zealand
    You did select GBA in that pointer tool right? :rofl: because the pointer for 55D16 would be 165d05 not 5D05. Not to mention the pointers will be relative to where the arm9 binary is loaded in memory which is usually 02000000 so add that to the address to get 02055D16 and the pointer 165d0502.
     
  6. Deleted User

    OP Deleted User Newbie

    So pointers and the text they point to wouldn't be located in the same file?
     
  7. Normmatt

    Normmatt Former AKAIO Programmer
    Member

    Joined:
    Dec 14, 2004
    Messages:
    2,159
    Country:
    New Zealand
    Generally they are... If I remember correctly the tingle game had no files in its filesystem... but its been awhile since I looked at it. Either way the pointer calculation likely works the same way.
     
  8. The Real Jdbye

    The Real Jdbye Always Remember 30/07/08
    Member

    Joined:
    Mar 17, 2010
    Messages:
    20,907
    Country:
    Norway
    I think you are supposed to search for 5D05 not go to that position in the file.
    However what you're looking at there seems to be a pointer table. Each of them probably point to a piece of text (or it could be something else like graphics). It's probably unrelated to what you want.
     
  9. Deleted User

    OP Deleted User Newbie

    No, there's quite a bit of files in it.
    This file(lang.bin) only contains text, so its not graphics. Also I've tried searching for 5D05 before and there are no results.
     
Draft saved Draft deleted
Loading...

Hide similar threads Similar threads with keywords - Tingle,