domingo, 21 de febrero de 2016

Nuevo Parcheo: Alien Syndrome

Bueno, como ocurrió en su día con el Double Dragon, he logrado hacer funcionar otra "obra titánica" de la ingeniería, y una vez más gracias a los "genios de XORTRAPA"

Como en la ocasión del Double Dragon, este CAS que ahora podéis "disfrutar" no habría sido posible sino fuera por incansables ocasiones que Araubi ha tenido que probar mis cambios para ver si funcionaban, y grabándome los necesarios SAVES para poder comprobar los errores que iban apareciendo.

Bueno, empiezo con todos los problemas:
1.- Empiezo con una tontería, pero que demuestra que hacían las cosas como se hacían. En el menú principal, las letras de XORTRAPA se concibieron para que fueran multicolores, pero las rutinas tenían un fallo que hacía que sólo se mostraran en un color, como así quedo. "¿Miramos a ver porqué no salen como las pusimos? No te preocupes, para otra ocasión" debieron pensar.
2.- Mismos problemas que el Double Dragon con el tema de memoria. Al no seguir los estándares de MSX, las rutinas que cargan el juego se ponen en zona de MSXDOS y funcionaba sólo en ciertos ordenadores, gracias a que utilizaban la memoria desde las direcciones FE00h hasta FFFFh lo que provoca cuelgues en la mayoría de ordenadores (la dirección gestiona el cambio de los slots)
3.- Situación idéntica al Double Dragon con los puertos del ordenador. Dejaron OUT(FEh) usados para leer el teclado y para modificar cosas como los colores de borde pantalla desperdigados por el código. Esto producía cuelgues varios, sobre todo en ordenadores MSX2 o superiores.
4.- Otra situación parecida es cambiar un acceso a los puertos FEh por accesos a puertos C5h. No es usado por nada especial (que yo sepa), pero... no sería más fácil quitarlos directamente?
5.- Relacionado con lo mismo (las rutinas que sustituyeron por los puertos C5h, en realidad son las que se usaban para leer el teclado). Añadida una rutina para leer el teclado con los puertos correspondientes al MSX.
6.- Si os fijais en el juego "original", no hay más teclas que las que se usan para controlar el personaje. Ni pausa, ni salida a menú. Añadidas.
7.- De paso, cambiadas las teclas predeterminadas a cursores y espacio. Y arreglado un error en la rutina de lectura de teclas de movimiento, por el cual podía ocurrir que el personaje con el joystick, hiciera que dispara el personaje que utilizara teclado.
8.- Error en la rutina que lee el Joystick. Siempre dejaba pulsado el botón de disparo en ciertas ocasiones.
9.- Error también al leer la tecla RETURN, en las cargas de cassette.
9.- Arreglado un problema con los gráficos al explotar el disparo Bomba (aparecían corruptos)
10.- Cambiada la rutina de detección de colisiones de los disparos y el límite de la pantalla. Se arregla en su mayoría el problema de que los enemigos se mueran solos al disparar (aunque como digo, en su mayoría, siguen ocurriendo cosas extrañas, aunque en menor medida, y por lo menos ahora es jugable)
11.- En el bucle principal de juego, había varias rutinas repetidas, quitadas.
12.- Las puntuaciones que añadimos, tenían algún error también. Para puntuaciones mayores de 1000, lo que suma en realidad no es la puntuación que debería.
13.- Al rescatar a más de 15 "Comrades" seguidos, la puntuación sumada sube hasta 999999 (esto por lo que he visto ya está mal programado en la versión Spectrum también). Arreglado, y al coger más de 15 sigue dando la puntuación de 8000.
14.- Modificada la rutina que muestra el final para que salga el texto. Modificados los colores de fondo de la pantalla para que se puedan leer correctamente.
15.- Al coger más de 2 "options" (como los de Nemesis), nos deja con uno. Cambiada la rutina para que nos deje con 2.
16.- Uno de los fallos más grandes que tiene el juego es un cuelgue que se producía en la fase 3. Está parcheado. Lo que ocurría es que gestionaba mal los enemigos de la fase, y escribía aleatoriamente por toda la memoria (podía corromper gráficos o código, o colgar el ordenador cambiando los slots una vez más).
17.- Y por último, he añadido una carga más, para que con un sólo CAS, se pueda rebobinar y volver a cargar la fase inicial al acabar el juego o que nos maten en otra carga.
(Creo que no me dejo nada...)

Bueno, también he activado un CHEAT que aunque estaba en el código no estaba habilitado. Sólo os digo que pulsando unas teclas a la vez en el menú principal, quedará activado.
El CHEAT nos dara "vidas infinitas" y pulsando N pasamos de fase.

Espero que encontreis el truco.

Alien Syndrome CAS

11 comentarios:

  1. A este juego siempre le tuve cariño desde el día que lo compré y la verdad es que era desesperante lo de los cuelgues aleatorios.

    Muchisimas gracias por solucionar todos los errores que dejaron los chapuceros de Xortrapa. Ahora por fin voy a poder jugarlo en condiciones

    Un Saludo !!!!!!

    ResponderEliminar
  2. Muchas gracias a vosotros por vuestros comentarios y por vuestros ánimos!
    Espero que ahora después de tanto tiempo lo puedas acabar.
    Un saludo Elric

    ResponderEliminar
  3. Por cierto, te voy a hacer una petición :P (si puedes echarle un ojo claro, sin prisa) de otro desastre que hizo Xortrapa y se trata del Triple Commando.

    Al igual que este, tenía bloqueos aleatorios y sobre todo, había un fallo muy grave que si te subías al tanque no había forma humana de bajarse de él (te quedabas encerrado ahí y como no se podía avanzar con el tanque pantalla a pantalla, tocaba reiniciar el equipo)

    Saludos y muchisimas gracias por todos estos juegos que estás reparando

    ResponderEliminar
  4. Hola Elric. Así me gusta, que propongais cosas en el blog! Le he echado un vistazo rápido, y ya he visto varias cosas (sigue escribiendo en la dirección FFFFh, no lee correctamente el Joystick...) No sé cómo juegas al juego, pero si pudieras enviarme un savestat del Bluemsx antes de entrar en el tanque, me vendría muy bien. Tardaré un poco, ya que tengo unas cuantas cosas pendientes, pero ya lo tengo en las cosas a hacer... ;)

    ResponderEliminar
    Respuestas
    1. Muchas gracias!

      Sin problema. Hoy me pongo a jugar y hago ese savestate! Un saludo

      Eliminar
  5. Hola, lo estoy jugando en el emulador y al final de la segunda fase me pide una segunda carga. En el archivo de descarga sólo está la cara A. Y la cara B?.

    ResponderEliminar
  6. Perdona, solucionado. Había que reiniciar el emulador.
    Saludos.

    ResponderEliminar
  7. Eso es. Lo he puesto en el punto 17. Dandole a rebobinar acaba cargando la fase 1 de nuevo.
    Un saludo

    ResponderEliminar
    Respuestas
    1. Muy buenas.

      No encontraba la manera de contactar contigo por correo electrónico :P. Así que me he subido el save a mi dropbox y aquí te va

      https://www.dropbox.com/s/cp3x0ivdoq8xpzo/Triple%20Comando%20Tanque.sta?dl=0

      Saludos! y muchisimas gracias!!!

      Eliminar
  8. Si quieres seguimos por mail mejor. Tienes mi contacto en Datos personales (entras, y dando en correo electrónico te abre uno para enviar)
    Compruébalo y dime si me equivoco, pero con las teclas que tienes puestas, creo q se sale del tanque con la X. Para poder salir (igual es lo q te pasa) es q tienes que tener "espacio" por arriba del tanque.
    Ya me dices si te va así, no obstante seguimos hablando de los bloqueos.
    Un saludo

    ResponderEliminar
    Respuestas
    1. Pues tienes razón! Con X sale... manda narices, pues yo mira que en su dia probara teclas y no había manera xDD

      Voy a seguir investigando a ver si encuentro algún momento que se bloquee, con lo que vea te mando un mail.

      Muchas gracias!

      Eliminar