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

Author Topic: Translating BS Golf Daisuki - Newb  (Read 3428 times)

jaskamakkara

  • Jr. Member
  • **
  • Posts: 6
    • View Profile
Translating BS Golf Daisuki - Newb
« on: August 19, 2015, 03:25:27 am »
Hi everyone,

I'm quite new to this sort of thing, I've played around with hardware for a while, but I thought I'd try my hand at a little ROM hacking as a hobby. I've been playing a bit of BS Golf Daisuki: O.B. Club on SNES recently, the game has very little text but I thought it would be fun to try and translate the menu text to English to help introduce new players to the game, particularly as I can't find a translation patch on the net anywhere at the moment.

After digging around and reading some tutorials, I have managed to find where the text characters are stored in the ROM (the Latin chars are just beneath what you can see here):



Many of the guides I have read suggest using a Relative Search on the ROM with a phrase that appears in the game (the relative values calculated from the order of the characters as they appear inside the ROM, i.e. the picture above).  I would like, for example to change the text on the following screen of the game:



If I try to perform a relative search for a string of chars that appear on this screen (so for example "とリけし" [the label for the B button in the picture] becomes 64, E1, 23, 41 - using the first Jap character in the top-left as 00), then I get no results.  Can anyone help me with finding these text strings inside the ROM?  I must confess that I am finding this tricky even after reading just about as much as I can get my hands on online.

I think it's something to do with the fact that the characters are on 8x16 tiles, whereas the tutorials I have been reading have been using games that have the characters on 8x8 grids.

Thanks

August 19, 2015, 07:08:38 am - (Auto Merged - Double Posts are not allowed before 7 days.)
Rephrased my question.
« Last Edit: August 19, 2015, 07:16:27 am by jaskamakkara »

Jorpho

  • Hero Member
  • *****
  • Posts: 4194
  • The cat screams with the voice of a man.
    • View Profile
Re: Translating BS Golf Daisuki - Newb
« Reply #1 on: August 19, 2015, 09:29:50 am »
Your counting scheme is unclear to me.  E1 in decimal is 225, but there are only 16x8 = 128 characters in your grid.  I get 34, 71, 13, 21 (in hex, of course) for とリけし .

Since the text characters are already there and look like they can be easily edited, why not swap the Japanese characters with the Latin ones, and then do a relative search with the resulting phrase?
« Last Edit: August 19, 2015, 09:36:03 am by Jorpho »
This signature is an illusion and is a trap devised by Satan. Go ahead dauntlessly! Make rapid progres!

jaskamakkara

  • Jr. Member
  • **
  • Posts: 6
    • View Profile
Re: Translating BS Golf Daisuki - Newb
« Reply #2 on: August 19, 2015, 11:35:06 am »
Your counting scheme is unclear to me.  E1 in decimal is 225, but there are only 16x8 = 128 characters in your grid.  I get 34, 71, 13, 21 (in hex, of course) for とリけし .

Since the text characters are already there and look like they can be easily edited, why not swap the Japanese characters with the Latin ones, and then do a relative search with the resulting phrase?

Hi Jorpho,

I tried a relative search with the hexes you calculated and still no match :-(

When you say "the resulting phrase", do you mean:
  1 - Edit the Jap characters to look like Latin letters
  2 - Run the game and find a phrase that's easily written down
  3 - Relative search the hex file for that phrase?

I actually tried to edit one or two of the characters by copy/pasting A,B,C... in their places (using Tile Layer Pro), but they appeared unaltered in the game.  Could it be that the text is repeated somewhere else in the ROM?  I have searched through using all the bitplanes and I can only find this set.

Thanks

EDIT - Just a small thing I forgot to mention, when viewing the text characters in a tile viewer I have to offset the ROM by 1 in order to see them properly, see the comparison below. Is that normal?

« Last Edit: August 19, 2015, 11:55:52 am by jaskamakkara »

Seihen

  • Sr. Member
  • ****
  • Posts: 405
    • View Profile
Re: Translating BS Golf Daisuki - Newb
« Reply #3 on: August 19, 2015, 07:41:41 pm »
Is it possible that the text in that image is actually not printed text, but actually an image itself? It seems unlikely since the font is a perfect match, but I've seen weirder.

Maybe try searching for a string in the textbox, such as あそびますか, first? Since you know that's being printed.

jaskamakkara

  • Jr. Member
  • **
  • Posts: 6
    • View Profile
Re: Translating BS Golf Daisuki - Newb
« Reply #4 on: August 20, 2015, 03:22:35 am »
I've tried every way I can think of to relative search for the text and I simply can't find it.  Any chance someone with a bit more experience could have a brief look at the ROM for me and tell me what they think?

I know this seems a bit defeatist but I think I just need to small boost to get started and I can get stuck in :-)

Jorpho

  • Hero Member
  • *****
  • Posts: 4194
  • The cat screams with the voice of a man.
    • View Profile
Re: Translating BS Golf Daisuki - Newb
« Reply #5 on: August 20, 2015, 09:11:23 am »
Are you saying you replaced the Japanese alphabet with a Latin one, and you didn't see any changes anywhere?  Because that suggests the game uses a completely different font stored somewhere else that you can't see due to compression, and compressed graphics are a pain.

(I assume you're not using savestates or something when you're testing out your altered ROM.)
This signature is an illusion and is a trap devised by Satan. Go ahead dauntlessly! Make rapid progres!

jaskamakkara

  • Jr. Member
  • **
  • Posts: 6
    • View Profile
Re: Translating BS Golf Daisuki - Newb
« Reply #6 on: August 20, 2015, 09:47:19 am »
Are you saying you replaced the Japanese alphabet with a Latin one, and you didn't see any changes anywhere?  Because that suggests the game uses a completely different font stored somewhere else that you can't see due to compression, and compressed graphics are a pain.

(I assume you're not using savestates or something when you're testing out your altered ROM.)

Yeah, I copied the "A" over the top of a couple of the characters that are visible in the screenshot I took but they appeared unchanged when I ran the game in an emulator (no save states).  Perhaps this ROM will be a bit too tricky for me as I'm just starting out here.  But, if you get a chance to look at it and confirm my issue then I would be very grateful :-)

Jack

BlackDog61

  • Hero Member
  • *****
  • Posts: 784
    • View Profile
    • Super Robot Wars A Portable translation thread
Re: Translating BS Golf Daisuki - Newb
« Reply #7 on: August 20, 2015, 03:40:27 pm »
Before you give up, try and ascertain where the font is.
Brute-force files viewing is the first option, of course, but it can be tricky since there are many possible tile sizes and such.
If you don't find anything, you can also try it from a RAM dump. (If the font is compressed, chances are it will be uncompressed in RAM. But not necessarily.)
Last resort: use the graphics debugger. I haven't dealt with the SNES, but it should be there in a good emulator. There should be the address for the graphics loaded where text is displayed, allowing you to see where the graphics come from. If you are unlucky, each character is uncompressed on-the-fly before being used. But why don't you hope for the best first? ;D

jaskamakkara

  • Jr. Member
  • **
  • Posts: 6
    • View Profile
Re: Translating BS Golf Daisuki - Newb
« Reply #8 on: August 20, 2015, 03:42:11 pm »
OK, thanks for the encouragement  :)  I'll have another look tomorrow and see how I get on!

Corvo

  • Jr. Member
  • **
  • Posts: 43
    • View Profile
Re: Translating BS Golf Daisuki - Newb
« Reply #9 on: August 20, 2015, 08:23:35 pm »
I've had a look here, and it appears the font you've found is only used in the scorecards (press Start during play, it's the font used in the characters' names), not in the menus. I've made a savestate, and it looks like both menu fonts are compressed - they appear in the savestate, but not in the ROM (uncompressed).

I also tried relative searching for "1995", "NCS" and "CORP", but none of the resulting tables were right. So it's either hardcoded, compressed or it uses some other order I'm not privy of.
« Last Edit: August 20, 2015, 08:59:13 pm by Corvo »

jaskamakkara

  • Jr. Member
  • **
  • Posts: 6
    • View Profile
Re: Translating BS Golf Daisuki - Newb
« Reply #10 on: August 21, 2015, 01:46:16 am »
I've had a look here, and it appears the font you've found is only used in the scorecards (press Start during play, it's the font used in the characters' names), not in the menus. I've made a savestate, and it looks like both menu fonts are compressed - they appear in the savestate, but not in the ROM (uncompressed).

Ah nice find, I had missed that.  Thanks for looking :-)

I also tried relative searching for "1995", "NCS" and "CORP", but none of the resulting tables were right. So it's either hardcoded, compressed or it uses some other order I'm not privy of.

I also tried searching for those at one point and couldn't find them.  I think they're stored separately in the ROM, by that I mean they are not pulled from the font table (wherever it actually is) but are their own graphics.  Could be wrong though.


If you don't find anything, you can also try it from a RAM dump. (If the font is compressed, chances are it will be uncompressed in RAM. But not necessarily.)
Last resort: use the graphics debugger. I haven't dealt with the SNES, but it should be there in a good emulator. There should be the address for the graphics loaded where text is displayed, allowing you to see where the graphics come from. If you are unlucky, each character is uncompressed on-the-fly before being used. But why don't you hope for the best first? ;D

I managed to get this dump from the VRAM using Geiger's debugger:



This was taken while the main menu screen was loaded.  Only problem is my skills don't extend to tracing out where this information came from in the ROM.... Can anyone help me with this?

Thanks again guys :-)

EDIT - Here's another shot of the dump, showing the 8x16 Jap characters loaded into memory:


BlackDog61

  • Hero Member
  • *****
  • Posts: 784
    • View Profile
    • Super Robot Wars A Portable translation thread
Re: Translating BS Golf Daisuki - Newb
« Reply #11 on: August 21, 2015, 02:38:53 pm »
With a little luck, the thing starting with "CHR" at the bottom of thescreen is the memory address you're looking for?
Try zeroing it out to be sure. 8)

KingMike

  • Forum Moderator
  • Hero Member
  • *****
  • Posts: 6928
  • *sigh* A changed avatar. Big deal.
    • View Profile
Re: Translating BS Golf Daisuki - Newb
« Reply #12 on: August 21, 2015, 11:54:27 pm »
That's just the file address, in his VRAM file. It tells nothing about the ROM.
It could be useful for tracing if he knew ASM to trace its location and probably compression, but otherwise probably not useful at this point.
"My watch says 30 chickens" Google, 2018

visualdefenition

  • Jr. Member
  • **
  • Posts: 93
    • View Profile
Re: Translating BS Golf Daisuki - Newb
« Reply #13 on: August 27, 2015, 06:50:44 pm »
Not that this helps you with your current technical problems, but...

http://dynamic-designs.us/d-dforum/viewtopic.php?f=33&t=492

The script has already been translated. Hope that helps to motivate you to complete this project.

gc8tech

  • Jr. Member
  • **
  • Posts: 52
    • View Profile
Re: Translating BS Golf Daisuki - Newb
« Reply #14 on: September 14, 2015, 03:09:24 am »
Your stuck at the same point as me. I can the text in the VRAM, But its compressed in ROM. I'm unable to uncompress it OR take control of the subrute that uncompresses it.. OR displays the letters on the screen.

There seams to be some common ground about the data sent to the display subrutine. Hex bits follow this pattern.
HH VV CC AA

HH is horizontal postion on screen,
VV Vertical position on screen
CC Charater to display on screen
AA  Attributes to CC (Change text colour etc)

Thats as far as i can go. There must be some type of util to seach a rom looking for compressed grafics so they can be edited and saved back to the rom. OR

Take over the display subrutine to display your own words from location in rom or memory.

Tim.