>Tu n'es pas obligé de tester quoi que ce soit! Tu dis juste que c'est supporté en théorie,
>mais que les programmes peuvent planter.
Je ne suis pas convaincu.
>>Et les variables systemes ?
>Si elles ne sont pas supportées, tu les pointe vers un endroit qui est totalement
>ignoré et tu le mets à 0 avant de lancer les programmes _nostub.
Pour top_estack, ok.
Et pour FirstWIn ?
>C'est une tentative de chantage, ça!
Non. Vu le peu de RomCalls qu'il y aura, faire des libs dynamiques sera une tres bonne
chose.
>Bon, si ta PreRom sort vraiment et si des gens sont suffisamment bêtes pour l'utiliser,
>quelqu'un (moi?) compilera ttstart en kernel. Ça permettra d'utiliser les programmes
>_nostub. Et pour la table en $c8, tu seras bien obligé de la mettre même pour les
>programmes kernel, parce que TIGCC l'utilise.
Tiens un dump de PreRom : $c8 = $0
>Et d'ailleurs, ton argument est faux: TIGCCLIB utilise des ROM_CALLs par la table
>en $c8 même en mode kernel, donc il n'y a aucun moyen de savoir si le programme
>n'utilise pas une fonction de TIGCCLIB qui appelle un ROM_CALL non supporté.
Certes. Mais ca vaut mieux que supporte les progs nostub directement.
Et puis avec votre proprogande, les progs tigcclib en kernel sont tres rare.
Surtout ceux en kernel necessitant un appel indirect par l'interieur d'une lib statique.
>Et je te signale aussi qu'un programme pour kernel peut aussi utiliser USE_FLINE_ROM_CALLS.
FLINE_... ne sera pas supporte par PreRom. Du moins au debut.
Ensuite je verrais.
>D'ailleurs, si tout le monde suit ton conseil (pas très intelligent d'ailleurs)
>d'abandonner la compatibilité avec tous les kernels sauf PreOs, tous les
>nouveaux programmes pour kernel (s'il y en a ) utiliseront des ROM_CALLs par
>ligne F parce que ça économise plein de place.
Si tu le dis. Mais je conseilles quand meme jsr tios::machin.
>Donc ton excuse est complètement bidon: même avec un programme pour kernel,
> il n'y a aucun moyen de savoir de manière certaine quels ROM_CALLs il utilise!
Si : un PROGRAMME KERNEL BIEN PROGRAMMER NE FAIT DES APPELS QUE PAR jsr tios::machintruc.
SINON c'est un programme sale.
>GTools et PreRom risque de sortir en meme temps....ca ca me fera super bien rire,
> le match du siecle !!
GTools vainqueur. Mon but est d'ecrire une rom minimaliste supportant les progs kernels.
C'est tout.
>Pas nécessairement. Le format kernel a besoin d'un stub et d'un header
>qui prennent de la place. Et il ne faut pas oublier de compter la taille
>du kernel et des librairies, qui font partie de la place requise par un
>programme pour kernel.
Mais pour plusieurs programmes partageant la meme librarie, on ECONOMISE de
la place. L'exemple le plus flagrant est les grayscale.
10 programmes l'utilisant = 10 * 1K de mem archive gaspille.
Contre 5K (Et encore 3.5K pour certains) de kernel + 2.5K de graphlib.
Et on peut meme compresser les programmes archives.
>- les ROM_CALLs! Malgré le fait que TIGCCLIB a déjà éclairci le fait que presque
>toutes les fonctions dont un programmeur peut avoir besoin sont déjà dans la ROM
>en janvier 2000, même maintenant, beaucoup de personnes sous-estiment
>encore leur potentiel.
Et qui sont chiantes a reprogrammer pour PreRom
Heureusement qu'il y a des programmes utilisant des libs, qui me feront pas chier.
>- les librairies statiques, qui contiennent presque toutes les fonctions
>dont on pourrait avoir besoin et qui manquent dans AMS. Et contrairement à ce que
> la propagande en faveur des librairies dynamiques proclame, les librairies statiques
> ne font pas perdre de la place, mais au contraire en économisent, parce que seules
>les fonctions réellement utilisées devront être transférées sur la calculatrice.
>Les défenseurs des librairies dynamiques oublient toujours de compter la taille de
>ces librairies dynamiques (avec toutes leurs fonctions non utilisées qui traînent
>dans la mémoire et gaspillent de la place) lorsqu'ils calculent la taille des programmes.
Et toi tu oublies toujours de compter le nombre de fois ou plusieurs programmes utilisent
ces libraries.
Pour UN programme, je suis d'accord.
Mais ca m'etonnerait qu'un utilisateur ne possede qu'UN SEUL programme.
10 programmes l'utilisant = 10 * 1K de mem archive gaspille.
Contre 5K (Et encore 3.5K pour certains) de kernel + 2.5K de graphlib.
Et on peut meme compresser les programmes archives.
Et ca ne compte pas l'anti-crash, et la gestion des libs des kernels.
>Par contre, pas besoin de kernel qui font plus planter les caltos qu'autre chose.
Avec Preos, c'est plutot le contraire.
Heureusement qu'il est la pour recuperer les crashs
>L'idéal pour une nouvelle ROM est d'offrir les 2 modes, pour des raisons de compatibilité.
Je ne prends que la technologie la plus evoluee.
>En revanche, l'idéal pour un nouveau logiciel de développement serait de n'offrir que
>le _nostub.
A quand pour Tigcc ?
>Le mode kernel est une vieille technologie dépassée, et il faudrait enfin penser
>à le retirer de la circulation.
J'hallucine grave.
Retourne a la prehistoire la.
>Perso, je préfère le nosub, désolé pour ceux qui n'aiment pas
Perso, je préfère le kernel, et j'emmerde ceux qui n'aiment pas mon avis.
>non, sans rire, on dit que les progs kernels plantent,
Forcement. Les progs kernels qui plantent sont ceux qui censes tourner que sur AMS 1.00.
C'est deja un EXPLOIT de les faire tourner sur AMS 2.0x !
>Mais un prog kernel en C/ASM bien programmé et le même prog nostub,
>ça sera la même chose au niveau des plantages !
Non. Le kernel intercepte certains crashs
>À condition que le kernel ne soit pas bogué, oui.
>Mais on introduit un logiciel en plus (souvent codé en assembleur d'ailleurs),
Tu sous-entends que l'assembleur est plus proprice a la proliferation de bogues ?
> et il y a toujours le risque d'un bogue dans un logiciel.
>D'où un risque de bogues et donc de plantages plus grand en mode kernel.
Moui, mais tu oublies le systeme anti-crash.
>Et souvent un programme pour kernel ne sera pas codé de la même façon qu'un programme
>_nostub. Il aura tendance d'utiliser des librairies dynamiques codées de manière sale,
>ou des RAM_CALLs permettant l'accès de manière sale (trop directe) à des structures
>internes de AMS, comme la table des handles ou la VAT.
La VAT et la Heap Table sont des structures parfaitement connus et saines.
>Le programme _nostub, lui, aura
>tendance d'utiliser des ROM_CALLs officiels comme HeapDeref, ou comme les
>fonctions de vat.h pour l'accès aux fichiers, à la place, ce qui le rendra
>bien plus stable.
Des exemples ?
>J'ai toujours tt les libs necessaire sur ma calc, et je les aurais toujours....
>deja que nos calc ne possedent pas une mémoire hors du commun,
>autant l'économiser le plus possible !!(Runc et libs compréssé pour moi)
Tu seras content de Preos 0.60 toi alors
>PpHd si tu as besoin de béta-tester ta rom, je suis volontaire, sur une vraie calc...si jamais il faut.....
Attend que la TIB fonctionne bien sur emu d'abord
>Et les malchanceux qui ont une V200 et qui ne peuvent pas patcher leur AMS, ils font quoi?
>Et puis tout le monde n'a pas forcément envie de patcher son AMS.
Ben ils patchent leur programme kernel avec mon AutoPreosPatcher
qui patche le header des progs kernels pour mettre l'auto-install de preos
>Tu viens de donner la raison pour laquelle je n'ai pas envie d'avoir toutes
> les librairies dynamiques possibles et imaginables sur ma calculatrice justement.
>Arrête de te contredire!
Pourtant c'est presque le cas

(filelib/genlib/genalib/genclib/graphlib/userlib/ziplib/pk92lib/brwselib/ugplib/fargray/gray4lib/gray7lib/util/triglib/linelib/hufflib/hexlib sont dans ta calc

-si tu as stdlib standard de preos 0.59-).
Et en plus, avec les libs dynamiques compressees, elles ne prennent plus rien comme place.
>Argument très objectif...
>Alors voila, je suis nostubien, et je resterai nostubien....
La c'est bien. Enfin quelque chose d'objectif.
>Moi aussi, j'ai PreOs. Je le trouve sympa parce que:
>- il sait lancer TICT Explorer avec SHIFT+ON (c'est moi qui ai codé ça d'ailleurs)
>- il fournit un anti-crash pour les programmes _nostub (donc fini l'argument que le
> _nostub ne permet pas l'anticrash; la plupart des améliorations de l'anticrash _nostub
> de PreOs par rapport à sa première version sont d'ailleurs de moi)
Mais il faut un kernel pour ca !
Et aussi d'Extended
>- la fonction la moins importante, mais intéressante quand-même: il permet de lancer
>les vieux programmes au format DoorsOS (émulation Fargo, aussi appelée
>parfois "mode kernel")
>Si, on peut appeler des librairies statiques! Et cela indépendamment du langage utilisé
>(assembleur ou C).
>Et si vraiment on a besoin de librairies dynamiques (à cause de la limite de 64 KO),
> c'est également possible (cf. FAT Engine, et cf. les versions récentes de TIGCC).
Mais bien plus complique. Et on NE PEUT PAS faire d'appel croise, pour vraiment
supporte les 128 K. alors qu'en kernel, en plus d'etre possible, c'est simple et QUASI-TRANSPARENT au niveau du code !
Et les kernels, la limite c'est la RAM maximale
>Il y a les ROM_CALLs et les librairies statiques!!!
>Lis la documentation de TIGCC, et si tu programmes en assembleur, lis aussi ce tutorial.
Mais les libs statiques prennent de la place dans le programme, place qui est gaspillee si plusieurs programmes les utilisent ! Et en plus, en cas de buggues il faut :
+ remettre a jour tous les programmes.
+ retransferer tous les programmes.
>et au lieu d'avoir un petit prog de rien du tout, on arrive facilent au Ko
Certes, mais le coefficient de la pente est bien plus faible.
>Je ne trouve pas que c'est plus facile de programmer kernel, c'est juste que beaucoup
>de tutoriaux assembleur sont écrits pour Fargo ou pour kernel, et c'est pour ça
>que les newbies en assembleur apprennent souvent le mode kernel en premier.
(1) jsr tios::ngetchx
Contre :
(2) move.l $C8,a0
move.l ngetchx*4(a0),a0
jsr (a0)
Je preferes le (1) plus elegant (Meme s'il y a une macro le faisant, ok).
>Et je ne pense pas vraiment que ce qui fait que les programmes kernel sont
>souvent mal programmés est le niveau des programmeurs kernel.
>Je pense plutôt que ce sont les interfaces sales proposées par les kernels.
>Par exemple:
>- doorsos::Heap. HeapDeref, c'est pour les chiens?
>- doorsos::FolderListHandle, doorsos::MainHandle.
>Il y a des ROM_CALLs (cf. vat.h) qui permettent l'accès aux variables
>sans aller traffiquer directement dans la VAT!
Si meme avec les romcalls, tu es obbliges de trafiquer dans la vat.
Sinon comment lire un handle ?
>- doorsos::font_medium. DrawStr (et DrawChar), c'est pour les chiens?
C'est fait pour afficher plus vite, ca prendre de la place pour une autre fonte.
Tous tes exemples sont des structures kernels qui marchent PARFAITEMENT !
Et qui n'entrainent aucun bogue.
>Non, c'est de la pure statistique. Les jeux pour kernel sont en général moins stables
>que les jeux _nostub, donc à moins d'avoir une chance énorme avec les jeux pour kernel
>et une malchance énorme avec les jeux _nostub, on remarquera la même chose que toi.
Les jeux kernels sont developpes pour AMS 1.00.
S'ils arrivent a tourner sur AMS 2.0x, c'est grace a la puissance de la technologie des kernels.
Et les jeux _nostub : 80 % a jeter direct Et le reste
>DoorsOS n'est même pas le pire. Le premier kernel que j'avais essayé d'installer,
>moi, était PlusShell 1.0 alpha. Résultat: plantage complet, aucune combinaison de
>reset ne marchait, obligé de retirer les 4 piles AAA et la pile de sauvegarde.
>Et tout cela alors que c'était une HW1 et que j'avais AMS 1.00, donc la plateforme
>prévue pour PlusShell.
??? Tiens. Remarque j'ai une idee du pourquoi.
>Après le reset, j'ai installé DoorsOS (I) 0.90 beta, et là, je n'avais "que" un plantage
>tous les 3 jours. Et ceci sur AMS 1, sans récupération de la mémoire archive!
>Je me suis donc souvent retrouvé avec tout effacé.
>Et tout par la faute des kernels et des programmes pour kernel...
Condoleances.
>Eh oui, nous avons réussi à découvrir la vérité : tout petit déjà, il avait été la
>victime des plantages de 2 kernels, et, l'effet de cette névrose (couplée bien sûr
>au complexe d'Oedipe) lui a fait perdre la raison et vouer une haine incommensurable à
>tout ce qui ressemblait de près ou de loin à un kernel. Depuis, on le retrouve en
>train d'errer sur des forums, racontant toujours je ne sais quels bobards aux
>malheureux passants
>Et enfin: les mauvaises expériences avec PlusShell et DoorsOS ne m'ont certainement
>pas fait aimer les kernels, mais ce n'est pas que pour ça que je n'aime pas le mode
>kernel. C'est aussi parce que c'est totalement illogique de ne pas pouvoir lancer
>un programme assembleur ou C comme un programme BASIC (c'est-à-dire: nom du programme,
>[(], [)], [ENTER], sans avoir à installer quoi que ce soit avant).
Tu connais l'auto-installation de preos 0.60. Elle est faite pour toi
Tu peux taper :
nom du programme, [(], [)], [ENTER], sans avoir à installer quoi que ce soit avant
Et ca marche ! C'est dingue hein
>En ce qui concerne PreOs, il est mieux que les autres kernels surtout pour une raison:
>un programme ne doit pas nécessairement être au format DoorsOS pour tirer avantage de ses
>services (anticrash, possibilité de lancer un shell avec SHIFT+ON, ...). D'ailleurs,
>c'est en partie grâce à moi que c'est comme ça: J'ai écrit quelques routines pour PreOs,
>et, sauf une (calcul du RAM_CALL ROM_VERSION, que j'ai contribuée parce que je l'avais
>déjà écrite bien avant afin de pouvoir plus facilement porter des programmes kernel vers
>le _nostub), elles sont toutes dans ce domaine.
Et je t'en remercie.