Pollux :
Ta phrase était ambiguë, et Vertyos a dû la comprendre comme "un shell non-standard©" et pas comme "un programme non-standard©" ^^
Oui...
Pollux :
Ta phrase était ambiguë, et Vertyos a dû la comprendre comme "un shell non-standard©" et pas comme "un programme non-standard©" ^^
Kevin Kofler
:FlankerPlus la signature est longue, moins il y a de risques de faux positifs (programme qui commencent par cette signature par hasard).
: 16o de signature
numéro de révisions sur un longword
C'est pour une plus grande évolutivité. Je n'ai pas envie d'être obligé de remplacer complètement le standard parce qu'on a dépassé le nombre maximum de révisions prévues. Le standard de base ne changera plus, il peut juste y avoir ajout de nouveaux champs. Donc le versionnement doit être préparé pour une longue vie.
FlankerTu ne remets pas les commentaires à leur place, ils seront de toute façon dans le programme décompressé aussi. (Copier les commentaires en compressant est implémentable, les virer du programme original, pas vraiment.)
: mais par contre, ça risque d'être désagréable si on veut faire une fonction qui extrait de façon définitive un ppg (pour remettre les commentaires à leur place)
Godzil :
Ce que je trouve restricitf ? -> 'l'authorité" qui en est en chargeDonc c'est bien par pur esprit de contradiction.
Godzil :On ne t'oblige à rien, la touche "Suppr", ça existe.
Heu franchement obliger le programmeur a avoir une feature dont il veux pas je deteste ce genre de politique
VertyosQue l'utilisateur se retrouve avec un programme pour lequel son shell n'affiche pas le commentaire, l'icône, ... pour la seule et unique raison que monsieur le programmeur de ce programme a refusé de respecter le standard existant et inventé son propre format que personne n'implémente.
:parce que ce serait idiot qu'un shell doive en gérer plusieursMais non... Un shell peut gérer le standard si il le veut, si son auteur a envie de faire quelque chose qui soit totalement incompatible, il risque de ne pas avoir d'utilisateurs du tout et alors, tant qu'il fait ce qui lui plait, où est le problème ?
Bah oui, pratiquement tous les programmes ne sont pas du tout incompatibles avec un anti-plantage (la preuve: TICTEX, PreOs Browser etc. peuvent les lancer sans problèmes), pour ceux qui le sont, mes TSRs et ceux de Samuel Stearley ont déjà été mis à jour pour inclure les flags d'incompatibilité, et pour les autres (qui ne doivent pas être beaucoup), je ferai un patcheur (mkcompat à la M$) pour permettre de rajouter un header de commentaires contenant les flags d'incompatibilité demandés et éditer la table de relogements en conséquence. (Rajouter des commentaires dans un binaire est moins dur que les supprimer parce qu'en rajoutant, on peut mettre les données où on veut, ils ne seront pas en plein milieu du fichier.)
GodzilAlors pourquoi tu en as parlé ?
:Deja, combien de fois il faudra que je repete que mon projet n'a RIEN a voir avec ce trucGodzil> J'aimerais bien que tu dises en quoi tu trouves le standard actuel trop restrictif, et que tu indiques quelle a ta source d'inspiration pour ta super idée révolutionnaire, loin des jouets actuels...J'aimerai aussi savoir ce que tu trouve trop restrictif dans le format actuel qui me semble assez efficace et évolutif pour le moment(pas forcement de nous dire ce que tu prévois).
Ce que je trouve restricitf ?Faux, Kevin a répondu.
-> 'l'authorité" qui en est en charge -> ce qui induit qu'on peut pas en faire ce qu'on veux
-> fait que pour mettre des petites chosesHeu pourquoi ?
-> pas pratique a utiliser dans le programme en lui memeFaux, Kevin a répondu également.
et le but de ce topic n'est PAS de parler de mon projet (dont j'avais deja un peu parlé il ya longtemps)Et pourquoi tu ne veux pas en parler ?
Pollux
:Mouais enfin même en se restreignant à des numéros "parlants", 256 versions x 256 révisions devraient largement suffire...
Pkoi ne pas les mettre dans des sections de startup ?Pourquoi ne pas juste extraire les commentaires du ppg, s'ils sont au début du fichier ? Parce que sinon c'est pas le fait que ça prenne 2x plus de place qui va arranger les choses ^^
Parce que:
1. ça change tous les offsets, il faudrait recalculer la table des relogements, voire les tables de relogements si on utilise les tables personnalisées permises par TIGCC,
2. les commentaires peuvent être n'importe où dans le fichier, le header ne contient que des pointeurs,3. les commentaires peuvent aussi être en même temps des données (c'est le cas pour certains TSRs de Samuel Stearley ou de moi).
Bah non, je fais pas ça en bas niveau comme vous, j'utilise les méthodes de haut-niveau pour le faire (COMMENT_BW_ICON, etc...)
Flanker
:tu crois franchement que 16o c'est pas trop ? y a combien de faux positif pour les prog kernel (alors que la signature est sur 4o)
franchement, je veux pas te vexer, mais je crois pas qu'il y aura 4294967296 versions différentes de ce standard. A raison d'une par seconde, ça sera atteint dans 136 ansDéjà 255, ça me paraît bcp
chouette encore un gain de placeavec un peu de chance, ça compensera le gain gané par la compression
en même temps, je le comprends, vu que tu es incapable de reconnaître qu'il faut faire évoluer un standard. Un standard permet pas de faire un truc ? Bah on fait pas alors, hors de question de changer le standard
ouééééé "M$" se fait condamner par l'UE pour avoir fait la même chose, je te signaleGodzil :On ne t'oblige à rien, la touche "Suppr", ça existe.
Heu franchement obliger le programmeur a avoir une feature dont il veux pas je deteste ce genre de politique
comme d'hab, ça fait profondément chier l'utilisateur de devoir changer UN programme, par contre, le forcer à télécharger un programme pour patcher tous ses programmes, c'est
en même temps, je le comprends, vu que tu es incapable de reconnaître qu'il faut faire évoluer un standard. Un standard permet pas de faire un truc ? Bah on fait pas alors, hors de question de changer le standardHeu y'a 2 extrémistes la. un standard on peut le changer mais il faut avoir une raison suffisante et en essayant d'éviter au mieux les problèmes d'incompatibilité(un peu comme le passage du HTML au XHTML justement)
Kevin:Certes c'est pas totalement faux.On ne t'oblige à rien, la touche "Suppr", ça existe.ouééééé "M$" se fait condamner par l'UE pour avoir fait la même chose, je te signale.
Flanker> tes remarque sont plus ou moins justifiés mais la réponse c'est que maintenant que le format à été fixé, c'est un peu tard pour le changer.
Créer une incompatibilité pour gagner 10 octets pour des programmes qui dépassent de plus en plus souvent le Ko, c'est trop cher payé.
4 octets donnent toujours une probabilité assez grande de faux positifs, c'est une ou deux instructions, ou 4 caractères d'une chaîne de caractères, ou une ligne d'un sprite 32×32. A priori, on ne sait même pas s'il y a du code ou des données à cet endroit.
255, c'est peu!
En échange, la taille du lanceur a été réduite de 546 octets, et il y a encore des optimisations en cours.c'est pas une raison pour bloater les programmes :/
2. Tu n'as qu'à corriger tes TSRs, ça fera des programmes à patcher en moins. Les miens et ceux de Samuel Stearley sont déjà corrigés depuis longtemps.
Kevin Kofler
:PolluxPas sûr...
: Mouais enfin même en se restreignant à des numéros "parlants", 256 versions x 256 révisions devraient largement suffire...
Rappelle-moi, y en a eu combien pour l'instant ?
Et tu définis COMMENT_BW_ICON comment? Tu utilises un symbole interne à GTC?
Sasume:
Parc que là, tu me fais vraiment penser à geogeo...
I. Badly-designed RAM_CALLs - avoid these at all costs! ------------------------------------------------------- The following RAM_CALLs are really badly designed. They don't quite serve their intended purpose, so it is very unwise to use them. Don't. +----------------+---------------------------------------------------+---------------------------+ | Name | Badly designed because | Use instead | +----------------+---------------------------------------------------+---------------------------+ | RegisterVector | Kernel mode is not a good choice for TSRs. If you | _nostub mode | | | use any "function RAM_CALLs" in your kernel-based | | | | TSRs, they will unavoidably either crash or get | | | | forcefully uninstalled (leaking memory) when the | | | | kernel gets uninstalled. This also affects the | | | | conditional lib RAM_CALLs, so you can't use any | | | | libraries. So why are you using kernel mode in | | | | the first place? | | +----------------+---------------------------------------------------+---------------------------+
Pollux
:Rappelle-moi, y en a eu combien pour l'instant ?
3. C'est nul, les TSRs en kernel. Pourquoi? Ben, c'est simple:
+-------------------------------------+--------------------------------------------------+ | Name(s) | Use the following ROM_CALLs instead | +-------------------------------------+--------------------------------------------------+ | font_medium, font_small, font_large | DrawStr, DrawChar, DrawClipChar, DrawStrWidth | +-------------------------------------+--------------------------------------------------+
Flanker
:3. C'est nul, les TSRs en kernel. Pourquoi? Ben, c'est simple:dis, tu n'espères quand même pas m'apprendre des trucs sur les tsr en kernel ? je pense que je connais mieux que toi ce sujet
Kevin Kofler
:Pollux
:Rappelle-moi, y en a eu combien pour l'instant ?
Ce n'est pas exclusivement de ma faute qu'il y en a eu si peu, le problème est que quand je demande du feedback (par exemple, on me demande de changer quelque chose, je le fais, je demande si c'est bon), ben le feedback n'arrive pas...Et je finis par oublier, à force d'attendre le feedback que j'ai demandé...
![]()
Pollux :
./98>
Tu nous feras tjs autant rire Kevin
Et c'est quoi cette histoire de leak avec les RAM_CALLs ?
Kevin Kofler
:Pollux :Ce n'est pas drôle! C'est totalement sérieux comme problème. Déjà reporté à PpHd, il a avoué qu'il y a un problème, mais n'a pas changé le design pour le corriger.
./98>
Tu nous feras tjs autant rire Kevin
Et c'est quoi cette histoire de leak avec les RAM_CALLs ?
Le TSR kernel appelle un "function RAM_CALL", c'est-à-dire une fonction qui est dans le kernel. Le kernel est désinstallé. Tu fais quoi?
a. Rien. => Plantage, parce que le pointeur de fonction vers lequel on saute n'est plus valide.
b. Tu restaures tous les vecteurs de AMS en désinstallant le kernel. => Leak de mémoire, le handle du TSR est perdu, plus rien ne pointe vers ce handle.
Lionel Debroux
: Again, en plus explicite: quelle est la faisabilité d'ajouter à TIGCC un moyen de mettre les commentaires AMS native à la fin du PPG (partie non compressée, après la fin des données compressées, juste avant les tags), au lieu de les inclure dans la partie compressée ? Cela donne directement l'intérêt du truc ou pas: si ça n'est pas supporté par TIGCC, aucun intérêt, on arrête d'en parler.
Mon idée est de lire et copier les commentaires lors de la compression. Pas déplacer, mais copier. C'est beaucoup plus simple.On ne peut pas les enlever du programme compressé? Ca compliquerait un peu mais ça ferait une économie de place non négligeable.
Toi, tu ne gères pas le standard complet, alors c'est facile pour toi... Les commentaires peuvent se trouver n'importe où dans le programme.J'ai rapidement lu la spécifiaction il y a longtemps.
Lionel Debroux :
#111: je pense également que c'est la solution la plus simple. Evidemment, ça gaspille de la place, mais on n'a rien sans rien. Quand peut-on espérer l'implémenter dans TIGCC ?