Hola!!
Tengo una teoría, pero es muy bestia y poco probable... tiene que ver
con el "haz" que dibuja la pantalla y las interrupciones, pero no creo
que en MSX pueda hacerse algo así.
[>]
Pues vas muy bien encaminado.... :-D
Sería interesante si alguien sabe como se puede obtener la posición del
haz
a partir del VDP...
[>]
Todo el sistema se basa en detectar cuando la luz del diodo LED que
incorpora nuestro lapiz/pistola/cualquier puntero óptico "choca" con el haz
de creación de la línea en pantalla. Este "choque" provoca una reflexión
total de la luz emitida por el diodo LED, y "vuelve" (aunque con pequeños
ángulos de reflexión y distinta polarización de la luz, etc, etc...) al
dispositivo, donde un fotodiodo detecta la luz devuelta desde la pantalla.
Una vez detectado el "choque", basta con informar al ordenador (mediante
una interrupción, p. ej.). Mediante un simple cálculo matemático en el que
tener en cuenta:
· la velocidad de barrido horizontal de la pantalla (el refresco,
vamos... ;-DD)
· la velocidad de interrupción vertical
· el tiempo transcurrido desde la última interrupción
se puede obtener (aproximadamente) la posición actual. Todo depende de
las velocidades, tanto del fotodiodo (incorporado en la pistola) como del
circuito de interrupción.
Esos sistemas funcionan, pues, mejor a bajas velocidades de refresco de
pantalla (por ejemplo, no hay tecnología fotónica capaz de hacer un sistema
para una SVGA a 1600x1200, porque si alguien calcula la velocidad de
refresco horizontal es "brutal" -entre comillas ;-D).
Entonces, ¿¿qué hace el VDP en todo esto?? Digamos que nada... bueno,
símplemente incorpora el circuito capaz de leer la interrupción que le manda
el dispositivo (cuando el fotodiodo detecte "choque" entre el diodo LED y el
haz de luz) y hacer el cálculo (ya que para el VDP es bastante fácil saber
cuándo se ha producido la última interrupción de 'barrido vertical'...
¡¡claro, las produce él!!! X-DD). Aunque sería "bastante" fácil hacer el
circuito necesario para realizar un adaptador de lápiz óptico a MSX...
Para el que guste de más información, os envío un pequeña explicación de
posibles formas de realizar.
También, como idea, podéis coger una Hnostar (creo que la 10 y 11,
porque era un artículo doble) donde explicaba cómo hacer un escáner
casero... cuando ví el artículo, me recordó más a un lápiz óptico que a un
escáner, pero bueno.... X-DDD. ¿¿Por qué puede servir?? Porque se basa en
"reflexiones" de luz, que es a lo que iríamos (pero con mucha mayor
precisión, claro... ;-DDD)
Un saludo.
José María.
---------------------------------------------------------------
*HispaMSX. La mailing-list de MSX en castellano*
Para cualquier duda: msxjam(_en_)crosswinds(_punto_)net
---------------------------------------------------------------
[This message contained attachments]