Legend of Mana y PocketStation

Foro dedicado al romhacking en general
Responder
Avatar de Usuario
Oregon
Mensajes: 137
Registrado: 29 May 2013, 16:24

Legend of Mana y PocketStation

Mensaje por Oregon » 07 Jun 2015, 21:02

Quién me conozca sabrá que los últimos días he estado echándole un vistazo al tema de la compatibilidad de la versión estaunidense del juego Legend of Mana con la PocketStation. Como la cosa se me está complicando más de lo que pensaba en un principio, y mi interés por el juego está bajando en proporciones significantes, voy a escribir todo lo que se sobre el tema por si alguien (o yo mismo) quiere echarle un vistazo más adelante.

Para empezar os explicaré de que va el juego de la PocketStation. Se llama RING-ring-LAND y es básicamente un juego de tablero. Lo único que hay que hacer es tirar un dado para avanzar por las casillas en las que ganamos objetos o luchamos contra otros mosntruos (también a base de tirar dados, el número más alto es el que gana). La experiencia recibida la ganará la mascota que hayamos envíado al minijuego a través del "Monster barn".

Es decir, cuando enviamos una mascota a RING-ring-LAND, nos quedaremos sin ella en Legend of Mana. En la PocketStation la entrenamos y la hacemos ganar objetos para que nos los den cuando la traemos de vuelta.

Los datos de RING-ring-LAND se encuentran en "/ANA/ETC_ETC/PDATEST.DAT".

Obviamente, el menú de la PocketStation que nos permite instalar este minijuego fue desactivado en la versión americana, pero debugeando un poco he creado un bonico código de Gameshark para activarla de nuevo.
D01227BC 0001
8011F38C 0D0A
D01227BC 0001
8011F3B8 0007

Para activarlo hay que pulsar L2 en el menú que aparece dentro del "Monster barn", que se encuentra en el "Monster corral" de nuestro hogar.
[align=center][img]https://lh3.googleusercontent.com/-_sdi ... fc.jpg.png[/img][/align]

Dentro del menú de la Pocket existen dos opciones: "Going out" y "Welcome". La primera para mandar a una mascota a la Pocket y la otra para traerla de vuelta (obviamente). Sólo podemos mandar a las mascotas que tengamos pastando por la granja, no a la que llevamos a nuestro lado.

Aquí es dónde empiezan los problemas. Si mandamos a una mascota a la PocketStation el minijuego estará un poco bugueado: a primera vista no aparece el número de objetos que tenemos (ni siquiera el "cero" inicial) y la partida se puede congelar al obtener algún objeto. También el Legend of Mana se congelará si intentamos traer a la mascota de vuelta, por lo que nos quedaremos sin ella para siempre.

¿Cuál es el problema? En un principio pensé que el archivo PDATEST.DAT estaba corrupto, pero haciendo varias pruebas (metiendo el archivo de la versión japonesa a la americana y viceversa) me di cuenta de que funciona perfectamente. Después pensé que se trataba de que habían inhabilitado el tema de obtención de objetos en el Legend of Mana desde la Pocket y que por eso se trababa, pero tampoco es el caso.

El problema es que el juego pasa los datos del RING-ring-LAND a la PocketStation pero no incluye los datos de nuestra mascota.
Y mira que es tonto el juego, porque hasta en el PDATEST.DAT te dice clarito dónde tiene que ir :D :

[align=center][img]https://lh3.googleusercontent.com/-E46- ... vedata.png[/img][/align]

Usando el PDATEST.DAT americana en el juego japonés y luego convirtiendo el save de la pocket de nuevo a la versión USA (me estoy liando hasta yo), pude meter finalmente la mascota sin ningún error, dándome los objetos.

[align=center][img]https://lh3.googleusercontent.com/-yo1H ... /items.png[/img][/align]

Y aquí fue cuando dije, mejor me dedico a otra cosa más productiva XD

Cosas pendientes de hacer (prácticamente todo):
  • Que el juego pase los datos de la mascota a la PocketStation.
  • Editar el menú para que aparezca la Pocket sin necesidad de códigos Gameshark.
  • Insertar todos los textos que han eliminado relacionado con la Pocket.
Y ahora diréis.. ¿Y a mí que me importa todo esto si ni siquiera tengo PocketStation? Bueno, la mayoría de las pruebas que he hecho ha sido usando el mulador Xebra + PK201, con el que se pueden pasar los datos de emulador a emulador. Ahi lo dejo como dato por si no sabíais de esa compatibilidad.

Avatar de Usuario
Oregon
Mensajes: 137
Registrado: 29 May 2013, 16:24

Mensaje por Oregon » 17 Jun 2015, 05:27

El insomnio y el aburrimiento han hecho que le eche un ojo de nuevo a este tema. No he descubierto gran cosa, pero vamos a escribir un poco antes de acostarnos.

El archivo que ha de editarse para que se vea el icono de la PocketStation así como su texto en el corral se encuentra en el archivo /ANA/MAPINFO/MHM_ALC2.IMG

Edito: Comparando ese archivo en la versión estaunidense con la japonesa, se ve que con unos pocos cambios puede hacerse el apaño.

Sobre el tema de que el juego pase los datos de la mascota a la Pocket... aún no estoy seguro al 100% pero supongo que será el SLUS...

Si eso ya les echaré un ojo cuando tenga la mente más despejada a ver si se puede hacer algo.

Avatar de Usuario
Oregon
Mensajes: 137
Registrado: 29 May 2013, 16:24

Mensaje por Oregon » 12 Sep 2017, 19:58

Después de 2 años y pico me entró de nuevo la curiosidad y volví a darle caña a este tema.

Creo que conseguí localizar el código para hacer funcionar lo de la Pocket, pero aún ni siquiera lo he probado porque me he encontrado un problema mayor.

Parece que cualquier intento de modificar el archivo SLUS hace que el juego se quede sin sonido (o suenen pitidos tipo conexión de modem de 56k, que las partidas guardadas te lleven a la debug room (y allí se trabe)...

Supongo que será algún tipo de protección. Así que pregunto, ¿qué sistema usará el juego para saber que ese archivo no es suyo?

Avatar de Usuario
CUE
Administrador
Administrador
Mensajes: 5521
Registrado: 24 Ene 2011, 16:52

Mensaje por CUE » 12 Sep 2017, 21:45

Que yo recuerde, el juego tiene una tabla LBA para indicar dónde está cada fichero. Si intentas meter algo sin modificar la tabla dará errores. El SLUS en sí no tiene ninguna protección, intenta meterlo usando PSX-MODE2 para que lo coloque en el mismo lugar, pues supongo que no habrá cambiado de tamaño.

Avatar de Usuario
Oregon
Mensajes: 137
Registrado: 29 May 2013, 16:24

Mensaje por Oregon » 12 Sep 2017, 22:47

Ahora que dices que no está protegido me siento más tranquilo. Seguramente haya sido alguna pifia mía de usar alguna imágen de disco ya editada. Voy a hacer un par de pruebas y te cuento.

Edito: Vale, creo que el principal problema era mi estupidez (mira que probar imágenes de disco que tenia abanadonadas desde hace dos años, a saber lo que abré editado ahí)

Perdón por las molestias.
Última edición por Oregon el 13 Sep 2017, 03:27, editado 1 vez en total.

Avatar de Usuario
Davoker
Mensajes: 882
Registrado: 18 Ago 2011, 04:38

Mensaje por Davoker » 13 Sep 2017, 03:02

Interesante el tema, a ver si logras todo lo que quieres hacer, yo nunca llegue a conseguir una p.. pocketstation, no es algo que vendan habitualmente me parece a mi, pero bueno, esta la opción de emularlo oiga 8)
51 75 65 20 62 75 73 63 61 72 61 73 20 61 71 75 69 20 6d 61 6c 61 6e 64 72 69 6e 2c 20 71 75 65 20 62 75 73 63 61 72 61 73 20 3d 29

Avatar de Usuario
Oregon
Mensajes: 137
Registrado: 29 May 2013, 16:24

Mensaje por Oregon » 13 Sep 2017, 03:39

A mi lo que me da coraje es... ¿Por qué para los japoneses sí y para nosotros no? Aunque sea con un aparato que no llegó a nuestras tierras (Bueno, en este caso no nos llegó ni el juego). Pero que al menos hubiesen dado la opción a quien importe el trasto de poder jugar al minijuego...

En fin...

¡Pues a estas horas de la noche os confirmo que el experimento ha sido un éxito! :lol: Por fin he conseguido pasar a una mascota a la Pocketstation desde el juego americano.

Aún tengo que hacer varios experimentos para ver si gana bien la experiencia y trae correctamente los objetos. Que según mi "yo de hace dos años" decía que los pasaba bien, pero ya no me fio de esa persona. :?

Además, claro está, tengo probar todo esto con la consola física, y si todo va bien, meter los textos que eliminaron.

Por cierto, después de editar el SLUS el único fallo que ha dado es que se oye un pequeño efecto de sonido (tipo salto de trampolín :shock: ) cuando se inicia el juego (cuando aparece el mensaje de Electronic Arts). También lo hace dependiendo del emulador, pero como ocurre con el Xebra y con el no$psx, supongo que también lo hará en una consola real. Super raro, aunque el resto del juego va como siempre (al menos lo que he podido probar).

Lo único que he modificado en el SLUS ha sido introducir el código que habían quitado (practicamente idéntico que en la vesión japonesa, salvo lógicamente por un par de direcciones...), así que me extraña que se escuche ese sonido que da hasta sobresaltos (y que conste que esta vez he usado una imágen de disco limpia XD).

Pues bueno, nos leemos mañana que ya me toca sobar.

Avatar de Usuario
CUE
Administrador
Administrador
Mensajes: 5521
Registrado: 24 Ene 2011, 16:52

Mensaje por CUE » 13 Sep 2017, 06:46

Oregon escribió:A mi lo que me da coraje es... ¿Por qué para los japoneses sí y para nosotros no? Aunque sea con un aparato que no llegó a nuestras tierras (Bueno, en este caso no nos llegó ni el juego). Pero que al menos hubiesen dado la opción a quien importe el trasto de poder jugar al minijuego...
Pues eso es como en el Breath of Fire 4, que en Japón se podía usar la caña esa que había de accesorio para la parte de pescar y en occidente no se puede.

Avatar de Usuario
Oregon
Mensajes: 137
Registrado: 29 May 2013, 16:24

Mensaje por Oregon » 21 Sep 2017, 20:55

Al fin arreglé ese problemilla de sonido, traducido los textos... el problema ahora es insertarlos (si al final lo más sencillo fue volver a hacer funcionar lo de la Pocket o.O)

Con el archivo de escenario no hay problema ninguno, es fácil de editar y los punteros se localizan fácilmente... pero la cosa se tuerce con los del menú de cargar y guardar partida (CARDA.bin y CLOAD.bin).

Como quiero añadir una cantidad de texto superior a la que viene en el juego, intenté moverlo de sitio, justo al final donde hay un gran espacio en blanco.... que es usado por el juego... por lo que o es borrado o sobreescrito...

Luego intenté echar manó del MTE del juego. Para ello probé las herramientas de BahaBulle, que son de lo más intuitivas de usar (sarcasmo). Pero me es imposible añadir nuevas entradas al diccionario de MTE del juego. Puedo meter texto sin problema, pero lo del MTE se lo salta a la torera...

Así que tras muchos intentos desisto de ese programa (a punto de pegarle fuego al PC he estado) y no me queda otra que seguir haciendolo de forma manual. Mirando el juego, no es difícil incluir nuevas combinaciones de caracteres en el MTE, sé que están al final en el archivo /MAP/FDATA/FONT.PRS

Mi duda es... ¿Cómo el juego reconoce un nuevo MTE? Es decir, ¿los códigos del MTE nuevos están ya predefinidos? A ver si me explico... el último MTE de la tabla es " of", y para que aparezca hay que escribir "1F04". Si yo inserto un nuevo código después de " of", ¿para que aparezca tendría que escribir "1F05"? ¿O he de modificar algo más para asignar mi propio código a las nuevas entradas?

Avatar de Usuario
CUE
Administrador
Administrador
Mensajes: 5521
Registrado: 24 Ene 2011, 16:52

Mensaje por CUE » 21 Sep 2017, 21:33

Espera al fin de semana y te lo miro, que lo de los MTE lo tenía por ahí.

~~~ AÑADIDO ~~~
Esto lo tengo por ahí, que es la estructura del fichero de la fuente:

Código: Seleccionar todo

/*----------------------------------------------------------------------------*/
// font file
//
// - compressed
// - 16x14 tiles of 16x12 pixeles (8x11 to use), 1bpp, tiles 0x00-0xDF
// - 24 bytes/tile (2 bytes/row, low endian, 12 rows)
// - chars 0x20-0x7F, VWF ASCII, tiles 0x00-0x5F
// - chars 0x80-0xDF, 8 pixels/width, tiles 0x60-0xBF
// - chars 0xE0-0xFF, 8 pixels/width, tiles 0xC0-0xDF
//
// 0000: font raw, 224 tiles * 24 bytes/tile
// 1500: font width, chars 0x20-0x7F, 1 byte/char, 96 bytes
// 1560: font width, chars 0xE0-0xFF, 1 byte/char, 32 bytes, not used
// 1580: 16bits MTE pointers
// XXXX: MTE, 8 chars max, 6th must be empty, 0x00 ended
Y así se codifican los MTE (el 0x19 no se puede usar, no preguntes la razón):

Código: Seleccionar todo

; MTE
0014=[ the]
0015=[ you]
0016=[in]
0017=[ to ]
0018=['s ]
0019=[]
001A=[ I ]
001B=[ and ]
001C=[is ]
001D=[ so]
001E=[ it]
1F00=[ for]
1F01=[er ]
1F02=[ed ]
1F03=[ing ]
1F04=[ of]

Avatar de Usuario
Oregon
Mensajes: 137
Registrado: 29 May 2013, 16:24

Mensaje por Oregon » 21 Sep 2017, 22:58

Muchas gracias CUE.

Acabo de hacer un par de pruebas y es posible expandir la lista, siguiendo la misma codificación: los siguientes serían 1F05, 1F06, etc... Supongo que se podrá hasta 1FFF. Cuando saqué los textos de la versión japonesa para traducirlos, el juego usaba desde el 1A00 hasta 1FXX? (el máximo que anoté yo fue el 1F82) para kanjis. Quizás por eso deja meter más.

Y creo que es posible poner más de 8 caracteres. Al menos, editándolo directamente en la memoria me ha dejado, y no he visto un límite. Mañana me pondré a editar los archivos y espero terminar con esto.

Avatar de Usuario
CUE
Administrador
Administrador
Mensajes: 5521
Registrado: 24 Ene 2011, 16:52

Mensaje por CUE » 22 Sep 2017, 07:25

Si no recuerdo mal puedes poner todos los caracteres que quieras, pero luego no te muestra más allá del octavo.

Creo que no llegaba hasta 1FFF, sólo se podían usar 256 en total, pero ya ni me acuerdo.

Avatar de Usuario
Green_goblin
Mensajes: 865
Registrado: 19 Jun 2013, 20:35
Contactar:

Mensaje por Green_goblin » 22 Sep 2017, 09:47

En mi blog está explicado como usar las tools de Bahabulle y lo de los códigos MTE, aquí lo dejo:

https://legendofmanatranslationproject. ... files.html

Avatar de Usuario
CUE
Administrador
Administrador
Mensajes: 5521
Registrado: 24 Ene 2011, 16:52

Mensaje por CUE » 22 Sep 2017, 10:06

Usar esas tools para cambiar la fuente es como matar moscas a cañonazos. Están bien para traducir sin más, después de perder mucho tiempo intentando ver cómo funcionan, pero no sirve de nada si quieres entender cómo va el tema.

Avatar de Usuario
Oregon
Mensajes: 137
Registrado: 29 May 2013, 16:24

Mensaje por Oregon » 23 Sep 2017, 21:19

Ya había visto el blog de Green, pero ni siguiendo esas instrucciones funcionaba (y os aseguro que no tenía nada que ver la versión de Windows). Lo hice a mano y sin problemas.

Por cierto, te confirmo que se pueden poner más de 8 caracteres. He puesto literalmente frases enteras y te deja.

Acabo de comprobar que todo funciona bien en una Playstation y PocketStation física, así que por fin doy por terminado este pequeño proyecto.

Links de descarga del parche xdelta:

Parche Ring Ring Land

Como he visto que los parches que hay para convertir el juego a PAL dan problemas con este pequeño hack, he creado otro parche que te convierte el juego a PAL.

Parche Ring Ring Land (PAL)

Algunas imágenes:

[align=center][img]https://3.bp.blogspot.com/-OKl7jcdbsDw/ ... 600/01.png[/img] [img]https://4.bp.blogspot.com/-cLHvNwPwRkg/ ... 600/02.png[/img] [img]https://1.bp.blogspot.com/-kO2-bZ6feq0/ ... 600/03.png[/img] [img]https://1.bp.blogspot.com/-k8Lk1dtayk4/ ... 600/04.png[/img][/align]

Lo más lioso ha sido (aparte de lo del tema de las herramientas) que el emulador que es compatible con la PocketStation no tiene modo de depuración. Así que he tenido que ir moviéndome de un emulador a otro hasta dar con el código que buscaba.

Por cierto, si el equipo de traducción al español quiere introducir la opción de PocketStation, estoy a vuestra disposición.

Responder