ZX Spectrum Next

Otras placas, clones o aparatos basados en FPGA / Oher FPGA based clones/devices/boards
Avatar de Usuario
antoniovillena
Mensajes: 2597
Registrado: 27 Sep 2015, 20:41

Re: ZX Spectrum Next

Mensaje por antoniovillena » 29 Nov 2016, 22:56

Lo del HDMI puede ser interesante. Ya que el ZX-Uno tiene la misma FPGA, con lo que sería trivial adaptar el core para que funcione en el ZX-Uno y así aprovechar el addon HDMI-ESP12.

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

Re: ZX Spectrum Next

Mensaje por Uto » 03 Ene 2017, 10:05

Han publicado un video en el grupo de Next sobre un nuevo modo gráfico 256x192, 256 colores. En realidad no es exactamente un modo gráfico... o sí... me explico:

Han hecho posible cargar una imagen en esa resolución, que proviene de una memoria fuera del ámbito del Spectrum (entiendo que memoria que hay en la placa que no usa el core de Spectrum). Una vez activado ese modo, la memoria de video normal se superpone al mismo, utilizando el color negro con brillo como máscara, es decir, todo lo que queda en ese colore (en la mayoría de los juegos ya existentes, el fondo) es transparente, y por tanto se ve la imagen de 256 colores de debajo.

En principio han hecho una prueba de concepto con una imagen cualquiera y luego lanzando Starquake, y dentro de que queda mal porque la imagen no tienen nada que ver con el juego, se entiende el concepto.

Jim Bagley ha hecho un dot command nuevo .bmpload o algo así que carga un BMP con esas características, el cual por lo que he visto en el video es un poco lento la verdad, pero no se cual es la lógica. Lo de que es un poco lento lo digo porque obviamente si igual que pintas la pantalla entera puedes pintar sprites sobre la misma en 256 colores, entonces el Next tiene un modo de 256 colores full. Ahora si pintar un sprite en ese modo va a base de un OUT por pixel la cosa va a ser lenta de morirse.

Cierto es que Next tiene soporte de sprites por hardware y lo mismo no hace falta hacerlo así.

En fin, todo muy difuso porque solo se ven los resultados y no hay detalles sobre la implementación, pero lleva al Spectrum a otra dimensión (en concreto a una dimenson casi-MCGA de IBM PC )

Pondría el enlace a facebook, pero no veo como hacerlo, así que en el grupo de Next tenéis el video.

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

Re: ZX Spectrum Next

Mensaje por Mejias3D » 03 Ene 2017, 11:48

Acabo de buscar el grupo en Facebook. Impresiona bastante. Enlazo un par de imágenes, no las puedo mostrar directamente aquí porque tienen más de 1200 píxeles de ancho y el servidor del foro no lo permite:

https://scontent.fmad3-1.fna.fbcdn.net/ ... e=58E89A01

https://scontent.fmad3-1.fna.fbcdn.net/ ... e=58E5D11D

Avatar de Usuario
chernandezba
Mensajes: 824
Registrado: 02 Oct 2015, 23:35

Re: ZX Spectrum Next

Mensaje por chernandezba » 03 Ene 2017, 12:07

En Prism también existe un modo overlay parecido a ese.
http://zxprism.blogspot.com.es/2014_10_01_archive.html
Que, por cierto, está soportado en ZEsarUX ;)

Todo eso me recuerda al sistema de laser disc para MSX:

http://primyretro.blogspot.com.es/2014/ ... l-msx.html

En que usando un modo de video normal de MSX, el color transparente se solapa con el video de fondo del laserdisc. Yo vi uno de estos juegos en directo y mola bastante. Pero bueno, esto va mucho mas allá de los modos overlay del Prism y el Next
----

ZEsarUX
ZX Second-Emulator And Released for UniX
https://github.com/chernandezba/zesarux

Avatar de Usuario
chernandezba
Mensajes: 824
Registrado: 02 Oct 2015, 23:35

Re: ZX Spectrum Next

Mensaje por chernandezba » 03 Ene 2017, 12:14

Uto escribió:
Jim Bagley ha hecho un dot command nuevo .bmpload o algo así que carga un BMP con esas características, el cual por lo que he visto en el video es un poco lento la verdad, pero no se cual es la lógica. Lo de que es un poco lento lo digo porque obviamente si igual que pintas la pantalla entera puedes pintar sprites sobre la misma en 256 colores, entonces el Next tiene un modo de 256 colores full. Ahora si pintar un sprite en ese modo va a base de un OUT por pixel la cosa va a ser lenta de morirse.
Yo creo que va lento porque, por una parte, tarda en cargar un archivo BMP de esas dimensiones de la SD, y luego tarda en convertirlo al formato que gestione el Next.
El out sólo es para activar el modo, lo más seguro es que el overlay (o background o como se llame) se ubique en alguna parte de la memoria "alta" del tbblue, dado que tiene 512 KB de base y como sabemos un spectrum normal gestiona máximo 128kb.
Pero bueno, sólo son suposiciones, dado que no han liberado especificaciones de esa parte. Especificaciones que he pedido (y también hace tiempo del chip de sprites) y que todavía no me han pasado
----

ZEsarUX
ZX Second-Emulator And Released for UniX
https://github.com/chernandezba/zesarux

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

Re: ZX Spectrum Next

Mensaje por Uto » 03 Ene 2017, 12:35

chernandezba escribió:
Uto escribió:
Jim Bagley ha hecho un dot command nuevo .bmpload o algo así que carga un BMP con esas características, el cual por lo que he visto en el video es un poco lento la verdad, pero no se cual es la lógica. Lo de que es un poco lento lo digo porque obviamente si igual que pintas la pantalla entera puedes pintar sprites sobre la misma en 256 colores, entonces el Next tiene un modo de 256 colores full. Ahora si pintar un sprite en ese modo va a base de un OUT por pixel la cosa va a ser lenta de morirse.
Yo creo que va lento porque, por una parte, tarda en cargar un archivo BMP de esas dimensiones de la SD, y luego tarda en convertirlo al formato que gestione el Next.
El out sólo es para activar el modo, lo más seguro es que el overlay (o background o como se llame) se ubique en alguna parte de la memoria "alta" del tbblue, dado que tiene 512 KB de base y como sabemos un spectrum normal gestiona máximo 128kb.
Pero bueno, sólo son suposiciones, dado que no han liberado especificaciones de esa parte. Especificaciones que he pedido (y también hace tiempo del chip de sprites) y que todavía no me han pasado
Efectivamente la lectura de la SD puede ser un efecto retardante que además dependerá mucho de la velocidad de la propia tarjeta. Lo que no sé es si tiene algún sentido que la imagen en pantalla no sea linear, exactamente como en el BMP, por lo que la conversión sería trivial.

Por otro lado no me queda claro como iría la paleta. Si el Next está, como el ZX-Uno, limitado por un DAC de 8 bits, al final cada byte puede directamente representar el RRRGGGBB, pero si no lo está este modo podría tener una paleta indexada como la de MCGA/VGA. Lo primero da imagenes de 256 colores, simpre los mismos 256 colores, lo segundo da como en MCGA, 256 de entre 2¹⁸ colores. Incluso si tiene un DAC mejor podría tener una paleta de 256 entre 2²⁴ colores.

Supongo que mientras el DAC sea de 8 bits, está funcionalidad podrían implementarse en el core TTBlue para ZX-Uno también.

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

Re: ZX Spectrum Next

Mensaje por mcleod_ideafix » 03 Ene 2017, 14:05

Esto es lo que se ha contado sobre el asunto:

El nuevo modo está pensado para usarse como una capa que se superponga por encima o por debajo de la imagen original de la ULA. Es de 256x192 con 256 colores por pixel. Dicen que la organización es planar, usando 3 páginas de 16K cada una, pero no lo pillo bien, porque mi concepto de planar significa que en una página se guardaría la componente roja, en otra la verde y en otra la azul, pero si se hace así el acceso y modificación de un pixel es extremadamente lento. Por otra parte dicen que se usan 256 bytes por línea, lo que me parece más normal (un byte por pixel), pero esto ya no es un modo planar, sino un modo "chunky", en donde cada bloque de 16K contendría un tercio de la pantalla. La organización del color es GGGRRRBB, la estándar de ULAplus (dice Jim Bagley que no, que es RRRGGGBB). Creo, en definitiva, que confuden el término "planar" con "lineal", para indicar que este modo no usa la disposición exótica del Spectrum, sino una en la que cada línea se guarda en memoria a continuación de la anterior (como en el modo radastaniano, para entendernos). UPDATE: efectivamente, como sospechaba, la organización es lineal, no planar, con un byte por pixel, en lo que parece ser formato RRRGGGBB.

Los tres bloques de 16K se paginan sobre el espacio de ROM (0-16383)

Hay un valor de atributo que sirve como "chroma key", es decir, como color transparente. Este valor es configurable.

De momento no hay implementados sprites por hardware, pero dicen que cuando se implemente, será en otra capa superpuesta a las anteriores (la implementación estándar, vamos). Si quieren que todo eso se vea por HDMI, no deben usar la Raspberry Pi Zero para los sprites.

Y no, no me atrae en absoluto implementar esto en el core de Spectrum de ZX-UNO. Entre otras cosas, porque ya nos hemos quedado sin BRAM para implementar un frame buffer de 48K que sería necesario para hacer esto. Y en segundo lugar, porque el core de TBBlue puede portarse al ZX-UNO y de esa forma, quien quiera sí podrá usar ese modo.
http://www.zxuno.com
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA

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

Re: ZX Spectrum Next

Mensaje por mcleod_ideafix » 03 Ene 2017, 14:08

Uto escribió:Si el Next está, como el ZX-Uno, limitado por un DAC de 8 bits, al final cada byte puede directamente representar el RRRGGGBB
El DAC del ZX-UNO es de 3 bits por color primario, esto es, 9 bits en total. Por otra parte, en el Next se usa salida HDMI que permite usar color en 24 bits sin gastar ni un pin extra en DACs. No sé si el Next al final sigue ofreciendo salida RGB analógica o VGA analógica, en cuyo caso sí que tendrían que decidir cuántos bits usar por color primario (para esas salidas).
http://www.zxuno.com
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA

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

Re: ZX Spectrum Next

Mensaje por jsj » 03 Ene 2017, 14:21

Aquí el susodicho video, o videos, mejor dicho.

phpBB [media]


phpBB [media]

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

Re: ZX Spectrum Next

Mensaje por Uto » 03 Ene 2017, 14:35

mcleod_ideafix escribió:
Uto escribió:Si el Next está, como el ZX-Uno, limitado por un DAC de 8 bits, al final cada byte puede directamente representar el RRRGGGBB
El DAC del ZX-UNO es de 3 bits por color primario, esto es, 9 bits en total. Por otra parte, en el Next se usa salida HDMI que permite usar color en 24 bits sin gastar ni un pin extra en DACs. No sé si el Next al final sigue ofreciendo salida RGB analógica o VGA analógica, en cuyo caso sí que tendrían que decidir cuántos bits usar por color primario (para esas salidas).
Me acaba de decir Jim Bagley en facebook que es RRRGGGBB, por lo que son 256 colores fijos, lo cual da para menos que el modo MCGA pero para un Spectrum está más que bien. Por lo que se ve aunque como dices teóricamente pueden, no quieren, quizá porque seguirán ofreciendo salida RBG o VGA.

Por otro lado eso implica que el core de Next aun podría funcionar en ZX-Uno, lo cual no deja de ser una buena noticia para los que tenemos uno.

Responder