TEST 3 disponible

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

TEST 3 disponible

Mensaje por mcleod_ideafix » 25 Ago 2017, 02:01

Pues después de trastear a base de bien, incluyendo hacer una plaquita para un Amstrad original con el diseño de gate array del core, ver que funciona idéntico al venerable 40010, y a su vez, probando un Z80 original en la placa del ZX-UNO, ha llegado el resultado. El TEST 3 del core de CPC 464 (sí, aún un 464 pero todo se andará)
2017-08-19 19.44.35.jpg
Uno de los prototipos del módulo de reemplazo de gate array. Hice dos, con distintas tecnologías. Este de la foto aún no he podido echarlo a andar, pero el otro, afortunadamente, funciona como un reloj suizo :)

2017-08-18 02.18.06.jpg
Módulo de reemplazo del gate array en un Amstrad CPC 6128, mientras se está ejecutando la demo Batman Forever. Se la tragó enterita :)

2017-08-23 12.37.33.jpg
Abajo a la derecha, un ZX-UNO con un Z80 CMOS real pinchado como plaquita addon. El core de CPC está cargando el juego Blade Warrior.


Con esta versión deberían haberse corregido los errores de sonido en los juegos que usan WYZPlayer (los juegos de los Mojon Twins, los de CEZ y los de la CPCRetroDev). Todo viene de que hay muchos juegos (y entre ellos, la rutina de sonido de WYZPlayer) que asumen que la instrucción indocumentada OUT (C),0 funciona tal y como su nombre indica, pero si el Z80 es CMOS (o su implementación es como la del CMOS) entonces esa instrucción en realidad escribe $FF en lugar de 0. Una vez corregido esto, además de los juegos mencionados, hay demos técnicas que funcionan por fin pero aún con glitches, como la de Mario de Rhino (Batman Brothers).

Por otra parte, creo que ya sé por qué algunos juegos no parecía que funcionasen con el disparo: resulta que en el Amstrad, la nomenclatura de los dos pines de fuego en el joystick están intercambiados con respecto a la norma Atari, lo que significa que lo que yo llamo FIRE 1 en Atari/Spectrum, en el Amstrad es FIRE 2. Yo esto no lo sabía y cableé FIRE 1 y FIRE 2 en el joystick de acuerdo con la norma Atari. El resultado es que cuando en el jostick, desde BASIC, pulsaba el disparo, en lugar de salirme la X me salía la Z. En definitiva: que parece ser que en Amstrad, los juegos que tienen solo un disparo usan FIRE 2, así que intercambiando esos pines en el diseño se ha solucionado.

He aprovechado para implementar algunas... "exquisiteces", tales como una característica bastante oscura del Amstrad, y que permite forzar al gate array la generación de un VSYNC aunque el CRTC no lo haya mandado. Esto se puede hacer en algunos modelos de Amstrad porque la señal VSYNC del CRTC está conectada, además de al gate array, a un pin del 8255. Este pin del 8255 es, normalmente, de entrada y sirve para que el programador sepa cuándo hay en curso un retrazo vertical. Pero se puede hacer que el 8255 ponga ese pin como de escritura y enviar un valor ahí. Si el 8255 que se usa es más.... "fuerte" que el CRTC (traducido: si la etapa de salida del 8255 tiene menos impedancia que la del CRTC) entonces prevalece el 0 escrito por el 8255 y el gate array interpreta que ha llegado el momento de un intervalo de vblank.

Leyendo el datasheet del 8255 he podido ver que las etapas de entrada de los pines tienen "memoria", es decir, que si se envía un valor por un pin al ponerlo como salida, ese valor puede leerse como valor del pin de entrada, si no hay nada externo forzando un valor en dicho pin. Esto también se ha implementado.

Por favor, id repasando, de la lista que hay compartida en Google Docs (ver hilo del TEST 2), a ver qué juegos que antes no funcionaban ahora sí funcionan :) Estaré atento :)

En este mismo post teneis el core. Como siempre, cambiad la "n" por el número de slot donde vayais a poner el core y flashearlo en el mismo lugar donde tuviérais el TEST 2 (salvo que alguien quiera comparar ambos cores).

Saludos!
Adjuntos
COREn.ZX1
Fichero ZX1 con el TEST3 del core de CPC 464
(336 KiB) Descargado 378 veces
http://www.zxuno.com
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA

Avatar de Usuario
Mejias3D
Mensajes: 429
Registrado: 06 Oct 2015, 23:01

Re: TEST 3 disponible

Mensaje por Mejias3D » 25 Ago 2017, 03:15

Felicidades.

Excelente trabajo, como siempre :okidoki;

Avatar de Usuario
Radastan
Mensajes: 389
Registrado: 05 Oct 2015, 14:39

Re: TEST 3 disponible

Mensaje por Radastan » 25 Ago 2017, 07:41

¡Oleeeeeeeee!

:gracias!: :gracias!: :gracias!:

Como consigas implementar la disquetera de 3" y tengamos 6128 y +3 hacemos movimiento para canonizarte.

Avatar de Usuario
jsj
Mensajes: 336
Registrado: 21 Nov 2015, 12:48

Re: TEST 3 disponible

Mensaje por jsj » 25 Ago 2017, 07:58

Para mí este core (junto con el de Spectrum, evidentemente) es uno de los más deseados e imprescindibles.

Ya sería perfecto si consigues implementar un 6128 con su disquetera. :okidoki;

¿O un 464 con M4? (aunque fuese sin WiFi, sólo con acceso a SD)

Avatar de Usuario
Kyp
Mensajes: 240
Registrado: 18 May 2016, 20:16

Re: TEST 3 disponible

Mensaje por Kyp » 25 Ago 2017, 10:07

:plasplas: :plasplas: :plasplas:

Avatar de Usuario
brunosilva
Mensajes: 312
Registrado: 18 Jun 2016, 19:54

Re: TEST 3 disponible

Mensaje por brunosilva » 25 Ago 2017, 13:29

wow.... thanks... great work!

Avatar de Usuario
jaildesigner
Mensajes: 158
Registrado: 19 Sep 2016, 08:09

Re: TEST 3 disponible

Mensaje por jaildesigner » 25 Ago 2017, 14:06

JOJOJOJO!!! POR FIN!!!

MIL GRACIAS!
:maestro: :maestro: :maestro:

En cuanto pueda me pongo con la lista de nuevo! :teclando..:

EDIT: Aquí el enlace al documento de Google: https://docs.google.com/spreadsheets/d/ ... sp=sharing

Ya funciona bien el Jet Set Willy :chocala!:
Última edición por jaildesigner el 25 Ago 2017, 20:31, editado 1 vez en total.

Avatar de Usuario
Hodor
Mensajes: 19
Registrado: 25 Nov 2016, 11:00

Re: TEST 3 disponible

Mensaje por Hodor » 25 Ago 2017, 16:14

Muchas gracias por seguir convirtiendo al :zxuno: en una extraordinaria máquina.

Avatar de Usuario
dustin
Mensajes: 50
Registrado: 15 Ene 2016, 18:50

Re: TEST 3 disponible

Mensaje por dustin » 25 Ago 2017, 17:10

Muchas gracias, a ver si saco un rato para probar juegos. Como poseedor de un 464, es un gusto que por una vez tenga preferencia sobre el 6128 :D, porque desde siempre he tenido la impresión de que era el segundón.

Saludos

Vanfanel
Mensajes: 276
Registrado: 16 Oct 2016, 15:50

Re: TEST 3 disponible

Mensaje por Vanfanel » 25 Ago 2017, 20:03

Fantásticas noticias, este core representa un logro técnico increíble! :chocala!:

El bug de las líneas "cambiadas" en modo VGA que aparece tras un RESET (CTRL+ALT+SUP) sigue presente, no? Eso, o no he actualizado bien el core.

Responder