forum
Comment lire les caractères sur l'écran en BASIC (sans Assembleur)?
Citation de Fabrizio Caruso le 19 janvier 2020, 22 h 56 minSalut tout le monde!
Comment pet-on lire les caractères sur l'écran en Locomotive BASIC (sans aucun Assembleur) avec au plus avec des routine dans la ROM?
J'ai vu des petites routines Assembleur qui font cela mais je dois le faire en BASIC.
Moi, je n'ai trouvé aucune solution. Donc j'ai créé un buffer pour me souvenir des caractères mais je cherche toujours une solution meilleure.
Salut tout le monde!
Comment pet-on lire les caractères sur l'écran en Locomotive BASIC (sans aucun Assembleur) avec au plus avec des routine dans la ROM?
J'ai vu des petites routines Assembleur qui font cela mais je dois le faire en BASIC.
Moi, je n'ai trouvé aucune solution. Donc j'ai créé un buffer pour me souvenir des caractères mais je cherche toujours une solution meilleure.
Citation de RetroPoke le 20 janvier 2020, 8 h 34 minHello, je n'ai pas compris si tu veux mémoriser un caractère dans un buffet ou si tu désires savoir quel caractères est situé sur un endroit de l'écran.
Dans le cas ou tu veux mémoriser un caractère affiché à l'écran dans une matrice sans passer pas l'assembleur, il n'y à pas beaucoup de solution.
En voici une:10 MODE 2
20 LOCATE 1,3:PRINT "Tapez la lettre @ mémoriser: ";
30 a$=INKEY$:IF a$="" THEN 30
40 LOCATE 1,1:PRINT a$
50 adr=&C000
60 FOR a=0 TO 7
70 matrice(a)=PEEK(adr+a*&800)
80 NEXT
100 MODE 2
110 FOR a=0 TO 7
120 POKE (adr+a*&800),matrice(a)
130 NEXT
140 LOCATE 1,10Le programme te demande la lettre à mémoriser, puis une boucle permet de placer les valeurs dans une matrice (buffet)
Ensuite il affiche la matrice pour montrer que le caractère est bien mémoriséPour savoir quel est le caractère à un emplacement précis de l'écran, sur CPC 6128 il existe la commande COPYCHR$
5 CLS
10 LOCATE 1,1:PRINT CHR$(230)
20 LOCATE 1,1:a$=COPYCHR$(#0)
30 LOCATE 1,9:PRINT a$Sur 464 il faut passer par l'assembleur et appeler le vercteur &BB60. Je ne connais pas d'autres méthodes mais le code source serait petit à faire!
Hello, je n'ai pas compris si tu veux mémoriser un caractère dans un buffet ou si tu désires savoir quel caractères est situé sur un endroit de l'écran.
Dans le cas ou tu veux mémoriser un caractère affiché à l'écran dans une matrice sans passer pas l'assembleur, il n'y à pas beaucoup de solution.
En voici une:
20 LOCATE 1,3:PRINT "Tapez la lettre @ mémoriser: ";
30 a$=INKEY$:IF a$="" THEN 30
40 LOCATE 1,1:PRINT a$
50 adr=&C000
60 FOR a=0 TO 7
70 matrice(a)=PEEK(adr+a*&800)
80 NEXT
100 MODE 2
110 FOR a=0 TO 7
120 POKE (adr+a*&800),matrice(a)
130 NEXT
140 LOCATE 1,10
Le programme te demande la lettre à mémoriser, puis une boucle permet de placer les valeurs dans une matrice (buffet)
Ensuite il affiche la matrice pour montrer que le caractère est bien mémorisé
Pour savoir quel est le caractère à un emplacement précis de l'écran, sur CPC 6128 il existe la commande COPYCHR$
10 LOCATE 1,1:PRINT CHR$(230)
20 LOCATE 1,1:a$=COPYCHR$(#0)
30 LOCATE 1,9:PRINT a$
Sur 464 il faut passer par l'assembleur et appeler le vercteur &BB60. Je ne connais pas d'autres méthodes mais le code source serait petit à faire!
Citation de Gilles59 le 29 août 2022, 12 h 04 minJe remonte ce vieux topic. Pour mon prochain deuligne j’utilise la commande COPYCHR$ qui fonctionne bien mais qu’est-ce que c’est lent! Pour accélérer et quand c’est possible mieux veut finalement tester un pixel ou un octet. Ça peut parfois suffire et c’est bien plus rapide.
Je remonte ce vieux topic. Pour mon prochain deuligne j’utilise la commande COPYCHR$ qui fonctionne bien mais qu’est-ce que c’est lent! Pour accélérer et quand c’est possible mieux veut finalement tester un pixel ou un octet. Ça peut parfois suffire et c’est bien plus rapide.