RADASPALBANK : demo para mostrar más de 16 colores en modo Radastan

Software para o relacionado con el core ZX Spectrum / Software for or related to the ZX Spectrum core
Avatar de Usuario
chernandezba
Mensajes: 841
Registrado: 02 Oct 2015, 23:35

Re: RADASPALBANK : demo para mostrar más de 16 colores en modo Radastan

Mensaje por chernandezba » 22 Ene 2018, 22:20

Agregado emulación de RADASPALBANK en ZEsarUX :)
Aunque esa demo de zxuno no va fina, parece que hay alguna incompatibilidad o problema con las interrupciones raster y el modo timex

Saludos
----

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

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

Re: RADASPALBANK : demo para mostrar más de 16 colores en modo Radastan

Mensaje por mcleod_ideafix » 23 Ene 2018, 00:51

chernandezba escribió:Agregado emulación de RADASPALBANK en ZEsarUX :)
Aunque esa demo de zxuno no va fina, parece que hay alguna incompatibilidad o problema con las interrupciones raster y el modo timex

Saludos
Bueno.... la demo no usa los modos Timex para nada. Sólo la interrupción ráster y el modo radastaniano.
http://www.zxuno.com
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA

Avatar de Usuario
SevenFFF
Mensajes: 43
Registrado: 23 Dic 2017, 22:50

Re: RADASPALBANK : demo para mostrar más de 16 colores en modo Radastan

Mensaje por SevenFFF » 23 Ene 2018, 03:34

I've been fiddling around with a game demo that uses RADASPALBANK and also switches to Timex screen 1 in the raster interrupt.

In the game this will be a screen 1 status bar on the bottom two rows.

Thanks for adding this, César :)

Imagen

Metaru-v0.1.13.tap
Robin Verhagen-Guest
SevenFFF / Threetwosevensixseven / colonel32
seven-fff.com/blog

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

Re: RADASPALBANK : demo para mostrar más de 16 colores en modo Radastan

Mensaje por chernandezba » 23 Ene 2018, 06:49

mcleod_ideafix escribió:
chernandezba escribió:Agregado emulación de RADASPALBANK en ZEsarUX :)
Aunque esa demo de zxuno no va fina, parece que hay alguna incompatibilidad o problema con las interrupciones raster y el modo timex

Saludos
Bueno.... la demo no usa los modos Timex para nada. Sólo la interrupción ráster y el modo radastaniano.

Lo del modo Timex me lié, me confundí con la demo de Robin
No entiendo porque tu demo no funciona, en pantalla lo que acabo viendo es que desactiva continuamente el modo radastan (realmente se va a ulaplus modo 0) por lo que en pantalla está en modo spectrum normal y veo basura. Se te ocurre por que?
----

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

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

Re: RADASPALBANK : demo para mostrar más de 16 colores en modo Radastan

Mensaje por chernandezba » 23 Ene 2018, 06:50

SevenFFF escribió:
Thanks for adding this, César :)
You’re welcome! :)
----

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

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

Re: RADASPALBANK : demo para mostrar más de 16 colores en modo Radastan

Mensaje por Radastan » 23 Ene 2018, 08:36

SevenFFF escribió:I've been fiddling around with a game demo that uses RADASPALBANK and also switches to Timex screen 1 in the raster interrupt.
Wow!

:plasplas: :plasplas: :plasplas:

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

Re: RADASPALBANK : demo para mostrar más de 16 colores en modo Radastan

Mensaje por chernandezba » 23 Ene 2018, 11:08

mcleod_ideafix escribió:
240col.asm muestra una cuadrícula de 16x16 cuadros en la zona de paper, cada uno de un color. En realidad, las 16 filas de cuadros contienen los mismos valores para sus píxeles, ya que en modo radastaniano un pixel sólo puede tomar valores del 0 al 15. Si no cambiáramos la paleta, veríamos 16 columnas de cuadros verticales, cada uno de un color.
Hay un error en ese código. En la función:

ld d,0
ld hl,PaletaInicial ;rellenamos la paleta ULAplus con un gradiente con los 64 primeros colores
LoopPaleta ld bc,ULAPLUSADDR ;pero cuidando de que las entradas de la paleta 0,16,24,32,48 sean el negro, para que el
out (c),d ;borde no cambie cuando cambiemos de paleta (mirar PaletaInicial para entender c<F3>mo funciona esto)
ld bc,ULAPLUSDATA
ld a,(hl)
out (c),a
inc hl
inc d
cp 40h
jr nz,LoopPaleta


Fíjate en el cp 40h final, ahí tiene que haber antes un:
ld a,d

Si no, estás comparando el registro A con 40h, que a saber qué tiene ahí el registro A (tiene el valor de color enviado)

Así ese código debe quedar como:

ld d,0
ld hl,PaletaInicial ;rellenamos la paleta ULAplus con un gradiente con los 64 primeros colores
LoopPaleta ld bc,ULAPLUSADDR ;pero cuidando de que las entradas de la paleta 0,16,24,32,48 sean el negro, para que el
out (c),d ;borde no cambie cuando cambiemos de paleta (mirar PaletaInicial para entender c<F3>mo funciona esto)
ld bc,ULAPLUSDATA
ld a,(hl)
out (c),a
inc hl
inc d
ld a,d
cp 40h
jr nz,LoopPaleta

Este error, que parece no fallar en zxuno provoca que se envíen valores mayores que 40h (del registro D) al puerto de ULAPLUSADDR. Los valores menores de 40h significa "cambiar color de paleta", pero los mayores (cuando bit 6 es 1 y bit 7 es 0) significa cambiar modo ulaplus (tomando los 6 bits inferiores).

Dado que en la especificación ULAPlus "estándar" (la de Andrew, sin modos radastan ni modos ZEsarUX) sólo hay dos valores de modo (0 desactivado, 1 activado) este bug provoca que cada vez que los 6 bits inferiores vale 0, se desactiva ULAPlus. Y cuando vale 1, se activa ULAPlus.
En ZEsarUX, cuando se desactiva el modo ULAPlus estándard, se desactivan también los modos extendidos radastan y/o ZEsarUX, por lo que, ese bug provoca que se desactive el modo continuamente (entiendo que en ZX-Uno real no sucede de la misma manera).

Si puedo subo el tap y el asm corregidos

Saludos
----

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

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

Re: RADASPALBANK : demo para mostrar más de 16 colores en modo Radastan

Mensaje por chernandezba » 23 Ene 2018, 11:19

Subida la versión corregida aquí:

https://sourceforge.net/p/zesarux/code/ ... _palettes/
----

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

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

Re: RADASPALBANK : demo para mostrar más de 16 colores en modo Radastan

Mensaje por mcleod_ideafix » 23 Ene 2018, 14:48

SevenFFF escribió:I've been fiddling around with a game demo that uses RADASPALBANK and also switches to Timex screen 1 in the raster interrupt.

Imagen

Metaru-v0.1.13.tap
Ohhhhhhhhhhhhh! Total awesomenes!!!! :) May I feature this in the Facebook page?
http://www.zxuno.com
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA

Avatar de Usuario
SevenFFF
Mensajes: 43
Registrado: 23 Dic 2017, 22:50

Re: RADASPALBANK : demo para mostrar más de 16 colores en modo Radastan

Mensaje por SevenFFF » 23 Ene 2018, 14:56

mcleod_ideafix escribió:Ohhhhhhhhhhhhh! Total awesomenes!!!! :) May I feature this in the Facebook page?
Sure! Thanks :)
Robin Verhagen-Guest
SevenFFF / Threetwosevensixseven / colonel32
seven-fff.com/blog

Responder