Proposición de cambio del modo Radastaniano

Software para o relacionado con el core ZX Spectrum / Software for or related to the ZX Spectrum core
Avatar de Usuario
Radastan
Mensajes: 386
Registrado: 05 Oct 2015, 14:39

Proposición de cambio del modo Radastaniano

Mensaje por Radastan » 09 Oct 2015, 08:52

Antes de nada: no va a afectar a todo lo que hay hasta ahora, es decir, no es un cambio radical en lo que a funcionamiento se refiere.

Mi proposición es que sea posible, bien de forma permanente en el modo Radastaniano o activando un bit de un puerto e/S, que la imagen "shadow" que existe en 128K se emplee como un plano por encima de la pantalla normal. La idea sería que el color cero de cada pixel se emplee como transparencia, para facilitar su implementación.

Me explico.

Sería realizar lo que hacen los MSX, es decir, superponer planos. Ellos lo hacen por cada sprite, usando la pantalla principal como fondo, aquí sería un poco más bestia pero con idéntico resultado. Cojeríamos las dos pantallas, la normal y la shadow, y la normal estaría de fondo. Bastaría realizar un OR de los 4 bits de la imagen shadow, y según el resultado coger el pixel de la pantalla shadow o de la normal a la hora de representar.

¿Qué conseguimos? Pues nada menos que ahorrar todo el trabajo de máscaras en los sprites, aparte de hacer muchísimo más sencillo el proceso de Scroll.

No se si es una petición descabellada, pero a nivel de programación facilita mucho la vida.

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

Re: Proposición de cambio del modo Radastaniano

Mensaje por chernandezba » 09 Oct 2015, 10:45

Interesante...
Pero porque no hacer directamente una implementación de un chip de sprites? Yo lo tengo en mente para ZEsarUX 3.2
Aunque bueno, entiendo que para el ZX-Uno es mucho más fácil lo que tú propones que no un chip de sprites...

Saludos
César
----

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

Avatar de Usuario
Haplo
Mensajes: 366
Registrado: 05 Oct 2015, 13:51
Ubicación: Ciudad Real

Re: Proposición de cambio del modo Radastaniano

Mensaje por Haplo » 09 Oct 2015, 13:10

jejejeee... algo parecido propuse yo hace casi un año y se me tiraron al cuello porque ya parecería una Master System en vez de un spectrum :mrgreen: :mrgreen:

Quiero recordar que sugerí algo así como definir un color de la paleta como transparente por hardware en plan croma y así ahorrarnos la máscara, con todo lo que supone de ahorro de memoria y procesado. No sé si es más factible o no.

Como ya dije en su día, todo lo que sea apoyar el desarrollo del software mediante hardware me parece fantástico, pero que también veía lógico las reticencias a implementar cosas que se alejen de lo que entendemos por un Spectrum o por lo menos de lo que se podría conseguir en un Spectrum real añadiéndole algo al slot de expansión, por ejemplo.

Yo desde luego, todo lo que tenga el hardware del ZXUno lo voy a intentar usar a saco, ya sean modos gráficos, sonidos, comunicaciones, almacenamiento, etc. Pero simplemente porque estoy haciendo un juego para :zxuno:, no para "Spectrum clásico" . El día que quiera hacer algo para nuestros queridos Spectrum de sobremesa me adaptaré a sus características que son las que siempre nos han gustado.

Así que yo encantao con todo lo que se implemente, faltaría más.

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

Re: Proposición de cambio del modo Radastaniano

Mensaje por chernandezba » 09 Oct 2015, 15:22

Bueno a mí eso de que parecería una Master system ya me lo dijeron también, pero me da completamente igual. En mi caso yo hago mi propio emulador y yo decido lo que le añado, ya sea emulación de algo físico y real, o algo inventado por mi. Luego estaría genial que la gente lo usase, hiciese juegos o incluso hiciese un chip real con el gestor de sprites... Pero vamos, que si no es así me da igual, yo lo haré si o si.
Entrar en la discusión de si es o no es un Spectrum con un 'add-on' que alguien se invente es absurdo. Un Spectrum es un Spectrum y todos sabemos sus limitaciones. Todo lo que se agregue son añadidos o cosas que se le podrían meter por él interfaz de expansión... Hasta no hace mucho parecía que el ulaplus no pasaría más allá del mundo virtual de los emuladores y hace poco que se está desarrollando una interfaz física.

Resumiendo, que me da igual lo que la gente diga. Yo voy a desarrollar mi propio chip de sprites , y, aparte de eso, la propuesta de radastan me parece también genial y seguramente la agregaré a mi emulador, que, dicho sea de paso, es el único emulador que soporta ese modo y además os puede ayudar en el desarrollo de juegos que usen ese modo de vídeo sin tener que probarlo en el Zxuno

Saludos
César
----

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

Avatar de Usuario
Haplo
Mensajes: 366
Registrado: 05 Oct 2015, 13:51
Ubicación: Ciudad Real

Re: Proposición de cambio del modo Radastaniano

Mensaje por Haplo » 09 Oct 2015, 15:43

Quiero aclarar que el tono de mi anterior respuesta es totalmente de buen rollete y sin ningún tipo de reproche o algo remotamente negativo. Sencillamente me recordó lo que se comentó en ZdP hace meses.
En aquel entonces era cuando estaba peleándome con las rutinas gráficas de este modo, pero luego conseguí aclararme con el tema y pude dar con una solución aceptable para mí.
De todas maneras comparto totalmente la filosofía de Radastán, si se puede y no nos complica el desarrollo, pa'lante! :okidoki;

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

Re: Proposición de cambio del modo Radastaniano

Mensaje por chernandezba » 09 Oct 2015, 16:05

Ah no, no. Yo no me lo he tomado en plan negativo si lo dices por mí ;) Solo comentar eso, que tengo en mente lo del chip de sprites y que también me han llegado a decir que es una Master system, me resultó curioso porque la comparación era con la misma consola...
Lo que decía, la propuesta de radastan también me parece bien, quedaría que alguien defina que puerto o qué manera habría de habilitar ese modo adicional. Creo que lo mejor es que decida alguien del equipo de Zxuno, pues ellos son quizá quien lo tienen más complicado agregar cambios a nivel de hardware o tienen limitaciones de espacio en la FPGA. En mi caso en cambio puedo agregar cosas a mi emulador con 'relativa' facilidad y con espacio 'infinito' ;)

Saludos
César
----

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

Avatar de Usuario
antoniovillena
Mensajes: 2611
Registrado: 27 Sep 2015, 20:41

Re: Proposición de cambio del modo Radastaniano

Mensaje por antoniovillena » 09 Oct 2015, 16:22

La gracia del modo radastaniano es si simplicidad. Si le añades sprites por hardware ya deja de ser sencillo. Y un motor de sprites para esa resolución no merece la pena. Hacerlo por software es más o menos igual de eficiente que mover sprites en un spectrum, ya que la memoria de vídeo es casi la misma.

De todas formas me gusta esa actitud de "lo haré de todas formas". Yo por ejemplo planteé un sistema de scroll hardware, y no me limité a plantearlo. Lo implementé bajo emulador y en fpga e hice una demo, y me quedé tranquilo.

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

Re: Proposición de cambio del modo Radastaniano

Mensaje por Radastan » 09 Oct 2015, 16:33

Vamos a ver, por partes:

Lo que he propuesto es extremadamente sencillo, no afecta NADA al mapa de memoria del ZX Spectrum ni requiere implementar chip dedicado alguno. Se hace, creo, con muy poco esfuerzo y el que lo quiera lo usa y el que no sigue igual. Sólo he pedido que se active con un bit, porque habrá gente que prefiera seguir usando la pantalla shadow.

Tener sprites por hardware es implementar algo como el MSX, un VDP, lo cual ya es que supone implementar un MSX de facto. Es más, Mc Leod ya añadió el VDP como experimento a un ZX Spectrum real e iba bastante bien. Pero claro, ya no es un Spectrum.

Esto es como la interrupción raster, exactamente igual, algo que puedes usar o no. No implica chip dedicado, no afecta al Spectrum en si, pero a nivel de programación permite vilguerías como tener dos modos de vídeo (o tres) simultáneos en pantalla.

Comprendo el enfado, pero es que esta proposición no es tan "bestia" a nivel hardware. No hay sprites por hardware, es un mero artificio que permite algo similar. Es más, tampoco requiere más CPU (de echo ahorramos tiempo al quitar máscaras).

No obstante, si va a causar tanto revuelo pues se deja todo como está y a otra cosa, yo con el modo Radastaniano en si ya estoy feliz.

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

Re: Proposición de cambio del modo Radastaniano

Mensaje por chernandezba » 09 Oct 2015, 17:05

No, no hay ningún enfado como he dicho en mi anterior post. Yo soy del criterio que cualquier cosa que se pueda agregar al spectrum sea bienvenida. Sea tu sistema de transparencia o mi chip de sprites, o el sistema ulaplus o el Spectra. Me parece perfecto cualquier cosa que sea para mejorar el spectrum.

Luego estrictamente hablando cada cosa que se le añada o invente ya no es un Spectrum. Afecte o no al mapa de memoria de spectrum, eso que propones ya no es un Spectrum. Pero bajo mi criterio eso me da igual, tu propuesta es buena y seguramente yo la agregaré a mi emulador.

Saludos
César
----

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

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

Re: Proposición de cambio del modo Radastaniano

Mensaje por mcleod_ideafix » 09 Oct 2015, 17:21

Radastan escribió:Vamos a ver, por partes:

Lo que he propuesto es extremadamente sencillo
Salvo por un detalle: necesitas el doble de ancho de banda en la memoria, ya que en el mismo tiempo de pixel hay que leer el doble de datos. Y resulta que en el prototipo V2, que es el único prototipo que está "en la calle", la memoria ya está siendo usada a su límite de ancho de banda. Lo que propones por tanto, de poder hacerse, requeriría de las memorias de 10ns de la V4. Y ten en cuenta que en este caso, con este modo de overlay activado, probablemente no podrías subir la velocidad de la CPU (el deseado por muchos modo "turbo") ya que volvería a subir el ancho de banda necesario.

Suponiendo que se implementase... ¿qué se podría hacer con él que sea lo suficientemente vistoso o atractivo como para justificar su existencia en hardware?
http://www.zxuno.com
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA

Responder