The current URL is datacrystal.tcrf.net.
Mother 3/Main script
This is a sub-page of Mother 3.
| Main script | |
| Game | Mother 3 |
| Start Address | 0x136A6F4 |
| End Address | 0x1433D7B |
| # of Entries | 2002 (0x7D2) |
| Entry Length | Variable |
| Total Length | 824968 bytes (0xC9688) |
| Back to the ROM map | |
Overview
This table holds the text used by NPC dialogue and game logic scripts, among other things. As with game logic, the files are organized in pairs, with one common block of text at the beginning and other files per map.
File formats
The first file in each pair is a sequence of 16-bit offsets, one for each line of text in the second file. The offsets are in bytes in the original game.
The second file contains the actual text data. The beginning of the file seems to begin with FFFF (representing the empty string) and the number of valid non-empty lines, and after that it's just text and the text's control codes.
Text control codes
In the original game, control codes begin with characters with a value of 0xFF00 or above.
TO-DO: formatting
FF00
Often comes after an FF03 code. The sequence "FF03 FF00" waits for the player to press a button and then clears the textbox.
FF01: Line break
Moves the text cursor down to the next line.
FF02
Used at the end of menu choices
FF03
Often comes before an FF00 code. The sequence "FF03 FF00" waits for the player to press a button and then clears the textbox.
FF04 xxxx: Pause
Waits for $xxxx frames before continuing to print any more text
FF05 xxxx
TO-DO
FF06 xxxx: Menu
TO-DO
FF07: Event
TO-DO
FF08 xxxx
TO-DO
FF09: Center text?
This command is only used in certain certain lines of the opening cutscene of the game. All uses of it were replaced by FF0A in the fan translation.
FF0A: Center text
TO-DO: for the current line only?
FF0B: Alternate font
Switches to the Dosei/Saturn font
FF0C xxxx
TO-DO
FF26 xxxx yyyy: Print emphatic character name
Prints the name of character xxxx with yyyy "long mark" characters inserted after the last character that makes a vowel sound (i.e., the last character in the name that isn't ん or ン). If the name consists entirely of these two characters, no long marks will be printed. In the English fan translation, this code just prints the character's name normally.
For example, [FF26 0001 0003] will print as フリントーーー with Flint's default name, or as ジョーーーン if he's been named ジョン instead.