Romxhacking Romxhacking
- Nasío pa'jakear -
 
 F.A.Q.F.A.Q.   BuscarBuscar   Lista de MiembrosLista de Miembros   Grupos de UsuariosGrupos de Usuarios   RegístreseRegístrese 
 PerfilPerfil   Identifíquese para revisar sus mensajesIdentifíquese para revisar sus mensajes   ConectarseConectarse 


Menú principal
Portal
Foros
F.A.Q.
Buscar
Lista de miembros
Grupos de usuarios
Perfil

Usuario
Nombre de Usuario:

Contraseña:

 Recordarme



He olvidado mi contraseña

¿Aún no tiene su cuenta?
Puede registrarse Aquí, es GRATIS.


Anuncio del administrador
No pretendemos solucionar todos los problemas ni ser referencia de nada, simplemente nos reunimos aquí para charlar de nuestras cosas.
NO SE RESPONDERÁ A NADA POR PRIVADO, QUE EL FORO ESTÁ PARA ALGO

Como traducir con scripts?
Ir a página Anterior  1, 2, 3, 4  Siguiente
 
Publicar Nuevo Tema   Responder al Tema    Romxhacking -> Dudas y Preguntas
Ver tema anterior :: Ver siguiente tema  
Autor Mensaje
cralso



Sexo: Sexo:Hombre
Registrado: 19 Aug 2013
Edad: 26
Mensajes: 86
Estado: Offline
MensajePublicado: Sat Jan 25, 2014 5:49 pm    Título del mensaje: Responder citando

Ja, pero ya dije que leí el tuto del mago oscuro y que no consegui ninguna de esas partes que indican donde comienza algo.
Volver arriba
Ver perfil del usuario Enviar mensaje privado  
CUE
Administrador
Administrador


Sexo: Sexo:Hombre
Registrado: 24 Jan 2011
Mensajes: 5435
Estado: Offline
MensajePublicado: Sat Jan 25, 2014 7:04 pm    Título del mensaje: Responder citando

Repito una vez más lo que digo siempre: los manuales no sirven para nada, sólo para explicar cosas que son evidentes o para usar con los ejemplos que ponen, y en el momento que un juego se sale de esa pauta te quedas más perdido que un pulpo en un garage.

Conociendo un poco la estructura de una rom y cómo se carga en la consola se pueden saber muchas cosas. Buscar los punteros es, muchas veces, la diferencia entre hacer o no una traducción, o de hacerla o no en condiciones. Si tengo tiempo mañana te hago un manual, digoooo, te explico un poco cómo va el asunto.
Volver arriba
Ver perfil del usuario Enviar mensaje privado  
Lukas
Traductor compulsivo
Traductor compulsivo



Registrado: 10 Dec 2012
Edad: 105
Mensajes: 531
Estado: Offline
MensajePublicado: Sun Jan 26, 2014 3:27 pm    Título del mensaje: Responder citando

En nes era restar 10 o algo así, ¿no?
Yo en algunos juegos encuentro los punteros, en otros no.
Tengo un par de juegos de nes en los que si encontrase los punteros me pondría a terminarlos.
Y varios de snes también Crying or Very sad
Pero al menos los de gb los suelo encontrar casi siempre Laughing
Volver arriba
Ver perfil del usuario Enviar mensaje privado  
cralso



Sexo: Sexo:Hombre
Registrado: 19 Aug 2013
Edad: 26
Mensajes: 86
Estado: Offline
MensajePublicado: Sun Jan 26, 2014 5:18 pm    Título del mensaje: Responder citando

Sí se restan 10 en nes, yo tomo los dos ultimos bytes del offset, resto 10, invierto el par de bytes, busco eso, no estoy seguro ¿busco eso o salto a ese offset :S ?


Cita:
Buscar los punteros es, muchas veces, la diferencia entre hacer o no una traducción, o de hacerla o no en condiciones.

Pues sí eso veo, aunque parecen ser un problema, prefiero buscarlos, eso de traducir a medias con palabs resmids n es muy bnito Laughing

Solo qda sprar tu explitorial.
Volver arriba
Ver perfil del usuario Enviar mensaje privado  
CUE
Administrador
Administrador


Sexo: Sexo:Hombre
Registrado: 24 Jan 2011
Mensajes: 5435
Estado: Offline
MensajePublicado: Sun Jan 26, 2014 6:15 pm    Título del mensaje: Responder citando

Eso de sumar/restar tiene su explicación. Las roms/ficheros de NES no son copias exactas a como están en el cartucho. Hay muchos tipos de cartuchos, y cada uno se carga de forma diferente en la consola, que es lo que se indica añadiendo 16 bytes (los 0x10 que mencionáis en hexadecimal) de cabecera, sin los cuales no se podría ejecutar ningún juego en los emuladores. Esa cabecera tiene una serie de información que se puede encontrar en muchos sitios de la red, y, entre otras cosas, hay dos bytes que indican el número de PRG ROM (en lenguaje vulgar: código), cada uno de 16KB, y de CHR ROM (en lenguaje vulgar: gráficos), cada uno de 8KB. Nosotros queremos buscar textos, que eso es parte del código, así que miramos el byte correspondiente, que es el 4, donde se indica 0x10, es decir, que la rom tiene 16 bloques. Si multiplicamos 16*16KB obtenemos 0x040000, que es el tope máximo donde tenemos que buscar. En este caso coincide con toda la ROM.

Ahora hacemos una copia de la rom y quitamos los 16 bytes iniciales para buscar mejor, sin tener que estar sumando/restando nada. Cada bloque son 16KB, 0x4000, así que buscamos los textos y nos situamos en el inicio de ese bloque. En este caso los textos comienzan en 0x03011C, y el bloque empieza en 0x030000. Para los noobs: se toma el cociente entero entre 0x03011C y 0x4000 y se multiplica por 0x4000, que da 0x030000. Lo que nos interesa está entre 0x030000+0 y 0x030000+0x3FFF. Si miramos un poco por encima vemos que todo el script de los diálogos está ahí metido, así que si hay punteros estarán por ahí cerca, y lo normal es que estén antes o después de los textos (por pelotas, vamos).

Para buscar los punteros buscamos los 3 primeros textos, que comienzan en: 0x03011C, 0x030161 y 0x0301B9. Esos offsets no son los que usa la consola, así que no tenemos que buscarlos así. Pero podemos buscar el byte inferior: 0x1C, 0x61, 0xB9. Si los punteros son de 2 bytes, lo más normal, en algún sitio aparecerá 1C-XX-61-XX-B9. Justo al inicio, en 0x03001E aparece esa secuencia, y el byte XX es 0x81. Eso quiere decir que el offset 0x030000 de la rom es el 0x8000 de la consola.

Si nos fijamos en los punteros vemos que en 0x03001C, 2 bytes antes del offset obtenido, aparece 1C-81-1C-81. Eso indica que hay punteros repetidos, y hay que tenerlo en cuenta también. Ahora sólo hay que ver cuántos textos hay y comprobar que tienen su puntero. Hay varios que están repetidos, no hay que olvidarlo. Una vez hecho se ve que después hay otro bloque de textos. Para hacerlo más fácil: en 0x030015 está el offset al primer bloque de textos (0x801C) y en 0x030019 está el offset al segundo bloque de textos (0x948A), que corresponden a 0x03001C y 0x03148A.

Estructura de la cabecera de una rom de NES: http://wiki.nesdev.com/w/index.php/INES

Y, para hacer rabiar un poco, yo no he usado nada de eso, que soy más vago que los demás. He usado el HUSMEADOR:
Código:
>husmea "Ys (J) [T+EngR1_David Mullen].nes" 3012C 00 1 8 1 4

HUSMEA - (c) CUE
Simple utilidad para buscar punteros a tablas

Fichero...: Ys (J) [T+EngR1_David Mullen].nes
Offset....: 0003012C
- bytes=02: 0003002E

Proceso terminado

He partido de la rom con su cabecera, le he dicho que el primer mensaje a buscar comienza en 0x3012C, que los mensajes se separan con 0x00, que están alineados a 1 byte (seguidos), que me busque punteros para 8 mensajes, y que me busque punteros de 1 a 4 bytes. Y el resultado es que los punteros están en 0x3002E en punteros de 2 bytes. Algún día haré pública la tool, hasya entonces os fastidiáis y buscáis a pelo Twisted Evil
Volver arriba
Ver perfil del usuario Enviar mensaje privado  
cralso



Sexo: Sexo:Hombre
Registrado: 19 Aug 2013
Edad: 26
Mensajes: 86
Estado: Offline
MensajePublicado: Sun Jan 26, 2014 11:26 pm    Título del mensaje: Responder citando

Caray, tengo rato tratando de entender esto, esta bueno, solo que necesito leermelo una buena cantidad de veces.

Tremenda cosa que haces con este husmeador, no me lo esperaba, a ver si algun día le haces el favor a este mundo de compartirlo Razz
muy chido el nombre xD

Bueno, muchas gracias cue, espero lograr seguir con esto Razz
Volver arriba
Ver perfil del usuario Enviar mensaje privado  
CUE
Administrador
Administrador


Sexo: Sexo:Hombre
Registrado: 24 Jan 2011
Mensajes: 5435
Estado: Offline
MensajePublicado: Mon Jan 27, 2014 9:04 am    Título del mensaje: Responder citando

Leyendo no te vas a enterar de mucho. Estas cosas se basan en la práctica, probando y probando hasta coger el truquillo.

La tool va para largo, como tantas otras. En teoría sólo queda añadir el soporte para tablas, pero es algo que he dejado hace tiempo y no me apetece seguir con ello.
Volver arriba
Ver perfil del usuario Enviar mensaje privado  
Lukas
Traductor compulsivo
Traductor compulsivo



Registrado: 10 Dec 2012
Edad: 105
Mensajes: 531
Estado: Offline
MensajePublicado: Mon Jan 27, 2014 3:39 pm    Título del mensaje: Responder citando

Yo suelo buscarlos como dices, aunque a veces hay juegos que los tienen desordenados y cuesta un poco más verlos.
Uno de los juegos que digo tiene los punteros perdidos cada uno en una punta de la rom, por eso me da pereza buscarlos Laughing
El otro, si me pongo en serio, ya te preguntaré algún día, aunque también iría para largo Rolling Eyes
Volver arriba
Ver perfil del usuario Enviar mensaje privado  
CUE
Administrador
Administrador


Sexo: Sexo:Hombre
Registrado: 24 Jan 2011
Mensajes: 5435
Estado: Offline
MensajePublicado: Mon Jan 27, 2014 6:37 pm    Título del mensaje: Responder citando

Pues aprovecha, que esta semana estoy poco liado y no quiero hacer nada "gordo". Quería hacer unas cosillas con el script para el Aria of Sorrow de GBA y en una hora lo he terminado (si lo llega a saber Wastor cuando hizo la traducción se habría ahorrado muchísimo tiempo).

Dime qué juego es e intento echar un vistazo para ver cómo está el tema, pero con la NES me pasa como con la SNES, sólo controlo por "encima", así que siempre viene bien coger uno de estos juegos para ir probando cosillas.
Volver arriba
Ver perfil del usuario Enviar mensaje privado  
Lukas
Traductor compulsivo
Traductor compulsivo



Registrado: 10 Dec 2012
Edad: 105
Mensajes: 531
Estado: Offline
MensajePublicado: Tue Jan 28, 2014 3:42 pm    Título del mensaje: Responder citando

Te comento dos por privado si acaso.
Tengo varios que quiero ver, pero de ponerme con alguno sería con esos dos.
Volver arriba
Ver perfil del usuario Enviar mensaje privado  
cralso



Sexo: Sexo:Hombre
Registrado: 19 Aug 2013
Edad: 26
Mensajes: 86
Estado: Offline
MensajePublicado: Sat Feb 01, 2014 1:37 am    Título del mensaje: Responder citando

Pues yes cue, despues de practicar un rato, creo que encontre el truco, o uno de los trucos, que me puede se util.
A modo de nota dejo lo que he tomado de los punteros, por si a alguien mas le interesa, o lo borro, pierdo, lo llego a necesitar despues, blabla.

Cita:
PUNTEROS - Ys 1 NES

PUNTEROS - Ys 1 NES

--------------------------------------------------------------------------------
1ero Posición de puntero
2do Valor original de puntero
3ro Posición de texto
4to Texto
--------------------------------------------------------------------------------

03002E = 1C|81 = 03012C - Have you seen a one-eyed
030030 = 61|81 = 030171 - I just saw a strange man
030032 = B9|81 = 0301C9 - The fortune-teller has
030034 = 11|82 = 030221 - I saw Pim pick up a
030036 = 65|82 = 030275 - I saw a fairy at the
030038 = 90|82 = 0302A0 - The thieves come from
03003A = D0|82 = 0302E0 - I'm worried about the
03003C = 26|83 = 030336 - My father is the head of
03003E = 7C|83 = 03038C - Prices rose after the
030040 = AC|83 = 0303BC - I heard the thieves took treasure
030042 = E2|83 = 0303F2 - We always play under the Roda Tree.
030044 = 08|84 = 030418 - You should avoid the mine
030046 = 5E|84 = 03046E - The fortune-teller wass lookin for a swordman.
030048 = A3|84 = 0304B3 - My grandpa told me there's
03004A = E1|84 = 0304F1 - I lost a mysterios shield
03004C = 32|85 = 030542 - We lost a fellow thief




Como se hace spoiler?
Volver arriba
Ver perfil del usuario Enviar mensaje privado  
CUE
Administrador
Administrador


Sexo: Sexo:Hombre
Registrado: 24 Jan 2011
Mensajes: 5435
Estado: Offline
MensajePublicado: Sat Feb 01, 2014 10:35 am    Título del mensaje: Responder citando

Un truquillo muy útil, de esos que jamás verás en los manuales: borra todos los bytes necesarios para que la posición real del primer mensaje, en este caso 0x811C, que está indicada en 0x03002E, y que apunta al texto de 0x03012C, coincida con la que se muestre en el editor hexadecimal. De forma simple, resta 0x811C (posición real para la consola) de 0x03012C (posición real para la rom): 0x3012C - 0x811C = 0x28010. Ahora verás que los textos siempre están en los offsets 0x811C, 0x8161, 0x81B9, ..., que son justo los que se indican en la rom, y no tienes que estar haciendo operaciones que para lo único que sirven es para hacer perder el tiempo.

Ahora traduces y vas poniendo al tiempo los offsets a los mensajes directamente, que los sabes inmediatamente.

Cuando lo tengas todo traducido haces un corta y pega de los datos modificados o añades los 0x28010 bytes que habías borrado.

Si quieres, aunque no es necesario, y sabiendo que necesitas 16KB (0x4000) a partir de 0x8000, borra el resto, o sea, todo lo que hay a partir de 0x8000+0x4000 = 0xC000, y así sabes que lo que necesitas está en los 0x4000 bytes finales, desde 0x8000 hasya 0xBFFF.

NOTA: spoiler es con [ spoil ] y [ /spoil ] (sin los espacios en blanco)
Volver arriba
Ver perfil del usuario Enviar mensaje privado  
cralso



Sexo: Sexo:Hombre
Registrado: 19 Aug 2013
Edad: 26
Mensajes: 86
Estado: Offline
MensajePublicado: Sun Feb 23, 2014 5:14 pm    Título del mensaje: Responder citando

Sigo la traducción de Ys.
Paso para pedir algunos consejos y recibir las criticas (constructivas como siempre) Smile

Procuro no usar palabras unidas entre lin-
eas. Así que si no hay espacio arriba la tiro pa' bajo y hay queda. supongo queda mas bonito, en fin, poco importante.

La palabra "Anillo" resulta algo larga para el menú
¿Estaria bien usar algo como "Aro"?

Oculto: 




Lo digo por qué en el caso de ANILLO DE ZAFIRO (3ra imagen) se ve que DE toca el borde, y se supone que eso nunca debe pasar.

Mientras que en (la 1ra imagen) ANILLO DE PODER todo esta bien peeeero, tampoco me gusta que este la palabra ANILLO sola y DE PODER mas abajo, digo, se veria mejor si el "ANILLO DE" va siempre primero, y la linea de abajo es para lo que sea, haga, o quiera hacer el anillo Laughing

Creo que se veria mejor algo como "ARO DE"¬"PODER" y "ARO DE" "ZAFIRO" (ver el ¬ como salto de linea)

y ya por ultimo, la barra inferion "PLAYER" "ENEMY" no lo he traducido ya que es lo mas simple y no se me a ocurrido una palabra adecuada y corta, que almenos quede.

No puedo usar JUGADOR ni ENEMIGO por lo largo

Para ENEMY supongo que RIVAL estaria bien, pero no se para PLAYER
¿Que aconsejan?
Volver arriba
Ver perfil del usuario Enviar mensaje privado  
CUE
Administrador
Administrador


Sexo: Sexo:Hombre
Registrado: 24 Jan 2011
Mensajes: 5435
Estado: Offline
MensajePublicado: Sun Feb 23, 2014 5:22 pm    Título del mensaje: Responder citando

O sea, que en los menús se pueden poner 8 letras bien y tú quieres poner 9 a presión, en plan machote.

Si sólo es ese caso hay una solución cojonuda: Anillo de Rubí, y que le den al Zafiro Twisted Evil

Lo de las líneas de abajo también es sencillo. Pon "BUENO" y "MALO", y ya está Laughing
Volver arriba
Ver perfil del usuario Enviar mensaje privado  
cralso



Sexo: Sexo:Hombre
Registrado: 19 Aug 2013
Edad: 26
Mensajes: 86
Estado: Offline
MensajePublicado: Sun Feb 23, 2014 5:43 pm    Título del mensaje: Responder citando

Pues lo del Anillo de Rubí no esta mal, al final es una pinche joya que se robo el vendedor y que debo comprar y devolversela a quien se la robaron para ganarme 500 de oro más (ya que el anillo sale en 1000 y te dan 1500 por devolverlo, tremenda inversion, ¿a que si?) para poder comprar un traje y una espada, salir a matar bichos ganar 100 de oro más y comprar un escudo para poder hablar con la adivina, emmm me sali de tema Laughing

pero creo que Aro, sigue siendo una opcion ¿o seria peor?

Cita:
Lo de las líneas de abajo también es sencillo. Pon "BUENO" y "MALO", y ya está Laughing

Volver arriba
Ver perfil del usuario Enviar mensaje privado  
Mostrar mensajes anteriores:   
Publicar Nuevo Tema   Responder al Tema    Romxhacking -> Dudas y Preguntas Todas las horas están en GMT + 1 Hora
Ir a página Anterior  1, 2, 3, 4  Siguiente
Página 2 de 4

 
Saltar a:  
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas

Temas Relacionados
 Temas   Respuestas   Autor   Lecturas   Último Mensaje 
No hay mensajes nuevos Se puede editar algo del Legend of heroes trails in the sky? 1 gadesx 1631 Thu Apr 16, 2015 8:08 pm
CUE Ver último mensaje
No hay mensajes nuevos ¿Este programa puede servir para algo? 2 gadesx 2084 Sat Sep 21, 2013 8:22 am
CUE Ver último mensaje
No hay mensajes nuevos Algo para este "formato"? 3 cralso 2358 Tue Aug 20, 2013 7:53 am
CUE Ver último mensaje
No hay mensajes nuevos Light Crusader o algo 10 gadesx 4188 Sun Aug 04, 2013 1:07 pm
Auron Ver último mensaje
No hay mensajes nuevos Intentando aprender algo de romhack 13 tchusami 5562 Sat Nov 24, 2012 11:05 am
CUE Ver último mensaje
 


Crear foro gratis - Powered by phpBB © 2001, 2005 phpBB Group
subRebel style by ktauber