1

c'est une version recente de mon header rowkeys.hje prepare un ngetchx avec ces alias.

/* ALIAS DE TOUCHES POUR LA FONCTION ROWREAD */

#define INTSTOP_1\
	INT_HANDLER save_int_1;\
	INT_HANDLER save_int_5;\
	INT_HANDLER autoint_bkp;
#define INTSTOP_2\
	autoint_bkp=GetIntVec(AUTO_INT_6);\
	SetIntVec(AUTO_INT_6,DUMMY_HANDLER);\
	save_int_1=GetIntVec(AUTO_INT_1);\
	SetIntVec(AUTO_INT_1,DUMMY_HANDLER);\
	save_int_5=GetIntVec(AUTO_INT_5);\
	SetIntVec(AUTO_INT_5,DUMMY_HANDLER);	

#define INTRESTART\
	SetIntVec(AUTO_INT_5, save_int_5);\
	SetIntVec(AUTO_INT_1, save_int_1);\
	SetIntVec(AUTO_INT_6,autoint_bkp);	

#define _ANYKEY _rowread(255)

#define ROWCOL(a,b)       ((_rowread(~((short)1<<a)))&(1<<b))
#define BOTH(a)           (CALCULATOR?_92P##a:_89##a)
#define WAITKEYPRESSED(a) while(!a);while(a)
#define WAITKEYUP(a)      while(a)
#define WAITKEYDOWN(a)    while(!a)

#define ONLY89 (!CALCULATOR) 
#define ONLY92P (CALCULATOR) 
#define EXCLUSIVE(a,b) (a?(b): (0) )
//exemple : EXCLUSIVE(ONLY89,_89_KEY_RIGHT), retounes 0 si c'est pas bon

//touches 92plus
#define _92P_KEY_ANY ((_rowread((short)0xFFF9)&0xFE)||(_rowread((short)0xFD07)&0xFF)||(_rowread((short)0xFEFF)&0x7F))

#define _92P_KEY_ENTER    (ROWCOL(9,1)||ROWCOL(6,6))

#define _92P_KEY_DOWN     ROWCOL(0,7)
#define _92P_KEY_RIGHT    ROWCOL(0,6)
#define _92P_KEY_UP       ROWCOL(0,5)
#define _92P_KEY_LEFT     ROWCOL(0,4)
#define _92P_KEY_HAND     ROWCOL(0,3)
#define _92P_KEY_SHIFT    ROWCOL(0,2)
#define _92P_KEY_DIAMOND  ROWCOL(0,1)
#define _92P_KEY_2ND      ROWCOL(0,0)

#define _92P_KEY_PAD3     ROWCOL(1,7)
#define _92P_KEY_PAD2     ROWCOL(1,6)
#define _92P_KEY_PAD1     ROWCOL(1,5)
#define _92P_KEY_F8       ROWCOL(1,4)
#define _92P_KEY_ALPHAW   ROWCOL(1,3)
#define _92P_KEY_ALPHAS   ROWCOL(1,2)
#define _92P_KEY_ALPHAZ   ROWCOL(1,1)

#define _92P_KEY_PAD6     ROWCOL(2,7)
#define _92P_KEY_PAD5     ROWCOL(2,6)
#define _92P_KEY_PAD4     ROWCOL(2,5)
#define _92P_KEY_F3       ROWCOL(2,4)
#define _92P_KEY_ALPHAE   ROWCOL(2,3)
#define _92P_KEY_ALPHAD   ROWCOL(2,2)
#define _92P_KEY_ALPHAX   ROWCOL(2,1)

#define _92P_KEY_PAD9     ROWCOL(3,7)
#define _92P_KEY_PAD8     ROWCOL(3,6)
#define _92P_KEY_PAD7     ROWCOL(3,5)
#define _92P_KEY_F7       ROWCOL(3,4)
#define _92P_KEY_ALPHAR   ROWCOL(3,3)
#define _92P_KEY_ALPHAF   ROWCOL(3,2)
#define _92P_KEY_ALPHAC   ROWCOL(3,1)
#define _92P_KEY_STO      ROWCOL(3,0)

#define _92P_KEY_VIR      ROWCOL(4,7)
#define _92P_KEY_OPAR     ROWCOL(4,6)
#define _92P_KEY_CPAR     ROWCOL(4,5)
#define _92P_KEY_F2       ROWCOL(4,4)
#define _92P_KEY_ALPHAT   ROWCOL(4,3)
#define _92P_KEY_ALPHAG   ROWCOL(4,2)
#define _92P_KEY_ALPHAV   ROWCOL(4,1)
#define _92P_KEY_SPACE    ROWCOL(4,0)

#define _92P_KEY_TAN      ROWCOL(5,7)
#define _92P_KEY_COS      ROWCOL(5,6)
#define _92P_KEY_SIN      ROWCOL(5,5)
#define _92P_KEY_F6       ROWCOL(5,4)
#define _92P_KEY_ALPHAY   ROWCOL(5,3)
#define _92P_KEY_ALPHAH   ROWCOL(5,2)
#define _92P_KEY_ALPHAB   ROWCOL(5,1)
#define _92P_KEY_DIVIDE   ROWCOL(5,0)

#define _92P_KEY_ALPHAP   ROWCOL(6,7)
#define _92P_KEY_ENTER2   ROWCOL(6,6)
#define _92P_KEY_LN       ROWCOL(6,5)
#define _92P_KEY_F1       ROWCOL(6,4)
#define _92P_KEY_ALPHAU   ROWCOL(6,3)
#define _92P_KEY_ALPHAJ   ROWCOL(6,2)
#define _92P_KEY_ALPHAN   ROWCOL(6,1)
#define _92P_KEY_SQR      ROWCOL(6,0)

#define _92P_KEY_MUL      ROWCOL(7,7)
#define _92P_KEY_APPS     ROWCOL(7,6)
#define _92P_KEY_CLEAR    ROWCOL(7,5)
#define _92P_KEY_F5       ROWCOL(7,4)
#define _92P_KEY_ALPHAI   ROWCOL(7,3)
#define _92P_KEY_ALPHAK   ROWCOL(7,2)
#define _92P_KEY_ALPHAM   ROWCOL(7,1)
#define _92P_KEY_EQUAL    ROWCOL(7,0)

#define _92P_KEY_ESC      ROWCOL(8,6)
#define _92P_KEY_MODE     ROWCOL(8,5)
#define _92P_KEY_ADD      ROWCOL(8,4)
#define _92P_KEY_ALPHAO   ROWCOL(8,3)
#define _92P_KEY_ALPHAL   ROWCOL(8,2)
#define _92P_KEY_THETA    ROWCOL(8,1)
#define _92P_KEY_BACK     ROWCOL(8,0)

#define _92P_KEY_NEGAT    ROWCOL(9,7)
#define _92P_KEY_DOT      ROWCOL(9,6)
#define _92P_KEY_PAD0     ROWCOL(9,5)
#define _92P_KEY_F4       ROWCOL(9,4)
#define _92P_KEY_ALPHAQ   ROWCOL(9,3)
#define _92P_KEY_ALPHAA   ROWCOL(9,2)
#define _92P_KEY_ENTER1    ROWCOL(9,1)
#define _92P_KEY_SUB      ROWCOL(9,0)

[edit]Edité par janjan2 le 03-04-2002 à 14:53:23[/edit]
avatar
fabetal_ > Hier, je me suis fait monter par un pote
redangel > et en chevals, ça donne quoi?
Nil> OMG I think I'm gay

2


//touches 89
#define _89_KEY_ANY ((_rowread((short)0xFFC1)&0xFF)||(_rowread((short)0xBF)&0x1))

#define _89_KEY_ALPHA     ROWCOL(0,7)
#define _89_KEY_DIAMOND   ROWCOL(0,6)
#define _89_KEY_SHIFT     ROWCOL(0,5)
#define _89_KEY_2ND       ROWCOL(0,4)
#define _89_KEY_RIGHT     ROWCOL(0,3)
#define _89_KEY_DOWN      ROWCOL(0,2)
#define _89_KEY_LEFT      ROWCOL(0,1)
#define _89_KEY_UP        ROWCOL(0,0)

#define _89_KEY_F5        ROWCOL(1,7)
#define _89_KEY_CLEAR     ROWCOL(1,6)
#define _89_KEY_SQR       ROWCOL(1,5)
#define _89_KEY_DIVIDE    ROWCOL(1,4)
#define _89_KEY_MUL       ROWCOL(1,3)
#define _89_KEY_SUB       ROWCOL(1,2)
#define _89_KEY_ADD       ROWCOL(1,1)
#define _89_KEY_ENTER     ROWCOL(1,0)

#define _89_KEY_F4        ROWCOL(2,7)
#define _89_KEY_BACK      ROWCOL(2,6)
#define _89_KEY_T         ROWCOL(2,5)
#define _89_KEY_VIR       ROWCOL(2,4)
#define _89_KEY_PAD9      ROWCOL(2,3)
#define _89_KEY_PAD6      ROWCOL(2,2)
#define _89_KEY_PAD3      ROWCOL(2,1)
#define _89_KEY_NEGAT     ROWCOL(2,0)

#define _89_KEY_F3        ROWCOL(3,7)
#define _89_KEY_CATALOG   ROWCOL(3,6)
#define _89_KEY_Z         ROWCOL(3,5)
#define _89_KEY_CPAR      ROWCOL(3,4)
#define _89_KEY_PAD8      ROWCOL(3,3)
#define _89_KEY_PAD5      ROWCOL(3,2)
#define _89_KEY_PAD2      ROWCOL(3,1)
#define _89_KEY_DOT       ROWCOL(3,0)

#define _89_KEY_F2        ROWCOL(4,7)
#define _89_KEY_MODE      ROWCOL(4,6)
#define _89_KEY_Y         ROWCOL(4,5)
#define _89_KEY_OPAR      ROWCOL(4,4)
#define _89_KEY_PAD7      ROWCOL(4,3)
#define _89_KEY_PAD4      ROWCOL(4,2)
#define _89_KEY_PAD1      ROWCOL(4,1)
#define _89_KEY_PAD0      ROWCOL(4,0)

#define _89_KEY_F1        ROWCOL(5,7)
#define _89_KEY_HOME      ROWCOL(5,6)
#define _89_KEY_X         ROWCOL(5,5)
#define _89_KEY_EQUAL     ROWCOL(5,4)
#define _89_KEY_VERT      ROWCOL(5,3)
#define _89_KEY_EE        ROWCOL(5,2)
#define _89_KEY_STO       ROWCOL(5,1)
#define _89_KEY_APPS      ROWCOL(5,0)

#define _89_KEY_ESC     ROWCOL(6,0)
avatar
fabetal_ > Hier, je me suis fait monter par un pote
redangel > et en chevals, ça donne quoi?
Nil> OMG I think I'm gay

3

on peut utiliser:
BOTH(_KEY_LEFT)
avatar
fabetal_ > Hier, je me suis fait monter par un pote
redangel > et en chevals, ça donne quoi?
Nil> OMG I think I'm gay

4

au fait, dans la version 0.94 Bêta9 de TIGCC, il me semble qu'il y a des nouvelles fonctionnalités pour _rowread...
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

pas telechargé,
ça s'y apparente?
[edit]Edité par janjan2 le 03-04-2002 à 19:44:17[/edit]
avatar
fabetal_ > Hier, je me suis fait monter par un pote
redangel > et en chevals, ça donne quoi?
Nil> OMG I think I'm gay

6

pas téléchargé non plus sad
je sais pas trop ce que ça fait au jsute, en fait...
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

7

Oui, il y a des constantes pour toutes les touches. Ça ressemble beaucoup à ce que tu viens de poster.
Et il y a aussi des nouvelles routines du genre _keytest et _keytest_optimized.
Cf. http://tigcc.ticalc.org/doc/kbd.html.
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é

8

Ca vaut pas un gl_read_joypad. smile
Ca prendra beaucoup de place dans l'executable.

9

KK> je ne sais pas si tu te rapelles mais je t'avais proposé mon header pour tigcc...
avatar
fabetal_ > Hier, je me suis fait monter par un pote
redangel > et en chevals, ça donne quoi?
Nil> OMG I think I'm gay

10

rotfl lol t'as pas pu t'en empecher !?trisopicol
avatar
納 豆パワー!
I becamed a natto!!!1!one!

11

ben c'est pratique qd meme!
avatar
fabetal_ > Hier, je me suis fait monter par un pote
redangel > et en chevals, ça donne quoi?
Nil> OMG I think I'm gay

12

C'est vrai. Mais c'est pas optimise.

13

>PpHd:
>Ca vaut pas un gl_read_joypad. smile
>Ca prendra beaucoup de place dans l'executable.

Certainement pas plus de 2,5 KO!
Et c'est très loin de prendre 16 KO!
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é

14

Ok, ok embarrassed

15

kevin> dans les 16ko il y a aussi ttes les autres routines, alors pour comparer il faut aussi inclure ttes les routines graphiques utilisées par le projet ou alors prendre en compte seulement la place prise par les routines gl-read_joypadoui
avatar
納 豆パワー!
I becamed a natto!!!1!one!

16

STOP !
On s'ecarte trop du sujet.

17

dble post: voir ci dessous
[edit]Edité par janjan2 le 04-04-2002 à 17:08:56[/edit]
avatar
fabetal_ > Hier, je me suis fait monter par un pote
redangel > et en chevals, ça donne quoi?
Nil> OMG I think I'm gay

18

PpHd s'impose en tant que sagegrin

je sais que c'est pas optimisé,
mais je passe toujours par un phase de conception en C formel et propre
avant d'optimiser en C bas niveau/asm

mais sur ti il faut optimiser un minimum meme en conception.
sinon ça donne AMS...roll
avatar
fabetal_ > Hier, je me suis fait monter par un pote
redangel > et en chevals, ça donne quoi?
Nil> OMG I think I'm gay

19

lol bien dit
avatar
納 豆パワー!
I becamed a natto!!!1!one!

20

bof, je comprend pas ce que rowread a de si chiant ... confusconfus
Non-Webmaster et non-programmeur du site. .Pour tout probleme ou question ,débrouillez vous avec les Webmasters .

«- Pas Moo ! ^^

21

moi non plus, je me suis fait un header avec des macros et ça rule

depuis j'en n'ai plus besoin avec g*****
avatar
納 豆パワー!
I becamed a natto!!!1!one!

22

voué, un petit *.h pour juste avoir a taper " if(touch_droite)" au lieu des rowread habituels et puis vala .... oui
Non-Webmaster et non-programmeur du site. .Pour tout probleme ou question ,débrouillez vous avec les Webmasters .

«- Pas Moo ! ^^

23

ben oui!
c'est juste que j'en avais fait un complet
et que donc si ça pouvait servir a d'autres que ceux qui l'ont deja...
avatar
fabetal_ > Hier, je me suis fait monter par un pote
redangel > et en chevals, ça donne quoi?
Nil> OMG I think I'm gay