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 » un TSR un peu special (21 réponse(s))
./REPRISE DU POST PRECEDENT (post n°19)   Marquer comme non lu.
LionelA Ecrit le: Vendredi 20 août 2004 à 13:13 Déconnecté(e)    Voir le profil de LionelA Envoyer un email à LionelA Visiter le site WEB de LionelA Envoyer un message privé à LionelA  


Bon après quelques essais peu fructueux j'ai décidé de faire moi même mon programme resident mais qui n'utilise pas les evenements.
voila le source :

// C Source File
// Created 20/08/2004; 11:55:27

#include <tigcclib.h>

INT_HANDLER OldInt1 = NULL;
unsigned char scroll = 0;

void scrollleft()
{
  register unsigned short i;
  
  if(scroll == 1)
  {
    for(i=0;i<100;i++)
      memmove(LCD_MEM + i*30, LCD_MEM + 3 + i*30, 20);
    scroll = 0;
    PortSet(LCD_MEM, 239, 127);
  }
}

void scrollright()
{
  register unsigned short i;
  
  if(scroll == 0)
  {
    for(i=0;i<100;i++)
      memmove(LCD_MEM + 3 + i*30, LCD_MEM + i*30, 20);
    scroll = 1;
    PortSet(LCD_MEM + 3, 239, 127);
  }
}


DEFINE_INT_HANDLER(MyInt1)
{
  unsigned short column;
  column = _rowread (0xFFFE);
  char diamond, left, right;

  SetIntVec (AUTO_INT_1, DUMMY_HANDLER);
  ExecuteHandler (OldInt1);

  if(column & 0x02) left = 1;
  else left = 0;
  if(column & 0x08) right = 1;
  else right = 0;
  if(column & 0x40) diamond = 1;
  else diamond = 0;

  if(diamond & left)
  {
    scrollleft();
  }
  if(diamond & right)
  {
    scrollright();
  }
  SetIntVec (AUTO_INT_1, MyInt1);  
}

void _main(void)
{
  OldInt1 = GetIntVec (AUTO_INT_1);
  SetIntVec (AUTO_INT_1, MyInt1);
}


Ca marche a peu pres, on peut faire scroller l'écran dans les menu tool bar, var link,...
Il reste un probleme : quand je lance un programme Basic ou ASM -> address error
Je suis désespéré....
Auteur de Mode7 Engine pour ti68k
Auteur de F-ZERO for TI68k
Membre de Orage Studio
Mon site perso : http://www.tigen.org/lionela/
Le gite de mes parents à coté de Narbonne :
http://chaletdenis.free.fr/
    
./Post n°20   Marquer comme non lu.
GoldenCrystal Ecrit le: Vendredi 20 août 2004 à 21:32 Déconnecté(e)    Voir le profil de GoldenCrystal Envoyer un email à GoldenCrystal Visiter le site WEB de GoldenCrystal Envoyer un message privé à GoldenCrystal  

Ton code est mauvais... Tu ne dois pas modifier la table des vecteurs d'interruption dans ton interruption.
Et surtout tu bloques l'interruption de base de AMS qui sert en partie à la lecture du clavier.
Et inutile de préciser que quand le programme se termine le handle est déverrouillé, voir effacé si le programme était archivé. Alors lors d'un garbage collection les traces de ton programme se feront très certainement écraser...
Kupo !
    
./Post n°21   Marquer comme non lu.
LionelA Ecrit le: Vendredi 20 août 2004 à 21:44 Déconnecté(e)    Voir le profil de LionelA Envoyer un email à LionelA Visiter le site WEB de LionelA Envoyer un message privé à LionelA  


Je sais que c'est du sale code, mais c'est la seule solution que j'ai trouvée pour avoir une modif de l'ecran dans le menu var-link et autre...
Auteur de Mode7 Engine pour ti68k
Auteur de F-ZERO for TI68k
Membre de Orage Studio
Mon site perso : http://www.tigen.org/lionela/
Le gite de mes parents à coté de Narbonne :
http://chaletdenis.free.fr/
    
  :: Index » Forum Ti68K » Programmation C » un TSR un peu special (21 réponse(s))
Pages : 2/2     « 1 [2] » »|

.Répondre à ce sujet
Les boutons de code
[B]old[I]talic[U]nderline[S]trikethrough[L]ine Flip Hori[Z]ontallyFlip [V]erticallySha[D]ow[G]low[S]poilerCode [G][C]ite
Bullet [L]istList Item [K] Link [H][E]mail[P]icture SmileysHelp
Couleurs :
Saisissez votre message
Activer les smileys
     

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 35.69ms avec 18 requetes