Author Topic: Cyber Knight translation  (Read 10384 times)

SuperPlay

  • Hero Member
  • *****
  • Posts: 1659
Re: Cyber Knight translation
« Reply #90 on: March 07, 2014, 09:02:17 PM »
Great work so far :-) looking forward to this when it is complete.

roflmao

  • Hero Member
  • *****
  • Posts: 4830
Re: Cyber Knight translation
« Reply #91 on: March 08, 2014, 04:34:53 PM »
To echo SuperPlay's sentiments, you are an inspiration.  I don't remember if I've posted to this thread yet, but wanted to share my enthusiasm for what you're doing. :D

megatron-uk

  • Full Member
  • ***
  • Posts: 219
Re: Cyber Knight translation
« Reply #92 on: March 08, 2014, 06:41:29 PM »
Thanks for all the kind words :D

I'm hopeful that when I start the main in-game text it will be all of a similar type to (null delimited strings). The best thing that could happen is I get hold of a dump of the raw and converted SNES translation - I don't have any Japanese language skills - so this would speed up the conversion process immensely.

One thing I've found even with just the intro text is the amount of extra space needed for an English representation of the Japanese text - it's often anywhere up to 50% longer. That could be a sticking point (if there's not room to expand into), and I may need to seek others' help to modify the text loader code as I know virtually zero 6502 assembly.

Things may slow down for the next few weeks - my wife and I have just accepted an offer on our house, so it's all hands to packing and moving duties!

megatron-uk

  • Full Member
  • ***
  • Posts: 219
Re: Cyber Knight translation
« Reply #93 on: March 10, 2014, 10:57:23 AM »
Hit a bit of stumbling block with the next section of text that appears just before the game actually starts - it's just after the scrolling intro text that summarises what has happened so far.

It's translated, and inserted, but when I run the game it seems as if the previous text block insertion (the scrolling text, as posted earlier) breaks it. So rather than my nicely translated text, I get random hiragana/katakana characters.

The text inserted before this one was expanded into what seems to be an unused section of the rom (0x1bca7 - 0x1bff0, all set to 0xff). When I disable that particular patch, my new translation works correctly. I'm wondering if the game uses some offset from this last text block to jump to the next... in which case, any string expansion is going to fail, like this appears to.
« Last Edit: March 10, 2014, 10:59:09 AM by megatron-uk »

megatron-uk

  • Full Member
  • ***
  • Posts: 219
Re: Cyber Knight translation
« Reply #94 on: March 10, 2014, 11:06:53 AM »
With expanded scrolling intro text patch applied and without. In both cases the translation is present for the displayed section, but in the case where the intro patch is applied, the output of this particular section is jibberish.


TheOldMan

  • Hero Member
  • *****
  • Posts: 958
Re: Cyber Knight translation
« Reply #95 on: March 10, 2014, 02:05:02 PM »
Quote
The text inserted before this one was expanded into what seems to be an unused section of the rom (0x1bca7 - 0x1bff0, all set to 0xff)

Just out of curiosity, did you insetrt the text at the beginning or end of that block? Some of those xFF's may actually be termination codes....

megatron-uk

  • Full Member
  • ***
  • Posts: 219
Re: Cyber Knight translation
« Reply #96 on: March 10, 2014, 08:17:48 PM »
The beginning. It runs from it's normal start location to around 200-300 bytes into that 0xff section. It's around 850 bytes in normal length, it's now about 1100. The remainder (and end) of the 0xff block is intact.

megatron-uk

  • Full Member
  • ***
  • Posts: 219
Re: Cyber Knight translation
« Reply #97 on: March 11, 2014, 08:32:11 AM »
Slight OT, but interesting nontheless; it appears as though Cyber Knight may well have a hidden sound/music test facility as I've found this in one of my latest dumps:

Code: [Select]
    {
        "string_description" : "unknown 1",
        "string_start" : "0x1c0c4",
        "method" : 3,
        "start_bytes" : [],
        "end_bytes" : ["00"],
        "raw_size" : 137,
        "raw" : ["0b", "05", "06", "2a", "2a", "2a", "20", "43", "79", "62", "65", "72", "20", "4b", "6e", "69", "67", "68", "74", "20", "2a", "2a", "2a", "0b", "05", "08", "2a", "2a", "2a", "20", "20", "53", "4f", "55", "4e", "44", "20", "54", "45", "53", "54", "20", "20", "2a", "2a", "2a", "0b", "08", "0c", "41", "75", "64", "69", "6f", "20", "6d", "6f", "64", "65", "20", "3a", "0b", "08", "0e", "42", "47", "4d", "20", "52", "65", "71", "20", "4e", "6f", "2e", "3a", "0b", "08", "10", "42", "47", "4d", "20", "52", "65", "71", "20", "4e", "6f", "2e", "3a", "0b", "08", "12", "45", "46", "43", "20", "52", "65", "71", "20", "4e", "6f", "2e", "3a", "0b", "08", "14", "45", "46", "43", "20", "52", "65", "71", "20", "4e", "6f", "2e", "3a", "0b", "08", "16", "46", "61", "64", "65", "2d", "4f", "75", "74", "20", "20", "20", "3a", "00"],
        "raw_text" : "<0B><05><06>*** Cyber Knight ***<0B><05><wait>***  SOUND TEST  ***<0B><wait><erase>Audio mode :<0B><wait><0E>BGM Req No.:<0B><wait><10>BGM Req No.:<0B><wait><12>EFC Req No.:<0B><wait><14>EFC Req No.:<0B><wait><16>Fade-Out   :",
        "alt_text" : "<0B><05><06>*** Cyber Knight ***<0B><05><wait>***  SOUND TEST  ***<0B><wait><erase>Audio mode :<0B><wait><0E>BGM Req No.:<0B><wait><10>BGM Req No.:<0B><wait><12>EFC Req No.:<0B><wait><14>EFC Req No.:<0B><wait><16>Fade-Out   :",
        "trans_size" : 0,
        "trans_text" : ""
    },

    {
        "string_description" : "unknown 1",
        "string_start" : "0x1c14d",
        "method" : 3,
        "start_bytes" : [],
        "end_bytes" : ["00"],
        "raw_size" : 12,
        "raw" : ["0b", "15", "0c", "4d", "6f", "6e", "61", "75", "72", "61", "6c", "00"],
        "raw_text" : "<0B><15><erase>Monaural",
        "alt_text" : "<0B><15><erase>Monaural",
        "trans_size" : 0,
        "trans_text" : ""
    },

    {
        "string_description" : "unknown 1",
        "string_start" : "0x1c159",
        "method" : 3,
        "start_bytes" : [],
        "end_bytes" : ["00"],
        "raw_size" : 12,
        "raw" : ["0b", "15", "0c", "53", "74", "65", "72", "65", "6f", "20", "20", "00"],
        "raw_text" : "<0B><15><erase>Stereo  ",
        "alt_text" : "<0B><15><erase>Stereo  ",
        "trans_size" : 0,
        "trans_text" : ""
    },

megatron-uk

  • Full Member
  • ***
  • Posts: 219
Re: Cyber Knight translation
« Reply #98 on: March 12, 2014, 09:47:05 PM »
For now I've backed out the translated scrolling text from the intro. Until I can work out how to get the longer english text in there without affecting later strings I've moved on with the in-game dialogue.

I'm now working on translating the load/save game screens as well as the player character/npc stats screens. The load save game screen is done, except for the Kanji - the player stats screen is also mostly done; including the 4 skill categories (combat, tech/engineering, medic, science) and player roles (commander, soldier, doctor, professor, tech/engineer) and sex.

I'm starting to try and figure out how the Kanji tiles are printed - I thought they may have been double-byte chars, but that doesn't appear to be the case, and I'm not sure yet how the text printing engine figures out if a byte is part of a kanji sequence or a single kana/hira/ascii tile....

esteban

  • Hero Member
  • *****
  • Posts: 24063
Re: Cyber Knight translation
« Reply #99 on: March 13, 2014, 12:46:38 AM »
Sound Test must be revealed.
  |    | 

megatron-uk

  • Full Member
  • ***
  • Posts: 219
Re: Cyber Knight translation
« Reply #100 on: March 16, 2014, 12:55:42 AM »
I have an update with most of the starting menu's and stats screens in the game.

The following are now converted:
[ul][li]Starting a new game - name entry, abilities screen[/li][li]Opening cinema (excluding scrolling intro)[/li][li]Loading a save game from BRAM (excluding a very small amount of text, only 4-5 characters)[/li][li]Loading a save game from password[/li][li]Viewing the player party stats both in-ship and from the overworld map[/li][/ul]
Here's what the partially translated player name entry looked like after my initial work:


Here's the fully translated version including Kanji replacement:

Unfortunately I had to lose a character from the 'Del' command, hence 'Rm' (Remove). If it's a deal breaker I may look at it again.



Here's the initial version of my translation for the player skill point assignment screen, including the players teammates with their translated names:


And here's the final version:




This is the in-game player/teammate stats screen, which included the translated names and skills:



And this is the final version, with all text and Kanji replaced:





The load save game screen originally looked like this:


Here it is now - some small edits still to do, but it's in 90% English now (all the messages the Doctor says are now translated):




So what's next? Finish off the 'load save from password' screen, and then every single initial game menu screen is finished 100%. Next move on to the main in-game screens - already got a good 75% of the status screen that pops up while in the overworld map (list inventory [no items translted yet!], apply repair/medkit etc). And then the in-ship menus, which will make navigating and testing the game easier.

Punch

  • Hero Member
  • *****
  • Posts: 3278
Re: Cyber Knight translation
« Reply #101 on: March 16, 2014, 08:22:52 AM »
Pretty cool, I guess you intend to release a 100% translation patch? Looking forward to it.

megatron-uk

  • Full Member
  • ***
  • Posts: 219
Re: Cyber Knight translation
« Reply #102 on: March 16, 2014, 09:02:01 AM »
That's the intention. Of course, all of the tools I've written to do this, and the individual patches themselves are all up on my github repository, so anyone can feel free to take the content and do what they want - change the text, grammer or language, if they feel like it. Or simply apply the patches to their own copy of the original Japanese rom file.

megatron-uk

  • Full Member
  • ***
  • Posts: 219
Re: Cyber Knight translation
« Reply #103 on: March 16, 2014, 11:50:17 AM »
Last update for the weekend.

Most of the in-ship menus are now translated (some better than others - most only have 5 characters of width to play with). This is just a first pass at them, they'll need some work to fit better and some could do with changing: 'Heal' instead of 'Treat', for example.

The 'mecha hangar' screen isn't finished yet as there are loads of sub-menus and sub-options to go through, all to do with reconfiguring your mecha, browsing the parts database etc.

Anyway, here's a picture of the latest in-ship screenshots. This patch isn't up on github yet, but everything else done so far is.
« Last Edit: March 16, 2014, 11:52:27 AM by megatron-uk »

spenoza

  • Hero Member
  • *****
  • Posts: 2751
Re: Cyber Knight translation
« Reply #104 on: March 17, 2014, 05:36:00 AM »
I see "search" is a bit long. Would "scan" be an appropriate synonym in this situation?
<a href="http://www.pcedaisakusen.net/2/34/103/show-collection.htm" class="bbc_link" target="_blank">My meager PC Engine Collection so far.</a><br><a href="https://www.pcenginefx.com/forums/" class="bbc_link" target="_blank">PC Engine Software Bible</a><br><a href="http://www.racketboy.com/forum/" c