News:

11 March 2016 - Forum Rules

Main Menu

Creating an FF9 translating tool

Started by lowena, January 14, 2013, 07:00:03 AM

Previous topic - Next topic

lowena

Hey guys! I am just about to start work on creating a tool to translate Final Fantasy IX.

I've never worked with reading from or writing to ISO files before... Does anyone have any pointers on how to do such? I'll be using Qt and C++, I believe.

Thank you very much! :)

Rhys

When dumped to disk it's pretty much the same as editing a ROM. It's impossible to expand though.

I believe FF IX stores its archive file as a flat file on the disk, so you should be able to use any standard CD modification tool to replace that file with your rebuilt one.

Bregalad

Yeah but has the FF9 archive format ever be cracked at all ? I don't know if there is much information on this.

lowena

Well, I found out that I can just edit the ISO directly; no need to unpack anything. I decided to switch to VS and C#, but I'm making progress. :)

Gemini

Editing the ISO directly is something you'd never want to do.

lowena


henke37

Because it is a major mess if anything needs to be rearranged.

lowena


Jorpho

If you have pieces of text that are longer than the pieces you are replacing, some rearrangement is inevitable.  (And if you have a lot more text, you have an even bigger problem.)

I was about to direct you to Qhimm, but it seems you have already discovered they are more knowledgeable about these particular things.
http://forums.qhimm.com/index.php?topic=13995.0
This signature is an illusion and is a trap devisut by Satan. Go ahead dauntlessly! Make rapid progres!

lowena

#9
Hmm, I can see where that may be a concern. However, I know of no way to unpack and repack the text files. :(

OK, I am a bit stuck in my progress. I am trying to find the pointers for the dialog, but am hacking no luck. I found the text in the ROM, then the RAM, but am having trouble finding where (and how) the ASM loads the text...

Does anyone know any general ASM for loading text?

LostTemplar

Quote from: lowena on January 16, 2013, 01:30:15 AM
Hmm, I can see where that may be a concern. However, I know of no way to unpack and repack the text files. :(

Then it should be your paramount priority to find out how to unpack those files. It will help you down the road and repay the effort tenfold; and, it will also benefit the community.

mz

Quote from: lowena on January 16, 2013, 01:30:15 AMDoes anyone know any general ASM for loading text?
It looks like loading any other byte.

Put a breakpoint to the RAM address where the text is. You should find the text-loading routine easily from there...

lowena

#12
Quote from: LostTemplar on January 16, 2013, 05:36:04 AM
Then it should be your paramount priority to find out how to unpack those files. It will help you down the road and repay the effort tenfold; and, it will also benefit the community.
OK, I guess I'll have to try. I have absolutely no idea how to do that though...

Quote from: mz on January 16, 2013, 05:47:21 AM
It looks like loading any other byte.

Put a breakpoint to the RAM address where the text is. You should find the text-loading routine easily from there...
Sorry for being such a newb. :P I'm trying to learn though.

But wouldn't there be a pointer in the assembly, and not the exact text address? Because I dumped the assembly, searched for the address, and found nothing.

Rhys

FF9 stores everything in a database. You won't find any data pointers in the assembly file at all.

lowena

Quote from: Rhys on January 16, 2013, 04:24:48 PM
FF9 stores everything in a database. You won't find any data pointers in the assembly file at all.
Well, I'm certainly not finding the hex address in it. :(