1

Voilà j'en ai 2 :

1) Je veux faire un jeu (une merde pour tester qqchose) où des HighScores seront enregistrés. Comment procéder, sans passer par un fichier externe ? Est-il possible de stocker par exemple le score et le nom du meilleur joueur à l'interieur du fichier ASM du jeu ? Si oui comment faut-il faire pour que les valeurs soient conservées même quand on quitte le jeu ?

2) Existe-t-il une fonction pour obtenir la valeur du contraste de la Ti ? J'ai cherché dans la doc de TIGCC, sans résultat sad
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

2

1:> si ton fichier du jeu n'est pas archivé, tu peux utiliser des variables static : leur valeur sera conservée d'une exécution à l'autre
(mais le prog ne doit pas être archivé)

2:> ça ne me dit rien...
avatar
Tutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall

3

Le type static ? ok merci smile

Pour la 2) ça doit quand même être possible, non ?
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

4

regarde dans les sources de flib... pour la 2
avatar
Tutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall

5

Pour Le deux, y a écrit ça dans flib :

unsigned char *contraste(void) ;

asm("contraste:
move.w %d0,-(%a7)
move.w #4,%d0
trap #9
move.w (%a7)+,%d0
rts") ;


squale > t'es sur que c'est static ? Il suffit de déclarer la variable en global nom ?
Mon site perso : http://www.xwing.info

6

Mmm... Pas d'autre moyen que l'ASM inline ? Surtout si il vient de Flib sad (par parceque c'est Flib, mais parceque ça ressemble beaucoup à du pompage de source...)

Autre petite question : comment teste-t-on avec rowread qu'aucune touche n'est appuyée ? J'ai essayé ce qui me semblait le plus logique, _rowread(0x7F)&0x0, mais ça ne marche pas...
(c'est pour empecher la répetition des touches)
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

7

mettre le mot clé static à une variable revient à la déclarer en global...
sauf que ça permet de déclarer des variables du même nom dans plusisuers fonctions (ce qui ne serait pas bon avec une variable globale)

Bob> je crois que le truc de contraste venait d'une routine de TN à l'origine (si FL ne l'a pas refait)

pour le truc de _rowread, je sais plus sad
mais je sais que c faisable (enfin, je crois bien)
avatar
Tutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall

8

Je crois que le truc de contraste venait d'une routine de TN à l'origine
> Ah bon et il a autorisé qu'on la reprenne ?

Pour les rowread je suis ds la merde en attendant... C'était pour empecher la répetition : on appuie sur n'importe quelle touche -> ça produit son effet puis ça "lock" touts les autres tests de touches jusqu'a ce qu'on lache le clavier. Sans ça, on ne peux rien choisir dans le menu parceque ça défile de 10 rangs au moindre appui sad
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

9

Bob 64 a écrit :
Je crois que le truc de contraste venait d'une routine de TN à l'origine > Ah bon et il a autorisé qu'on la reprenne ?

Oui, il a l'habitude de toujours permettre de reprendre des petites routines en assembleur inline comme celles-ci.
Et la routine en question se trouve dans les sources de TI-Chess.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

10

Bob> pr le _rowread, au pire, tu teste tant que non touche relevée...
mais ça teste que pr une touche...

tantque(NON (touche(X)) boucler;
avatar
Tutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall

11

Kevin > Ok, merci smile

Squale > Heu... Oué mais faut faire ça pour chaque touche sick
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

12

tu le fais que pour les touches de ton menu !
avatar
Tutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall

13

je sais bien, mais :

if(!_rowread(machin) && !_rowread(truc) && !_rowread(bidule) && !_rowread(chose) && ...)

ça fait un peu lourd non ? (et après c moi le bourrin grin)
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

14

c fesaible ainsi grin
mais je crois qu'il est possible de tout tester à la fois...

je l'ai jamais fait, mais je crois l'avoir vu sur le forum de la TICT
avatar
Tutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall

15

Il a intéret a autoriser, sinon, je ne vois pas a quoi ca sert qu'il fasse de l'open source

16

erf grin
avatar
Tutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall

17

Freka > Ah oué en effet... J'y avait même pas pensé grin

Squale > Bah de tte façon ça marche pas la ligne du post #12 sad
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

18

normal que ça marche pas...
c un while et non un if qu'il faudrait !
avatar
Tutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall

19

Non : c juste un test qui fixe une variable à 1 quand toutes les touches sont relachées. Je n'ai pas envie que ça mette le prog en pause en attendant qu'on relache tout...
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

20

Perso je prefere ca :

unsigned char *contraste(void) ;
asm("contraste:
moveq #4,%d0
trap #9
rts") ;

21

Bob> arf, OK... j'avais pas saisi ça comme ça, dsl sad

PpHd> ça au moins, c pas trop long smile
avatar
Tutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall

22

PpHd > Merci smile

Bon je comprends pas comment ça réagit un _rowread...
if(_rowread(0x5D)&0x40 && int_key==1) {int_new+=4; int_key=2;} else if(!_rowread(0x5D)&0x40 && int_key==2) int_key=3; if(_rowread(0x7D)&0x40 && int_key==3) {int_new+=4; int_key=4;} else if(!_rowread(0x7D)&0x40 && int_key==4) int_key=1;

if(_rowread(0x5D)&0x40 && int_key==1) {int_new+=4; int_key=2;}
else if(!_rowread(0x5D)&0x40 && int_key==2) int_key=3;
if(_rowread(0x7D)&0x40 && int_key==3) {int_new+=4; int_key=4;}
else if(!_rowread(0x7D)&0x40 && int_key==4) int_key=1;


Ça ne marche pas. Ces quatres lignes sont dans une boucle, la variable int_key vaut initialement 1. Alors déjà on peut appuyer sur la touche CLEAR (ligne 3) et le test passe correctement, alors que int_key ne vaut pas 3. Et puis quand on appuie sur HOME (ligne 1), ça marche aussi, la variable int_key est fixée à 2 mais la ligne d'en dessous ne fait jamais passer la variable à 3 (normalement ça devait attendre qu'on lache HOME).

Je ne comprends rien... Le but final était d'avoir un truc ou il faut appuyer alternativement sur CLEAR et HOME, mais là après 50 essais je comprends rien aux rowread sadsadsad
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

23

faut que tu lise de la doc sur le clavier (au niveau hardware) ça devrait t'aider je penses...
avatar
Tutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall

24

heu... ça se trouve ou ça ?
parceque j'ai déjà lu tout ce que j'ai trouvé sur _rowread dans la doc de TIGCC et ça ne m'a pas aidé sad
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

25

vaut mieux que tu lises une doc pr l'ASM... elles sont généralement plus complètes à ce niveau.
il me semble que j'en avait trouve une pas mal... mais je sais plus trop où.

peut-être dans le fichier que Kevin cite tout le temps comme tuto ASM... (ou regroupement de docs)
avatar
Tutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall

26

Pou les touches, j'ai du faire un truc dans le style dans mon snake, c'est
if(rowread(0x3FE)^0x40)

si tu veux, je te files le source...

27

t'est sûr du ^ ?
oui ça m'interesse les sources, si tu as réussi à résoudre ce problème smile
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

28

bah regarde le chapitre sur les operateurs binaires dans l'aide de tigcc...
& : et
^ : ou exclusif
| : ou inclusif

29

oué je sais mais j'arrive pas à faire le lien entre ça et les rowread... tu peux poster le bout de la source où tu as testé des "non-appuis" des touches stp ?
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

30

c vraique ce que fait rowread n'est pas evident au debut
regarde dans ta boites t'as les dernieres sources...