Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.

Forum Casio - Autres questions


Index du Forum » Autres questions » outils dev graph 90-E Linux


pixel Invité

outils dev graph 90-E Linux

Posté le 30/05/2018 18:37

Bonjour, je cherche quels outils peuvent servir a developper sur Graph 90-E en C/C++ sur Linux, merci d'avance


Yatis En ligne Membre Points: 581 Défis: 0 Message

Citer : Posté le 07/06/2018 15:34 | #


D'ailleurs question complexe: comment fonctionne GetKey() ? (juste le fonctionnement de la touche MENU)
Lephenixnoir Hors ligne Administrateur Points: 24572 Défis: 170 Message

Citer : Posté le 07/06/2018 15:39 | #


Voici comment est découpé le système d'exploitation de Casio :
(30%) RUN/MAT, STAT, etc.
(30%) syscalls
(40%) GetKey()

La question est donc très complexe. Pour le menu, en gros :
- Quand tu appuies sur MENU, GetKey() dit au système, « eh, affiche le menu »
- Le système affiche le MENU en lisant la table des add-ins qui est dans la RAM du système
- Il fait donc d'autres appels à GetKey() mais ne touche pas à la RAM de l'add-in
- Si on revient dans l'add-in, le GetKey() de l'add-in fait comme si de rien n'était
- Sinon, le système décharge complètement l'add-in et lance une autre application

Ça marche vraiment parce que les données et le code du menu principal sont isolés et indépendants de l'add-in. Et aussi indépendants de sa pile (même s'ils peuvent se mettre dessus, ça je ne sais pas).

Bon, et c'est beaucoup des hypothèses ce que je raconte là, mais je suis confiant que ça se passe comme ça.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Pixel Hors ligne Membre Points: 9 Défis: 0 Message

Citer : Posté le 07/06/2018 22:52 | #


Lephenixnoir a écrit :
Si tu utilises GetKey() et que ton utilisateur quitte le programme en appuyant sur MENU pendant un appel à GetKey(), alors il pourra revenir. Dans l'idéal tu ne dois jamais sortir de la fonction main().


Non je n'utilise pas GetKey(), j'utilise ça :
int key_down(int basic_keycode)
{
    const unsigned short* keyboard_register = (unsigned short*)0xA44B0000;
    int row, col, word, bit;
    row = basic_keycode%10;
    col = basic_keycode/10-1;
    word = row>>1;
    bit = col + ((row&1)<<3);
    return (0 != (keyboard_register[word] & 1<<bit));
}

que j'ai volé je ne sais plus où...

Ceci dit, ne pas avoir le droit de sortir de main() est une concept... ahem... interessant ?
Comment on quitte, du coup ?
Lephenixnoir Hors ligne Administrateur Points: 24572 Défis: 170 Message

Citer : Posté le 07/06/2018 22:56 | #


Tu dois utiliser GetKey() à chaque instant où tu veux que :
1. Le joueur puisse revenir au menu
2. Si le joueur revient au menu, il peut retourner dans ton application et la retrouver en l'état

Il n'y a pas d'autre possibilité !

Btw : si tu utilises uniquement key_down() alors ton programme ne se met jamais en « pause » lorsqu'il attend les entrées utilisateur, ce qui est très mauvais pour la batterie.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 309 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd