11 de julio de 2021

Nuevo parcheo: Voidrunner

Otro juego “diferente” como el Master of the Lamps a arreglar….

En esta ocasión, al llegar al nivel llamado “Move!”, no salen enemigos, y por lo tanto no hay manera de pasar de nivel.

Parecía algo fácil de subsanar, ya que las rutinas de creación de enemigos y de niveles, las pude encontrar rápido, pero no fue así….

Todo correcto por ahí, ni faltaba ningún byte, ni parecía que ninguna de las rutinas del nivel en cuestión estuviera mal.

Necesité investigar bastante, para comprobar el error en esta ocasión.

Cada enemigo, tiene un tipo, y un comportamiento característico.

En el tipo de los enemigos que se muestran es ese nivel al principio, son de un tipo que no tienen una rutina de “salida a pantalla” propia. Por lo que he podido comprobar, en realidad son unos enemigos que salen al disparar a otros, y es en ese momento donde se muestran en pantalla.

Justamente por eso no se muestran nunca aquí.

He buscado la solución que me ha parecido más correcta, que ha sido cambiarlos por los tipos más parecidos a estos en color y forma, y que justamente al dispararles, salen los que en principio estaban previsto que salieran en este nivel.

El resto de niveles, funcionan correctamente.

Disfrutarlo!!!

CAS

TSX

ROM


Nuevo parcheo: Ewoks and The Dandelion Warriors

Otro parche pendiente.

En esta ocasión, a parte de agradecer a Araubi por su incansable trabajo de testeo… debo agradecer la ayuda de Jrcp-Kun, por ceder su juego (uno de los pocos que debe haber), para hacer un dumpeo correcto.

Empiezo desde el principio….

Inicialmente, Araubi contacta conmigo, ya que en este juego se llega al final de la fase 4, donde hay unas escaleras que llevan hasta el agua, pero al contacto con el agua, nos ahogamos, y no podemos pasar a la fase siguiente, la 5 (la fase final).

Se trata de comprobar si hay que realizar alguna acción anterior, o es un error del juego.

Lo de realizar una acción se pensó, ya que poco antes hay un “enemigo” con forma de flotador.

Compruebo mediante el código, que eso que parece un flotador, hay que cogerlo para poder acabar la fase, pero aún así, al llegar al final, nos ahogamos igualmente.

La música de las Rom que había hasta el momento, no suena bien (aunque sea un juego de Walter Miller, no parece que lo puedan haber hecho tan mal), por lo que empezamos a pensar si será un fallo del dumpeo de la Rom.

Como decía antes, no mucha gente lo tiene, pero hablando con Jrcp-Kun, me comentó que lo tenía, que lo podía buscar, y, como vivimos bastante cerca, me lo podía dejar para hacer el dumpeo yo mismo.


Ya con la Rom correctamente hecha, compruebo que el error de la música se soluciona, ya que las Rom que había hasta ahora, tenían basura al final de la Rom y ahora ya suena correctamente, pero lo del mapa, sigue igual.

Sigo comprobando por lo tanto, pero ahora con la Rom correcta.

El error, finalmente, es debido a que dónde se considera el cambio de fase por el juego no corresponde exactamente con el final de fase del mapa (donde está la escalera antes del agua).

Suponemos que iban a crear alguna otra cosa al final de ese mapa, una transición, o similar, pero se quedó así, y nadie lo comprobó....

Después de entender como codifica los tiles en el mapa, opto por alargar el “muelle” para que detecte bien el paso al agua.


Viéndolo así parece muy fácil, pero ha sido mucho tiempo de prueba-error. Lo sabe muy bien Araubi, que ha llegado a casi-odiar este juego…


Os comparto tanto la Rom “original”, como la parcheada para poder acabarlo, y escuchar la música final (ahora si…). No os hago “spoiler”...

Disfrutarlo!


ROM Original

ROM Parcheada











Nuevo parcheo: Breakout! The Great Computer Adventure

En esta ocasión, os traigo algo mas que un parche, son dos cosas en una.
Es un parche y una ayuda para acabar el juego.

Comienzo por el parcheo:
A parte de usar el registro 7 del PSG erróneamente, por este motivo, hay ocasiones que queda de fondo un molesto pitido que suena todo el rato.
Parece mentira que una compañía de hardware, como era Toshiba cometiera esos errores, pero parece que sí.
Parcheo las rutinas de envío de datos al PSG para que si se envía un dato al registro 7, lo ponga en la forma correcta: &b10xxxxxx.

Seguimos por la ayuda para completar el juego:
En este juego, hay que recorrer las distintas partes internas del ordenador Toshiba HX-10, montando un código para lograr salir de él.
De esto nos hablan en las instrucciones que vienen con el juego, pero en ningún lado nos dan pistas para saber qué código se necesita, ni cómo saberlo. Ni en las instrucciones, ni en el propio juego.
Revisando el código, encuentro que hay dos maneras de acabar el juego, y con dos códigos distintos. Cada código, nos da la salida por una parte del ordenador. Os muestro capturas de la pantalla principal, con su código:

Salida por el DISK INTERFACE. Código: 🌕🌕🌑🌕🌑🌑🌑🌕

Salida por el SOUND CHIP. Código: 🌑🌕🌕🌑🌕🌕🌕🌕

Debemos conseguir poner ese código con las banderas repartidas por las distintas pantallas, y seleccionar ese código en la parte de abajo-derecha de la pantalla (una fila de 8 C). El punto amarillo indica activado, y el negro, desactivado. Después es sólo dirigirnos a la parte del ordenador que os indico, y saldremos del ordenador por fin.

Os adjunto también un mapa del juego, hecho por el genial Araubi!!!!

Espero haberme explicado con claridad, si no me comentáis, e intentare resolveros las dudas.

Un saludo!

Mapa del juego


CAS

TSX

DSK


Nuevo parcheo: Master of the Lamps

Después de un tiempo sin subir nada nuevo, vuelvo con varios parches pendientes.

Este Master of the Lamps, tenía un fallo en la pantalla final, que no se veía correctamente (gráficos corruptos).

Los gráficos finales en este juego tienen una rutina de “compresión” donde se almacena un valor, y las veces que está repetido.

El fallo ocurre, ya que hay un byte que no está correcto. Es el byte que controla el número de ocurrencias de un tile en concreto. Al repetir demasiadas veces ese tile, el resto después de ese, aparecen movidos, y no concuerdan con los colores de cada uno.

Solucionado, cambiando ese valor al que debería (54h->2Ah).

Si nos fijamos es el mismo byte con los bits movidos a la izquierda.

A falta de un TSX para comparar, no sabemos si es un fallo del propio master, o es un fallo al sacar el CAS (y posiblemente heredado al pasar a ROM).

¿Cuántos podréis llegar al final para ver esa pantalla final???
La verdad que no hay muchos juegos que tengan un final, mas que sólo un mensaje, así que merece la pena intentarlo.


2 de mayo de 2021

Nuevo parcheo: Turmoil

Continuamos con otro parche que tenía por aquí pendiente de compartir con vosotros.

En esta ocasión uno de esos “fáciles”, ya que, por otro lado, es inexplicable que en la versión Spectrum esté correcto y en MSX hayan montado estos errores.

He de decir que junto con este parche que os comparto, me puse también a parchear para cursores, aunque después nos dimos cuenta (puede ser que Araubi lo supiera ya, y fuera yo el que no lo sabía... la verdad que no lo recuerdo bien) que el juego ya es controlable mediante cursores.

La equivocación viene, debido a que en la pantalla principal no lo comenta, solo pone las teclas (si, esas raras…)

Pero que sepáis que es controlable con cursores también.

Primer fallo, la pantalla P no es posible pasarla, ya que hay partes de la pantalla corruptas. Como comenté antes, comparando con los niveles de la versión Spectrum, es posible recuperarla y hacer que funcione correctamente.

Vemos que en la pantalla Y, también hay un error bastante grave. Realizo la misma operación, y arreglado el fallo.

Ya puestos, compruebo el resto de pantallas, y veo algún fallo menor. (Supongo que algún cambio gráfico sin importancia). Ya puestos, se arreglan también.

Espero que lo disfrutéis!!!

CAS

TSX


1 de mayo de 2021

Nuevo parcheo: Colossus 4 Chess

Un parche “facilito” esta vez.

El fallo en esta ocasión es un fallo que sólo ocurre en emuladores.

Los emuladores prácticamente todos, tienen un fallo a la hora de inicializar la memoria principal, y lo hacen de manera errónea.

Por este motivo, los juegos que no inician las variables o buffers de manera adecuada, pueden dar fallos, como éste que nos ocupa.

El fallo  lo que produce es que la IA haga cosas raras. Por ejemplo, podemos fijarnos en los movimientos que realiza la máquina.

Si inicialmente movemos un peón en D2D4, mueve un caballo, cuando en un MSX real, mueve un peón también.

Comprobando donde inicia la zona de variables, tiene un fallo, ya que hay 3 bytes que no inicializa, y esto provoca el fallo. Cambiados los límites de la zona, y fallo arreglado.

Hay que comentar también que se ha probado en el MSXVR, y en éste, funciona correctamente y no necesitaría la versión parcheada.

A intentar ganar a la maquina!!!



19 de abril de 2021

Nuevo parcheo: Soviet

En unos días me he puesto un poco "las pilas" y he podido ir actualizando cosas pendientes en el blog.

Éste es uno de los últimos que hemos parcheado, y que, aunque en un principio parecía algo sencillo (algún fallo en la Cara A), se ha convertido en algo complicado, y con varios errores bastante complicados.

Comenzamos por los fallos de la Cara A solucionados:

- Después de un Game Over, la nave sale corrupta y la animación de pérdida de vida lo hace solamente en la parte baja de la animación.  Solucionado con un cambio en la "limpieza" del buffer que hace al comenzar el juego. No limpia la totalidad de un buffer.

- Por el mismo fallo, también ocurría que había momentos que las balas nos tocaban aunque no nos pasaran ni cerca. Problema de la limpieza del buffer que comenté antes. Arreglado con el mismo fix de arriba.

- Arreglados los textos al pasar de fases. El texto escribiendo el password no salía correctamente. Ponía LOADING, aunque tenemos que hacer la carga "a mano" en la cara B.

- Arreglados los borrados de pantalla al pasar de fase. Hace la llamada a una rutina que borra sólo la VRAM de MSX, pero no el buffer que mantiene en memoria, con lo cual no es borrada adecuadamente.

- Por último arregladas también las rutinas de espera de pulsación de teclas. Estaban al revés. La que espera que se pulse una tecla, lo que hacía es esperar que se dejara de pulsar una tecla, y al revés.... Hacía extraños al esperar teclas, como al mostrar el password, por ejemplo.


En la Cara B también nos encontramos con algún fallo:

-Primero de todo, hay unas llamadas a las rutinas antiguas de sonido de Spectrum. No dan ningún fallo, pero ocupan unos ciclos de reloj de ejecución innecesarios. Quitadas dichas llamadas.

- Al pasar de la fase 2 (primera de la cara B) a la fase 3, el marco de juego y el marcador, se corrompe, y desaparece al comenzar la nueva fase. Sucedía, ya que se borraba la pantalla de una forma errónea, parecido a la cara A. Arreglado.

- Al comienzo de la fase 3, la nave sale en un sitio no correcto (esto es un fallo también de la versión de Spectrum), y como es un lugar donde no puede entrar la nave, la nave no se mueve. Cambiado el lugar de inicio de fase, y así se puede empezar sin ningún problema.

- Al comienzo de la fase 3, empezamos con 60 "hostages" a liberar, pero no hay tantos para hacerlo, con lo cual no se podría acabar la fase. Se actualiza el número a rescatar a 48, que son los que hay en la fase. (Comprobado en varias versiones de la cinta de Spectrum, parece que es un fallo que también está presente allí)

- Al hacer la carga del final, salía el texto mal (no borraba el texto anterior y salía mezclado). También similar a lo que ocurría en la cara A. Arreglada la rutina que limpia la pantalla antes del texto.

- Fallo al pasar de fase con algo de vida perdida, el marcador no se actualiza bien, y aparece a medio actualizar, y parece que solo se actualiza en la parte de abajo. Se trata, como en la cara A, un fallo al limpiar el buffer de perdida de vida.

- En la pantalla final, existe un fallo grave, que inexplicablemente en el resto de juego no ocurre. Hay tres rutinas que se encargan del scroll de pantalla, pero no se realiza correctamente, ya que no se hacen las esperas entre las llamadas al VDP (out). Al no haber mucho sitio en esas rutinas, están rehechas dos de ellas, y otra que ya existe en el juego, hago uso de ella, cambiadas las llamadas.

Con todo esto, queda un nuevo juego esta vez "terminable". Espero que lo disfrutéis!!!