Forum Graph100

Forum Graph100

Vous n'êtes pas identifié.

Annonce

Bonjour et bienvenue sur le nouveau Forum Graph100 !
L'intégralité des données a été transférée sur un forum PunBB et tout les comptes sont fonctionnels avec le même nom d'utilisateur et mot de passe.
Un wiki est aussi disponible avec le même compte ! N'oubliez pas de remettre votre avatar, bon surf !
Pour plus d'informations, consultez ce post.

#1 11 Sep 2002 04:53:55

Guest
Invité

buffer touche

J'utilise le foncyion readkeyb(); dans cyclo deux et je cherche comment effacer le buffer des touche a un certain moment dans le jeu.
Ou bien, y a t il une autre technique pour la gestion du clavier ( y'en a t il pas une avec des #define)

Bon allé, encore 2 heures de cour et puis, de retour en face de mon pc... lol

 

#2 11 Sep 2002 05:35:07

casioworld
Programmeur Graph100
Lieu: Palaiseau (Essonne)
Date d'inscription: 08 Feb 2002
Messages: 1843
Site web

Re: buffer touche

voila ce que j'utilise pour les touches:
char getkb( void )
{
    unsigned char key;
    asm push es;asm push di;asm push ax;
    asm mov ax,0x40;
    asm mov es,ax;
    asm mov di,0xAF;
    asm mov al,es:[di];
    asm mov key,al;
    asm pop ax;asm pop di;asm pop es;
    return key;
}

et pour effacer le buffer clavier:
void emptybuf( void )
{
      while (bioskey(1)) getch();
}

ceci vient des librairies made by KTR  wink


- http://www.casioworld.wb.st  --> plus grande base de données pour Graph100+
- http://efreidelirium.free.fr --> vive l'EFREI mdr

Hors ligne

 

#3 11 Sep 2002 06:42:17

C@siomax
Programmeur Graph100
Lieu: Grenoble, au QG de fmw-product
Date d'inscription: 03 Feb 2002
Messages: 3042
Site web

Re: buffer touche

Petit correctif, la routine que tu présente à été faite par Duobab.

Sinon pour les touches j'utilisais les routines de X-Th, mais maintenant celles de Whyp, qui sont plus faciles à utiliser (on peut faire des définitions de touches dans une lib à part)


:mrd: :mrd:
.·´¯`·.¸.-> Casiomax <-·´¯`·.¸.·

Statut: indéfini

Hors ligne

 

#4 11 Sep 2002 08:04:49

KTr
Haut fonctionnaire graph100.com
Lieu: Saint Etienne
Date d'inscription: 19 Mar 2002
Messages: 1909
Site web

Re: buffer touche

Ya ke ca de moi et encore :

Code:

void emptybuf(void) 
{ 
while (bioskey(1)) getch(); 
} 

!


(¯`·.¸¸.·´¯`·.¸¸.-> www.ktr.fr.fm  ktr@fr.fm <-.¸¸.·´¯`·.¸¸.·´¯)

Hors ligne

 

#5 12 Sep 2002 13:01:28

2072
Programmeur Graph100
Lieu: Somewherebourg
Date d'inscription: 29 Jan 2002
Messages: 2056
Site web

Re: buffer touche

Pour effacer le buffer des touches rien de tel que :

Code:

    pokeb(0x41, 0xB, peekb(0x41, 0xD));

-~2072~-
Paid Emails
[URL=http://www.2072productions.com]2072productions.com[/URL]
[URL=http://www.casiocalc.org]casiocalc.org[/URL]

Hors ligne

 

#6 12 Sep 2002 14:18:47

C@siomax
Programmeur Graph100
Lieu: Grenoble, au QG de fmw-product
Date d'inscription: 03 Feb 2002
Messages: 3042
Site web

Re: buffer touche

ah, enfin une routine qui efface REELLEMENT le buffer!


:mrd: :mrd:
.·´¯`·.¸.-> Casiomax <-·´¯`·.¸.·

Statut: indéfini

Hors ligne

 

#7 17 Sep 2002 13:34:26

JoB
Membre
Lieu: Haut-Rhin - Alsace
Date d'inscription: 03 Jul 2002
Messages: 106

Re: buffer touche

j'ai une meilleur idée et c'est plus rapide que getch

origine:
void emptybuf(void)
{
while (bioskey(1)) getch();
}

modif

void emptybuf(void)
{
while (bioskey(1)) bioskey(0);
}

c un peu plus rapide

Hors ligne

 

#8 17 Sep 2002 13:43:20

C@siomax
Programmeur Graph100
Lieu: Grenoble, au QG de fmw-product
Date d'inscription: 03 Feb 2002
Messages: 3042
Site web

Re: buffer touche

en fait bioskey avec l'argument 1 ça capte une touche à la volée et ça n'en attend pas??? sinon 2072 ta routine bug en touches multiples (sachant que g pas désactivé l'int 9)


:mrd: :mrd:
.·´¯`·.¸.-> Casiomax <-·´¯`·.¸.·

Statut: indéfini

Hors ligne

 

#9 17 Sep 2002 15:14:10

2072
Programmeur Graph100
Lieu: Somewherebourg
Date d'inscription: 29 Jan 2002
Messages: 2056
Site web

Re: buffer touche

Bon voilà la fonction que j'utilise dans TOUCHE, (il faut que la var global CASIO soit égale à 1 si le programme tourne sur la calto) :

Code:

void clear_key_buf ( void )
{
    int i;
    pokeb(0x41, 0xA + CASIO, peekb(0x41, 0xC + CASIO));

    for (i=(0xE + CASIO); i<=(0x2C + CASIO); i+=2) {
    poke(0x41, i, 0x0000);
    }
}

-~2072~-
Paid Emails
[URL=http://www.2072productions.com]2072productions.com[/URL]
[URL=http://www.casiocalc.org]casiocalc.org[/URL]

Hors ligne

 

#10 28 Sep 2002 04:51:30

Azor
Le Coté Obscur De La G100
Lieu: glop glop!
Date d'inscription: 04 May 2002
Messages: 5479
Site web

Re: buffer touche

Je vais essayez, car la meinne bug !
...

a marche po ...

tant pis !


Anciennement X-thunder28
Cats shall rule teh world!

Hors ligne

 

#11 28 Sep 2002 04:56:37

Azor
Le Coté Obscur De La G100
Lieu: glop glop!
Date d'inscription: 04 May 2002
Messages: 5479
Site web

Re: buffer touche

a zut, j' avais po tt mis

:fou:  :fou:  :fou:

bon
...
ca marche !!


Anciennement X-thunder28
Cats shall rule teh world!

Hors ligne

 

#12 28 Sep 2002 05:19:51

Whyp
Programmeur Graph100
Date d'inscription: 05 Feb 2002
Messages: 319
Site web

Re: buffer touche

La g rien sous la main, alors je peut pas verifier, mais y avais pas une ft de l'int 16h qui effaçais le buffer ?


http://shine.sourceforge.net tout programmer votre graph100 smile

Hors ligne

 

#13 29 Sep 2002 04:14:44

C@siomax
Programmeur Graph100
Lieu: Grenoble, au QG de fmw-product
Date d'inscription: 03 Feb 2002
Messages: 3042
Site web

Re: buffer touche

ben pr le 16h.... je vois que les bioskeys!


:mrd: :mrd:
.·´¯`·.¸.-> Casiomax <-·´¯`·.¸.·

Statut: indéfini

Hors ligne

 

#14 27 Oct 2002 09:28:00

casioworld
Programmeur Graph100
Lieu: Palaiseau (Essonne)
Date d'inscription: 08 Feb 2002
Messages: 1843
Site web

Re: buffer touche

la fonction de 2072 marche pour les touches multiples ? c'est toujours pour mon tuto.


- http://www.casioworld.wb.st  --> plus grande base de données pour Graph100+
- http://efreidelirium.free.fr --> vive l'EFREI mdr

Hors ligne

 

#15 27 Oct 2002 12:00:28

Azor
Le Coté Obscur De La G100
Lieu: glop glop!
Date d'inscription: 04 May 2002
Messages: 5479
Site web

Re: buffer touche

nop, euh qu' est ce ke je dit, vi ya des touches multiples ds touche !!

bin demande lui, ms si tu prend les miennes, elles sont tres simples( car non optimiser !) et elles s'expliquent par elle meme pour autant que tu sache quelque truc en C !


Anciennement X-thunder28
Cats shall rule teh world!

Hors ligne

 

#16 27 Oct 2002 13:46:05

2072
Programmeur Graph100
Lieu: Somewherebourg
Date d'inscription: 29 Jan 2002
Messages: 2056
Site web

Re: buffer touche

il n'y a pas de buffer pour les touches multriple mais si tru ne désactive pas l'interruption du clavier la calto les enregistre et qd tu cesseras d'utiliser les touches multiples alors le buffer se videra avec le premier programme qui va le lire, donc avant de quitter ton prog vide le buffer avec la fonction que j'ai donné.


-~2072~-
Paid Emails
[URL=http://www.2072productions.com]2072productions.com[/URL]
[URL=http://www.casiocalc.org]casiocalc.org[/URL]

Hors ligne

 

#17 28 Oct 2002 03:19:55

Azor
Le Coté Obscur De La G100
Lieu: glop glop!
Date d'inscription: 04 May 2002
Messages: 5479
Site web

Re: buffer touche

ou désactive le buffer !

a propos, comment on fait pr le désactiver ???


Anciennement X-thunder28
Cats shall rule teh world!

Hors ligne

 

#18 28 Oct 2002 07:00:07

2072
Programmeur Graph100
Lieu: Somewherebourg
Date d'inscription: 29 Jan 2002
Messages: 2056
Site web

Re: buffer touche

demande à Superna je sais au'il l'a déjà fait.


-~2072~-
Paid Emails
[URL=http://www.2072productions.com]2072productions.com[/URL]
[URL=http://www.casiocalc.org]casiocalc.org[/URL]

Hors ligne

 

#19 06 Nov 2002 16:01:12

casioworld
Programmeur Graph100
Lieu: Palaiseau (Essonne)
Date d'inscription: 08 Feb 2002
Messages: 1843
Site web

Re: buffer touche

X-thunder il me semble que c'est çà:

/////////Desactivates Int9//////////
int OldInt9Seg,OldInt9Off;    //Addresses

void desactint9(void){asm {
  xor ax,ax     //Save Adresses in vars
  mov es,ax
  mov ax,es:0x26
  mov OldInt9Seg,ax
  mov ax,es:0x24
  mov OldInt9Off,ax
  mov ax,es:0x03FE   //Replace with Null Interupt
  mov es:0x26,ax
  mov ax,es:0x03FC
  mov es:0x24,ax }}

void actint9(void){asm{
  xor ax,ax
  mov es,ax
  mov ax,OldInt9Seg
  mov es:0x26,ax
  mov ax,OldInt9Off
  mov es:0x24,ax } }

c'etait avec tes routines multitoutche! mais jamais utilisé!


- http://www.casioworld.wb.st  --> plus grande base de données pour Graph100+
- http://efreidelirium.free.fr --> vive l'EFREI mdr

Hors ligne

 

#20 07 Nov 2002 04:27:57

Azor
Le Coté Obscur De La G100
Lieu: glop glop!
Date d'inscription: 04 May 2002
Messages: 5479
Site web

Re: buffer touche

rectif, c po mes routines originales, c celle modifiées par casiomax !


Anciennement X-thunder28
Cats shall rule teh world!

Hors ligne

 

#21 07 Nov 2002 04:58:27

casioworld
Programmeur Graph100
Lieu: Palaiseau (Essonne)
Date d'inscription: 08 Feb 2002
Messages: 1843
Site web

Re: buffer touche

la question n'est là !
ce sont bien des ofncition pour désactiver l'int 9 ?


- http://www.casioworld.wb.st  --> plus grande base de données pour Graph100+
- http://efreidelirium.free.fr --> vive l'EFREI mdr

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr