I want to share my experience with Final Fantasy 3 hacking.
My origin was the Final Fantasy 3 Translation created by Alex W. Jackson, Neill Corlett, SoM2Freak.http://www.romhacking.net/trans/141/
With this translation, as base, I changed the intro/title screen to the original developer cast.
First, use the IPS Patch of Alex W. Jackson, Neill Corlett and SoM2Freak, then download and use this IPS patch.
Information about this hack:
The following table contains the charset which are used in the Opening / Title Intro:
The next table contains the charset which are normally used in the game:
If you open the translated FF3 rom in a hexeditor (with one of the both tables) you can change the intro by yourself.
Between the Offset 0003E5F0 and 0003E767 is all the information for changing the intro screen/opening of FF3.
Starting from 3E5F0 the first value is A6. Till 3E600 the value A6 is always alternating appearing.
A6 is signaling the offset of the text which you are defining later.
The first value is 14 which is used for the copyright of Square. The next value is 25 (in hex; in dec it is 37) which is used for the first screen (in the case of this ips patch: the Programmers ...).
The offset contains the characters which are used in one screen.
The text starts at 3E613. This is the Title (Final Fantasy 3) and the mentioned copyright.
The real text which is displayed at the bottom of the screen is starting at 3E637.
Therefore we have to note several things. The Hex value "00 02" is signaling a screen change for new text (means the actual screen shall disappear and a new screen with a new text shall appear).
The value "01 02" is signaling a line break. After each "00 02" or "01 02" is another Hex value for the spaces. This spaces are used to center the text in the screen.
For example (starting at 3E637): We have the values "00 02 07 6F";
"00 02" is signaling a new empty screen;
"07" is signaling 7 empty spaces from the left TV boarder to the first character of the text;
"6F" is the first character "P" (look at the table for intro text) which is displayed.
Returning to the defined offset which was mentioned above. The offset is always pointing to the value with the empty spaces. In details, it always the value after the "00 02".
If you are adding or deleting text you must always change the offset to align the new screen.
Now you can change the text as you like. Note that you can only use the hex values between 3E637 and 3E767 for your text.
That's it. =)
I believe it's a good entry point to get some experience with general hacking. =)