
[ASM] Plusieurs questions sur l'assembleur
Re: Plusieurs questions sur l'assembleur
Super, merci beaucoup Eupharius 

-
Limonadd
Niveau 9: IC (Compteur Infatigable)- Posts: 82
- Joined: 14 Feb 2018, 17:10
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: oui
Re: Plusieurs questions sur l'assembleur
Correction, tu peux utiliser le unique ou le continu, c'est comme tu veux je crois que dans une boucle ça ne doit pas changer grand chose. Perso j'utilise le unique scan tout le temps.
Le projet Geometry Dash est terminé ! N'hésitez pas à aller jeter un coup d’œil au topic du projet ! Vous pouvez le télécharger ici.
Unis par la flèche sacrée de cupidon

Unis par la flèche sacrée de cupidon


-
EphariusPremium
Niveau 16: CC2 (Commandeur des Calculatrices)- Posts: 1172
- Images: 4
- Joined: 08 Dec 2014, 17:38
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: Ensimag
- GitHub: MathisLav
Re: Plusieurs questions sur l'assembleur
Le scan continu, il vaut (beaucoup) mieux désactiver les interrupts pendant.
Cf. https://github.com/CE-Programming/CEmu/issues/259
Cf. https://github.com/CE-Programming/CEmu/issues/259
MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)My calculator programs
Mes programmes pour calculatrices
-
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)- Posts: 14819
- Images: 1131
- Joined: 01 Jun 2007, 00:00
- Location: France
- Gender:
- Calculator(s):→ MyCalcs profile
- Twitter: adriweb
- GitHub: adriweb
Re: Plusieurs questions sur l'assembleur
D'accord, mais au fait pourquoi il faut désactiver les interruptions? (et il faut les désactiver pour n'importe quel mode si on veut scanner le clavier ?)
-
Limonadd
Niveau 9: IC (Compteur Infatigable)- Posts: 82
- Joined: 14 Feb 2018, 17:10
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: oui
Re: Plusieurs questions sur l'assembleur
Parce que sinon l'OS va aller modifier le réglage pour ses propres besoin, et ça peut donner des résultats pas fiables (on peut le voir en tapant plusieurs touches du haut plus ou moins rapidement).
Et sinon, pas besoin pour le reste, non, il me semble - à confirmer par les experts...
Et sinon, pas besoin pour le reste, non, il me semble - à confirmer par les experts...
MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)My calculator programs
Mes programmes pour calculatrices
-
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)- Posts: 14819
- Images: 1131
- Joined: 01 Jun 2007, 00:00
- Location: France
- Gender:
- Calculator(s):→ MyCalcs profile
- Twitter: adriweb
- GitHub: adriweb
Re: Plusieurs questions sur l'assembleur
Ok super merci beaucoup !
-
Limonadd
Niveau 9: IC (Compteur Infatigable)- Posts: 82
- Joined: 14 Feb 2018, 17:10
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: oui
Re: Plusieurs questions sur l'assembleur
Bonjour! Oui c'est encore moi désolé xD mais j'ai un problème avec l'input je vous explique. Tout d'abord je vous montre le jeu en basique que j'avais fais: (attention c'est moche)

Le principe est simple, on esquive les étoiles, et on doit tirer sur le rond qui apparait à un endroit aléatoirement en haut.
Je suis donc en train de le refaire en assembleur:
On appuie sur les flèches droite ou gauche pour se déplacer, et la flèche du haut pour tirer.
Mais en fait dans mon code, quand j'appuie sur la flèche de gauche par exemple, c'est tellement rapide que le curseur à le temps de se déplacer de plusieurs crans vers la gauche. Ce que j'aimerais, c'est que quand quand j'appuie sur le flèche de gauche, il ne se déplace que d'un seul cran, et que même si je la garde enfoncée, il ne bouge plus, et que donc il ne se déplacera que une fois qu'on rappuiera à nouveau sur la touche.

Voilà ce que ça donne. J'ai essayé plusieurs trucs mais j'arrive pas à faire en sorte qu'il ne se déplace qu'une fois, même si on appuie très brièvement , il a le temps de se déplacer de 2 ou 3 crans tellement c'est rapide... Je n'arrive pas à "bloquer" la touche. (enfin si mais après les touches ne marchait plus du tout ensuite xD) J'aimerais donc qu'il faille relacher la touche et rappuyer afin de pouvoir se déplacer à nouveau. Quelqu'un aurait -il une solution?

Le principe est simple, on esquive les étoiles, et on doit tirer sur le rond qui apparait à un endroit aléatoirement en haut.
Je suis donc en train de le refaire en assembleur:
- Code: Select all
Loop:
di
ld hl, $F50000
ld (hl),2
ld a,($F5001E)
bit 1,a
call nz,Moove_Left
bit 2,a
call nz,Moove_Right
bit 3,a
call nz,Shoot
ei
;reste du code...
jr Loop
On appuie sur les flèches droite ou gauche pour se déplacer, et la flèche du haut pour tirer.
Mais en fait dans mon code, quand j'appuie sur la flèche de gauche par exemple, c'est tellement rapide que le curseur à le temps de se déplacer de plusieurs crans vers la gauche. Ce que j'aimerais, c'est que quand quand j'appuie sur le flèche de gauche, il ne se déplace que d'un seul cran, et que même si je la garde enfoncée, il ne bouge plus, et que donc il ne se déplacera que une fois qu'on rappuiera à nouveau sur la touche.

Voilà ce que ça donne. J'ai essayé plusieurs trucs mais j'arrive pas à faire en sorte qu'il ne se déplace qu'une fois, même si on appuie très brièvement , il a le temps de se déplacer de 2 ou 3 crans tellement c'est rapide... Je n'arrive pas à "bloquer" la touche. (enfin si mais après les touches ne marchait plus du tout ensuite xD) J'aimerais donc qu'il faille relacher la touche et rappuyer afin de pouvoir se déplacer à nouveau. Quelqu'un aurait -il une solution?
-
Limonadd
Niveau 9: IC (Compteur Infatigable)- Posts: 82
- Joined: 14 Feb 2018, 17:10
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: oui
Re: Plusieurs questions sur l'assembleur
Pour ton jeu, ce sera suffisant d'utiliser la romcall _getky qui fonctionne à peu près comme _getkey mais qui ne bloque pas l'exécution de ton programme. L'avantage ici c'est que comme _getkey, _getky bloque la touche flèche appuyée pendant quelques instants, faisant en sorte que quand on appuie sur une flèche longuement, on bouge d'abord d'un cran, on attend un peu moins d'une seconde, et ensuite on bouge la flèche comme ce qu'elle fait avec ton programme.
Bon c'est dur d'être clair en expliquant ce qu'elle fait mais utilise là, tu comprendras de quoi je parle. À noter attention que les codes des touches ne sont pas les mêmes que ceux de _getkey, même si le fonctionnement reste très proche. Regarde dans ton include pour les codes mais son utilisation c'est en gros :
Bon c'est dur d'être clair en expliquant ce qu'elle fait mais utilise là, tu comprendras de quoi je parle. À noter attention que les codes des touches ne sont pas les mêmes que ceux de _getkey, même si le fonctionnement reste très proche. Regarde dans ton include pour les codes mais son utilisation c'est en gros :
- Code: Select all
call _getky
cp skLeft
call z,moveleft
cp skRight
call z,moveright
...
Le projet Geometry Dash est terminé ! N'hésitez pas à aller jeter un coup d’œil au topic du projet ! Vous pouvez le télécharger ici.
Unis par la flèche sacrée de cupidon

Unis par la flèche sacrée de cupidon


-
EphariusPremium
Niveau 16: CC2 (Commandeur des Calculatrices)- Posts: 1172
- Images: 4
- Joined: 08 Dec 2014, 17:38
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: Ensimag
- GitHub: MathisLav
Re: Plusieurs questions sur l'assembleur
Ok merci beaucoup pour ton aide ! Mais dans le tuto j'avais vu une autre romcall qui s'appelait _GetCSC ou un truc comme ça, qui est aussi censée ne pas bloquer le programme. Du coup y'a une différence entre _GetKy et _GetCSC? (je sais pas si tu connais cette romcall)
-
Limonadd
Niveau 9: IC (Compteur Infatigable)- Posts: 82
- Joined: 14 Feb 2018, 17:10
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: oui
Re: Plusieurs questions sur l'assembleur
heu oui pardon, j'ai du me tromper, utilise getcsc, je ne sais pas pourquoi j'ai getky dans la tête
Le projet Geometry Dash est terminé ! N'hésitez pas à aller jeter un coup d’œil au topic du projet ! Vous pouvez le télécharger ici.
Unis par la flèche sacrée de cupidon

Unis par la flèche sacrée de cupidon


-
EphariusPremium
Niveau 16: CC2 (Commandeur des Calculatrices)- Posts: 1172
- Images: 4
- Joined: 08 Dec 2014, 17:38
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: Ensimag
- GitHub: MathisLav
Return to Langages alternatifs
Who is online
Users browsing this forum: ClaudeBot [spider] and 3 guests