>Mais c'est le format natif standard qu'il faudrait respecter...
Je le respecte, sinon ca ne pourrait jamais se lancer.
>Je te rappelle qu'AMS n'est pas fait pour la programmation en quoi que ce soit, que ça soit en BASIC ou en ASM...
C'est vrai ca.
>D'où mon conseil de laisser tomber genlib et d'utiliser une librairie graphique statique.
Plutot fait la fonctionner en mode kernel.
>Je ne vois pas pourquoi, selon toi, ça serait une bonne idée pour PreOs et pas pour mes TSRs à moi.
Du point de vue utilisateur

M'enfin ca peut se discuter sans probleme. Et je n'ai pas envie d'en disserter.
>Non, tu es passé totalement à côté de mon argument une fois de plus. Tu n'assistes pas du tout l'utilisateur en l'obligeant à utiliser une certaine méthode de lancement! Il vaut beaucoup mieux le laisser faire ce qu'il veut faire, lui.
Arg mais avant de le laisser faire ce qu'il veut, il faudrait lui expliquer les choix qui s'offrent a lui.
>... et si les fonctions réutilisées prennent plus de place que les fonctions inutilisées des librairies dynamiques + l'overhead des importations/exportations + le code de relogement des importations (c'est-à-dire le kernel dans le cas des librairies dynamiques en mode kernel), ce qui n'est presque jamais le cas en pratique (j'ai déjà posté des calculs le montrant à plusieurs reprises).
Sauf que c'est souvent faux. Cf cc qui est de 64K en _nostub et moins de 56K en kernel...
>Je te signale que ttstart (et donc aussi les lanceurs personnalisés) n'a besoin d'aucun TSR pour fonctionner!
Il parlait des equivalents !
>Un programme _nostub qui n'est pas un TSR et qui n'utilise pas NG_execute (on peut lancer les programmes en assembleur/C directement à la place) n'a pas besoin de HW2Patch ni de h220xTSR.
Et s'il connait les trucs et astuces a utiliser...
>Mais ça prend encore plus de place! genlib en prend déjà trop toute seule!
Compressee, elle ne prend pas tant de place.
>Ben si, on peut aussi faire un jeu qui utilise ExtGraph sans savoir comment fonctionne genlib.
Tu veux montrer quoi en affirmant cela ?
>ExtGraph est déjà "plus que TIGCCLIB". Et puis, je ne sais pas ce que vous avez tous contre les fonctions de sprites de TIGCCLIB. Elles marchent très bien.
Oui. BitmapPut aussi.
>Même PpHd avoue (cf. #258) que des bogues ont été trouvés dans genlib à plusieurs reprises. Avec ExtGraph, il n'y a aucun problème.
On ne peut raisonnablement pas comparer les degres de complexite des deux librairies.
Et les bugs sont souvent mineurs.
>Mais ça ne sert à rien.
Pour toi oui. Pour certains non.
>Je n'appelle pas ça "vouloir contraindre le programmeur", mais lui dire de programmer proprement. Je ne vois pas du tout l'intérêt d'abuser d'un ASM pour mettre des données.
Et alors ?
>Il est impossible de concevoir une DLL qui en même temps:
>- contient toutes les fonctions qui pourraient être utiles à un programme.
>- ne contient que les fonctions utilisées par tous les programmes.
Si c'est possible
Une Pack-Archive contenant une centaine de sous-DLL
<Ce n'est pas un problème de conception de la DLL, mais une erreur de conception dans l'idée-même des DLLs.
Cf au dessus.
>- faciliter l'implémentation et l'utilisation (pas besoin d'associer un handle aux DLLs s'il n'y en a qu'une seule à la fois)
Bof. On aurait pu faire de meme avec plusieurs.
>- limiter les abus (Je répète que ce système est là uniquement pour permettre de créer des programmes de plus de 64 KO!)
Un hack est facile.
>Il y a certainement un moyen de le faire. Si c'est possible en BASIC, c'est aussi possible en C.
Mais pas en utilisant ces fonctions.
>Quels "hacks proposés par PpHd"?
Les trucs utilises lors de l'install de PreOs surement.
>Et en tout cas, TI n'a aucun intérêt à empêcher à vcbprintf de fonctionner, et c'est aussi appuyé par le fait que, pour l'instant, aucune mise à jour de AMS n'a causé des problèmes avec vcbprintf. sprintf n'a pas du tout changé entre AMS 1.00 et 2.08.
Oué, mais justement, c'est parce que le fichier 'printf.c' n'a JAMAIS ete recompile. S'il le recompilait (rien que par le fait qu'ils vont changer leurs flags de compilation), la methode actuelle serait invalide.
>Il y a de bonnes chances que je serai toujours membre de l'équipe de TIGCC.
Moi y'a de bonnes chances que je disparaisse.
>BitmapPut de AMS est clippé! À ton avis, il sert à quoi, le paramètre SCR_RECT *clip
A clipper. Pas eu le temps de mettre le clipping. Si quelqu'un est interresse
>genalib gère-t'elle ça de manière transparente?
Oui. Y'a genalib::add_block pour cela.
>Parce que Windows est la plateforme la plus connue qui les utilise, et parce que sous *nix, le terme "so" (shared object) ou "shared library" est habituellement utilisé à la place. Évidemment, on n'utilise pas ce dernier terme pour les DLLs de TIGCCLIB parce qu'elles ne sont pas prévues pour être partagées!
Et les DLL windows ne sont pas prevus pour etre partages aussi
Vous auriez mieux fait de mettre 'EASM' comme extension Extended Assembly file.
>PpHd a mis bien plus de 2 mois pour corriger le problème, et puis c'était une seule instruction d'assembleur à rajouter.
Au moins 1 an
Je n'ai aucune excuse.
>Mais un appel de fonction est quand-même une ligne logique.
C'est un concept certifie ?
>Ben, évidemment, si tu abuses des sprites pour remplir l'écran entier, il est normal que ce soit lent.
Tu dois pas beaucoup aimer les shoots toi
>C'est plus rapide que de tout réafficher à chaque fois.
Faux.
>Si vraiment tu veux du scrolling différentiel, tu peux le faire très facilement toi-même. De toute façon, genlib (et XLib aussi, il me semble) se contente de tout réafficher à chaque fois.
Certes, mais les routines de genlib sont optimises pour.
>Si tu fais la même chose, le scrolling différentiel devient trivial.
moins que dans genlib.
>Et sinon, avec ExtGraph, tu peux aussi faire quelque chose comme ça (je mets en blanc/noir pour éviter de tout recopier 2 fois, mais c'est la même chose en niveaux de gris):
Ton code est nul
>Ben, si tu recherches les effets spéciaux, ne viens pas râler que c'est lent. La TI-89/92+/V200 n'est pas du tout une plateforme adaptée pour des jeux avec des graphismes impressionnants.
Ah bon
>Et de toute façon, ces effets graphiques ne changent rien à la jouabilité.
Joue a Quake3 en mode flat alors
>C'est bien ce que je dis: tu abuses d'effets graphiques. Phoenix ne lance jamais plus de 4 missiles à la fois et pourtant c'est tout à fait jouable.
Phoenix affiche beaucoup de vaisseaux et de missiles a la fois
>Ça n'apporte pas grand chose en fonctionnalités par rapport à KerNO qui fait la moitié de la taille.
L'anticrash est meilleur.
>Traduction: sauf pour les jeux qui abusent d'effets graphiques. Et ben, la solution est simple: il suffit arrêter d'abuser d'effets graphiques!
il en est hors de questions !
>>Avec les kernels on aurrait sans doute quelque problèmes mais on devrait pouvoir arriver a quelquechose d'executable a défault de marcher parfaitement.
>J'en doûte, si la matrice clavier et la résolution de l'écran ont complètement changé.
File moi un exemple precis et je chercherais un moyen.
>De la même manière que le kernel: en recompilant, et en adaptant les sources au besoin pour gérer la nouvelle taille d'écran. Les programmes pour kernel devront faire exactement la même chose pour fonctionner. Le kernel ne peut rien faire pour résoudre ce problème-là. Comment veux-tu que le kernel change toutes les références à la matrice clavier? Et la taille de l'écran? Beaucoup de programmes nécessiteraient même un changement des sources pour gérer un écran de taille différente, et le kernel n'y change strictement rien. Et c'est exactement ce que j'ai voulu montrer par cet exemple.
Faux le kernel mettrait en place une surcouche emulation de l'ancien hardware.
Le seul truc c'est de faire une traduction temps reel de la matrice clavier (Ca roulerait bien).
Pour l'ecran, une int qui s'occupe de la traduction fera l'affaire.
Encore mieux : si le programme fonctionne avec genlib, une adaptation complete de genlib permettrait de s'en sortir facilement (sans a avoir a recompiler tous les autres programmes). Vive genlib
>La routine de AMS est clippée!
Elle le sera.
>Et c'est tout à fait normal qu'on compare, vu que c'est exactement le même concept.
Non. Toi c'est une Extended Assembly File.
>Je ne vois pas du tout ce que Krypton gagnerait à être en kernel. Au contraire, il perdrait la compatibilité avec les calculatrices sans kernel.
Il est gros. Il gagnerait en place en kernel.
>Pourquoi c'est dommage? Les DLLs partagées sont un concept défectueux depuis le départ. Elles ont beaucoup de désavantages pour pas ou presque pas d'avantages. TIGCC supporte parfaitement les librairies statiques, qui sont beaucoup plus adaptées pour le partage de code.
Et lorsqu'on a plusieurs libs statiques de versions differentes entre elles incompatibles entre elles et que chaque programme necessite une version differente ?
>Strictement rien.
>Reste en _nostub, c'est mieux.
Taille, mon respect. Ca tournerait sur ma calc
>Je ne vois vraiment pas pourquoi. Déjà, WinZIP (et WinRAR et WinACE) le décompressent sans problèmes. Et puis, untbz2 fait 23 KO. WinZIP fait nettement plus que ça.
Certes dont moi, ont des vieilles versions de WinZip et ont pas envie de mettre a jour.
Moi je m'en moque, j'ai bzip2.exe
>On ne sait jamais. Le débâcle de EX_patch et de ttstart ne te dit-il rien? C'est une erreur (ça n'a d'ailleurs aucun rapport avec le fait que ttstart soit en _nostub, c'était tout simplement un bogue; le mode kernel n'y aurait changé strictement rien) qui a été mise en relief par une simple mise à jour de AMS.
Mes macros ne fonctionnent qu'en mode algortihmique pur. Aucun appel de fonction AMS, ni de references materielles.
>Mais ont-ils besoin d'être mis à jour?
Je sais pas. Ca fait longtemps que je n'y ai plus joue
>La dizaine de programmes BASIC sur mon site n'a pas été mise à jour depuis longtemps (sauf pour CHEMISLV), mais c'est parce qu'ils n'ont pas eu besoin d'être mis à jour.
Tant mieux pour tes progs.
>J'ai toujours l'impression que, soit toi, tu n'as pas compris ce que j'avais dit juste avant, soit moi, je n'ai pas compris ce que tu as voulu dire par "Mais alors pourquoi tu en tiens compte dans tes calculs ?"...
On arrete ce dialogue de sourd et muet ?
>Oui (je l'ai même fini), mais ce n'est pas un Mario classique. Déjà parce que c'est un Yoshi.
LOL
>"Programmer en ASM" et "utiliser tigcc.a" ne sont pas incompatibles
Mais programmer en ASM peut faire utiliser les romcalls directement
>Ce n'est pas une solution au problème.
Si, c'est une solution.
>Avec une librairie statique, on pourrait économiser la mémoire utilisée par ces fonctions au lieu de les utiliser "juste parce qu'elles y sont".
Mais elles y sont ! Donc autant les utiliser.
>En effet, pour la place, ça se discute. Les patches d'adresses prennent sans doûte pas mal de place.
Sauf que parfois on a aussi besoin de plus de 16 registres en meme temps.
Le SMC permet de resoudre cela.
>Et le risque d'erreurs est aussi beaucoup plus faible en utilisant un registre qu'en patchant des adresses de partout. Et puis, il est plus propre d'utiliser un registre pour ça.
Pas tant que ca. Les erreurs surviennent en general tres vite. Si ca passe une fois, ca passera les autres.
>Par paresse? Ça ne prend pas tellement d'octets/cycles si on le fait correctement.
Non. Mais j'aime garder un max de registres pour mes routines.
>Bon, je le ferai ce weekend si j'aurai le temps.
Rappel de francais (Juste histoire que tu te plantes pas dans un exam) :
"je le ferai ce weekend si j'<AI> le temps. "
Futur + SI + present. Desole
>Mais j'ai l'impression que tu fais exprès de ne pas donner de suggestions pour KerNO parce que c'est un "concurrent".
C'est plutot que j'ai pas le temps
Et puis il a du y penser de lui meme non ? C'est trivial a penser.
Il a du choisir DlgMsg pour certaines raisons.
>Ben, c'est ce que le premier à répondre fait en général.

Moi, en général, je commence ma réponse par quelque chose comme ça: "Déjà, arrête d'utiliser DoorsOS, c'est totalement dépassé. Si vraiment tu as besoin d'un kernel (la plupart des programmes récents n'en ont plus besoin), télécharge PreOs sur
http://www.timetoteam.fr.st."
>Ce qui alourdit le tout. Tu aurais dû intégrer ttunpack_decompress à PreOs, comme ça pas besoin de librairie de décompression, et un taux de compression meilleur.
Ca n'alourdit pas vraiment. Le code utilise reellement le potentiel du kernel.
Et tu peux parfaitement utiliser ttunpack
>Avec des erreurs. Cf. flag V200.
Je ne suis pas infaillible.
>Mais DOS est dépassé et difficile à utiliser.
Difficile
Et il manque un autoexec.bat a ASM plutot
>Non. Je répète qu'on s'attend à ce que le programme marche sans avoir lancé quoi que ce soit avant.
Pas moi.