tools for translation? (Development Foros MSX)MSX Resource Center MSXdev 2008 - MSX1 development bonanza!           
                       
English Nederlands Español Português Russian                  
 Noticias
   Página principal
  Almacén de noticias
  Temas de noticias

 Recursos
   Foros MSX
  Artículos
  Analisis
  Informe de ferias/RUs
  Álbum de fotos
  Ferias y encuentros
  Encuestas
  Enlaces
  Buscar

 Software
   Descargas
  Tienda Online

 MRC
   Quiénes somos
  Únete a nuestro equipo
  Donar
  Políticas
  Contacta con nosotros
  Enlázanos
  Estadísticas

 Buscar
 
  

  

 Login
 

Login

Contraseña




¿Aún no tienes una cuenta? ¡Conviértete en miembro del MSX Resource Center! ¡Únete a nosotros!.


 Estadísticas
 

Hay 164 invitados y 4 miembros en línea

Eres un usuario anónimo.
 

Foros MSX


Foros MSX

Development - tools for translation?

Ir a la página ( 1 | 2 | 3 Siguiente página )
Autor

tools for translation?

telkoth
msx friend
Mensajes: 7
Publicado: Marzo 11 2003, 08:29   
What tools would I need to translate a Japanese MSX game to English... I've never done anything like it before, and only have vauge ideas in my head, like "are strings in MSX even null-terminated?"
BiFi
msx guru
Mensajes: 3142
Publicado: Marzo 11 2003, 10:03   
There are numerous of ways to translate texts in japanese games to any other languages.

I think in the very beginning of translation efforts, simple things like a disk editor is used (the first translations are done with disk games) to check how and where the texts are stored, where the non-japanese alphabet is stored in the character set to change the data from the japanese character codes to what the rest of the world can read. Disadvantage is this procedure is the limit for the texts.

Later better methods and tools were written to replace common words into a single character and using a dictionary system find the word that belongs there. Games like Illusion City, King Kong 2, Solid Snake, Snatcher and Shalom are translated this way. All games have their own translation tools or up to some point identical (when one person works on more translations).

Translating ROM games (like King Kong 2, Solid Snake and Shalom) isn't that easy as ROM data can't be altered. These translations are therefore done on ROM images (which in most cases are translated by either of above specified methods).

Did I miss some other method?
warau
msx lover
Mensajes: 116
Publicado: Marzo 11 2003, 11:37   
I'm working (slowly) in Randar 3 translation since 1999. I've used a compiling system that creates a table pointing to the new texts (generally longer than the old ones). The game uses that table to know where is stored every phrase. The compiler tool always tries to make room when the new text is shorter, so there is more free space to allocate the new words (possibly longer).

I also edited some graphical elements such as text fonts, main title, etc. I had to code a compressor tool since original graphics are rle-compressed.

Anyway, when you attempt to translate a MSX game, you usually have to code your own tools, unless you decided to use the poor HEX editor method.



P.S. I remember that, when disassembling Randar 3, I discovered a nice trick: set the word SOUND when entering your name and you will access the BGM/SFX menu.
Randam
msx user
Mensajes: 41
Publicado: Marzo 11 2003, 15:17   
If you haven't done anything like it before you probably will end up using a hex editor for starters. If you mean with 'null-terminated' that texts end with hex value '00' then the answer is: not always. It depends on the game but often '00' or 'ff' are used for this purpose.

Furthermore you need to find the characterset of a game and edit it when necessary.

There are more things you could take in consideration but those are the basics; no need to complicate things from the get go. Butiif you want to know how it's ideally done: combine Warau's method in combination with a library system in which you store frequently used words.

But for your first project try to select a game where you need to alter as little as possible aside from the texts. If you try to tackle all difficulties at once, it might get discouraging


telkoth
msx friend
Mensajes: 7
Publicado: Marzo 11 2003, 20:26   
Thanks - I'll keep it all in mind. I'll start with hex-editing and see what I can do with that... but the problem I keep thinking about is: how will I identify the strings. If they were english, I assume it'd be ASCII, which makes it quite easy to find just at a glance, and recognize from the game. But the hex-editor certainly won't show me japanese characters So what ASCII codes correspond to what japanese codes? Do they do some strange mapping for only the characters they need? Arbitrarily decide ASCII value 230 should be such-and-such a character? Or will they use something like Unicode, where a two-byte code represents a character?

Assembly I'm not too familiar with, unfortunately. I mostly learned emulated MIPS stuff... I know enough to know that data, such as strings, will probably be found somewhere near the end of an executable, but I'm also wondering about the DSK image format - it will contain several files, correct? How will I know where one file starts and another begins when I open the DSK file with a hex editor?

So many questions! But thanks for any help.
GuyveR800
msx guru
Mensajes: 3048
Publicado: Marzo 11 2003, 20:41   
Some games just store the japanese in (high-)ASCII. So if you use a japanese character table (i.e. use a (emulated) japanese MSX) then you can see them.
warau
msx lover
Mensajes: 116
Publicado: Marzo 12 2003, 12:36   
The DSK format is a full image of sectors contained in the original diskette.
So, if the game had a FAT system, you may edit the files inside the DSK by using a tool like DSKTOOL, DSX, WINIMAGE, etc.

But, there are many MSX games that use their own file system, or simply they read sectors in a raw mode. In these cases you have to edit the DSK file directly.

About identifying text strings .... japanese characters are usually stored by using the extended ASCII table (80h or upper). Though, the space character still remains the same (20h). Strings are null-terminated, so each string ends with 00 or FFh.

So, you have to search something that looks like this: E5 E3 D9 E0 20 E1 DF E0 DB DA 20 DA DB E4 FF.

Another key to identify japanese text is to look for the English words. Sometimes, though game was in Japanese, there are some words in English (for example, LIFE, START, GAME OVER, etc.) If you see these words in the HEX editor, japanese words are near ....

Finally, if you use a Japanese character set, you may identify the katakanas and hiraganas directly in the character grid on the HEX editor.

And what about kanjis? Well ... they use something similar to Unicodes for 2-bytes characters, so always are the same .... if you got a Kanji table with their respective codes, you can indentify them in the HEX editor quickly.

If you use the real MSX for editing, try the SHEM editor. It is perfect for translations since it allows you to see the graphics patterns for each byte or word or dword.







Randam
msx user
Mensajes: 41
Publicado: Marzo 12 2003, 13:57   
Other smart ways to find the japanese characters is to start looking at save-games or userdisks or use a relative search to find out how they are stored.
NYYRIKKI
msx master
Mensajes: 1497
Publicado: Marzo 12 2003, 23:59   
Quote:

If you use the real MSX for editing, try the SHEM editor. It is perfect for translations since it allows you to see the graphics patterns for each byte or word or dword.



If you use real MSX I would suggest you to use SUPER-X

It has kanji reader, monitor, assembler, disassember, character editor, calculator, ASCII editor, HEX editor, sector editor, file editor etc. all in one package.

~NYYRIKKI
GuyveR800
msx guru
Mensajes: 3048
Publicado: Marzo 13 2003, 00:06   
o.O

That sounds like an amazing program! Where can we get it?
telkoth
msx friend
Mensajes: 7
Publicado: Marzo 13 2003, 00:34   
I have had some amount of luck finding the strings. I've been able to find english strings, as you said, and realize nearby japanese strings, and then by editing them and seeing what I changed, I can look at the original and find the value being used for a given character, which I can identify in the game, etc, etc...

I'm quickly realizing, however, the limitations of directly editing the file - I can't change the length of strings. I found a disassembler, however I cannot seem to get the files out of the DSK image. I assume the filenames are also in Japanese, as I get garbage-looking names with DskExplorer, DSKTool, and the like. They both seem to have trouble extracting the files, giving various error messages, or simply locking up Is there a way to perhaps disassemble the program while it's loaded in memory? Or is there a clever way I can lengthen or shorten strings in the file directly? I know that the strings are referred to by address, so if I lengthen a string, I would have to alter references to addresses for all the strings afterwards throughout the code - whee. That's not feasible. I almost wonder if it is feasible to shorten a string to give more length to the directly following string, then I might only have to change references to that following string... but even if I know the address, I imagine there could be lots of other values that just happen to match the value of the address. Wow, what a mess!

BiFi mentioned something about dictionaries and things that didn't entirely make sense to me. Is this something I can do when only hex editing is available to me? If so - what is it?
snout

msx legend
Mensajes: 4991
Publicado: Marzo 13 2003, 00:34   
Indeed, I don't know the program either and am very very curious
GuyveR800
msx guru
Mensajes: 3048
Publicado: Marzo 13 2003, 01:01   
Quote:

I'm quickly realizing, however, the limitations of directly editing the file - I can't change the length of strings.


You have found the biggest problem in translation

AFAIK Oasis just shortened the messages so they would fit. But particularly on SNES translations there has been done major hackwork in some games. I'm talking totally rewriting the message subsystem and/or menu system here.

Besides hacking and partially reprogramming the game, there is another trick that might help. Usually a game that stores all its messages in one file has a table with pointers to all the texts somewhere. You can then change the lengths of the messages and update the pointer table. In that case, there is no need to alter any references in the code.

Ofcourse, if you're unlucky, every address is hardcoded and you're pretty much in for a hard job. But if you're lucky, you can actually increase the total lengths of the texts by increasing the filesize. This ofcourse depends on the amount of free memory after where it's loaded.

Quote:

BiFi mentioned something about dictionaries and things that didn't entirely make sense to me. Is this something I can do when only hex editing is available to me? If so - what is it?


Using a dictionary means you assign whole words to certain bytes. For instance, the ASCII codes higher than 128 can be used. For instance, when in a game the word 'sword' is used a lot, you can replace it with code '230' and save 4 bytes every time!

However, this requires you rewrite or at least adapt the message display routines. Ofcourse you will need room for this new routine and also a list of the words in your dictionary. You will have to find room in memory for this.

May I ask what game you are working on?
NYYRIKKI
msx master
Mensajes: 1497
Publicado: Marzo 13 2003, 01:48   
Quote:

o.O

That sounds like an amazing program! Where can we get it?


Try:
www.nyyrikki.msx2.com

Documentation is unfortunately only in Japanese. I asked Takamichi to translate that, but I didn't have luck this time.

~NYYRIKKI
NYYRIKKI
msx master
Mensajes: 1497
Publicado: Marzo 13 2003, 02:33   
I just have to continue a bit as for 8 years this program has been my most used software. (Don't let the outlook trick you, it IS great!)

- You can access all memory in all slots & Memorymapper pages
- You can export data to BASIC listings
- You can use online help to remember what this memory location, I/O port or BIOS address is ment for and edit the notes from the software.
- You can use all this functionality also in VRAM
- This adds CALL commands to BASIC (for example changing CPU mode in MSX tR)
- You can run ML programs in trace mode
- You can load / save to / from sectors, RAW files or BLOAD files
- Kanji can be read also in non Japanese computers
- You can read ML programs easyly as you can jump to any address and back by simply using Left/Right cursor keys. (in this kind of jump foreward you can also define slot)
- You can view all values in different number systems by simply pressing space
- You can easyly change editing / viewing mode by just pressing Return + cursors
- You can easyly search strings, words, bytes or assembler commands from memory (CTRL+S (Define search), CTRL+B (back), CTRL+F (foreward))
- DOS2 is supported
- You can get quickly all needed info about your MSX in simple raport
- You can take / look / print screenshot of the program

... I could still continue, but I think, that you will check this out already, if this kind of software is interesting for you.

~NYYRIKKI

 
Ir a la página ( 1 | 2 | 3 Siguiente página )
 







(c) 1994 - 2008 Fundación MSX Resource Center. MSX es una marca registrada de MSX Licensing Corporation