Página 1 de 1

Kit de programación radastaniano para ZX Uno en ZX Basic

Publicado: 28 May 2015, 20:15
por Haplo
Abro este hilo para no mezclar los progresos que vayamos haciendo con este modo gráfico exclusivo para ZX-Uno.
Como reza el asunto, de lo que se trata es de ir poniendo a disposición de quien quiera hacer cositas en el modo radastaniano, códigos en formato ZX Basic para que los pueda usar desde ese entorno sin romperse la cabeza.

Advierto que no soy precisamente un genio de la programación, hacía mucho que no programaba (sobre todo en ensamblador) y eso se nota. Así que no temáis rectificarme o echarme una mano al pescuezo cuando veáis alguna cagadita :mrgreen:

Como es natural, éste es un hilo abierto y se agradece cualquier aporte o feedback.

He cogido lo que publicó Radastan y he tratado de adaptarlo como buenamente he podido. Mi poca experiencia en ZX Basic me ha complicado la aventura (precisamente me metí en este "fregao" para practicar y aprender) y gracias a na_th_an, A. Villena y McLeod, he sacado algo usable.

El kit de momento es muy, muy sencillo. De hecho, la versión que he sacado no tiene algunas rutinas que hizo radastán en motorzxuno.h, algunas las quité porque no me funcionaban ( o no sé cómo hacerlo) y otras las he modificado. Esto por supuesto es temporal y más que nada para tener algo para empezar. Al comparar las 2 versiones (motorzxuno.h y motorzxuno.bas), se aprecia mucho mejor las diferencias.

La demo que usa el kit también la he hecho algo más "interesante", ya que además de pintar el paisaje original, he puesto un bloque a modo de "personaje" que se puede mover por la pantalla usando las teclas q,a,o,p. Al desplazarse va dejando una estela porque me pareció algo chulo y revelador de la naturaleza de este modo gráfico.

radaszx1.JPG
radaszx1.JPG (35.78 KiB) Visto 8524 veces


radaszx2.JPG
radaszx2.JPG (41.52 KiB) Visto 8524 veces




A trasteaaarrr!!

demo.zip
(2.64 KiB) Descargado 424 veces

Re: Kit de programación radastaniano para ZX Uno en ZX Basic

Publicado: 05 Jun 2015, 06:08
por Hark0
Jur... cuántas cosas por probar... y cuan poco tiempo leches...

Re: Kit de programación radastaniano para ZX Uno en ZX Basic

Publicado: 05 Jun 2015, 09:59
por radastan
Dímelo a mi. ¿Sabes lo que es tener los medios, los conocimientos, pero que tu vida laboral y familiar no te deje hacer NADA? Estoy desesperado, no he podido programar ni una línea en dos semanas.

Re: Kit de programación radastaniano para ZX Uno en ZX Basic

Publicado: 05 Jun 2015, 10:03
por Hark0
radastan escribió:Dímelo a mi. ¿Sabes lo que es tener los medios, los conocimientos, pero que tu vida laboral y familiar no te deje hacer NADA? Estoy desesperado, no he podido programar ni una línea en dos semanas.


Calla calla.... que mañana voy a la RMD.... y ya he dejao a la que te dije... con esa carita que todos sabemos...

Re: Kit de programación radastaniano para ZX Uno en ZX Basic

Publicado: 05 Jun 2015, 14:14
por Haplo
Ayer estuve "radastaniando" algunos sprites del proyectillo que tengo entre manos y casi me quedo bizco de tanto tirar de zoom, jejej

Iremos viendo como queda, porque de entrada los personajes tendrían que ser de 8x10 o 10x12, ya que estoy limitado también a un área de juego específico. Esto de trabajar a tan baja resolución tiene sus contras, el sintetizar una personalidad o naturaleza en un gráfico con tan pocos pixels es todo un arte.

Re: Kit de programación radastaniano para ZX Uno en ZX Basic

Publicado: 05 Jun 2015, 14:39
por na_th_an
Puah, en ZX81 con 2 colores y 64x48 píxeles... ahí sí que es complicado ;) ;) :D

Re: Kit de programación radastaniano para ZX Uno en ZX Basic

Publicado: 16 Jun 2015, 15:38
por Haplo
Para no mezclar lenguajes, continúo por aquí la duda que planteaba en este mensaje duda con la paleta

Pues no sé dónde está el problema, si cambio las dimensiones del DIM, quito o añado elementos, el compilador se queja en todos los casos. He probado todo lo que se me ha ocurrido y al final he desistido de configurar así la paleta.

Lo he resuelto tirando de tabla en asm:

Código: Seleccionar todo

inicio()

SUB FASTCALL inicio ()

   ' Activamos el modo radastaniano
   OUT 48955,64
   OUT 65339,3

   ' Definimos la paleta
   DIM i As UByte
   FOR i=0 TO 15
      OUT 48955,i
      OUT 65339, PEEK (@paleta+i)
   NEXT i
   'muestra la paleta
   FOR i=0 TO 15
      POKE (16384+i*2), PEEK (@verpaleta+i)
      POKE (16385+i*2), PEEK (@verpaleta+i)
      POKE (16384+64+i*2), PEEK (@verpaleta+i)
      POKE (16385+64+i*2), PEEK (@verpaleta+i)
   NEXT i
   pause 0
END SUB

verpaleta:
' valores iguales del 0 al 15 para pixel izq y dcho
ASM
   DEFB %00000000
   DEFB %00010001
   DEFB %00100010
   DEFB %00110011
   DEFB %01000100
   DEFB %01010101
   DEFB %01100110
   DEFB %01110111
   DEFB %10001000
   DEFB %10011001
   DEFB %10101010
   DEFB %10111011
   DEFB %11001100
   DEFB %11011101
   DEFB %11101110
   DEFB %11111111
END ASM

paleta:
' Valores de la paleta
ASM
   DEFB 0,64,8,3,99,110,128,84,28,18,31,180,188,252,182,255
END ASM


Con este cambio ya funciona como debe. También había un error tonto al mostrar la paleta en pantalla.
test2.JPG
test2.JPG (34.72 KiB) Visto 8260 veces