Logo de l'association MO5.COM
Connexion / S'inscrire

     Association MO5.COM pour la préservation du patrimoine informatique et vidéo-ludique

 Lecture d'un article
 
Accueil
 
Association
 
Musées en ligne
 
Communauté
 
Le Light Pen (stylo optique)
Par CSKi - Crée le 05/11/2002 - Dernière modification le 09/02/2005

Le Light Pen

Les MO5 et les TO7 avaient leur sylo optique, largement utilisé dans les logiciels éducatifs des écoles françaises. Mais qu'en est-il de l'Amstrad ? Notre cher CPC possède lui aussi un périphérique du même genre, bien qu'il n'ait pas connu le même succès au moment de sa sortie.

Le stylo optique

Avant de parler de la version CPC, il convient de parler du stylo optique en général.

Pour commencer, les défauts, un peu trop nombreux : Ce genre de matériel n'est jamais très stable, le curseur du stylo s'agite en permanence à l'écran même si vous le tenez fermement. Un simple reflet sur l'écran rend le stylo fou, il devient impossible de l'utiliser correctement. Pour finir, le crayon ne peut pas pointer sur l'écran si l'image est trop sombre, vous êtes donc condamné à bronzer sous un écran blanc si vous voulez utiliser ce genre de périphérique.

Le principe de fonctionnement est assez simple : Le crayon optique est simplement constitué d'une diode sensible à la lumière. Quand on pointe le stylo sur l'écran, la diode devient conductrice au passage du balai à électron du moniteur. On voit d'ailleurs pourquoi le crayon a des problèmes avec les écrans sombres (pas assez de lumière pour détecter le balai à électron) et les écrans 100 Hz (L'écran génère deux images là où le crayon s'attend à voir une seul image : Il voit donc deux signaux au lieu d'un seul).

De nos jours le stylo optique a été remplacé par la souris, le trackball et autres périphériques de pointage plus précis, et pour les applications nécessitant moins de précision, on a préféré les écrans tactiles (cf les bornes automatiques de réservation de tickets dans les gares).

Par contre dans le domaine ludique le stylo optique existe encore, il est utilisé sous une forme légèrement différente sur la Playstation, la Saturn, la DreamCast et même sur les bornes d'arcade. En effet les guns utilisés dans les jeux de tir tels que "Virtua Cop" ou "Time Crysis" utilisent le principe de fonctionnement du stylo optique !

Le Light Pen pour le CPC

Le Light Pen a été conçu par une société du nom de "The Electric Studio", et existe en deux versions : La "professionnelle" (les guillemets sont d'origine !) et le Light Pen 2. Les deux versions du stylo optique étaient livrées avec la même documentation d'une vingtaine de pages photocopiées, ainsi qu'une disquette contenant un logiciel de dessin et un petit programme en langage-machine permettant d'utiliser le stylo optique sous BASIC.

Le logiciel de dessin est plutôt de mauvaise qualité. Même si il possède un nombre de fonctions suffisant, l'interface est un peu difficile à utiliser et il est impossible de dessiner sur un fond noir, à cause des limitations inhérentes à tous les stylos optiques.

Le programme permettant d'utiliser le stylo sous BASIC, même si il possède quelques défauts (les coordonnées en X sont systématiquement divisées par deux. Il vous faudra donc doubler toutes les coordonnées horizontales pour avoir des informations exploitables).

Le code BASIC suivant permet d'afficher les coordonnées du stylo optique :

10 MEMORY &9FFF                    
20 LOAD"READXY.BIN",&A000          
30 DEFINT x,y                      
40 X=0:Y=0:INK 0,26:ink 1,0:MODE 1 
50 CALL &A000,@x,@y                
60 LOCATE 1,1:PRINT x,y            
70 GOTO 50
                                           

Au niveau physique le Light Pen "Professionnel" se présente sous la forme d'un simple stylo relié à un connecteur encartable, à brancher sur le port d'extension. Il n'y a quasiment pas d'électronique dedans ! En effet le processeur vidéo du CPC possède en standard la possibilité de recevoir des informations en provenance d'un stylo optique, il a donc suffit de relier les bons fils, et hop ! Cependant il faut savoir que le Light Pen professionnel ne vous permettra que de faire des pointages au caractère (du point de vue du CRTC, c'est à dire que le stylo optique ne "voit" que des carrés de deux octets de large sur huit lignes de haut, soit un caractère en mode 1, ou encore deux caractères côte à côte en mode 2). Le processeur vidéo du CPC, le CRTC6845, était prévu à l'origine pour afficher des caractères et non pas des pixels (cf. article à venir sur le CRTC). Il faut donc un peu plus de hardware pour pouvoir pointer au pixel sur l'écran.

Le Light Pen 2 règle le petit problème de précision du Light Pen Professionnel, c'est pourquoi le connecteur-boitier qui permet de le relier au CPC est un peu plus gros.


Et au niveau software ?

Après avoir travaillé d'arrache-pied sur le programme XYREAD.BIN pendant au moins cinq bonnes minutes, le CocOOn System vous livre tous les secrets du stylo optique. Comme prévu, le Light Pen Professionnel utilise bien les fonctionnalités du CRTC6845, pour récupérer ses coordonnées à la main il n'y a que deux outs et ins à faire.

En assembleur cela donne :

LD BC, &BC11
OUT (C),C   
LD B,&BF     
IN H,(C)     
LD BC,&BC10 
OUT (C),C    
LD B,&BF     
IN L,(C)     

...et la position du stylo optique se retrouve dans HL. Attention cependant on n'aura pas ici de coordonnées écran, mais l'adresse du caractère sur lequel pointe le stylo. C'est à dire que dans le cas standard où vous avez votre écran visible en &C000 et que le stylo pointe sur le caractère en haut à droite, HL sera égal à &3000.

En BASIC vous aurez:

10 INK 0,26:INK 1,0:MODE 1         
20 OUT &BC00,&11:P=INP(&BF00)      
30 OUT &BC00,&10:P=P*256+INP(&BF00)
40 LOCATE 1,1:PRINT HEX$(P)        
50 GOTO 20                         

... Là aussi se pose le même problème qu'en assembleur, à savoir que les coordonnées ne sont pas directement exploitables. Ci-dessous vous trouverez le code miracle qui fait la conversion.

P=P AND &3FF:X=P MOD 40:Y=INT(P/40)

X et Y contiennent les coordonnées du caractère. Bien évidement cette routine de conversion ne fonctionnera que dans le cas d'un écran non reformaté, 40 caractères (mode 1) en largeur sur 25 de haut.

Pour ce qui est des fonctionnalités du Light Pen 2 qui marche au pixel, nous attendons un généreux contributeur qui acceptera de nous prêter (ou vendre) un Light Pen 2 pendant une petite semaine !

Remerciements

Auteur de l'article : CSKi
Remerciements spéciaux à M. Jean Daniel qui avait gardé un Light Pen Professionnel dans un état de conservation irréprochable.

 
En discuter dans les ForumsTous les articles