30

Perso, je serais plus pour ca (plus simple mais plus rapide) :
unsigned short GetKey(void)
{
 void           *kbq = kbd_queue();
 unsigned short  key=0;

 while (OSdequeue(&key, kbq))
       pokeIO(0x600005,0b10111);

 return key & ~(unsigned short)0x800;
}

31

Kevin > quel est l'avantage de ton calc_off par rapport à off() ?
avatar
« Le bonheur, c'est une carte de bibliothèque ! » — The gostak distims the doshes.
Membrane fondatrice de la confrérie des artistes flous.
L'univers est-il un dodécaèdre de Poincaré ?
(``·\ powaaaaaaaaa ! #love#

32

eek
Super! Je ne savais pas qu'il fallait mettre un masque sur 0x600005 pour activer le mode veille. Donc en gros la fonction idle de AMS ne "réveille" pas le processeur si l'interruption 1 se déclenche? Remarque c'est normal si cette interruption est utilisée pour la barre de statut, étant donné que si elle doit être mise à jour, c'est que la calculatrice n'est forcément pas en idle!
Et en GrayIdle le gain de consommation de piles est vraiment signifiant?
[Edit] Croisé
avatar
Highway Runners, mon jeu de racing à la Outrun qu'il est sorti le 14 décembre 2016 ! N'hésitez pas à me soutenir :)

https://itunes.apple.com/us/app/highway-runners/id964932741

33

il sauvegarde tous les registre ce qui permet d'éviter certains ralentissements observés qq fois ds des jeux apres un off()

34

Sally
: Kevin > quel est l'avantage de ton calc_off par rapport à off() ?

Un appel de fonction en moins, et en plus j'ai précisé que les registres peuvent être détruits parce qu'il y avait des versions boguées de h220xTSR qui détruisaient %d7.
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é

35

Brunni
: Et en GrayIdle le gain de consommation de piles est vraiment signifiant?

Oui. Par exemple, Backgammon tourne sans indicateur de piles en un état des piles où par exemple TI-Mahjongg passe déjà en BATT inversé.
nEUrOO
: il sauvegarde tous les registre ce qui permet d'éviter certains ralentissements observés qq fois ds des jeux apres un off()

Aucun rapport. Pour l'histoire des ralentissements, ce sont les waitstates qui ne sont pas réinitialisés quand l'AI5 est redirigé. Comme je ne touche pas à l'AI5, Backgammon n'a pas ce problème. Mais ce n'est pas en sauvegardant les registres qu'on le résoud! Ce qui se passait avec Backgammon est qu'il plantait carrément si on le faisait tourner avec h220xTSR 1.10. J'ai sorti en même temps h220xTSR 1.11 et le workaround pour Backgammon.
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é

36

D'ailleurs ça me fait penser à un problème que j'avais observé il y a bien longtemps. Un jeu utilisant _rowread ralentissait gravement lorsque les piles de la calculatrices arrivaient au bout ET qu'on appuyait certaines touches (gauche, 2nd, ...). Les niveaux de gris étaient inactifs... En fait parfois ça bloquait net jusqu'à ce que tu veuilles bien relâcher la touche enfoncée. Et puis après le frameskip s'enclenchait (limite mal fixée: 100 frames max grin) et là ça bloquait un bon moment avant de continuer.
Quelqu'un saurait-il de quoi ça venait? Je n'ai pas constaté ce problème avec _keytest...
(A mon avis je ne lisais pas la bonne ligne avec rowread...)
avatar
Highway Runners, mon jeu de racing à la Outrun qu'il est sorti le 14 décembre 2016 ! N'hésitez pas à me soutenir :)

https://itunes.apple.com/us/app/highway-runners/id964932741

37

oki pencil