Juegos que fallan o no funcionan

Avatar de Usuario
nihilblack
Mensajes: 81
Registrado: 19 Mar 2016, 14:37
Ubicación: Barcelona
Contactar:

Juegos que fallan o no funcionan

Mensaje por nihilblack » 09 Oct 2016, 13:01

¿Sería de alguna ayuda para depurar y mejorar el core de Spectrum crear un hilo en el que listásemos los juegos que fallan de algún modo o directamente que no funcionan? Yo creo que sí, así que tomo la iniciativa por si alguien más quiere añadir aquello que detecte. Empiezo yo, tomando como referencia los TAP de WoS:

- Invasion of the Zombie Monsters: a pesar de ir incluido con el ZX-Uno, no tiene ni música ni sonido (al menos para mi, no sé para los demás).
- Uridium/Uridium +: he probado de todas las formas que se me ha ocurrido, y el resultado siempre es el mismo. El juego se resetea tras la pantalla de carga.
- Wec Le Mans: Aparece la pantalla de carga y poco más. Si pulsas una tecla cambia el color del borde, y ahí se queda, bloqueado.

En fin, lo dicho, os animo a participar con aquello que detectéis (o con las soluciones que hayáis encontrado, si las hubiere). Yo mismo me comprometo a actualizar el listado y mantenerlo en orden alfabético.

Avatar de Usuario
desUBIKado
Mensajes: 1002
Registrado: 05 Ago 2016, 22:33

Re: Juegos que fallan o no funcionan

Mensaje por desUBIKado » 09 Oct 2016, 13:26

nihilblack escribió: - Uridium/Uridium +: he probado de todas las formas que se me ha ocurrido, y el resultado siempre es el mismo. El juego se resetea tras la pantalla de carga.
Las versiones tap de esos 2 juegos tampoco me cargan, pero tengo una versión Uridium (1985)(Hewson Consultants).z80 que sí funciona

Avatar de Usuario
mcleod_ideafix
Mensajes: 831
Registrado: 27 Sep 2015, 00:14
Ubicación: Jerez de la Frontera
Contactar:

Re: Juegos que fallan o no funcionan

Mensaje por mcleod_ideafix » 09 Oct 2016, 17:00

nihilblack escribió:- Invasion of the Zombie Monsters: a pesar de ir incluido con el ZX-Uno, no tiene ni música ni sonido (al menos para mi, no sé para los demás).
Creo que ese juego se incluyó en formato ROM y debería haberse parcheado antes de hacerlo, ya que el juego comprueba si estás o no en un 128K mirando la ROM, y si no lo estás, no saca sonido. Cuando un juego se ejecuta como ROM, obviamente no existe ROM de BASIC debajo, así que el juego detecta erróneamente que NO estás en un 128K.
nihilblack escribió:- Uridium/Uridium +: he probado de todas las formas que se me ha ocurrido, y el resultado siempre es el mismo. El juego se resetea tras la pantalla de carga.
En WOS hay varias versiones del Uridium. Casi todas en TZX y sólo una en TAP. La versión TAP ya avisa WOS de que está corrupta, así que no va a funcionar. En cuanto a las versiones TZX, una de ellas consta de una única carga de 49152 bytes (48K), a velocidad normal, pero con un cargador custom, con lo que es incompatible con DivMMC. Creo que la podré parchear para que use la rutina de la ROM de carga, y por tanto, hacerla compatible con DivMMC. Mientras tanto, puedes usar el .Z80 que dejo aquí, y que está parado en el mismo instante en que termina la carga y está a punto de ejecutarse.
En cuanto a Uridium Plus, tres cuartos de lo mismo. La versión TAP que hay en WOS también está corrupta. Hay que usar la versión TZX que hay que parchear para que use la rutina de carga de la ROM (cosa que se ve que intentó hacerse en la versión TAP que pusieron, pero que no hicieron bien).
nihilblack escribió:- Wec Le Mans: Aparece la pantalla de carga y poco más. Si pulsas una tecla cambia el color del borde, y ahí se queda, bloqueado.
La versión TAP que hay en WOS es un parche a la versión TZX para que use las rutinas de la ROM. En este caso no parece que hayan hecho una chapuza. Lo estudiaré con más detenimiento. Como en el caso anterior, se puede usar un snapshot para solucionar de momento el tema. En este caso digo de momento porque parece que el juego es multicarga.

En resumen: el problema con el primero aparece por haberlo convertido a ROM sin fijarse en que el propio juego usa la ROM para saber en qué modelo de Spectrum está. Los demás usan algún tipo de cargador custom que hay que parchear correctamente para que el juego cargue desde la rutina de la ROM, y así hacerlo compatible con DivMMC. Los usuarios de DivMMC o DivIDE en un Spectrum original de Sinclair habrán tenido los mismos problemas que tú, de hecho.

El adjunto que dejo son versiones de todos estos juegos mencioandos que sí funcionarán en un ZX-UNO (o Spectrum con DivIDE/DivMMC) sin problemas, dejando aparte el tema de la multicarga del Wec Le Mans que tendré que mirar con más ojo.
Adjuntos
juegos_problematicos.zip
(101.46 KiB) Descargado 260 veces
http://www.zxuno.com
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA

Avatar de Usuario
nihilblack
Mensajes: 81
Registrado: 19 Mar 2016, 14:37
Ubicación: Barcelona
Contactar:

Re: Juegos que fallan o no funcionan

Mensaje por nihilblack » 09 Oct 2016, 18:43

No dejo de alucinar con el alcance de los conocimientos de muchos de vosotros :o

¡Gracias, mcleod_ideafix! Voy a probar esos dos.

Por cierto, ¿sabéis de algún método para pasar de TZX a TAP u otro formato compatible? Porque tengo entendido que los TZX no se pueden cargar en ZX-Uno (como siempre apenas tengo idea de nada... yo siempre he sido de cargar los juegos en mi +2 gris... me sacas de ahí, y ni idea).

(¿Viste lo que sugeríamos respecto al 2º botón del pad?)

Avatar de Usuario
mcleod_ideafix
Mensajes: 831
Registrado: 27 Sep 2015, 00:14
Ubicación: Jerez de la Frontera
Contactar:

Re: Juegos que fallan o no funcionan

Mensaje por mcleod_ideafix » 09 Oct 2016, 19:46

nihilblack escribió:Por cierto, ¿sabéis de algún método para pasar de TZX a TAP u otro formato compatible?
De TZX a TAP tienes el ZX BlockEditor, pero la conversión sólo funcionará en DivIDE/DivMMC si el juego usa la ROM para cargar bloques. Cualquier juego que tuviera carga turbo o custom de algún tipo no funcionará a menos que se parchee manualmente.
nihilblack escribió:Porque tengo entendido que los TZX no se pueden cargar en ZX-Uno (como siempre apenas tengo idea de nada... yo siempre he sido de cargar los juegos en mi +2 gris... me sacas de ahí, y ni idea).
TZX no se pueden cargar en el ZX-UNO vía NMI, pero siempre puedes cargarlos por EAR usando algún reproductor de TZX de los que hay para móviles, tablets o PCs.
nihilblack escribió:(¿Viste lo que sugeríamos respecto al 2º botón del pad?)
Pues no, lo siento. Estoy ahora liado con lo del CPC y alguna que otra cosilla aparte. ¿Dónde está eso?
http://www.zxuno.com
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA

Avatar de Usuario
Uto
Mensajes: 1394
Registrado: 17 Dic 2015, 16:39

Re: Juegos que fallan o no funcionan

Mensaje por Uto » 09 Oct 2016, 20:05

mcleod_ideafix escribió:
nihilblack escribió:(¿Viste lo que sugeríamos respecto al 2º botón del pad?)
Pues no, lo siento. Estoy ahora liado con lo del CPC y alguna que otra cosilla aparte. ¿Dónde está eso?
Aquí:

viewtopic.php?f=14&t=241&start=10#p8666

No se si tiene o puede tener contrapartidas, no se me ocurre ninguna especialmente pero nunca se sabe.

Avatar de Usuario
nihilblack
Mensajes: 81
Registrado: 19 Mar 2016, 14:37
Ubicación: Barcelona
Contactar:

Re: Juegos que fallan o no funcionan

Mensaje por nihilblack » 09 Oct 2016, 20:54

mcleod_ideafix escribió:Pues no, lo siento. Estoy ahora liado con lo del CPC y alguna que otra cosilla aparte. ¿Dónde está eso?
Eso mismo que te linka Uto. Básicamente, poder aprovechar el segundo botón del pad de Master System en los juegos que permiten redefinir teclas. Si con SJS1 (por ejemplo) detecta las direcciones como 6 a 9, y el botón 1 como 0, pues poder definir el botón 2 como otra tecla. Sería útil para juegos que tienen 2 botones de acción, como por ejemplo Terra Cresta (disparo y "Split"), que jugando con Kempston te obliga a usar una mezcla de teclado y pad.

Por cierto, he probado los archivos que has subido antes: ambos Uridium y Wec Le Mans funcionan. En cambio Invasion of the Zombie Monsters solo funciona en 48 sin ninguna clase de sonido (música o FX). Si arranco con las roms de 128k o +2EN, con una se resetea, y con la otra se queda la pantalla en negro, y si pulsas alguna tecla se escucha el sonido de teclear.

Avatar de Usuario
mcleod_ideafix
Mensajes: 831
Registrado: 27 Sep 2015, 00:14
Ubicación: Jerez de la Frontera
Contactar:

Re: Juegos que fallan o no funcionan

Mensaje por mcleod_ideafix » 09 Oct 2016, 20:57

nihilblack escribió:En cambio Invasion of the Zombie Monsters solo funciona en 48 sin ninguna clase de sonido (música o FX). Si arranco con las roms de 128k o +2EN, con una se resetea, y con la otra se queda la pantalla en negro, y si pulsas alguna tecla se escucha el sonido de teclear.
En 128K, haz un POKE 23308,16 antes de cargar el juego. Es decir:

Elige el juego y déjalo cargar aunque se bloquee o se resetee.
Resetea el ordenador con reset de usuario (control alt supr)
Pon el poke
Teclea LOAD "" y Enter

Esto es algo que se ha corregido en la beta 5.1 de ESXDOS pero la gran mayoría de usuarios aún no se ha actualizado a esta versión.
http://www.zxuno.com
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA

Avatar de Usuario
nihilblack
Mensajes: 81
Registrado: 19 Mar 2016, 14:37
Ubicación: Barcelona
Contactar:

Re: Juegos que fallan o no funcionan

Mensaje por nihilblack » 09 Oct 2016, 21:29

Nada, se vuelve a bloquear/resetear, según la ROM.

Que por cierto, acabo de descubrir que el ghosting de este teclado es tan brutal que escribir las "" de LOAD "" es una odisea...

Zup
Mensajes: 112
Registrado: 16 Sep 2016, 20:22

Re: Juegos que fallan o no funcionan

Mensaje por Zup » 10 Oct 2016, 09:22

Adjunto mis propios TAP para los juegos que has comentado. Los he probado solo en modo USR0, no en un ZX-Uno (a ver si luego enchufo el mío y le doy una pasada). Un par de notas:
  • Invasion of the Zombie Monsters: He rehecho el cargador del juego, pese a que no era necesario. Al cargar el segundo bloque (que copia datos a la página 4) hace una comprobación de si está en un 128k. Una vez hecha, hace un POKE 24644,1 si es 128k o un POKE 24644,0 si es 48k. En mi cargador, el segundo bloque no hace la comprobación y POKEa directamente el 1. También hace el POKE 23388,16 al acabar, por si es necesario. La verdad es que no he comprobado si después de cargar el juego usa la dirección 24644 para saber si es un 128k o hace otro tipo de comprobación.
  • Uridium y Uridium+: He hecho TAPs válidos para las dos versiones. No he encontrado nada raro que justifique el que te hagan cosas raras.
  • Wec Le Mans: He hecho que cargue desde BASIC. El cargador original del juego primero carga un bloque gordo y luego comprueba si está en un 128k. Esta comprobación es un poco rara, utiliza los puertos $fffd y $bffd (intenta detectar el chip AY), quizás el problema esté por este lado. Si es un 128k, carga dos bloques a las páginas 4 y 6 y luego vuelve a cargar el bloque gordo (se lo ha corrompido el mismo). Mi cargador no hace la comprobación de 128k y carga primero los bloques de las páginas 4 y 6 y luego el bloque gordo. Esto hace el TAP más pequeño y acorta los tiempos de carga en un Spectrum original.
EDITO: En mi ZX-Uno (arranca por defecto como +2) he podido cargar e iniciar partida en todos los juegos.
mcleod_ideafix escribió:En 128K, haz un POKE 23308,16 antes de cargar el juego.
El POKE correcto es 23388,16.
Adjuntos
taps.7z
(74.26 KiB) Descargado 253 veces

Responder