Bon, moi aussi g un bug :
J'installe ID, pas de problème, mais quand j'installe PreOS juste après : plantage ("busy" sans rien de +)
J'arrive pas à trouver un hack pour intercepter le tri.
Et ils font un HeapDeref() toutes les 3 lignes pour trouver le pointeur sur la liste du dossier 'All', je sais pas comment ils ont codé ça pour que ça fasse ça, c'est allucinant.
Peut-être que c'est une variable locale dont la visibilité est restreinte à une seule boucle, mais c'est stupide. Ils ne doivent de toute façon jamais regarder le code en assembleur (sinon ils se seraient peut-être rendus compte que le compilateur utilisé est tout simplement une honte à la programmation)...
GCC (et sûrement GTC) ne sont pas toujours très fins, car aucun compilateur n'est parfait; mais ils sont quand même plus fins que le compilateur de TIFS... Notamment, je n'ai jamais vu de branchements stupides avec TIGCC...
Kevin : ce que je peux faire c'est trier directement la liste chaînée des ACB au rafraîchissement du Desktop.
Mais pourquoi le bubble sort est en O(n) pour les listes triées ? il y a toujours les 2 boucles for imbriquées. La seule différence est qu'il n'y a pas de swap des 2 objets, non ? (et c'est pas ça qui prend du temps, c'est plutôt l'OO_getAppAttr x 2 et le stricmp sur les titres, ainsi que le recomptage du nombre d'apps installées à chaque fin de la plus grand boucle for alors qu'il n'a pas changé !).
PpHd Le 26/11/2002 à 14:28 Certaines parties d'AMS sont mieux codees en ASM que d'autres. Comme s'ils ne compilaient pas AMS avec les meme options partout. Par ex, les rom_calls MD5_* sont correctes.
PpHd Le 26/11/2002 à 14:29 Meme si on y trouve une perle :
move.l 4(a7),d0
move.l 8(a7),d1
rol.l d1,d0
rts
(Remarque, ceci est pardonnable si on reflechit un minimum.)
Les fonctions de chaînes de caractères et de copie/déplacement de blocs sont suffisament bien codées pour qu'on puisse dire qu'ils l'ont fait en assembleur.

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.
En effet, certaines fonctions sont bien faites.
Mais memset contient une horreur dans les branchements qui serait plutôt plus digne d'un compilateur (et ce n'est pas la seule fonction qui contient cela, PpHd avait parlé de cela dans son coup de gueule sur AMS 2.08)...
bne.s __continue__
bra.s __end
continue:
...
end:
movem.l (sp)+,....
(unlk a6)
rts...
PpHd Le 28/11/2002 à 14:54 Les romcalls : er_* / longjmp / meme* /str* font parties de la lib statique offerte par motorola. Donc ca reste correct.
C'est ça qui ne marche pas??? Ca marche comment, ça empêche de mettre des liens à l'extérieur? Avant ça marchait pourtant...

Que cache le pays des Dieux ? -
Forum Ghibli -
Forum LittéraireLa fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.
Tant pis, j'ai mis un lien vers le site. Comme ça on peut le télécharger du site.
Ah. Bah c'était ça en fait, le bug dont je te parlais en mini-msg...
Mais en mettant SET_FILE_IN_USE_BIT, ça ne change rien (ça bugge autant), il faut quand même que je recalcule l'adresse de la structure SYM_ENTRY pour que ça ne plante plus.
Donc sans le SET_FILE_IN_USE_BIT, mais en recalculant l'adresse de la structure SYM_ENTRY, ça marche. Je dois quand même mettre SET_FILE_IN_USE_BIT ?