1

J'aimerais saisir une touche du clavier (en C) sans attente : genre kbhit mais c'est trop lent !!!!
j'ai vu des truc comme _rowread() ou keytest() mais leur utilisation est pour le moins etrange... comment fait on pour lire une et une seule touche avec ces fonctions de la mort ?
ScreamX le ridestyler fou !!! aime la peuf
http://www.pgteam.fr.st

2

ben tu relis la documentation qui t'explique tout bien, tu expérimentes et tu nous demandes en suite ce que tu ne comprends pas, ça te sera certainement plus utile que de te donner la réponse toute cuite, qui ne t'apprendra pas autant de choses wink
avatar
Le scénario de notre univers a été rédigée par un bataillon de singes savants. Tout s'explique enfin.
T'as un problème ? Tu veux un bonbon ?
[CrystalMPQ] C# MPQ Library/Tools - [CrystalBoy] C# GB Emulator - [Monoxide] C# OSX library - M68k Opcodes

3

j'ai experimenté toute cette apres midi...
je fais un truc du genre :


if (_rowread(0xfffe)&0x2)
//mes instructions que je ne vous diré pas... tongue

est au lieu de me prendre qu'une seule touche il me prend toute la ligne de la table des touches ... alors ?

j'ai tester un truc comme ca aussi
if (_testkey_optimized(RR_ENTER))
break;//on est dans une boucle wink

mais ca fais pire il me prend comme le dit la doc d'ailleur les touches au dessus ou en dessous dans la table des touches ... voila !
ScreamX le ridestyler fou !!! aime la peuf
http://www.pgteam.fr.st

4

tu as bien désactivé les interruptions au moins ?
avatar
Le scénario de notre univers a été rédigée par un bataillon de singes savants. Tout s'explique enfin.
T'as un problème ? Tu veux un bonbon ?
[CrystalMPQ] C# MPQ Library/Tools - [CrystalBoy] C# GB Emulator - [Monoxide] C# OSX library - M68k Opcodes

5

miah ?
ScreamX le ridestyler fou !!! aime la peuf
http://www.pgteam.fr.st

6

tu n'as pas bien lu la doc alors tongue
Extrait de la documentation de _rowread:
Note: It is recommended to redirect Auto-Int 1 and 5 while reading the keyboard using _rowread, because keyboard reading routines implemented in these two interrupts may interfere with _rowread if an interrupt occurs just while _rowread is executing. See DUMMY_HANDLER from intr.h for information on how to do this.
avatar
Le scénario de notre univers a été rédigée par un bataillon de singes savants. Tout s'explique enfin.
T'as un problème ? Tu veux un bonbon ?
[CrystalMPQ] C# MPQ Library/Tools - [CrystalBoy] C# GB Emulator - [Monoxide] C# OSX library - M68k Opcodes

7

ouaih et alors ca sert a koi ces interruptions ?
ScreamX le ridestyler fou !!! aime la peuf
http://www.pgteam.fr.st

8

comme le nom le laisse supposer, ce sont des bouts de codes qui sont exécutés en interrompant le programme cheeky
désactive-les (AUTO_INT_1 et AUTO_INT_5 seulement) et tu verras que ton programme fonctionnera mieux. Mais noublie pas de les récactiver à la fin de ton programme, et aussi quand tu veux utiliser ngetchx, kbhit & co.
avatar
Le scénario de notre univers a été rédigée par un bataillon de singes savants. Tout s'explique enfin.
T'as un problème ? Tu veux un bonbon ?
[CrystalMPQ] C# MPQ Library/Tools - [CrystalBoy] C# GB Emulator - [Monoxide] C# OSX library - M68k Opcodes

9

merci pour ta def d'une interruption............................................
bon soyont serieux... quand j'utilisais ngetchx() ca me faisait pas cette vieille erreur??... bon il faut desactiver AUTO_INT_1 et AUTO_INT_5 je vais voire...2m1...
ScreamX le ridestyler fou !!! aime la peuf
http://www.pgteam.fr.st

10

ngetchx utilise l'autoint1 pour lire les touches.
En fait, l'autoint1 est apppelee a une frequence ~ 400KHz. Elle regarde s'il y a des touches appuyees avec un truc du meme genre que rowread,
puis ajoute les touches dans un buffer.
GetKey recupere lui les touches de ce buffer.

11

400Khz pour une interruption pour un proc a 12Mhz c possible ca?
avatar
Wenn ich morgen meinem Gott gegenübertrete, kann ich ihm sagen: "Ich bin unschuldig, ich hab' niemandem etwas getan - außer mir selben" Und das verzeiht er mir offentlich !
Falco - Hans Hölzel 1957 - 1998
RIP

12

400Hz... on ne peut faire des interruptions que jusqu'à une dizaine de kHz.

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

13

c'est bon les gas j'ai résolu le prb merci...
ScreamX le ridestyler fou !!! aime la peuf
http://www.pgteam.fr.st