Accueil Ti-Gen Foire Aux Questions Chat sur le chan #tigcc sur IRC
Liste des membres Rechercher Aide
Bienvenue Invité !   Se connecter             Mes sujets   
Administrer
0 membre(s) et 1 visiteur(s) actif(s) durant les 5 dernières minutes Utilisateurs actifs : Aucun membre + 1 visiteur
Avant de poster sur le forum, il y a des régles de bases à respecter pour une bonne entente et un respect de tous.
Veuillez lire la charte du forum.
  :: Index » Forum Ti68K » Programmation C » Utiliser Asm en C (15 réponse(s))
./POST DE DEPART (post n°0)   Marquer comme non lu.
Benjy Ecrit le: Lundi 20 septembre 2004 à 23:09 Déconnecté(e)    Voir le profil de Benjy Envoyer un email à Benjy Visiter le site WEB de Benjy Envoyer un message privé à Benjy  


Voila j'ai regarder les sources de keypass pour voir comment il bloquait la combinaison 2nd+left+rigth+on mais vu que c'est en ams je ne comprend pas et n'arrive pas a voir la partie utilile. Alors bon je pense quand meme que c'est celle la!!

;---now see if 2nd right left on is held down----

  move.w  #$02FE,(a0)
  moveq    #15,d0
Loop3:
  nop
  dbra    d0,Loop3
  cmp.b    #$E5,3(a0)        ;2nd+right+left+on
  beq    ReloadHardware
NoCheck:
  pea    ReloadHardware(pc)
  move.w  #$2700,-(a7)
  move.l  oldInt6(pc),-(a7)
  rts
ReloadHardware
  move.w  (a7)+,(a0)
  movem.l  (a7)+,d0/a0
  rte
 ifd ti89
storage:  ds.b    8        ;needs 8 bytes to store the keyboard state
 endc

 ifd ti92plus
storage:  ds.b    10
 endc

indicator  dc.b    0


Mais alors comment utiliser cela dans un programme en C merci. Car avec

asm(";---now see if 2nd right left on is held down----

  move.w  #$02FE,(a0)
  moveq    #15,d0
Loop3:
  nop
  dbra    d0,Loop3
  cmp.b    #$E5,3(a0)        ;2nd+right+left+on
  beq    ReloadHardware
NoCheck:
  pea    ReloadHardware(pc)
  move.w  #$2700,-(a7)
  move.l  oldInt6(pc),-(a7)
  rts
ReloadHardware
  move.w  (a7)+,(a0)
  movem.l  (a7)+,d0/a0
  rte
 ifd ti89
storage:  ds.b    8        ;needs 8 bytes to store the keyboard state
 endc

 ifd ti92plus
storage:  ds.b    10
 endc

indicator  dc.b    0");


Ca marche pas. Merci!
Le langage C y'a pas mieux!!!
    
./Post n°1   Marquer comme non lu.
Kevin Kofler Ecrit le: Lundi 20 septembre 2004 à 23:34 Déconnecté(e)    Voir le profil de Kevin Kofler Envoyer un email à Kevin Kofler Visiter le site WEB de Kevin Kofler Envoyer un message privé à Kevin Kofler  


Bah, avant tout il faut rediriger AUTO_INT_6. Et ensuite, il faut tester 2nd+gauche+droite avec un _rowread ou des _keytest_optimized.
Membre de l'équipe de TIGCC: http://tigcc.ticalc.org
Mainteneur du portage Linux/Unix de TIGCC: http://tigcc.ticalc.org/linux/
Membre de l'équipe de CalcForge: http://www.calcforge.org:70/

Participez à la reprise de Ti-Gen!
    
./Post n°2   Marquer comme non lu.
Benjy Ecrit le: Mardi 21 septembre 2004 à 06:51 Déconnecté(e)    Voir le profil de Benjy Envoyer un email à Benjy Visiter le site WEB de Benjy Envoyer un message privé à Benjy  


Hum ok cacomplique beaucoup a ce moment la car adieu ngetchx(); !! :(:(
Le langage C y'a pas mieux!!!
    
./Post n°3   Marquer comme non lu.
Kevin Kofler Ecrit le: Mardi 21 septembre 2004 à 15:08 Déconnecté(e)    Voir le profil de Kevin Kofler Envoyer un email à Kevin Kofler Visiter le site WEB de Kevin Kofler Envoyer un message privé à Kevin Kofler  


Pas forcément. Tu n'es obligé d'utiliser la lecture bas-niveau que dans l'AUTO_INT_6. Et comme il a une priorité plus élevée que les AIs 1 et 5, tu ne dois même pas t'occuper de les désactiver ou rediriger, c'est déjà fait par le matériel.
Membre de l'équipe de TIGCC: http://tigcc.ticalc.org
Mainteneur du portage Linux/Unix de TIGCC: http://tigcc.ticalc.org/linux/
Membre de l'équipe de CalcForge: http://www.calcforge.org:70/

Participez à la reprise de Ti-Gen!
    
./Post n°4   Marquer comme non lu.
Benjy Ecrit le: Mardi 21 septembre 2004 à 18:27 Déconnecté(e)    Voir le profil de Benjy Envoyer un email à Benjy Visiter le site WEB de Benjy Envoyer un message privé à Benjy  


Je comprend pas alors si je desactive l'auto int 6 j'ai encore mon ngetchx!! Mais il faut que je teste 2nd et on au moin mais comment faire alors?
Le langage C y'a pas mieux!!!
    
./Post n°5   Marquer comme non lu.
Kevin Kofler Ecrit le: Mardi 21 septembre 2004 à 18:34 Déconnecté(e)    Voir le profil de Kevin Kofler Envoyer un email à Kevin Kofler Visiter le site WEB de Kevin Kofler Envoyer un message privé à Kevin Kofler  


Tu utilises _keytest_optimized dans ton handler d'interruption AI6 et ngetchx partout ailleurs.
Membre de l'équipe de TIGCC: http://tigcc.ticalc.org
Mainteneur du portage Linux/Unix de TIGCC: http://tigcc.ticalc.org/linux/
Membre de l'équipe de CalcForge: http://www.calcforge.org:70/

Participez à la reprise de Ti-Gen!
    
./Post n°6   Marquer comme non lu.
Benjy Ecrit le: Mardi 21 septembre 2004 à 18:36 Déconnecté(e)    Voir le profil de Benjy Envoyer un email à Benjy Visiter le site WEB de Benjy Envoyer un message privé à Benjy  


Comment ca dans mon handler?? d'interuption?? C'est a dire? Un exemple peut etre stp!
-Edité le Mardi 21 septembre 2004 à 18:36 par benjy-
Le langage C y'a pas mieux!!!
    
./Post n°7   Marquer comme non lu.
Kevin Kofler Ecrit le: Mardi 21 septembre 2004 à 18:47 Déconnecté(e)    Voir le profil de Kevin Kofler Envoyer un email à Kevin Kofler Visiter le site WEB de Kevin Kofler Envoyer un message privé à Kevin Kofler  


http://tigcc.ticalc.org/doc/intr.html#DEFINE_INT_HANDLER
Membre de l'équipe de TIGCC: http://tigcc.ticalc.org
Mainteneur du portage Linux/Unix de TIGCC: http://tigcc.ticalc.org/linux/
Membre de l'équipe de CalcForge: http://www.calcforge.org:70/

Participez à la reprise de Ti-Gen!
    
./Post n°8   Marquer comme non lu.
Benjy Ecrit le: Mardi 21 septembre 2004 à 18:56 Déconnecté(e)    Voir le profil de Benjy Envoyer un email à Benjy Visiter le site WEB de Benjy Envoyer un message privé à Benjy  


Hum ok j'ai fait ca! Ca marche?

INT_HANDLER OldInt6 = NULL;

DEFINE_INT_HANDLER(MyInt6)
{
  for (;
  {
    BEGIN_KEYTEST
    if (_keytest_optimized (RR_RIGHT)
        || _keytest_optimized (RR_LEFT)
        || _keytest_optimized (RR_2ND))
        break;
    END_KEYTEST
  }
  ExecuteHandler (OldInt6);
}


Par contre j'ai pas trouve comment tester on avec le keytest!
Le langage C y'a pas mieux!!!
    
./Post n°9   Marquer comme non lu.
Kevin Kofler Ecrit le: Mardi 21 septembre 2004 à 19:00 Déconnecté(e)    Voir le profil de Kevin Kofler Envoyer un email à Kevin Kofler Visiter le site WEB de Kevin Kofler Envoyer un message privé à Kevin Kofler  


Non, pas du tout.
Là, tu fais une boucle infinie, et tu sors de la boucle si une des touches de la combinaison de reset est appuyée. Ce n'est pas du tout ce que tu veux!
Membre de l'équipe de TIGCC: http://tigcc.ticalc.org
Mainteneur du portage Linux/Unix de TIGCC: http://tigcc.ticalc.org/linux/
Membre de l'équipe de CalcForge: http://www.calcforge.org:70/

Participez à la reprise de Ti-Gen!
    
./Post n°10   Marquer comme non lu.
Kevin Kofler Ecrit le: Mardi 21 septembre 2004 à 19:02 Déconnecté(e)    Voir le profil de Kevin Kofler Envoyer un email à Kevin Kofler Visiter le site WEB de Kevin Kofler Envoyer un message privé à Kevin Kofler  


Essaye vraiment de lire ton code et comprendre ce que tu viens d'écrire plutôt que de mettre n'importe quoi et demander si c'est bon.
Membre de l'équipe de TIGCC: http://tigcc.ticalc.org
Mainteneur du portage Linux/Unix de TIGCC: http://tigcc.ticalc.org/linux/
Membre de l'équipe de CalcForge: http://www.calcforge.org:70/

Participez à la reprise de Ti-Gen!
    
./Post n°11   Marquer comme non lu.
Benjy Ecrit le: Mardi 21 septembre 2004 à 19:09 Déconnecté(e)    Voir le profil de Benjy Envoyer un email à Benjy Visiter le site WEB de Benjy Envoyer un message privé à Benjy  


Ok j'ai comprit ca se rapproche de ca!!

DEFINE_INT_HANDLER(MyInt6)
{
  BEGIN_KEYTEST
  if (_keytest_optimized (RR_RIGHT) || _keytest_optimized (RR_LEFT) || _keytest_optimized (RR_2ND)) continue;
  END_KEYTEST
  ExecuteHandler (OldInt6);
}


Seule chose il veut compiler avec le continue; et je ne sait pas quoi mettre pour lui dire de ne rien faire!!
Le langage C y'a pas mieux!!!
    
./Post n°12   Marquer comme non lu.
Kevin Kofler Ecrit le: Mardi 21 septembre 2004 à 19:16 Déconnecté(e)    Voir le profil de Kevin Kofler Envoyer un email à Kevin Kofler Visiter le site WEB de Kevin Kofler Envoyer un message privé à Kevin Kofler  


return;

Et c'est && que tu veux, pas ||. Réfléchis un peu...
Membre de l'équipe de TIGCC: http://tigcc.ticalc.org
Mainteneur du portage Linux/Unix de TIGCC: http://tigcc.ticalc.org/linux/
Membre de l'équipe de CalcForge: http://www.calcforge.org:70/

Participez à la reprise de Ti-Gen!
    
./Post n°13   Marquer comme non lu.
Benjy Ecrit le: Mardi 21 septembre 2004 à 19:21 Déconnecté(e)    Voir le profil de Benjy Envoyer un email à Benjy Visiter le site WEB de Benjy Envoyer un message privé à Benjy  


Pour mon application le || suffit et sinon on ne peut pas tester le on avec keyteste alors c'est ca?
Le langage C y'a pas mieux!!!
    
./Post n°14   Marquer comme non lu.
Kevin Kofler Ecrit le: Mardi 21 septembre 2004 à 19:30 Déconnecté(e)    Voir le profil de Kevin Kofler Envoyer un email à Kevin Kofler Visiter le site WEB de Kevin Kofler Envoyer un message privé à Kevin Kofler  


Benjy :
Pour mon application le || suffit et sinon on ne peut pas tester le on avec keyteste alors c'est ca?

Exactement.
Membre de l'équipe de TIGCC: http://tigcc.ticalc.org
Mainteneur du portage Linux/Unix de TIGCC: http://tigcc.ticalc.org/linux/
Membre de l'équipe de CalcForge: http://www.calcforge.org:70/

Participez à la reprise de Ti-Gen!
    
./Post n°15   Marquer comme non lu.
Benjy Ecrit le: Mardi 21 septembre 2004 à 19:35 Déconnecté(e)    Voir le profil de Benjy Envoyer un email à Benjy Visiter le site WEB de Benjy Envoyer un message privé à Benjy  


Ok bon je lock car probleme regler!
Le langage C y'a pas mieux!!!
    
  :: Index » Forum Ti68K » Programmation C » Utiliser Asm en C (15 réponse(s))
Pages : 1/1     « [1] » »|

Forum de Ti-Gen v3.0 Copyright ©2004 by Geoffrey ANNEHEIM
Webmaster: Kevin KOFLER, Content Admins: list, Server Admins: Tyler CASSIDY and Kevin KOFLER, DNS Admin: squalyl
Page générée en 41.65ms avec 18 requetes