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 » Trouver un autre système de gris pour les g85
Vebveb Hors ligne Membre Points: 796 Défis: 14 Message

Trouver un autre système de gris pour les g85

Posté le 05/02/2012 16:41

Bonjour,


Cela fait depuis un moment que je cherche comment rendre le gris sur les g85 sans bugs.

J'ai été en échec jusqu'à maintenant.

Mais un espoir est possible: en passant par les timers du sdk on a un gris sans bug mais affreux.

Le problème du gris est que l'on n'arrive pas actuellement à avoir l'interruption de gris et les interruptions casio, et donc il y a des bugs (nottament lorsque l'on sort du programme)

Le gris utilise une sorte de timer: le tmu. Lorsque le tmu a fini son décompte, l'interruption par défaut est appelée avec l'option 0x400 ('c'est le tmu0 qui appelle')
le problème est que l'interruption casio n'a rien prévu pour ce cas de figure, et ça plante.( l'interruption appelle en faite la fonction à la case d'un tableau de pointeurs de fonctions t l'option donne le numero de la case)
Actuellement, on change donc l'adresse de l'interruption par défaut, pour y mettre l'interruption du gris, mais donc les interruptions casio sont ignorées.

Je vois deux solutions possibles:

- soit on arrive à écrire l'adresse de l'interruption du gris dans le tableau casio à la case du numero du tmu.
Ce serait la meilleure solution.
D'après une doc anglaise:
The startup interrupt table starts at 0x80000340 for all OS versions.
The runtime interrupt table starts at 0x8001022C for all OS versions.
Each interrupt table consists of 0x77 entries.
The effective address ea of a handler can be calculated from the interrupt code IC of the interrupt source.
ea = table_base + ( IC - 0x40 ) / 8

Il faudrait donc écrire à l'adresse 0x800003B8
j'ai essayé, mais il me dit que j'écrit dans un endroit inexistant de la mémoire. Peut-être ais-je mal fait quelque chose...

- soit on copie le contenu du tableau casio, et on rajoute la case que l'on souhaite. On réecrit l'interruption casio qui appelle la bonne fonction du tableau en fonction du paramètre d'entrée.
Le code source ressemble probablement à celui de cette page : http://resource.renesas.com/lib/eng/e_learnig/superh_e_learning/24/index.html

Je ne pense pas que ce soit la meilleure solution, car casio utilise surement aussi la fonction qui gère les exeptions et dont l'adresse est déterminée par celle de l'interruption par défaut, mais cette solution est peut-être faisable...




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 82 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