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 » GFA-Basic TI68K » Bugs et suggestions » Sauvegarde de la table des handles et restauration (11 réponse(s))
./POST DE DEPART (post n°0)   Marquer comme non lu.
geogeo Ecrit le: Lundi 28 mars 2005 à 21:15 Déconnecté(e)    Voir le profil de geogeo Envoyer un email à geogeo Visiter le site WEB de geogeo Envoyer un message privé à geogeo  


Une idée m'est venue. En fait que je constate que j'effectue des allocations avec les chaînes de caractères mais libérer ses allocations est bien plus difficile comme par exemple avec les variables locales où il m'est impossible de connaitre le type de la variable enregistrée et donc de l'effacer si c'est une chaîne de caractères.

J'ai donc pensé à sauvegarder la table des handles au début du programme et la restaurer en fin de programme, un peu comme Preos lors d'un 'Crash Intercepted'. Or le problème est que je ne sais pas comment m'y prendre et je ne sais pas si cette méthode peut entrainer des pbs.

De plus quel est le début de la table des handles et sa fin? Peut-elle tenir dans la pile?
Webmaster du site.
Programmeur sur TI68K. Arkanoid, Nebulus, GFA-Basic.

Plus d'informations sur GFA-Basic (un langage Basic pour TI68K).
http://www.tigen.org/gfabasic
    
./Post n°1   Marquer comme non lu.
Kevin Kofler Ecrit le: Lundi 28 mars 2005 à 21:21 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  


Le début de la table est le ROM_CALL 0x441 (AMS 2.00 minimum). La taille est 2000 * sizeof(void*).
-Edité le Lundi 28 mars 2005 à 21:21 par Kevin Kofler-
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.
geogeo Ecrit le: Lundi 28 mars 2005 à 21:23 Déconnecté(e)    Voir le profil de geogeo Envoyer un email à geogeo Visiter le site WEB de geogeo Envoyer un message privé à geogeo  


Arf 2000*sizeof(void*) ça fait un peu beaucoup pour la pile ça :( J'risque de ne plus avoir assez d'espace dessus!
-Edité le Lundi 28 mars 2005 à 21:24 par geogeo-
Webmaster du site.
Programmeur sur TI68K. Arkanoid, Nebulus, GFA-Basic.

Plus d'informations sur GFA-Basic (un langage Basic pour TI68K).
http://www.tigen.org/gfabasic
    
./Post n°3   Marquer comme non lu.
Kevin Kofler Ecrit le: Lundi 28 mars 2005 à 21:25 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  


Les kernels stockent seulement un bitfield: 1 bit par handle indiquant "alloué" ou "non alloué". Comme ça, on a besoin seulement de 2000/8 octets.
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.
geogeo Ecrit le: Lundi 28 mars 2005 à 21:30 Déconnecté(e)    Voir le profil de geogeo Envoyer un email à geogeo Visiter le site WEB de geogeo Envoyer un message privé à geogeo  


Ah parce que la table n'est pas la même suivant un kernel ou non? Mais 2000*sizeof(void *) est la taille maximale de cette table, y a pas moyen de connaître le nombre d'eléments? Mais j'pari que même si on connait le nombre d'éléments, ils ne sont pas stockés de façon consécutive?
Webmaster du site.
Programmeur sur TI68K. Arkanoid, Nebulus, GFA-Basic.

Plus d'informations sur GFA-Basic (un langage Basic pour TI68K).
http://www.tigen.org/gfabasic
    
./Post n°5   Marquer comme non lu.
Kevin Kofler Ecrit le: Lundi 28 mars 2005 à 22: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  


geogeo :
Ah parce que la table n'est pas la même suivant un kernel ou non?

Je parle de la sauvegarde effectuée par PreOs et co., pas de la table originale qui, elle, est dans AMS.

Mais 2000*sizeof(void *) est la taille maximale de cette table, y a pas moyen de connaître le nombre d'eléments?

Mauvaise idée, ça fera que ton programme ne marchera pas sur les calculatrices avec beaucoup de handles (débordement de pile).
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.
Folco Ecrit le: Vendredi 1er avril 2005 à 12:54 Déconnecté(e)    Voir le profil de Folco Envoyer un email à Folco Envoyer un message privé à Folco  


J'en profite pour poser une question, comment connaitre l'adresse de la table queqlue soit la version d'ams (<2.00)?
<<< Kernel Extremist©®™ >>>
Pas la peine d'aller là plus d'une fois tous les six mois...

"Il faut apprendre pour savoir qu'il faut apprendre pour savoir."
    
./Post n°7   Marquer comme non lu.
geogeo Ecrit le: Vendredi 1er avril 2005 à 13:01 Déconnecté(e)    Voir le profil de geogeo Envoyer un email à geogeo Visiter le site WEB de geogeo Envoyer un message privé à geogeo  


Kevin Kofler :
Le début de la table est le ROM_CALL 0x441 (AMS 2.00 minimum). La taille est 2000 * sizeof(void*).
-Edité le Lundi 28 mars 2005 à 21:21 par Kevin Kofler-


Pour AMS<2.00 sans doute quelle se trouve toujours au même endroit!
-Edité le Vendredi 1er avril 2005 à 13:01 par geogeo-
Webmaster du site.
Programmeur sur TI68K. Arkanoid, Nebulus, GFA-Basic.

Plus d'informations sur GFA-Basic (un langage Basic pour TI68K).
http://www.tigen.org/gfabasic
    
./Post n°8   Marquer comme non lu.
Folco Ecrit le: Vendredi 1er avril 2005 à 16:06 Déconnecté(e)    Voir le profil de Folco Envoyer un email à Folco Envoyer un message privé à Folco  


ben oui, mais justement, quelle est son adresse? ^^
<<< Kernel Extremist©®™ >>>
Pas la peine d'aller là plus d'une fois tous les six mois...

"Il faut apprendre pour savoir qu'il faut apprendre pour savoir."
    
./Post n°9   Marquer comme non lu.
Kevin Kofler Ecrit le: Vendredi 1er avril 2005 à 18:29 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  


Il y a un hack pour avoir l'adresse sous AMS 1, il faut regarder à l'offset 8 dans le code de HeapDeref. Ça marche aussi sous PedroM, mais pas sous AMS 2 ou 3 qui utilisent des offsets différents, donc fais attention à n'utiliser le hack que si le ROM_CALL n'existe pas.
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.
Jfg Ecrit le: Vendredi 1er avril 2005 à 19:53 Déconnecté(e)    Voir le profil de Jfg Envoyer un email à Jfg Visiter le site WEB de Jfg Envoyer un message privé à Jfg  


Ben si l'AMS < 2, le programme marche pas et c'est réglé!
Kill Mario
    
./Post n°11   Marquer comme non lu.
Folco Ecrit le: Vendredi 1er avril 2005 à 21:12 Déconnecté(e)    Voir le profil de Folco Envoyer un email à Folco Envoyer un message privé à Folco  


Ok merci.
<<< Kernel Extremist©®™ >>>
Pas la peine d'aller là plus d'une fois tous les six mois...

"Il faut apprendre pour savoir qu'il faut apprendre pour savoir."
    
  :: Index » GFA-Basic TI68K » Bugs et suggestions » Sauvegarde de la table des handles et restauration (11 réponse(s))
Pages : 1/1     « [1] » »|

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