No sé como hasta que se ha dado cuenta Araubi, como no, nadie se había dado cuenta de estos errores. Supongo que no nos dio nunca por jugar tanto a estas pruebas...
Aunque es el último que he parcheado, es el que más cosas tiene a parchear, y mas "dolores de cabeza" me ha dado.
1.- Comienzan los problemas, por unos cambios que le han hecho a esta versión MSX en la "gestión del tiempo" podríamos decir.
En las fases llamadas "Habilidad" y "Campo", hay un problema, ya que el tiempo baja a una velocidad endiablada, lo cual hace que, o bien no podamos pasar estas fases, o no nos deje tiempo para las posteriores.
Yo creo que más bien por un tema de acelerar algo el bucle del juego, lo que han hecho es sustituir unos HALT en el bucle de juego, por unas llamadas a la rutina de interrupción.
Que hace esto? Que en vez de hacer esperas en dicho bucle, lo que hace es llamar en repetidas ocasiones durante este bucle a la rutina que hace que baje el tiempo. Problemas? Que en vez de bajar el tiempo como debe, lo hace dos o 3 veces más rápido.
Arreglo? Fácil en esta ocasión, sustituir los saltos a la interrupción por los HALT que debería haber.
2.- También en distintas fases, no se refresca la pantalla al refrescarnos o descansar, con lo cual podemos beber lo que queramos, y no queda reflejado en el marcador, hasta que salimos al juego normal de nuevo. Al hacer estas pausas, las interrupciones quedan deshabilitadas, y por lo tanto no hace las llamadas a la rutina de repintado de pantalla. Activamos las interrupciones para que se haga el repintado.
Con esto, la fase de Habilidad queda arreglada totalmente.
En la de campo ya es otra cosa, ya que a parte de ese problema, tenia unos cuantos más.
3.- Uno de ellos, el texto al descansar, sale movido a la derecha, y borra un carácter del marcador. Arreglado moviendo el texto un carácter a la izquierda.
4.- Si logramos llegar al final de esta fase, tenemos que marcar un gol a un portero, lo cual es imposible, ya que siempre nos marca como fallido. El problema general de aquí es de la rutina que detecta la pelota y que mueve el personaje. He podido después de muchas pruebas aquí, haciendo que el personaje se mueva un poco más rápido, y que así, la pelota pueda coger más impulso para llegar hasta la portería. Sino, siempre se quedaba sin llegar a ella, y siempre fallo. Incluso de esta forma, hay ocasiones que el "sprite" de la pelota no llega a la portería, aunque nos marca el gol si iba a en dirección a la portería. Es lo máximo que he podido arreglar sin tener que modificar toda la rutina.
5.- Si somos lo suficientemente buenos para pasar la fase anterior, vamos a una prueba en la que tenemos que hacer tiros a unos neumáticos, que tenemos que dejar girados. Cómo hacerlo, dándoles justo en el centro, logramos nuestro objetivo, y quedan girados.... al menos en teoría. El punto de detección para ver si queda girado, estaba movido muchísimo a la derecha y abajo. Me planteé primero mover el punto de detección de los neumáticos, problema? Este mismo punto, se usa para redibujar los neumáticos en pantalla, y entonces aparecen movidos cuando los tocamos. Buscando, buscando, pude encontrar la rutina que se encarga de detectar esa posición, y con la inestimable ayuda de Araubi una vez más, logramos ajustarlos lo más que hemos podido.
P.D: Hay una rutina en las fases de Habilidad y Campo que da unos cheats para poder pasar de fase directamente, aunque no hemos podido probar si están activas, ya que parece que no debería funcionar. Para usar dicho CHEAT, por si alguien lo puede probar en real, es pulsar las teclas LUNES a la vez y después dejar de pulsar la tecla E (No sé si será posible el hacerlo tan rápido como requiere la rutina, ya que tiene que primero estar pulsada, pero después detecta que no este pulsada). Igual hay que parchear esa rutina posteriormente.
Subo la versión CAS y TSX.
CAS
TSX