Need help with finding the text in Captain Tsubasa V.S. (Solved)

Started by Morhamms357, February 17, 2023, 06:12:26 AM

Previous topic - Next topic

Morhamms357

Solved!! A place in the data has been found, at x17B96 you can edit the second line of the second page of the first cutscene of the game.

I'm new around here, this is my first post on here and my second translation I've made. Currently, I'm having a problem with the text to do with the game "Captain Tsubasa V.S." on the Game Boy.

Thing is, it's not to do with the words or not knowing what they mean. I can't seem to find the text in the R.O.M.'s data.

TL;DR If you guys know any addresses in the file where the text is, even if it's only a few characters long, that would be great. I'd be able to get to know how the text is encoded in the game, start rewriting the tiles to look like English, rewrite the text, etc..

Specifics, what I tried, and how it might work:

I've translated another game, Captain Tsubasa 3 for the S.N.E.S. the same way. But that game worked without a hitch. I went into the graphics data with a program called "Tile Layer Pro", and saw how they were ordered. 00=Space, 01=あ, 02=い, and so on. It completely worked, and it completely decoded the text, turns out the game displays its text in an extremely simple way. Edited the graphics data, inserted English letters to where their hex values in A.S.C.I.I. would fit best, and boom, I could type most letters directly into the game file with HxD.
https://imgur.com/a/UsWbLaQ

So I tried doing a similar thing with this game, and already some weird things. Why does the text seem to be anti-aliased? Why is it offset by a tile? (not seen in this image, but) What's with the English being half on the tile, half off? But it mostly didn't matter. The essential tiles could be edited easily, and due to this weird formatting, it actually gave the text a smooth, anti aliased effect when I edited the tiles in black-and-white.
https://imgur.com/a/QkomiFP

But the problem is I can't find any text doing this. Example, I want to find the characters "あるひ", which is the first word of the first cutscene.
https://imgur.com/a/Lhkhgq8

So, at according to the text, it should be "01 29 1B", but I can't find it. However, I go into Captain Tsubasa 3, it does correspond to that. I tried a bunch of things, but none worked.

So I'm kind of lost. The first step seems to be the hardest to make. If I can just find an address to edit text, and see it display in the game, all I need to do is write a library of what hex values go to which letter, edit the tiles, and I can start editing the text. But I can't even figure out how to edit the games text at all, so I'm stuck right now. If anyone could help, it'd be appreciated

KingMike

Text doesn't necessarily encode with the first character having the value 0 or 1. If it's a GB/GBC game, have you checked bgb and looked at the tilemap viewer. You can see the tiles on the screen and click and it will tell you their tile values.

Although sometimes GB games might only load the characters that are actually displayed on the screen since it has such little VRAM (even less than the NES, effectively).

Really you would need to find and edit the font first.
I mean, especially when translating a Japanese game to English, how would you replace the text if the game (most likely) doesn't have the font characters needed?
"My watch says 30 chickens" Google, 2018

Morhamms357

#2
I don't know what "bgb" is, but I have seen the tile viewer. It always stores every single character the game has. Examples are, in the games memory, Space=#256 @9000, A=#257 @9010, I=#258 @9020, and so on and so forth. Viewed using BizHawk's G.P.U. viewer.

https://imgur.com/a/wJxprkL

And what a catastrophic mistake, the images aren't loading! They were loading just fine in the editor...right now I'm editing the original to have links to the images, they show the first cutscene's graphic, and the CHR R.O.M. of the two games, to show how similar they are.

Really, thank you so much for replying. I didn't think anyone would!

Quote from: KingMike on February 17, 2023, 10:21:41 AMText doesn't necessarily encode with the first character having the value 0 or 1. If it's a GB/GBC game, have you checked bgb and looked at the tilemap viewer. You can see the tiles on the screen and click and it will tell you their tile values.

Although sometimes GB games might only load the characters that are actually displayed on the screen since it has such little VRAM (even less than the NES, effectively).

Really you would need to find and edit the font first.
I mean, especially when translating a Japanese game to English, how would you replace the text if the game (most likely) doesn't have the font characters needed?

I have checked the V.R.A.M., however, it gives me the values, but it's either information I can't use, or was known before. The minimum value, Space, is 256. Meaning FF, the maximum in hex. It also has a value of @9000, which I'm not too sure on what that means. Maybe it's where the tile is in the R.O.M., but looking at x9000, there doesn't seem to be any patterns...

The game seems to load only the characters it needs onto the "Window" layer, but in memory bank 1, the whole font, as well as some graphics, are there. This is where I'm getting those values from.

I could edit the font to be in English, and this is what I plan to do of course. Keeping a spare Japanese R.O.M. for seeing what the original text is. Problem is, I want to put them in the A.S.C.I.I. format, or at least as close as is possible without breaking it, making it extremely easy to decode the untranslated text and find it in the R.O.M., as well as making inserting the text as easy as pie. However, I would need what each tile corresponds to in hex in order to do that...which is what I would solve by finding and asking a place in the R.O.M. to edit the hex numbers and see what the game displays. If I were to just put in the incorrect tiles in random places (like putting the English Capital A where あ is instead of where 41 in hex is), then it solves nothing, and doesn't make the game easier to decode.

If you were to review the edited messages with the image links, maybe a new solution can be found with more information. If the image links don't work, I'll try and replace them. But they're working for me, though.

Thanks for replying!

Cyneprepou4uk

bgb is an emulator.

With some relative searching I was able to find this string


Other text should be nearby.

Morhamms357

#4
Yes!!!! Thank you so much!!! You are a lifesaver! Now, I'm able to see what each hex character encodes to what...

Have a good one, everyone!

Edit: After seeing how the game reacts to putting in new data...it doesn't react well. Almost every value all the way until A6 produces almost nothing. And the things it did produce, weirdly enough correlated exactly to their A.S.C.I.I. counterparts (like all the numbers, and some punctuation). Weirder still, almost no "dakuten" letters printed, and neither the entirety of Hiragana. Only Katakana. So it seems that the game's typing system is much more nuanced than I thought, unlike most games, including in its own series, just printing off predetermined tiles...

In the end it seems KingMike was right. I'll have to get into the game's coding on how the game types the characters itself...which will be a difficult endeavor, and one I'm not sure will bear fruit at all. But thanks for the help, really, everyone.

Fun Fact: An old translation for the game used to exist, made by a user known as "RepRep" discussed on this very website, however, it was all dumped on SendSpace links, a site that doesn't seem to exist anymore. I asked him about it, too. He doesn't have the file anymore. Maybe I'll contact him again about more info on how to translate the game.

Cyneprepou4uk

And how exactly the fact that letters starting from B1 (or whatever) instead of 01 prevents you from translating it?

Morhamms357

It doesn't, but it just makes it more difficult. But what I meant is that not all the text seems to be created equally, different tiles only show up on certain areas. The string I tested doesn't have *the entirety of Hiragana* in it, no matter what I tried, maybe there is a flag in the data that switches it from Hirigana to Katakana? I'm not sure how it works.

After tinkering around with it some more, there are tons of flags that set off different groups of tiles. This makes it much more difficult to use because I can't just depend on it typing the same way every time. So unlike the previous game, where all I needed to do was insert a font in the correct areas and it typed the same way it does on my keyboard, now I'd have to learn not just which hex value equals which, but also what flags set off what. I'm still gonna keep trying, but not least of my problems is that none of the tiles I've found are even typable on my keyboard...so it'd be a very tedious process.

At this point, the original problem has been solved, but I'm encountering new ones every step of the way. I think it's best for me to instead make a thread on the "Personal Projects" section. Nevertheless, really, you guys have been a great help.