lunes, 7 de octubre de 2019

Nuevo Parcheo: Michel Futbol Master

Seguimos con el otro juego de fútbol que había parcheado.
Estos son unos errores más visuales que otra cosa.
Agradecer (una vez más) a Araubi por haberlos detectado y ayudarme con sus testeos a encontrar los fallos y arreglarlos.

MICHEL (CARA A):
En ciertos momentos del juego, el juego corrompe la pantalla de juego, y en ocasiones, puede colgarlo.
Esto es una circunstancia que ocurre solo en emuladores, ya que hay partes de memoria que tienen un valor incorrecto al esperado.
Esto ocurre porque el juego no inicializa la memoria de variables al comenzar.
Arreglado inicializando esta zona de memoria.

SKILLS (CARA B):
Unos gráficos salían corruptos en la prueba de los penaltis. Problemas? Dos, a falta de uno.
Uno de ellos, en el cargador BASIC, un CLEAR, hacía que la posición de la pila, coincidiese con las direcciones donde se cargaban unos frames del portero. Resultado? Partes corruptas.
Al arreglar este fallo, sigue teniendo partes corruptas. Sospechosamente, una de las cargas acaba en un dirección, y hay un "salto" hasta la direccion donde se sitúan los datos de la siguiente carga. Comprobación con la versión Spectrum, y... como no, otro juego al que le falta una parte. Añadiendo estos bytes, arreglando cabecera y el programa cargador en memoria, listo, ya no hay fallo.

Subo la versión CAS y TSX.

CAS CARA A
CAS CARA B

TSX CARA A
TSX CARA B

miércoles, 2 de octubre de 2019

Nuevo Parcheo: Emilio Butragueño II - Entrenamiento

Comienzo unos parches para juegos de Fútbol con este Emilio Butragueño II, en la parte Entrenamiento.
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

domingo, 4 de agosto de 2019

Licencia de Head over Heels MSX2

Quería compartir con vosotros que se ha puesto en contacto conmigo el presidente de Piko Interactive.
Son los propietarios de la licencia de los juegos de Ocean, como el Head over Heels del que hemos hecho el remake para MSX2.
De hecho, ellos mismos tienen varios cartuchos retro para distintas plataformas, incluido un remake del Head over Heels para Atari Jaguar, que podéis ver en el enlace que os dejo al final del post.


Me alegra comentaros que hemos llegado a un acuerdo para poder tener licenciado el juego en su versión MSX2.

Desde aquí quiero agradecerles el que se hayan puesto en contacto conmigo y su disposición por llegar a un acuerdo.




sábado, 22 de junio de 2019

Nuevo Parcheo: Chase H.Q.

Después de tenerlo en "la recámara" durante algún tiempo, subo el parcheo del Chase H.Q.
El problema que tiene es que si logramos pasar la fase 5 (una vez más gracias a Araubi), pues nos encontramos con un bonito cuelgue en vez del final esperado.
El problema.... una vez más un juego "dejado a medias".
En esta última carga, no están las rutinas que debería haber para presentar en pantalla, además de haberse dejado alguna reminiscencia de la versión Spectrum, que también una vez más provocaba el cuelgue.
Primero a realizar... arreglar dicho cuelgue.
Una vez realizado, como os decía antes, al rutina final se realizaba, pero no se ve en ningún lado, ya que no se traslada a la VRAM. Reutilizando las rutinas de paso a VRAM del resto de fases, y parcheando una vez más, problema resuelto.
Con todo esto, por fin podremos ver por fin el final en este juego en MSX.
Espero podáis disfrutarlo.

P.D: Me han comunicado también la posible existencia de algún otro bug, aunque por lo que parece creo que es algo normal de la conversión. Os mantendré informados.


CAS

domingo, 12 de mayo de 2019

Conversión MSX: GAC - Legend

Hoy me encanta presentaros algo diferente a lo habitual. Algo más que un simple parche.
Se trata de una conversión del juego Legend, que es una aventura conversacional creada con el editor de aventuras GAC.

He realizado una conversión "universal", con lo que podría realizarse para cualquier aventura realizada con este editor.
El problema radica en los derechos de autor de cada una de estas aventuras. Las más conocidas, estaban realizadas por Dinamic antes de crear AD Aventuras. Espero que desde aquí, les pueda llegar la noticia, y den permiso para poder dar a conocer esas aventuras en el sistema MSX.
También comento que si alguien tiene los permisos de distribución de este Legend y no quiere que se distribuya, me lo comente, y será retirado.
Otros juegos que usaron este editor, son por ejemplo: Mantis (1 y 2), Ke rulen los petas, La guerra de las vajillas, Megacorp, Carvalho, La Corona, Aureon, Objetivo Madrid 1 (Hay un 2?), El Quijote (la versión en MSX creo que es un poco distinta y realizada en Basic), y Zipi y Zape (Exactamente lo mismo que Quijote, y además tenía un fallo en MSX).
A parte de alguna aventura más del Concurso Microhobby, como Adventure, Hampa 1930 o el Oráculo.

El comienzo de esta realización empezó por un blog que leí hace tiempo comentando que el juego Mantis 1 en MSX, estaba realizado gracias a una especie de emulación de la BIOS del spectrum, parcheando ciertos aspectos especiales del sistema, como la lectura del teclado, paso de imágenes a pantalla, etc...
Comencé por mirar con detalle como se realizaba esto.
La idea era muy buena, y decidí empezar por ahí. La idea también tenía sus fallos. Comenzando por el "lio" que era dicha BIOS, donde había muchas cosas mezcladas, otras sin uso, otras que si eran llamadas por el MSX, podían significar un cuelgue, y como en muchas otras conversiones, que no eran para nada "satisfactorios con la norma MSX"... Con todo esto, no funcionaba con ordenadores que no fueran MSX1.
Procedí a hacer limpieza de rutinas, cambios de OUT que no deberían estar, y mejorar alguna rutina, como la de los pasos a pantalla. También había que hacerlo un poco más "modular" para que pudiera servir para distintos juegos. Tocó saber donde comenzaba el parser, donde el juego, las direcciones que marcan por ejemplo la ubicación de las letras (cada juego puede tener las suyas propias, etc...)
He de decir que mi versión todavía usa una BIOS bastante caótica, y que tendría mucha "limpieza", pero ya no puede generar cuelgue alguno, a parte de alguna mejora, como he dicho.
También tiene alguna sorpresa oculta, como es habitual en mis "producciones" para que os podáis entretener descubriendo.... Ya que en los ROM no hay Pokes, hay que añadir lo que se puede...

Después de todo esto, y como dice Araubi en su video, contacté con él para poder "depurar" y ver si se podía jugar a todas las aventuras sin fallos (sobre todo esta que son 5 cargas y la presentación). Sabíamos que había fallos garrafales, como el poner "Progama" o cosas así, pero también hay puntos de la aventura que están mal, y o no hay que hacer lo que debería hacer y entonces se convierte en algo nada intuitivo, o directamente hay sitios donde no se puede hacer nada para seguir.
Todo esto está solucionado en la versión FIXED, aunque he sacado también la conversión directa para que lo podáis comprobar vosotros mismos.

Espero que podáis disfrutar y que puedan ir saliendo más aventuras.

Os pongo también el enlace a un video hecho por el genial Araubi a un comentado Walkthrough de este juego (la versión fixeada gracias a lo comentarios de él mismo).



viernes, 8 de marzo de 2019

Nuevo Parcheo: Los Inhumanos (Actualizado)

Subo por fin uno de los juegos que tenía pendiente de hace tiempo el subir.
Tenía varios fallos a corregir:
Uno crucial, era que en cierta pantalla, el juego se colgaba. Fue el fallo que más dio la lata por buscar la rutina concreta donde se corrompía la memoria. El problema en este caso, es que donde daba el cuelgue, no estaba el fallo, sino que venía de bastante atrás, donde aparecía un enemigo, corrompía la memoria donde después estaban los datos que daban el cuelgue. Probando, probando, se pudo por fin encontrar la pantalla concreta con el error, y solucionar la rutina.
Dicha rutina, era la que escribía los textos en mitad de la pantalla al cambiar de Fase, por ejemplo. Antes no mostraba el texto, y de paso, corrompía la memoria (algo posiblemente derivado de la conversión de Spectrum). Solucionado ahora muestra el texto, y no corrompe nada.
Al pasar de fases, se pone a tope la barra de energía del marcador, pero antes "internamente" esto no era así. Seguíamos con el valor que tuviéramos antes de pasar de fase. Ahora, ya tenemos de verdad la energía a tope.
Otro fallo, esta vez en la rutina de redefinición de teclas, es que por alguna extraña razón, pusieron predeterminada la tecla U para salir del juego. Esto daba que no se pudiera escoger esta tecla para usar en el juego (no deja duplicar teclas). Cambié dicha tecla, por la tecla ESC. Algo un poco más lógico para usar para salir de la partida.
También algunos textos de las teclas, estaban mal nombrados. Arreglado.
Ya metidos en faena de la redefinición, se ha añadido en el menú principal, la opción de escoger cursores. (Siempre se olvidaban de esta opción)
Un cambio preventivo ha sido también el cambiar las rutinas que usan el PSG, para que no usen erróneamente el registro 7 (que como sabéis puede estropear algunos ordenadores, yo no he visto ninguno estropeado por esto, pero no viene mal arreglarlo).
Os comparto todos los fallos arreglados en el nuevo formato de preservación TSX (Próximamente iré subiendo todos mis parches (nuevos y antiguos) en este formato, gracias al cual, las cargas y loader son idénticos a la cinta original, siendo un formato fiel a la cinta).

Actualizados los enlaces, para incluir una versión en DSK (para emuladores no compatibles con TSX, o en real en tarjeta SD). Podéis incluso sacar los ficheros del DSK y meter en una carpeta en la SD, y ejecutar el AUTOEXEC.BAS. Gracias a Pedrete por el comentario (He querido responder a tu comentario, pero no me deja el sistema... :( )

TSX
DSK


miércoles, 27 de febrero de 2019

Nuevo Parcheo: BC II Grog's Revenge (Actualización)

Una vez más he tenido sin actualizar el blog desde hace un tiempo. No me he mantenido parado en los parches, por lo cual espero poder poner próximamente unos cuantos que tengo pendientes.

Empiezo por el parche más reciente que he realizado, y que por lo que me han comentado, está bastante reclamado por foros y páginas web.

Ha sido uno de los más difíciles de encontrar y, como veréis después, de los más fáciles de parchear...

El fallo estaba en la lista de conexiones de una de las fases (la F), que conectaba una pantalla, con otra que no debía.
Con ese fallo, no podíamos continuar, ya que había un sitio necesario para pasar de fase que era inaccesible.
Gracias a Araubi, nuevamente, que me proporciono tanto una partida guardada de la versión de MSX justo antes del fallo, como después (justamente por lo difícil de encontrar las conexiones "a mano") una también de la versión de Colecovision que no tiene dicho fallo (la versión Canadiense), pude comparar las dos "listas" y encontrar el byte que no coincidía.
Más concretamente, el fallo se trata de un único bit, ya que donde debería haber un 04h, en realidad en la versión MSX se ha colado como un 00h, llevándonos a donde no era.
Aprovechando que el proyecto de preservación TSX está en marcha, NataliaPC ha podido comprobar con varias cintas y mirando "al bit" que existe este fallo en las cintas originales y no ha sido un fallo al dumpear las cintas.

Actualización: Me comenta Araubi que el fallo ha sido descubierto por MP83 donde, en su canal de YouTube tiene el longplay de este juego (hasta donde se podía jugar hasta ahora). También, gracias a él, supimos que la versión que no presentaba el fallo era la de Colecovision en su versión Canadiense (por lo visto la internacional tiene el mismo fallo parece). También nos gustaría comentar que hay un hilo abierto en msx.org donde se comentaba dicho fallo. Muchas gracias por descubrirlo y por ponernos en la pista!!!

Espero que lo podáis disfrutar por fin hasta el final, uno de los juegos que tengo más cariño, en principio porque fue de los primeros que tuve con mi MSX, y también porque es de los pocos que no es una conversión directa de Spectrum y aprovecha bastante bien las posibilidades de los MSX1.