"Fernandez D. Sopra-Bull" wrote:
Hola!
Sabe alguien si hay forma de leer/escribir el valor de un pixel (en concreto
en screen5) desde basic, sin utilizar las instrucciones POINT y PSET?? (con
algun PEEK o POKE)
Es muy sencillo.
Lo que pasa es que en Screen 5, cada byte representa 2 puntos. Es decir el
nibble alto representa el primer punto y el nibble bajo el segundo.
Así que si haces un VPOKE dir,algo tienes que tener presente en cual de los 2
puntos quieres escribir.
Pero es sencillo.
Si tienes una X par es el primer nibble y si no el segundo.
Pero antes has de hacer un vpeek de esa dirección para ver como es el otro
punto, ya que si no la fastidias.
Asi puedes hacer :
a = vpeek ((int(x/2)*2)+(y*128))
if (x mod 2) = 0 then pixel = (a and &h0F) + (16*pixel)
if (x mod 2) <> 0 then pixel = (a and &hF0) + pixel
vpoke ((int(x/2)*2)+(y*128)),pixel
Y esto para la página 0. Si lo quieres hacer en la 1, súmale &h8000, y si lo
quieres hacer en la 2 o 3, ya te las tienes que ingeniar de otra forma, por que
el VPOKE y VPEEK
no permite direcciones superiores a 16 bits (0-&hFFFF).
Esto lo he escrito así a lo bestia, e igual no funciona, pero bueno ... es para
que pilles la idea ...
Ej que si me sacas del asm me matas.
--
Un saludo,
Armando Pérez Abad
HELIO YAGO, S.L.
http://www.bogamari.com
Tlf: (96) 363 43 17
Fax: (96) 390 27 17