How can I extract scripts from roms?

Discussion in 'GBA - Game Development, ROM Hacks and Translations' started by lolerz, Jun 9, 2007.

  1. lolerz

    lolerz Newbie

    Jun 9, 2007
    United States
    I've tried various ways with Table files and WindHex etc... But I always seem to fail. I either can't manage to get a table file, or I get a few letters correct and end up with the rest being wrong and I can't even get a decent text output.

    I've seen many tutorials but they mostly have NES roms in mind. Is there any easy way to extract scripts from a GBA rom file?

    Thank you.
  2. FAST6191

    FAST6191 Techromancer

    pip Reporter
    Nov 21, 2005
    United States
    The NES and GBA are fairly similar in this regard in that text is located in the rom rather than a file system (DS, FDS, playstation and the like). I personally tend to use pointer maps (lots of 08XXXXXX strings (after byte order is accounted for) or maybe 09XXXXXX for roms larger than 16 megabytes) to locate text.

    Bear in mind tables for GBA can be everything from plain ASCII (advance wars amongst other things), through simple relative to completely random (final fantasy a culprit here and naturally kanji tables as well).
    You may also have control characters (new line, section end, bold, italic, yes/no...) embedded which can screw up 16bit character sets no end.
    There are a few more automated tools but I still find ripping the text from the rom with a hex editor and dumping it into a new file before using something like Windhex to grab it, however you could try romjuice:

    You say also that you get a few letters correct, if they start out OK but get increasingly worse it is likely you have compression happening (the GBA has several onboard decompression mechanisms which are typically used, LZ77 being the most common followed by huffman). Have a read here:
    VBA-sdl also helps as it can monitor BIOS calls and help determine what compression is happening.

    I suggest a generic decompression tool like for LZ (huffman you will have to search for I am afraid) although (linked above) has a few reasonable GBA oriented tools (even some capable of taking a VBA-sdl log).

    Simply put there is no click here, here and here to get a text file, the fact most companies use their in house tools (unlike the DS where stuff tracks across nearly all the roms) further complicates this, keep plugging at it: nothing is really impossible in rom hacking but it will often require some original thought or more learning.