News: 11 March 2016 - Forum Rules
Current Moderators - DarkSol, KingMike, MathOnNapkins, Azkadellia, Danke

Author Topic: Is there any interest in a translation patch for Final Fantasy Adventure?  (Read 7130 times)

PowerPanda

  • Jr. Member
  • **
  • Posts: 71
    • View Profile
Apparently the portuguese translation already did what you wanted to do. Maybe someone can copy the titlescreen (sans the textual changes) and create a patch.

Hmm... You could probably use Hxd file compare to get pretty close to the location. The other option would be to do a file compare on the Final Fantasy Legends to Saga title hacks. It's probably in the same part of the rom.


But yeah, this is why I hacked it the way I did, shrinking text instead of rearranging tiles. Didn't want to deal with that headache.

Reld

  • Jr. Member
  • **
  • Posts: 57
    • View Profile
So much effort put into this game already! If only I could find a solution for the text.........

Apparently, when text is compressed, you usually have to code your own tools for decompressing it. This is a serious problem for me, because the only thing I know about coding is the difference between decimal and hexadecimal. I really don't want to abandon this project, but the more I look into it, the more clear it is that I'm biting off more than I can chew. I'll keep looking for some kind of workaround, although I won't be able to use a computer until Monday, assuming I get lucky and we don't go camping.

Here's a link to a table file that will at least let you read the text in the ROM. I personally use WindHex for this. I can't guarantee it will work properly with other programs.

The text is technically compressed, but it's a super-simple form of compression. It uses dual tile encoding (I think I'm using that term right at least) which just means that certain pairs of characters are represented by a single byte. For example: $27="er". There's a table in the ROM at address $3F1D that defines these character pairs.

I also threw in a few of the more obvious control codes in my table file, but I definitely didn't get all of them.

It looks like most of the dialogue comes after address $34000. The dialogue immediately after the first battle starts around $3A133. I didn't look into pointers at all.

Hopefully this at least makes it a little easier to get started.

CoolCatBomberMan

  • Jr. Member
  • **
  • Posts: 11
    • View Profile
Wow, I didn't expect so much work to be done over some Gameboy RPG. I'm surprised.......

mariosmentor

  • Jr. Member
  • **
  • Posts: 52
    • View Profile
@Reld
Thank you so much! I'll get to work as soon as I can!

@all
Once I'm done with this hack, don't expect to see me here ever again. Stressing out over how I was going make any progress with the text made me sick. Literally. I have no interest in a hobby that's detrimental to my health. The next time I want a certain hack/translation, I'll just cross my fingers and hope someone does it someday.

Vanya

  • Hero Member
  • *****
  • Posts: 1480
    • View Profile
Yay!! Some of my ideas got used! :3

Quote
Long-Ass Title

Hahaha!!!! You guys are awesome!
« Last Edit: June 24, 2019, 12:55:55 pm by Vanya »

mariosmentor

  • Jr. Member
  • **
  • Posts: 52
    • View Profile
 :banghead:


Apparently, while working on the text, I somehow broke the ROM. I have no idea what I changed or deleted to cause this, even when comparing it to a backup ROM. Sure, I could start over, but like I said earlier, I had already gotten sick over this, and I just recovered not even a whole couple days ago. Last thing I want is a relapse. Honestly, I'm just looking for an excuse to give up at this point, so that's what I'm doing. Apologies for PowerPanda and Reld for wasting their time, but I really was in over my head with this. Peace, and sayonara to this forum.

Vanya

  • Hero Member
  • *****
  • Posts: 1480
    • View Profile
No worries, man.
If it's that bad then stepping away is appropriate.
I think there is enough interest that someone else will eventually pick it up.
Hell, it's in my ideas document for a reason.

Heaven Piercing Man

  • Jr. Member
  • **
  • Posts: 95
    • View Profile
Relax, at least we got kickass updated title screens.

kkaden

  • Newbie
  • *
  • Posts: 2
    • View Profile
So, I guess now's as good a time as any.  I'm looking into teaching myself z80 assembly and then working on DXifying FFA to be more like Adventures of Mana.  I've got no timeline to speak of, but I'll be around

PowerPanda

  • Jr. Member
  • **
  • Posts: 71
    • View Profile
From what I saw on Tomato's thread, the text on this game is not stored in a section of the rom reserved for text. It's literally embedded in the event script. For example, FFVI works like this:
-----
1. Change background music to "boss battle"
2. Move Party Character 1 up 2 spaces
3. Bring up text #325*
4. Move boss down 1 space
*Elsewhere in the rom, there would be a list of text strings. When you check, #325 is listed as "Let's fight!"
-----

It appears that FFA does something like this:
-----
1. Change background music to "boss battle"
2. Move Party Character 1 up 2 spaces
3. Bring up text: "Let's Fight" (in other words, the characters are in-line with the rest of the event code. There's no pointer)
4. Move boss down 1 space
-----

Because of that, it's REALLY hard to find the script for this game. You get a whole bunch of what looks like garbled symbols in the middle of the text strings, which is actually the event code. Extending a single textbox by 1 character will change the pointers for every event that follows it in the entire game.

In other words, nobody can fault you for saying this one is over your head. I would have done the title screen hack regardless of your work, and I'm glad I did it.

Reld

  • Jr. Member
  • **
  • Posts: 57
    • View Profile
It appears that FFA does something like this:
-----
1. Change background music to "boss battle"
2. Move Party Character 1 up 2 spaces
3. Bring up text: "Let's Fight" (in other words, the characters are in-line with the rest of the event code. There's no pointer)
4. Move boss down 1 space

That definitely tracks with what I saw when I was looking at the text after the first battle. There's a bunch of extra "stuff" in between two of the lines that just happens to coincide with a screen transition. I figured that "stuff" was probably event code for loading a new map and whatnot. If mariosmentor "broke the ROM" by editing the text, I imagine it was some of this event code that accidentally got overwritten/moved causing the game to crash, which would be super-easy to do.

If anyone cares, I think the data for the tile map on the title screen starts at $1FEE5. I'm not sure how it actually works though. I think it's compressed in some way. It's definitely not just a raw tile map.

Apologies for PowerPanda and Reld for wasting their time, but I really was in over my head with this. Peace, and sayonara to this forum.

Bummer that this particular project is being dropped, but I definitely understand getting in over your head. "Goodbye forever, ROM hacking!" seems a bit extreme to me, but you gotta do what's right for you I guess. It's no good if it's actually making you physically ill.



EDIT:
Here's another title screen to add to the pile.

I figured out how the tile map works. It uses 16x16 meta tiles. I can write something up about it tomorrow if anyone's interested.
« Last Edit: June 25, 2019, 01:23:56 am by Reld »

PowerPanda

  • Jr. Member
  • **
  • Posts: 71
    • View Profile
Here's another title screen to add to the pile.

I figured out how the tile map works. It uses 16x16 meta tiles. I can write something up about it tomorrow if anyone's interested.

Dang that looks good. I think KingMike would like to know how you did it so he can do the Seiken Densetsu titlescreen. I'm done with my project. I could probably make it look a little better, but I don't feel the need.

Reld

  • Jr. Member
  • **
  • Posts: 57
    • View Profile
OK here's my explanation for how the title screen tile map works.

Part 1: The Tile Map
The tile map in the ROM is at address $1FEE5, and it looks like this:

Code: [Select]
93 13 13 28 13 13 13
13 2C 2D 2E 2F 30 35 36 37 13
13 38 39 3A 3B 3C 3D 3E 3F 13
13 40 41 42 43 44 45 13 47 13
13 46 2B 2A 29 48 49 13 13 13
93 93 13 13
93 93 13 13
93 93 13 13

Each of those bytes (with the exception of $93) corresponds to a 16x16 meta tile (four 8x8 tiles).

$93 is a special case. It's actually just $13 with the most significant bit set (so 10010011 instead of 00010011). When the most significant bit is set the tile gets repeated a predefined number of times. In this case it gets repeated four times. You can change the number of repeats by changing the byte at $1FBB1 from $04 to whatever. I left it at $04 for my title screen. I don't know for sure if that value is shared by other tile maps or not, although I suspect it's not.

This image shows how the tile map corresponds to the tiles on the title screen. Apologies for the ugly graphic. I actually made this for myself as I was figuring this out.



Part 2: The Meta Tiles
There's a table of meta tile definitions that starts at $20C1A in the ROM. Each meta tile definition is six bytes long. The first four bytes define which 8x8 tiles are used. I'm not sure what the last two bytes are for, but that didn't seem to matter for my purposes.

I actually expected the tile ID bytes to be references to the tiles in VRAM, but they're not. They're references to the graphics data in the ROM. The game actually seems to decide which tiles to load into VRAM based on which meta tiles are used. There's some wasted space among the title graphics, so you can potentially use more tiles than the original title did.

The meta tiles used on the title screen are $28 through $30, and $35 through $49. $28 starts at $20D0A. $35 starts at $20D58.

This is what meta tile $28 looks like in the ROM:

Code: [Select]
25 25
5A 5B
30 00

The first two bytes are the top-left and top-right tiles. The third and fourth bytes are the bottom-left and bottom-right tiles.

This image shows how the tile ID bytes correspond to the graphics data in the ROM. Again, sorry for the ugly graphic. I didn't label every single tile, but I think you can see the pattern. $25 is a blank tile that isn't pictured here because its not specifically part of the title graphics.



I think that's pretty much it.

vivify93

  • Hero Member
  • *****
  • Posts: 1067
  • Guardian of Mystery
    • View Profile
That's pretty cool! I wanted to put the "Final Fantasy Adventure" sword in my title screen, but wasn't able to due to not understanding how it works. Thanks for sharing!
All my life I've tried to fight what history has given me.

ShadowOne333

  • Hero Member
  • *****
  • Posts: 1176
    • View Profile
That definitely tracks with what I saw when I was looking at the text after the first battle. There's a bunch of extra "stuff" in between two of the lines that just happens to coincide with a screen transition. I figured that "stuff" was probably event code for loading a new map and whatnot. If mariosmentor "broke the ROM" by editing the text, I imagine it was some of this event code that accidentally got overwritten/moved causing the game to crash, which would be super-easy to do.

If anyone cares, I think the data for the tile map on the title screen starts at $1FEE5. I'm not sure how it actually works though. I think it's compressed in some way. It's definitely not just a raw tile map.

Bummer that this particular project is being dropped, but I definitely understand getting in over your head. "Goodbye forever, ROM hacking!" seems a bit extreme to me, but you gotta do what's right for you I guess. It's no good if it's actually making you physically ill.



EDIT:
Here's another title screen to add to the pile.

I figured out how the tile map works. It uses 16x16 meta tiles. I can write something up about it tomorrow if anyone's interested.
Would you or PowerPanda mind if I add this one to the Title screen hacks that PowerPandam made?
Or maybe making a standalone hack entry for just this title screen?

Reld

  • Jr. Member
  • **
  • Posts: 57
    • View Profile
I don't mind either way. I guess it's up to PowerPanda to decide if they should be packed together or not.

PowerPanda

  • Jr. Member
  • **
  • Posts: 71
    • View Profile
I don't mind either way. I guess it's up to PowerPanda to decide if they should be packed together or not.

They should be packaged separately, but I'd encourage you to submit it. Mine's done with the Secret of Mana font and style, and yours is the logo from the GBA remake in grayscale. There's room for both.

GhaleonUnlimited

  • Jr. Member
  • **
  • Posts: 23
    • View Profile
This sounds like a pretty tough hack, but I hope the author (or anyone) will figure it out eventually. Really underrated game (which sounds odd to say about a Square game, haha). I wish I could help but I can't be too helpful from the programming side.   :banghead:

ShadowOne333

  • Hero Member
  • *****
  • Posts: 1176
    • View Profile
So for @Reld's new title screen, should I make a new entry altogether then?
Or add it to the already existing ones by @PowerPanda?

Or do you guys want to add it instead? :P

Reld

  • Jr. Member
  • **
  • Posts: 57
    • View Profile
Like I said, I don't mind if you add it. PowerPanda said they should be separate though, so I guess it should be a new entry.