60

La solution est tres simple:
#include <kernel.h>
Ca m'a pris 5 minutes d'implémenter la gestion des zip dans TIM. Pour enstein, t'as qu'a faire une version kernel compatible zip et une nostub qui gere que le komp ou même mieux une version mistub.
avatar

61

geogeo: un arbre binaire n'est pas vraiment difficile a comprendre roll en tt cs, moins que les notions sur les pointeurs au début !

Uther: l'utilisation de CompLib est tres bien, mais c vrrai que si il programme kernel, il faut utiliser ziplib, pour éviter une perte inutile de place !

62

Désolé, g t pas là hier ds l'aprem.
Il y a une petite ambiguité que je voulais éclaircir : Vertyos demandait si j'avais demandé l'autorisaion de hibou avant ou après de le publier. Je l'ai nien fait après, c'est aussi pour ca que le programme est sorti si tard.

Moumou demandait aussi si j'utilisait tjrs DoorsOS, pk ?

Sinon par rapport à ce que vous appelliez 'fichier perso' j'aurais voulu avoir des explications.

Merci pr tt
François BALLAND

Site Ti : http://www.balland.org

63

un fichier perso, c un fichier qui a une extension personalisée, on le créé comme ca:

fputc(0,ficher);
fputs("EXT",ficher);
fputc(0,ficher);
fputc(OTH_TAG,ficher);

si je me rappelle bien ...

64

l'utilisation de CompLib est tres bien, mais c vrrai que si il programme kernel, il faut utiliser ziplib, pour éviter une perte inutile de place !

A l'époque au tout le monde avais pas ce genre de problèmes. Voila ou le tout nostub mène.
Moumou demandait aussi si j'utilisait tjrs DoorsOS, pk ?
Parce que DoorsOS est complètement dépassé. utilise plustôt PreOS de PpHd http://www.timetoteam.fr.st
et si ton prog est kernel ne t'embetes pas avec complib: utilise directement ziplib.
avatar

65

Le nostub a ses avantages et ses inconvénients ... tout comme le kernel !

66

Mais je n'utilise pas DoorsOS. Ca aurait été chiant qu'un tt petit programme de compression ait besoin de Ziplib et d'un kernel.
François BALLAND

Site Ti : http://www.balland.org

67

Bah nan .. pour qqn qui a tjrs un kernel, le fait d'utiliser cela, te fait gagner a peu pres 3/4 ko sur ton programme ...

68

je ne connais pas la place que prends complib mais ziplib est tout petit et pour peu que tu aie txtrider ou doors sur ta calculatrice tu est déja gagnant. Après reste la place du kernel en lui même mais bon il fait aussi anti-crash, déprotection,... donc j'estime qu'il mérite sa place
avatar

69

Certes ... mais c tjrs le mm débat ca ... smile et j'ai peur que ce topic dévie a force, enfin, si KK amène son nez ici

70

oui c'est vrai je suis contre ca. Mais c'est vrai que la c'est moi qui commence sad
avatar

71

pas grave, ma chut, on ébruite pas smile

72

flow > Parce qu'il y a écrit doorsos() sur ton screenshot...
avatar
I'm on a boat motherfucker, don't you ever forget

73

oui c'est vrai smile
Je l'utilise sur VTI pour lancer un programme énorme que je suis en train d'optimiser, autrement je me sers de PreOS, d'ailleurs je le classe comme le meilleur kernel sur mon site. (mauvaise référence: ca fait un an qu'il n'a pas été mis à jour !)
François BALLAND

Site Ti : http://www.balland.org

74

Par rapport au débat Kernel / Nostub je trouve ca idiot de devoir installer un kernel pour un programme : bon, la question ne se pose pas si c'est un jeu énorme et tout.
Mais là, avec ce tout petit programme, avouez que ce serait chiant d'installer un kernel rien que pour lui. Et il y a plein de personnes qui utilisent ce genre d'utilitaires et qui n'ont pas de kernel sur leur TI.
Donc j'ai préféré sacrifier 750 bytes, ca va...
François BALLAND

Site Ti : http://www.balland.org

75

Bon, pour les bug reports, on a smile (je récapitule) :

-Plantage lors du zip de fichier *.ppg :
-> Corrigé

- Plantage lors du zip d'un fichier à ext. perso :
Ca ne le fait pas avec moi... (affaire à suivre)

Quoi d'autre ?
François BALLAND

Site Ti : http://www.balland.org

76

Tiens, je met le mien ici, si qqn le veux .. histoire de debuger smile
aCprs (nostub) pas encore la version PedRom

77

il est très gros ton prog etant donné qu'il n'y a aucune interface graphique et peu de protections. C'est pas terrible de pouvoir "zipper le zippeur", mais enfin... c'est ton prog et il zippe. smile
François BALLAND

Site Ti : http://www.balland.org

78

bah ... gros, fé 7ko ... les protection, y'en a pas trop sur le style de fichier, mais sur la compression, si ...

79

mouais.

Ce qui est chiant des librairies (genre genlib) : elles portent l'extension ASM et font planter la TI. Et ce serait chiant d'interdire la compression de tous les fichiers portant l'extension ASM eekeek !!

Il doit y avoir un moyen de les reconnaitre mais il y en a bcp de différentes, pas facile...
François BALLAND

Site Ti : http://www.balland.org

80

les librairies ont une signature, de la meme facon de que les programmes kernel, par exemple, il me semble
avatar
Tutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall

81

les librairies et progs kernels ont une signature. je la connais pas par coeur, regarde la doc de PreOS c'est détaillé dedans. Ceci dit, ce n'est absolument pas normal qu'elles plantent.
avatar

82

Ca c'est très intéressant pour nous en revanche.
Reste à voir quelle signature et comment la recueillir.
François BALLAND

Site Ti : http://www.balland.org

83

quelle signature> ca doit etre mis dans la doc de preOS

sinon, suffit de regarder quelques libraires a l'editeur hexa : la signature est une suite de caracteres, vers le debut du fichier
avatar
Tutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall

84

check. Je suis en train de télécharger PreOS.
Et comment on récupérera cette suite de char ?
Avec un vieux fgets ?
François BALLAND

Site Ti : http://www.balland.org

85

Y'a même pas Einstein dans les utilitaires de ton site gol
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

86

trust a écrit :
la seul methode pour gagner de la place etant de mettre les fonctions que tu utilises dans un header, la tu gagneras un peu de place, mais sinon ca sert a riensmile

C'est un hack carrément lourd.

Pour récupérer la place perdue par la compilation séparée (relogements inutiles), il y aura une solution surprise dans le nouveau linker de TIGCC (et je ne parle pas des relogements sous un format non-standard - qui sont également possibles -, mais bien de solutions pour complètement éviter les relogements inutiles).

Vertyos
a écrit : Reste à voir comment hibou prendra ça... En tout cas voilà bien un exemple qui montre pourquoi je ne distribuerais jamais mes sources dans le zip, mais uniquement après demande pour me rappeller qui les as...

Je ne vois pas le problème! Qu'on linke avec la librairie en .a ou qu'on linke directement avec les fichiers .c n'a aucune importance, le résultat est le même. Quant aux modifications apportées, ce sont des modifications pour améliorer l'intégration en son programme; en quoi cela te dérange-t'il?
flow a écrit :
Ca c'est très intéressant pour nous en revanche. Reste à voir quelle signature et comment la recueillir.

if (*(unsigned long*)(fptr+2+4)==(((unsigned long)'6')<<24)+(((unsigned long)'8')<<16)+(((unsigned long)'k')<<8)+(unsigned long)'L')
fatal("Cannot compress kernel-based DLL.");
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

87

Kevin Kofler
a écrit : Quant aux modifications apportées, ce sont des modifications pour améliorer l'intégration en son programme; en quoi cela te dérange-t'il?

En rien, vu que ce n'est pas mon programme. Si ça avait été le cas, par contre...
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

88

jackiechan : bon, en attendant que j'ai le courage d'expliquer, je te fous la partie qui t'intéresse des sources d'Einstein.

Voici comment se passe la sauvegarde de l'arbre avant la compression :     // nested function :     void atteindre_feuilles(tNeud *neud)  // fonction qui sauvegarde l'arbre dans tree_svg     {       if (neud->fils_zero != NULL)           // si on n'a pas atteind une feuille       {         ajouter_bit(tree_svg_ptr, 1);        // on enregistre le neud (codé par un 1)         atteindre_feuilles(neud->fils_zero);  // on descend sur le fils d'indice zéro         atteindre_feuilles(neud->fils_un);    // puis sur le fils d'indice un       }       else                             // si on a atteind une feuille       {         ajouter_bit(tree_svg_ptr, 0);  // on signale la feuille (codée par un 0)         *encode++= neud->octet;        // on écrit l'octet que représente la feuille         sortie->data.nb_leaf_m1++;        // on compte le nouvel octet       }     }          (...)          j= 256; while (j--) pbase++->frequence= 0;  // initialisation des fréquences de la base     (...)     while (i--) base[*entree++].frequence++;  // comptage des occurences de chaque octet du fichier          racine= construire_arbre(base, bloc_neuds, TRUE);  // construction de l'arbre          atteindre_feuilles(racine);  // sauvegarde de l'arbre     j= tree_svg_ptr - tree_svg;  // nombre d'octets contenant la sauvegarde, arrondit à l'octet inférieur (on peut avoir 5 octets et 3 bits, par exemple)     tree_svg_ptr= tree_svg;     while (j--) *encode++= *tree_svg_ptr++;  // copie de la sauvegarde, octet par octet     // s'il reste des bits après ces octets, ils seront écrits pendant la compression, à la première complétion du buffer
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

89

Et voici comment on recrée l'arbre à partir de la sauvegarde :                // nested function :                tNeud *reconstruire_arbre(tNeud *pere, short bit)                {                  tNeud *adresse;                                    if (lire_bit() != 0)  // neud                  {                    adresse= prochain_neud++;                    adresse->pere= pere;                    adresse->fils_zero= reconstruire_arbre(adresse, 0);                    adresse->fils_un= reconstruire_arbre(adresse, 1);                    adresse->bit= bit;                  }                  else                  // feuille                  {                    unsigned short octet= *octets++;                                        adresse= octet2feuille(octet);                    adresse->pere= pere;                    adresse->fils_zero= NULL;                    adresse->octet= octet;                    adresse->bit= bit;                  }                                    return adresse;                }                                (...)                compressed= entree->data.compressed + entree->data.nb_leaf_m1 + 1;  // les bits sont après la liste des octets codés par l'arbre                racine= reconstruire_arbre(NULL, 0);                                // reconstruction de l'arbre

Tu me dis si tu comprends, ça m'arrangera (j'ai la flemme d'expliquer grin).
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

90

T'as la même présentation du code que moi. lol
Mes profs d'elec me disent qu'il comprennent rien avec cette écriture et quelle est illisible.
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.