.tbb Thread building blocks on nds

Discussion in 'NDS - ROM Hacking and Translations' started by rastsan, Feb 14, 2011.

Feb 14, 2011
  1. rastsan
    OP

    Member rastsan 8 baller, Death Wizard

    Joined:
    May 28, 2008
    Messages:
    962
    Location:
    toronto
    Country:
    Canada
    So far I have come across two games that use this.
    Shin Megami Tensei Strange Journey
    Wizman`s World

    link to tbb website
    http://threadingbuildingblocks.org/

    Instead of me explaining it read this quote
    If you are more interested and want to know more check out their documentation. I recomend getting started and tutorial.
    For those who were trying to find the text to translate in those games, well.... It is right there you just aren`t seeing it the same way the game is.
    To this end I am starting this thread in the hopes of getting a programmer interested in helping to demangle (not quite the right term - read the documentation on how it works).
    As I am sure developers may start thinking this would be a good way to stop fan translations. demangling is gonna take some work.

    As an aside Wizman`s world partially uses lau 5.1 and has sample files with a slight explanation in those samples. For some reason though they seemed to stop using the lua in favor of the thread building blocks.

    If you do a compare with the japanese and us versions of strange journey tbb files you`ll notice that they're near identical. Its the .mbb files that hold the script and those are done with a letter used most order (or so I think - not sure if I am reading the docs right). the tbb just tells where to go or what symbols equal what.

    Sense my comfusion?
    While looking desperatly through wizman's world for any hint of script I tried researching every file in it which lead to strange journey, the lua and to tbb. Which If you have a head for programming makes a lot more sense then the sport stats files I kept getting. So, if anyone is up for a challlenge take a look.

    Maybe help out too, Please?
     
  2. Poryhack

    Member Poryhack GBAtemp Fan

    Joined:
    Oct 18, 2009
    Messages:
    330
    Country:
    United States
    I know the DS has two processors but one is ARM9 and the other is ARM7, can they actually be used to create a multi-threaded program?
     
  3. FAST6191

    Reporter FAST6191 Techromancer

    pip
    Joined:
    Nov 21, 2005
    Messages:
    21,697
    Country:
    United Kingdom
    @Poryhack yeah they can but I thought it was mainly restricted to homebrew (moonshell for instances kicks audio to the ARM7 leaving the ARM9 for video).

    That brings me onto my other comment though- we always thought the AMR7 in commercial roms was there as something of a compiled library/always present function type thing (I am thinking like the SWI calls are functions that can be used in the game) that was almost standard across games (hence the simple ARM7 swap not only working but causing some combinations of cart and rom to actually work where it did not before). This is an interesting development if so but not one I can affrod to spend too much time pondering at present.

    Equally are you saying the tbb stuff has something of an address space layout randomisation idea or indeed creating a measure of obfuscation by way of jumps within a function (perhaps not the best term seen as we are now dealing with C++) if only by virtue of having the code split apart? If this is what you are worried about have a watch of http://www.youtube.com/watch?v=s5oZzCjZjO0

    If you want lua stuff in commercial DS stuff though puzzle quest and the sequels/spinoffs use it.

    "those are done with a letter used most order"
    I have seen this several times on the older consoles but not on the GBA or DS. I might have to have a look at some point.
     
  4. rastsan
    OP

    Member rastsan 8 baller, Death Wizard

    Joined:
    May 28, 2008
    Messages:
    962
    Location:
    toronto
    Country:
    Canada
    If you are still interested and have the time I just thought I'd put it out there. Take a look at the NEF file ct2 spits out wizman's world is different then strange journey. Strange journey makes more reference to the arm7.
    I wasn't really worried it might take me a while to figure it out but I will figure it out. - simple math already contained in the files in question.
    But I was saying that from a translation hacking perspective - someone not being able to identify any real tangible from of text may stop them dead. At least now there is a thread.

    edit: I keep frogetting to say thankyou

    Thankyou for taking a look.
     

Share This Page