MrNutz escribió:@psicopompo: espero el hack del Wonderboy V como agua de Mayo, macho.
Qué falta le hace a ese juego. Es un juegazo y lo jodieron con esa tontería de jefe al final.
Mi pareja se lo intentó pasar hace dos años y no hubo manera por ese estropicio que le hicieron en occidente al juego.
Cebolleto escribió:Sale del mismo sitio que el sample de "Mazinger" jajaja, es un sample que se lanza cuando se lee el puntero de esos diálogo completos, un hack MSU-1 vamos. Si tuviera tiempo, ganas y paciencia, recrearía con IA todos los diálogos del juego con las voces del elenco original castellano. He intentado también conseguir que se oiga "¡Puños fuera!" al lanzar los puños en el juego pero parece un poco más complejo que lo que he hecho.
psicopompo escribió: ¿Debería poner Freebuff en el mensaje inicial dentro de una sección de 'herramientas recomendadas'?
Cebolleto escribió:Pequeño cambio en la intro que ya mostré el otro día.
https://youtu.be/AboZroV6zzg
trevorbelmont escribió:Por favor que alguien con conocimientos lance algún hack o parche para desbloquear todo el contenido oculto o desbloqueable de los juegos de lucha de la era de psx y demás.
Yo empezaría con el Tekken 1 y 2 (el 3 ya tiene un parche para desbloquear todo desde el inicio). De esta forma tendremos una .iso parcheada para no tener que andar desbloqueando los personajes secretos y demás contenido cada vez que emulamos por primera vez el juego en una consola nueva.
Pienso que se podría trasladar a otros juegos como Bloody Roar... Street Fighter, Mortal Kombat... etc.
Es mi propuesta.
Un saludo.
doblete escribió:Nueva traducción con IA, Berserk: Millennium Falcon Hen Seima Senki no Shou (PS2), al español.
https://www.elotrolado.net/hilo_berserk-millennium-falcon-hen-seima-senki-no-shou-ps2-traduccion-al-espanol-v1-0_2537018

Lázaro escribió:...


Lázaro escribió:Bueno, gracias a mi chati sigo avanzando comprendiendo el Lunar de Game Gear.
Estoy preparando todo para comprender la traducción, cómo funciona la tabla hexadecimal, la introducción de texto y demás. Chati me ha creado una herramienta para traducir visualmente, con verificador de bytes, sustitución de códigos etc.. aunque está en fase de pruebas. Cuando tenga todo intentaré añadir los acentos, signos y la ñ y después ya empezaré a lo serio. Además tengo varios grupos de Discord aficionados a los RPG que creo que pueden ayudarme con el testeo.
Me está molando esto aunque hay muchas cosas que no pillo aún del todo. Me ha ayudado bastante la herramienta de Wave, conocido forero de EOL
. Gracias por tu herramienta!
. Al final descargué el Tile Layer Pro, lo puse como tu, no entendía nada y al final caí en que había que pintar las letras a mano, guardar y listo jajaja
Lázaro escribió:...
wave escribió:@Lázaro
Perfecto, me alegra que aunque sea sirva para ayudar a la gente xD
No se si lo hace pero te recomendaría que le digas que intente poder ampliar/reducir el tamaño de los textos según la traducción para no tener que ceñirte al espacio de la tradu inglesa.
Te recomiendo también mover un píxel a la izquierda el ¿ o se pegará con algunas letras.
https://1drv.ms/f/c/bc866fbcab8bdd37/IgD5kQbo8HnPSoJa-jt1zvEPAXE70F6a96Z44_hbgNdydrg?e=FAewCZ
psicopompo escribió:wave escribió:@Lázaro
Perfecto, me alegra que aunque sea sirva para ayudar a la gente xD
No se si lo hace pero te recomendaría que le digas que intente poder ampliar/reducir el tamaño de los textos según la traducción para no tener que ceñirte al espacio de la tradu inglesa.
Te recomiendo también mover un píxel a la izquierda el ¿ o se pegará con algunas letras.
Ya te digo yo que sí lo hace. 😁
EDITO: Añadido al mensaje inicial el Super Mario Kart - Fullscreen Edition que terminé hace unas horas.
Lázaro escribió:He intentado ampliar las cajas o reducirlas según sea necesario pero no he conseguido mucho. Lo que sí puedo ahora es insertar un renglón más (máximo 4). He probado con Claude Free y algo he conseguido (lo de las cuatro líneas), también con Antigravity, pero nada, no doy con ello. Además estoy teniendo bastantes problemas con el editor, cuando no es un pito es una flauta, ya no se si editarlo por html es buena idea o qué. Con json lo intenté ayer y también daba problemas.
Ya digo, el no tener mucha idea de esto es lo que me hace dar tanta vuelta, y supongo que las limitaciones de mi chati lo mismo. Llevo desde ayer sobre las 22:00 hasta ahora mismo lidiando con este problema... y me acosté a las 5:00 y me desperté a las 10:00, llevo bastantes horas con esto.
Podéis decirme qué debo hacer para hacer las cajas dinámicas y la mejor manera de editar el texto visualmente? O qué herramienta le digo que me haga mi chati para ello. Ya digo, me pasa por ser la primera vez y no entender mucho, estoy aprendiendo pero joer... a hostias (supongo que como todos) xD

Lázaro escribió:@lolerbober Lo primero de todo, gracias por contestar. Agradezco tu tiempo.
Tengo una IA local con Gemma (en LM y Bionic) y Qwen (en LM), tanto en Windows como en Linux, y pago ChatGPT + Gemini (porque me viene con el almacenamiento ampliado para Google Fotos, si no ni de coña xD), además de Claude y Antigravity en free. Ninguna ha podido conseguir lo que busco. Seguramente por lo que digo, es mi primer proyecto y voy pez.
Si bien el problema de los textos ya está resuelto (voy por el capítulo 3, casi un 15% traducido), me ha salido un problema que no consigo solucionar. Al ampliar los textos, ahora hay npcs que dicen cosas que deberían decir otros. Parece ser que es algo de que los punteros se han movido pero no logramos encontrar cómo dicta el juego los punteros así que no se cómo asignar los textos a sus respectivos y originales NPC. Llevo casi tres días sin tocar el proyecto por esto mismo, no consigo ayuda ni con las IA consigo avanzar. Repito, seguramente porque no se términos ni manera de explicárselo, no creo que las 5 IA que tengo no puedan hacerlo
Lo que sí he conseguido son un montón de herramientas. Extractor de textos, para insertar traducciones, interfaz html para traducir respetando los códigos, otra de prueba con la api de deepl integrada (para traducir todo el texto del juego o por conversaciones y luego yo reviso y corrijo todo, tanto semánticamente como los posibles errores -se avanza mucho así-), formas de cambiar gráficos etc... pero ese problema en concreto no doy con él xD
Actúa como un experto programador especializado en ROM Hacking, ingeniería inversa y arquitectura de consolas de 8-bits, concretamente para Sega Game Gear (procesador Zilog Z80).
Estoy traduciendo un juego de Game Gear al español. Ya he extraído e insertado los textos, pero debido a la expansión del texto (el español ocupa más), las direcciones de los textos se han desplazado. Ahora los NPCs dicen frases incorrectas o el juego lee a mitad de una frase. El problema es que no he actualizado la Tabla de Punteros (Pointer Table).
Teniendo en cuenta las reglas de la arquitectura Z80 de Game Gear:
Los punteros son de 16 bits y usan formato Little-Endian (ej. la dirección $5A20 se escribe en hexadecimal como 20 5A).
La consola usa bancos de memoria (Memory Paging) de 16KB, por lo que la dirección física del archivo ROM (ROM Offset) no coincide con la dirección de memoria que lee la CPU (normalmente mapeada en $4000-$7FFF o $8000-$BFFF).
Necesito que me ayudes paso a paso con lo siguiente:
¿Cuál es la fórmula matemática exacta para convertir un "ROM Offset" físico (ej: 0x015A20) a una "CPU Address" de Game Gear, y cómo la convierto a Little-Endian para buscarla en el editor hexadecimal?
Una vez que localice la Tabla de Punteros, ¿cómo puedo programar un script sencillo en Python (ya que estoy usando herramientas personalizadas) que tome una lista de offsets originales, busque sus punteros en Little-Endian y los reemplace por los nuevos offsets generados tras la traducción?
Sé lo más técnico, metódico y didáctico posible. Pregúntame por los offsets hexadecimales concretos de mi ROM si necesitas hacer cálculos de ejemplo.Diario de bitácora:
Para poder hacer un modo dos jugadores funcional he tenido que hacer algunos sacrificios, en el modo dos jugadores he hecho una versión de juego más arcade, eso quiere decir que he tenido que eliminar cosas, no hay elección de personaje, el jugador 1 es el azul y el 2 el rojo (por ahora espero cambiarlo en breve) ni de nombre, de manera fija los personajes de llaman MOMO y YOYO en el modo dos jugadores, por otra parte he incluido los nombres de los personajes en los textos del juego, no hay tienda, los premios se dan de manera predeterminada, tampoco hay contador monedas pero recoger monedas da puntos extra. El HUD se ha adaptado a esto precisamente y aparece HUD para ambos personajes con barra de vida, score y magic (limitadas a 3 como máximo por personaje, son dos personajes en momentos clave se podrían lanzar hasta 7 magias seguidas) y continues representados por una moneda de oro por cada continue siendo 3 continues el máximo.
El segundo personaje puede hacer las mismas acciones que el primero, se ha creado toda una lógica para él, puede moverse por los escenarios, saltar, subirse, colgarse, sacar, abrir y recoger items, golpear a los enemigos, recibir daño, lanzar magia y pasar de fase. Este detalle que suena muy trivial no lo es porque el juego solo reconoce al primer jugador, así que recurrimos a un artificio cuando el primer jugador "muere", algo que a ojos de la lógica del juego eso no pasa nunca, creé una versión fantasma del primer personaje que es transparente y no tiene acciones que se solapa al segundo, gracias a esto se pueden recoger llaves para pasar de fase y otros detalles más, tuve que tomar está decisión porque el juego termina si muere el primer jugador y te saca de la pantalla al game over. También aparte de que los enemigos impacten al segundo personaje (eso era fácil y funciona en el 90% del juego porque los enemigos tienen acciones predeterminadas) hubo que hacer que los enemigos que disparan también le apunten, esto lo logré alternando el "ancla" del juego, el truco fue lo más sencillo del mundo apuntan al más adelantado, la sensación de interacción es realista y real a la vez.
Detalles técnicos.
Estrategia del ancla. Aunque encontré indicios de qué el juego se pensó para dos jugadores al final se programó para uno, esto hace que meter un segundo personaje con sus cajas de colisiones e impacto no sea suficiente, este personaje tenía que tener sus propias variables, pero además hubo que sacar la muerte de los personajes de la lógica del juego, internamente, cuando estamos en el modo 2P, Blue (los llamé durante el desarrollo Blue y Red) nunca muere, digamos que queda inhabilitado y hecho un fantasma, el que no muera es lo que permite continuar partida con Red aunque Blue muera y es lo que permite avanzar, Red no existe para el juego y un Blue fantasma sigue recogiendo llaves y otros objetos clave para continuar). También meter a Red era un problema si se copia en el lugar incorrecto genera glitches gráficos, en este sentido Grok bot fue la solución, empecé el proyecto con Claude, lo pasé a Grok y finalmente a Grok bot que además puede probar la rom en su emulador, en concreto me dijo:Grok bot escribió:Mi recomendación es dejar los datos de Red siempre en `$D000`–`$D06D`. En ninguna sección del juego, ni en 1P ni en 2P, choca con nada, así que no hace falta moverlos según la fase ni hacer ningún cambio puntual. No he tocado la v8.
Lo he comprobado en 293 partidas (unos 4 millones de frames), recorriendo las 24 secciones jugables, menús, muertes, continues, game over y el final. El juego nunca escribe en `$C24C`–`$EFFF`, una zona de casi 12 KB que incluye la nuestra.
Tu precaución tenía sentido: encontré un fallo del juego original que a veces lee 10 bytes de RAM por error, como si fueran un objeto. Pasó en la sección 16 (`$D758`–`$D761`) y en la 18 (`$DF90`–`$DF99`). Solo lee, así que nunca pisa nada, y ninguna de esas zonas toca la nuestra.
Si más adelante necesitas más RAM para el hack, amplía primero por `$D06E`–`$D0F3` y evita `$D0F4`–`$D0FD`, `$D700`–`$D7FF` y `$DF00`–`$DFFF`. En el informe tienes la lista completa de zonas seguras.
También hay que ser consciente de que la Mega Drive tiene limitaciones de hardware, he tenido que recortar animaciones, en concreto una en los cascos, seguro que si no lo digo no se da cuenta nadie y hay cosas que no podré mejorar (creo) y son las ralentizaciones que ya salían en el modo 1 jugador, con 2 jugadores están... igual.
Otro detalle técnico es que tuve que aumentar el tamaño de la rom, me estaba quedando sin sitio para mis stubs, así que fue necesario, sin esto el mod seguramente no hacéis sido posible, ahora es de 16 mbit (2 megas).
Y por último comentar que yo sólo no soy capaz de pasar las tres primeras fases jugando a dobles (hsrdware real), no me da la habilidad para tanto.
Resumen:
Modo arcade 2 jugadores.
Se han eliminado la tienda y las opciones de personalización.
Continues in game.
Testeado en hardware real.