[ W.I.P ] Neo Turf Masters

Hola a todos. Hace tiempo que estaba retirada de la escena, pero tenía varias cosas pendientes que publicar que tenia abandonadas, así que me paso por aquí a comentar con todos.

En este caso el proyecto es Neo Turf Masters. El circuito de Escocia solo sale en la versión de Neo Geo CD, y hace tiempo un usuario hizo un parche, pero tuvo que sustituir uno de los campos para meter Escocia.

El parche de Deric metió Escocia sustituyendo Australia y cabe en los chips originales. Este toma el camino contrario: Escocia como quinto campo, sin perder ninguno pero con aumento de memoria.


Que tiene creado de momento

1. Los 18 hoyos de Escocia completos: terreno, árboles, búnkeres, el mar y las cascadas animadas.
2- Minimapa, par, yardas y las voces del comentarista en cada hoyo.
3. La pantalla de selección como la del CD: Escocia no está en el mapa; con D el mapa se cambia por la tarjeta de 4- 4. Escocia con su foto y el escudo “Edinburgh Old Links”.
5. La presentación “Scotland Open Traditional” con la voz “Scotland” del CD.
6. El evento “Final Day Start” con la mansión escocesa.
7. La imagen 3D de cada hoyo antes de jugarlo.
8. El final del torneo con el paisaje escocés detrás del público y la ceremonia.
9. En la tabla de Best Score, Escocia sale como “O.LINKS”.
10. El desbloqueo como en el CD: código secreto o Grand Slam, con sus mensajes y voces originales.
11. La música de Escocia es la de Australia, que es justo lo que hace el CD.


¿Que falta?

1. Segundo día del Grand Slam: banderas nuevas. En el CD, el segundo día de torneo cambia la posición de las banderas en los greens. Su parche lo pasa al cartucho. Él mismo avisa de que no siempre son 8 banderas nuevas, y de que en Alemania son iguales, “como si se les hubiera olvidado hacer el segundo juego”.

2. Segundo día del Grand Slam: viento sin límite. En los 3 primeros hoyos el juego limita la fuerza del viento. En el segundo día del CD ese límite desaparece, y el parche hace lo mismo.


3. Double Yardage siempre activo. En el CD es una opción que duplica la distancia de todos los palos. El putter también va al doble fuera del green, pero normal dentro. En su parche está siempre activado.

4. Voz del título en las BIOS US/EU. Con la BIOS japonesa, al arrancar se oye una voz que dice el nombre del juego (“Big Tournament Golf”). Con la americana o la europea no hay voz, y él la añade. Hay dos variantes: una con el título oculto “World Tour Golf” y otra con la voz de “Neo Turf Masters” sacada del CD.

Ire poniendo avances cuando pueda.


Gracias en su dia por la inspiracion y ayuda en estas cosas a @Kanyero y "Kikex"



El punto de partida: son casi el mismo juego
El programa del CD es, en el fondo, el mismo código del cartucho con contenido extra que el disco va cargando. Si alineas los dos programas 68000 instrucción a instrucción, enseguida se ve qué depende del "número de campo": la inmensa mayoría del juego es común, y lo propio de cada campo vive en un puñado de tablas indexadas por una sola variable.


El cartucho asume cuatro campos por todas partes. Hay que convencerlo de que cuente cinco: ampliar tablas a huecos libres, redirigir punteros y colar pequeños trozos de código en el espacio que sobra. Son más de cien parches menudos, y cada uno comprueba antes los bytes exactos que espera encontrar: si algo no cuadra, no toca nada. El resultado es siempre idéntico, o falla limpio; nunca a medias.


Toda la lógica de campos vive en la P1, el programa 68000. El "campo actual" es una variable en RAM, en $10D4B8: 0 es Estados Unidos, 1 Alemania, 2 Japón y 3 Australia, el cuarto. Por eso, si abres la P1

—ojo, hay que mirarla como la ve la CPU, con las dos mitades en su sitio—

y te vas a la zona de la instrucción $73DA8, te encuentras un cmpi.w #3,$10D4B8: el juego está preguntando
"¿es este el último campo?" comparando contra 3, porque cuenta de 0 a 3.

Ese #3 es el que delata que solo hay cuatro, y la misma idea reaparece por todas partes: al elegir campo, al cargar el trazado de los hoyos, al pintar la tarjeta, al decidir qué suena. Añadir Escocia es, en el fondo, enseñarle al juego a aceptar un índice más —el 4— allí donde hoy se planta en 3, y darle una fila extra a cada tabla que iba indexada por ese número.

No se reescribe nada grande: se ajusta la cuenta y se amplían las tablas hacia el espacio libre.

En el CD, los gráficos del campo viven en ficheros .SPR. En el cartucho viven en la C ROM, repartidos entre dos chips —C1 lleva los bytes pares de cada tile y C2 los impares— y organizados en tiles de 16×16.

Para traer Escocia hay que decodificar cada tile del CD y comprobar si ese mismo dibujo ya está en el cartucho: muchos se comparten (el césped, los marcadores, los números), así que solo se añaden los que son de verdad nuevos. Son los suficientes como para que la C ROM tenga que crecer de 4 a 8 MB por chip.


Después, las tablas que decían "este hoyo usa los tiles a partir de tal posición" se apuntan a los huecos nuevos, y la paleta recibe sus colores propios. La clave es no duplicar: si un tile ya existía, se reutiliza su índice en vez de meter otra copia, que es también lo que mantiene el crecimiento a raya.


El sonido: la música y la voz de "Scotland"

Aquí hay una trampa clásica de los juegos de Neo Geo CD. Su música no está en el chip de sonido: son pistas de audio del propio disco (CDDA), que el cartucho no puede reproducir —el MVS/AES solo tiene el YM2610 y sus muestras ADPCM en la V ROM—. Así que el hoyo escocés suena con una de las melodías que el juego ya llevaba dentro, en lugar de intentar meter el audio del CD a la fuerza. Lo que sí cruza del disco es la voz: el "Scotland" que anuncia el campo era una muestra que estaba en el CD, y esa sí se añade. Se mete como una muestra ADPCM nueva en el espacio libre de la V ROM (a partir de $728000), se le da su entrada en la tabla de instrumentos y se engancha al driver de sonido —el Z80— para que la suelte en el momento justo, igual que las voces de los otros cuatro campos.

Nada de esto se hace a mano en un editor hexadecimal, o no se termina nunca. Monté un script que recorre todo el camino de un tirón. Abre la imagen del CD y saca lo de Escocia: el trozo de programa, los .SPR con los gráficos, las escenas y la muestra de voz. Después alinea el programa del CD con el del cartucho para traducir direcciones solo —una rutina que en el CD está en un sitio, en el cartucho cae en otro — y así sabe a qué equivale cada cosa.


Busca el espacio libre que queda en cada ROM, va dejando ahí las tablas nuevas, los tiles y las muestras, y reescribe los punteros para que apunten a su sitio; es, literalmente, sacar un dato de un lado y moverlo a un hueco del otro dejando todo lo demás donde estaba.



Cada parche, antes de escribir, comprueba que encuentra exactamente los bytes que esperaba: si el cartucho de entrada no es el que toca, se planta y no deja nada a medias. Al final vuelve a montar la ROM y compara su CRC con el que debía salir; si coincide, la jugada ha salido bien.


Escocia se desbloquea como en el original: el Grand Slam (los cuatro campos con el mismo golfista), con su cartel y su voz, y el progreso guardado por personaje. No es un añadido pegado con cinta: se comporta como si siempre hubiera estado ahí.


Esta semana saco la herramienta y los parches necesarios para crear el parche y la rom correcta.
NewDump escribió:Hola a todos. Hace tiempo que estaba retirada de la escena, pero tenía varias cosas pendientes que publicar que tenia abandonadas, así que me paso por aquí a comentar con todos.

En este caso el proyecto es Neo Turf Masters. El circuito de Escocia solo sale en la versión de Neo Geo CD, y hace tiempo un usuario hizo un parche, pero tuvo que sustituir uno de los campos para meter Escocia.

El parche de Deric metió Escocia sustituyendo Australia y cabe en los chips originales. Este toma el camino contrario: Escocia como quinto campo, sin perder ninguno pero con aumento de memoria.


Que tiene creado de momento

1. Los 18 hoyos de Escocia completos: terreno, árboles, búnkeres, el mar y las cascadas animadas.
2- Minimapa, par, yardas y las voces del comentarista en cada hoyo.
3. La pantalla de selección como la del CD: Escocia no está en el mapa; con D el mapa se cambia por la tarjeta de 4- 4. Escocia con su foto y el escudo “Edinburgh Old Links”.
5. La presentación “Scotland Open Traditional” con la voz “Scotland” del CD.
6. El evento “Final Day Start” con la mansión escocesa.
7. La imagen 3D de cada hoyo antes de jugarlo.
8. El final del torneo con el paisaje escocés detrás del público y la ceremonia.
9. En la tabla de Best Score, Escocia sale como “O.LINKS”.
10. El desbloqueo como en el CD: código secreto o Grand Slam, con sus mensajes y voces originales.
11. La música de Escocia es la de Australia, que es justo lo que hace el CD.


¿Que falta?

1. Segundo día del Grand Slam: banderas nuevas. En el CD, el segundo día de torneo cambia la posición de las banderas en los greens. Su parche lo pasa al cartucho. Él mismo avisa de que no siempre son 8 banderas nuevas, y de que en Alemania son iguales, “como si se les hubiera olvidado hacer el segundo juego”.

2. Segundo día del Grand Slam: viento sin límite. En los 3 primeros hoyos el juego limita la fuerza del viento. En el segundo día del CD ese límite desaparece, y el parche hace lo mismo.


3. Double Yardage siempre activo. En el CD es una opción que duplica la distancia de todos los palos. El putter también va al doble fuera del green, pero normal dentro. En su parche está siempre activado.

4. Voz del título en las BIOS US/EU. Con la BIOS japonesa, al arrancar se oye una voz que dice el nombre del juego (“Big Tournament Golf”). Con la americana o la europea no hay voz, y él la añade. Hay dos variantes: una con el título oculto “World Tour Golf” y otra con la voz de “Neo Turf Masters” sacada del CD.

Ire poniendo avances cuando pueda.


Gracias en su dia por la inspiracion y ayuda en estas cosas a @Kanyero y "Kikex"


Interesante, gracias por compartir, ¿hay algún .neo funcional para ir probando?

Justo este finde estuve probando alguna conversión de Altered Beast y Snow Bros. Este último muy avanzado y funcional, a cuyo desarrollador le ayudó el feedback que le di para arreglar algunos artefactos gráficos que aparecían en ciertas pantallas.
@Xel_Naga

Hola darme unos días para terminar de pulir las herramientas y te comento el avance.
Los de plaion lo van a reeditar con el campo de escocia añadido, pulsando D.
Nepal77 escribió:Los de plaion lo van a reeditar con el campo de escocia añadido, pulsando D.


Ya esta puesta esa opcion.
y funciona :)
Deseando que salga
5 respuestas