Download
Dumping Instructions:1. Download
Cartographer, place it in the directory where you extracted these files.
2. Place a ROM named
Final Fantasy IV Advance (E) (M5).gba in the same directory as these files (or edit the batch file to use your ROM's filename).
3. Run
Final Fantasy IV Advance (E) (M5) - Dump Script.bat, you'll get six files:
000: The full script.
001: English script.
002: German script.
003: French script.
004: Italian script.
005: Spanish script.
Let me know of any errors (I'd especially like people who can read the four non-English languages to have a look). I haven't tried inserting this yet, but I don't see any reason why it wouldn't work.
Insertion InstructionsFirst off, you need to make some changes to the extracted script. Cartographer is good, but it's not 100% perfect, you still need to add an Atlas header and change the pointer writes to use a custom pointer for this game. Also, you can only reinsert
Final Fantasy IV Advance (E) (M5) - Script_000.txt (the full script) due to the way this game's pointers work, sorry. If you plan on only supporting English, you'll have to blank out (or simply ignore) the strings for the other languages - if you blank them out be sure to leave the <end> tags in place or you'll completely break the script. This game requires the script to stay in order and every string must be present. The alternative is figuring out how to disable the other languages properly, like in the US version; if you have any experience with GBA ARM assembly, that would definitely be the best option.
Anyway, open up your script, and add this somewhere before the first pointer write. I suggest under the game and block name:
#VAR(Table, TABLE)
#ADDTBL("FF4Advance.tbl", Table)
#ACTIVETBL(Table)
#VAR(FF4pointer, CUSTOMPOINTER)
#CREATEPTR(FF4pointer, "LINEAR", $2EA458, 32)
#JMP($3048E0)Atlas doesn't like table files with spaces in their name, which is why an alternate is included. Also, the original script likes putting linebreaks directly after new page codes (which don't do anything), the first table is set up to dump these to the <page> tag, this table only inserts the page control code, and it doesn't appear to have any negative side effects.
Next, you will need to make the pointer writes use your custom pointer. The easiest way to do this is, if your text editor supports it (if it doesn't, download a new one), a find and replace for every match in the file.
Search for:
#W32(Replace with:
#WRITE(FF4pointer, This will probably take a while, since there are a lot of pointer writes in this file. Save when it finishes, and you're ready to insert!

1. Download
Atlas, and place it in the same directory as your script.
2 .Place a ROM named
Final Fantasy IV Advance (E) (M5).gba in the same directory as these files (or edit the batch file to use your ROM's filename).
3. Run
Final Fantasy IV Advance (E) (M5) - Insert Script.bat.
If all goes well, this massive block of text will be inserted . Concerning space, since this game uses 32-bit pointers, you can easily place this script anywhere
after the pointer table (the pointers are relative, putting them before the table won't work). If you plan on keeping all five languages and expanding the text significantly, I'd suggest expanding the ROM to 16MB, and changing the Atlas #JMP command to an offset in that newly created space.