La Place des Développeurs [Réglé] ON KEY GOSUB = boguée ?
C'est fou ce qu'on peut découvrir lors d'une journée de mauvais temps.
Voici un petit programme qui me semble ne pas tourner rond :
Une fois ce programme lancé, si l'on presse la touche F1, un "bip" sonore se produira. On peut presser F1 a nouveau, le "bip" ne se reproduira pas. C'est normal, vous allez me dire.
Ok. Maintenant, pressez SPACE... Oh le "bip" se produit à nouveau !
Quelqu'un a-t-il une explication différente que le bug ? Edité par GDX Le 09/02/2014 à 10h49
Voici un petit programme qui me semble ne pas tourner rond :
Code TEXT :
10 ON KEY GOSUB 30: KEY(1)ON 20 GOTO 20 30 KEY(1)STOP:BEEP 40 IF NOTSTRIG(0) THEN 40 50 RETURN
Une fois ce programme lancé, si l'on presse la touche F1, un "bip" sonore se produira. On peut presser F1 a nouveau, le "bip" ne se reproduira pas. C'est normal, vous allez me dire.
Ok. Maintenant, pressez SPACE... Oh le "bip" se produit à nouveau !
Quelqu'un a-t-il une explication différente que le bug ? Edité par GDX Le 09/02/2014 à 10h49
ericb59
Membre non connecté
Conseiller Municipal
Si tu fais un TRON et que tu lance le programme tu t'aperçois que après le RETURN, le programme ne remonte pas EN 10. Donc le KEY on n'est pas réinitialisé.
Sinon, si tu enlèvre le KEY(1)STOP, ça marche comme il faut...
Sinon, si tu enlèvre le KEY(1)STOP, ça marche comme il faut...
En fait, ce n'est pas vraiment ça mais le mystère est quand même résolu !
KEY(1)STOP s'utilise après un KEY(1)ON. Il sert à maintenir le test de F1 mais bloque l'appel à la routine, si la touche est pressée, jusqu'au prochain KEY(1)ON.
RETURN remet le pointeur de l'interpréteur juste après le GOSUB 30 et execute bien le KEY(1)ON. Ce qui rappelle la routine une fois.
Donc tout est normal. Edité par GDX Le 08/02/2014 à 13h25
KEY(1)STOP s'utilise après un KEY(1)ON. Il sert à maintenir le test de F1 mais bloque l'appel à la routine, si la touche est pressée, jusqu'au prochain KEY(1)ON.
RETURN remet le pointeur de l'interpréteur juste après le GOSUB 30 et execute bien le KEY(1)ON. Ce qui rappelle la routine une fois.
Donc tout est normal. Edité par GDX Le 08/02/2014 à 13h25
TurboSEB
Membre non connecté
Conseiller Municipal
Mode Mstradien On:
Et la cacahuete elle tombe quand ?
Enfin je dis ca parceque MOI j'ai rien compris sur le but de ce programme, mais je dois certainement etre le seul, rassurez moi, hein
Parseque le singe qui appuis sur le bouton, lui il ne vat pas comprendre
Mode Mstradien Off
En résumé que vien faire la touche space dans cette affaire ?
Edit : ah si j'ai enfin compris , je me savais pas aussi rapide Edité par TurboSEB Le 08/02/2014 à 22h22
Et la cacahuete elle tombe quand ?
Enfin je dis ca parceque MOI j'ai rien compris sur le but de ce programme, mais je dois certainement etre le seul, rassurez moi, hein
Parseque le singe qui appuis sur le bouton, lui il ne vat pas comprendre
Mode Mstradien Off
En résumé que vien faire la touche space dans cette affaire ?
Edit : ah si j'ai enfin compris , je me savais pas aussi rapide Edité par TurboSEB Le 08/02/2014 à 22h22
MSX 1&2 + Moniteurs+divers (environ 0.70Tonnes)
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie