15 de septiembre de 2015

Mejoras para el SD Snatcher ROM (Re-Actualizado)

Nuevas "mejoras" para añadir.
Hace ya mucho tiempo recibí el SD Snatcher ROM para grabar los tres disquettes del SD Snatcher y tener en un mismo cartucho, tanto el juego, como el SCC.
Desde que lo recibí, siempre pensé que una de las cosas que le faltaba a dicho "engendro" prodigioso, era el poder grabar partida en el propio cartucho. Por ejemplo, si se tiene la disquetera estropeada, o algún ordenador sin ella, el juego no se podría grabar. El problema creo que era que las rutinas del DSK2ROM permiten leer, pero no grabar.
Hace unas semanas, hablando con el compañero Guantxip de un problema al entrar en la grabación/lectura de la partida grabada sin pulsar el 0, volví a pensar en ello, y en lo interesante que podría ser el poder grabar directamente en el cartucho. Con la "experiencia" que había cogido de la grabación en el Batman MSX2 no podría ser muy distinto. Me puse en contacto con Guillian para pedirle permiso, y me dio "luz verde" a intentarlo (aunque me advirtió que no iba a ser tarea sencilla).
Después de ver cómo graba el juego en el disco e intentar pasarlo a otro formato que pudiera grabarse en la ROM, me puse con las rutinas de grabación/lectura para modificarlas. No os voy a contar aquí todas las modificaciones que hubo que hacer, pero como veis, al final creo que logré conseguirlo.
He de advertir, que lo que veis aquí colgado, está probado por varias personas, pero no está testado al 100%. Si tenéis cualquier error, os agradecería que me lo reportarais en los comentarios o a mi propio correo para poder corregirlos.
Varias cosas a considerar:
 - Hay dos versiones del cartucho. Para poder identificarlas, veremos el fichero que necesitamos para poder grabar el cartucho. Si es flsd.com, tenemos la versión "original" del cartucho y si es sdflash.com, tenemos la versión "nueva" del cartucho.
 - Si tenemos la versión "original", veremos que las partidas que podemos guardar, están limitadas a 5 (el original son 10), debido a la limitación de espacio del cartucho ROM. En la versión "nueva" tenemos disponibles para guardar 10 partidas como el juego en disco.
 - Si tenemos la versión "original", cada vez que grabamos en el cartucho, perdemos las partidas que tuviéramos guardadas, ya que borra todo el cartucho, en el cartucho "nuevo", cada disco se graba por separado, por lo que la partida no se borra (salvo que nosotros queramos).
 - El menú inicial lo he quitado para que el juego se inicie automáticamente. El slot SCC se reconoce automáticamente (eso sí, muy importante debe estar en un slot primario). Si se pulsa P al iniciar el cartucho, se fuerza la versión PAL (50Hz)
 - He modificado también las rutinas del juego para que no sea necesario el pulsar ningún número para el cambio del disco (Ni 0 para el disco de usuario, ni 123 para los discos de juego). El juego lo debería hacer automáticamente.
- Si no hay partidas guardadas, y escogemos la opción de cargar partida anterior, inicializará el disco de usuario en rom, pero no nos dejará salir sin cargar partida. Tendremos que resetear e iniciar de nuevo (Esto es es algo que en el original está igual, ya que se queda indefinidamente pidiendo un disco con partidas, y que no tengo la intención de subsanar).
 - Como error conocido, al grabar la partida y volver al juego, la música queda silenciada. Es algo que he visto que sucedía ya en el juego en DSK. Se resuelve al cambiar de "pantalla".

Los ficheros aquí alojados, son los ficheros IPS para utilizar en los ficheros ROM que generan las utilidades de Guillian desde los DSK traducidos al español. (1 para la versión "original" y 3 para la versión "nueva"). Una vez parcheados, los grabaremos en el cartucho de la forma habitual. Las propias rutinas de guardado/carga se encargar de inicializar la parte donde se alojan las partidas.

Creo que no se me ha olvidado mencionar nada. Cualquier duda o impresión (no funciona, funciona ok, mejora, etc...), será bienvenida. Disfrutarlo!!!
Un saludo

Actualización:
Como bien decía por aquí, no estaba testado al 100%. Gracias a un usuario del MRC, hemos dado con una parte del juego donde no se utiliza la rutina "normal" de cambio de disco, y se utiliza otra (de hecho, el texto de cambio de disco es distinto). (Gracias a IGGY ROCK por el aviso, y a Raúl por la partida guardada que me facilitó encontrar el problema)
Los discos que necesitan modificación son el 1 y el 3.
Los usuarios que tengan la versión "nueva" del cartucho, tienen la ventaja de que sólo re-escribiendo estos discos, el juego ya funciona bien, y siguen conservando las partidas guardadas que tuvieran.
Lo siento por los usuarios de la versión "original", que perderán sus partidas si tienen alguna  :(

Nueva Actualización (sólo versión nueva):
Con el fin de facilitar la realización de las ROM, he hechos los IPS a partir de los DSK "originales" para no tener que hacer la ROM y después parchear.
En el disco tres existía un "bug" por el cual la ñ se "perdía" en ciertos momentos del juego. Ahora ya está solucionado. Gracias Guillian.

IPS Version Original (PSG ordenador)
IPS Version Original (PSG externo)

IPS Version Nueva (Disco 1)
IPS Version Nueva (Disco 2)
IPS Version Nueva (Disco 3) (FIX)