Página 1 de 1

ZX +3 y compatibilidad juegos

Publicado: 11 Oct 2017, 21:29
por merlinkv
Hola,

Buscando un poco la forma de solventar la incompatibilidad de algunos juegos con el ZX +3, me he encontrado con ésto.
At the time the +3 (and +2A) came out, some games simply refused to play.

One of the reason for this was the “missing” IN #FF port (255 decimal). In fact, a true IN #FF port does not exists on neither Spectrum model.
How is that ?
La explicación es muy detallada y pensaba usar 3 resistencias en serie 270+100+100 ohmios (no tengo de 470) ... ¿Alguien ha probado este mod?

"Asiassss" :)

Re: ZX +3 y compatibilidad juegos

Publicado: 12 Oct 2017, 02:12
por dandare
merlinkv escribió: 11 Oct 2017, 21:29 Hola,

Buscando un poco la forma de solventar la incompatibilidad de algunos juegos con el ZX +3, me he encontrado con ésto.
At the time the +3 (and +2A) came out, some games simply refused to play.

One of the reason for this was the “missing” IN #FF port (255 decimal). In fact, a true IN #FF port does not exists on neither Spectrum model.
How is that ?
La explicación es muy detallada y pensaba usar 3 resistencias en serie 270+100+100 ohmios (no tengo de 470) ... ¿Alguien ha probado este mod?

"Asiassss" :)
Eso es el famoso bus flotante, ausente en estos modelos. En los otros modelos, el bus de datos de la memoria baja está conectado con el general, que incluye a la cpu, a través de unas resistencias. Esto es así para que la CPU no tenga contención al acceder a la memoria alta (mismo bus) mientras que la ULA accede a la memoria baja para pintar la pantalla.

Teniendo en cuenta estas resistencias, al hacer un IN 255, o a cualquier puerto no existente, la CPU podía leer lo que habia en el bus por la lectura de la memoria baja por parte de la ULA. Esto, por ejemplo, permite tener cierto control sobre el barrido de pantalla sin usar la señal INT, por tanto con interrupciones desactivadas.

En los modelos amstrad, el gate array se encarga de gestionar el acceso a la memoria de video, aislándola así del bus principal y permitiendo la no contención en accesos a memoria alta por parte de la CPU. El gate array, al contrario que las resistencias, corta completamente el acceso al tráfico ULA-RAM baja, frente a la señal débil producida con resistencias. Por tanto un IN 255 siempre dará como resultado el bus vacío, esto es, 0xff, todo "1".


No conozco el mod que dices, pero me imagino que se trata de unir el bus privado ULA-memoria baja con el bus principal mediante resistencias para replicar el efecto.
Supongo que con el valor adecuado de las resistencias debería funcionar bien. Ten cuidado con los gate array de los +2/+3 que son delicaditos.

De todas formas, creo que es más fácil buscar versiones parcheadas de esos juegos, que no creo que sean tantos. Ahora me viene a la cabeza el arkanoid.

Re: ZX +3 y compatibilidad juegos

Publicado: 12 Oct 2017, 05:29
por merlinkv
Gracias por la información tam detallada dandare.

Pues si el Gate Array puede correr peligro ... mejor lo dejo. Tengo solo un ZX y no quiero arriesgarme a cagarla.

Es que me pareció interesante, pero para unos pocos juegos no me merece la pena. :)

Re: ZX +3 y compatibilidad juegos

Publicado: 12 Oct 2017, 18:26
por alvaroalea
Ademas, creo recordar que en esa misma pagina y si no, hay alguna por ahi... con casi todos los juegos parcheados para que puedas usarlos en un +2A/+3 sin problemas.