Après avoir jeté un oeil ici ça confirme que c'est bien l'instruction "INPUTWAIT" (ligne 120) qui en est la cause. Faire une boucle avec "INKEY$" pourquoi pas mais j'ai déjà pour commencer fait une boucle avec rien dedans et le MO5 l'execute 2 fois plus lentement que le TO7/70... Au moins avec "INPUTWAIT" le temps était clairement défini! Bref je ne sais pas si je dois persévérer dans cette voie car il faudrait faire deux programmes, un pour le TO7/70 et un pour le MO5 du coup (sans compter les basic 128 et 512 qui ont peut-être des vitesses d'exécution encore différentes)
Voici le listing du programme d'origine :
Code : Tout sélectionner
5 SCREEN 6,0,0
10 CLS
20 PRINT "TABLES DE MULTIPLICATION"
24 PRINT" "
25 PRINT" "
30 INPUT "NOMBRE DE QUESTIONS";N
35 PRINT" "
40 INPUT "DELAI DE REPONSE (SECONDES)";D
45 PRINT" "
50 INPUT "MUSIQUE (O/N)";M$
65 S=0
70 FOR Q=1 TO N
75 CLS
80 A=INT(RND*4)+6
90 B=INT(RND*6)+3
100 PRINT "MULTIPLIE PAR"
101 COLOR 3
102 LOCATE 9,0
103 PRINT A
104 LOCATE 15,0
105 PRINT B
106 COLOR 6
110 PRINT " "
120 INPUTWAIT 200;D,"REPONSE";R
130 PRINT" "
140 COLOR 2
141 IF R=A*B THEN PRINT "EXACT"
142 IF R=A*B AND M$="O" THEN GOSUB 280
145 IF R=A*B THEN S=S+1
146 COLOR 1
147 IF R<>A*B THEN PRINT "FAUX"
149 IF R<>A*B THEN GOSUB 300
151 IF R<>A*B AND M$="O" THEN GOSUB 260
152 IF M$="O" THEN GOTO 156
153 FOR E=1 TO 1000
154 NEXT E
156 COLOR 6
160 NEXT Q
169 LOCATE 0,8
170 PRINT "SCORE:"
171 COLOR 5
172 IF S<10 THEN LOCATE 7,8 ELSE LOCATE
6,8
173 PRINT S;"/";N
176 COLOR 6
179 PRINT" "
180 END
200 COLOR 1
205 PRINT " "
206 PRINT" "
210 PRINT "TROP LENT"
212 GOSUB 300
215 IF M$="O" THEN GOSUB 260
220 GOTO 152
260 PLAY "O4L24DOMISOO5DOPO4DOPREPO3L36M
IMIMI"
270 RETURN
280 PLAY "O4L24DOMISOO5DOPO4MIPFAPSOPLAP
SIPO5DOPREPMIPO4SO"
290 RETURN
300 COLOR 6
305 PRINT" "
310 PRINT "LA REPONSE ETAIT:"
315 COLOR 2
320 LOCATE 16,6
330 PRINT A*B
340 RETURN
Code : Tout sélectionner
113 FOR Z=1 TO D*420
127 NEXT Z
129 GOTO 200