1

j'aimerais savoir, où est ce que la ti stocke toutes les representations de son code ascii ?
euh...

2

<troll>
Si tu programmes en kernel, tu as des _RAM_CALL pour ça : tios::font_medium/small/large smile
</troll>

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

3

... oui d'accord mais ce que je veux, c'est ne pas perdre de la place en stockant a nouveau dans la ram les sprites du code ascii
la ti a bien ca quelque part sous forme de sprite non?
euh...

4

<troll>
Si tu programmes en kernel, tu as des _RAM_CALL pour ça : tios::font_medium/small/large
</troll>
ces RAM_CALL permettent justement d'accéder directement aux sprites
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

5

ah bon ?? et comment ca marche ?
euh...

6

en C, je connais pas la syntaxe. Je sais juste que tios::font_medium est un pointeur vers les sprites de la taille moyenne.
Peut-être que void * monpointeur = tios::font_medium marche, tout simplement. Regarde la doc de PreOS, il y a fichier RAM_cALL.txt
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

7

Tiens, j'avais ça dans mon TODO pour GTC ^^

Je crois que malheureusement les RAM_CALLs ne sont que ds le fichier de PpHd, et qu'il y a des incompatibilités +/- volontaires avec TIGCCLib...

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

8

ah merci en fait ca fait une heure que je cherche dans les sources de preos

et en asm68k ca fait quoi ?
move.l tios::font_medium,%a0 ?
euh...

9

vi ^^

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

10

hum c'est pas plutôt move.l #tios::font_medium, %a0 ?
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

11

euh, si grin

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

12

Accéder directement aux fontes est un hack affreux. Utilise DrawStr pour afficher du texte.
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é

13

Un hack affreux en nostub, oui cheeky

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

14

Un hack affreux en kernel aussi. Sauf que le kernel essaye de faire abstraction du fait que c'est un hack. Chose qui foire lamentablement sur la Titanium.
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é

15

Euh, ça c'est faux. C'était un défaut de conception classique et connu, corrigé depuis belle lurette, et bidoo n'aura aucun pb s'il n'inclut pas des headers préhistoriques... (et même ce défaut de conception, c'est facile de le corriger, ça prend juste une 50aine d'octets dans le kernel... en nostub, ça aura été obligatoire de tout patcher ou recompiler manuellement)

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

16

Pollux
: Euh, ça c'est faux. C'était un défaut de conception classique et connu, corrigé depuis belle lurette, et bidoo n'aura aucun pb s'il n'inclut pas des headers préhistoriques...

Headers "préhistoriques" qui sont livrés avec TIGCC dernière édition. Et je ne vois pas d'autre solution acceptable pour TIGCC que de supprimer carrément ces equ, vu que l'alternative n'est pas portable (PreOs/Iceberg only).

Et enfin, des programmes comme Solar utilisaient ce hack sans les macros! (Cf. mon explication pourquoi mon essai de correction dans Iceberg ne marchait pas pour Solar, il y a des adda.w #$800,%an explicits!) Donc changer le header ne servirait à rien pour Solar.
(et même ce défaut de conception, c'est facile de le corriger, ça prend juste une 50aine d'octets dans le kernel...

As-tu lu la discussion? Il est impossible de corriger ça dans le cas général sans gaspiller de la mémoire. (Et c'est de la RAM qu'il faut gaspiller si on ne veut pas avoir des problèmes avec la réorganisation de l'archive.)
en nostub, ça aura été obligatoire de tout patcher ou recompiler manuellement)

Pas si on utilise les APIs documentées, c'est-à-dire DrawStr, plutôt que ce hack.

Et sinon, les APIs documentées de AMS 2 permettent aussi de récupérer proprement les adresses des fontes. Cf. la routine de Lionel Debroux (qui inclut aussi un hack pour AMS 1 et une API spéciale (qui ressemble assez à un hack, mais c'est documenté et officiel) de PedroM pour PedroM). Si vraiment tu veux récupérer les adresses des fontes, utilise la routine de Lionel!
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é

17

Kevin Kofler
:
Pollux
: Euh, ça c'est faux. C'était un défaut de conception classique et connu, corrigé depuis belle lurette, et bidoo n'aura aucun pb s'il n'inclut pas des headers préhistoriques...

Headers "préhistoriques" qui sont livrés avec TIGCC dernière édition. Et je ne vois pas d'autre solution acceptable pour TIGCC que de supprimer carrément ces equ, vu que l'alternative n'est pas portable (PreOs/Iceberg only).

Si "acceptable pour TIGCC" = "qui défavorise au max le mode kernel", tu as tout à fait raison smile
Et enfin, des programmes comme Solar utilisaient ce hack sans les macros! (Cf. mon explication pourquoi mon essai de correction dans Iceberg ne marchait pas pour Solar, il y a des adda.w #$800,%an explicits!) Donc changer le header ne servirait à rien pour Solar.

Ah ben là c de la faute de Solar, pas du kernel... Si je copie-colle les headers de TIGCC 0.91, que je les porte pour la dernière beta de TIGCC, ce ne sera pas de ta faute si mon prog est incompatible Titanium...
[cite]
(et même ce défaut de conception, c'est facile de le corriger, ça prend juste une 50aine d'octets dans le kernel...

As-tu lu la discussion? Il est impossible de corriger ça dans le cas général sans gaspiller de la mémoire. (Et c'est de la RAM qu'il faut gaspiller si on ne veut pas avoir des problèmes avec la réorganisation de l'archive.)[/font]
Tout est dit. Les progs buggés sont buggés, tant pis pour eux.
en nostub, ça aura été obligatoire de tout patcher ou recompiler manuellement)

Pas si on utilise les APIs documentées, c'est-à-dire DrawStr, plutôt que ce hack.

... du grand Kevin Kofler, merci ...
Et sinon, les APIs documentées de AMS 2 permettent aussi de récupérer proprement les adresses des fontes. Cf. la routine de Lionel Debroux (qui inclut aussi un hack pour AMS 1 et une API spéciale (qui ressemble assez à un hack, mais c'est documenté et officiel) de PedroM pour PedroM). Si vraiment tu veux récupérer les adresses des fontes, utilise la routine de Lionel!

Je vois pas pkoi qd c la routine de Lionel qui récupère les fontes, c propre, alors que si le kernel implémente une méthode similaire, c sale confus (méthode qui pourra évoluer avec les mises à jour d'AMS et/ou du hard, soit dit en passant...)

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

18

Pollux
:
Kevin Kofler
:
Pollux
: Euh, ça c'est faux. C'était un défaut de conception classique et connu, corrigé depuis belle lurette, et bidoo n'aura aucun pb s'il n'inclut pas des headers préhistoriques...

Headers "préhistoriques" qui sont livrés avec TIGCC dernière édition. Et je ne vois pas d'autre solution acceptable pour TIGCC que de supprimer carrément ces equ, vu que l'alternative n'est pas portable (PreOs/Iceberg only).

Si "acceptable pour TIGCC" = "qui défavorise au max le mode kernel", tu as tout à fait raison smile

"acceptable pour TIGCC" == "portable" != "PreOs (et forks de PreOs) only"
Et enfin, des programmes comme Solar utilisaient ce hack sans les macros! (Cf. mon explication pourquoi mon essai de correction dans Iceberg ne marchait pas pour Solar, il y a des adda.w #$800,%an explicits!) Donc changer le header ne servirait à rien pour Solar.
Ah ben là c de la faute de Solar, pas du kernel...

Je suis bien d'accord, mais du coup, je me suis fait taper dessus par les fanatiques du forum TimeToTeam parce que j'ai osé traîter un de leurs dieux d'"incompétent"...

Et ça ne résout quand-même pas mon problème (faire marcher Solar sur Titanium+Iceberg)... sad
(et même ce défaut de conception, c'est facile de le corriger, ça prend juste une 50aine d'octets dans le kernel...

As-tu lu la discussion? Il est impossible de corriger ça dans le cas général sans gaspiller de la mémoire. (Et c'est de la RAM qu'il faut gaspiller si on ne veut pas avoir des problèmes avec la réorganisation de l'archive.)
Tout est dit. Les progs buggés sont buggés, tant pis pour eux.

Je vais probablement mettre ma détection des macros DoorsOS dans Iceberg (j'ai déjà la version de Iceberg qui fait ça, ne reste qu'à la tester sur un programme qui utilise ces macros et la sortir) et patcher Solar individuellement (le readme dit même explicitement qu'on a le droit de distribuer des versions modifiées, mais il n'y a quand-même pas les sources sick - <SARCASM>vive</SARCASM> les logiciels en théorie libres, mais qui vous obligent à modifier des binaires).
en nostub, ça aura été obligatoire de tout patcher ou recompiler manuellement)

Pas si on utilise les APIs documentées, c'est-à-dire DrawStr, plutôt que ce hack.
... du grand Kevin Kofler, merci ...

what
Il y en a ici qui n'ont toujours pas compris ce qu'est une API et ce qu'est un hack...
Et sinon, les APIs documentées de AMS 2 permettent aussi de récupérer proprement les adresses des fontes. Cf. la routine de Lionel Debroux (qui inclut aussi un hack pour AMS 1 et une API spéciale (qui ressemble assez à un hack, mais c'est documenté et officiel) de PedroM pour PedroM). Si vraiment tu veux récupérer les adresses des fontes, utilise la routine de Lionel!

Je vois pas pkoi qd c la routine de Lionel qui récupère les fontes, c propre, alors que si le kernel implémente une méthode similaire, c sale confus (méthode qui pourra évoluer avec les mises à jour d'AMS et/ou du hard, soit dit en passant...)

Parce que la routine de Lionel utilise des routines documentées de AMS >=2.00 pour récupérer les fontes utilisées par AMS (qui peuvent aussi être modifiés avec ROMedit ou redirigés par une FlashApp, d'ailleurs), alors que le kernel utilise un hack pour trouver les fontes du boot (pour la même raison qui cause aussi les problèmes avec la Titanium: les offsets fixes entre les fontes attendus par les programmes).
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é

19

<SARCASM>vive</SARCASM> moi
avatar
I'm on a boat motherfucker, don't you ever forget

20

c'est vrai quoi, pourquoi ne pas utiliser DrawStr, elle est seulement fois plus lente !
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

21

>Je crois que malheureusement les RAM_CALLs ne sont que ds le fichier de PpHd, et qu'il y a des incompatibilités +/- volontaires avec TIGCCLib...
Lesquelles ? S'il programme en assembleur aucune, et s'il programme en C, je n'inclut plus tigcclib.

>Headers "préhistoriques" qui sont livrés avec TIGCC dernière édition.
C'est bien la preuve que tigcclib est outdated.

>Et je ne vois pas d'autre solution acceptable pour TIGCC que de supprimer carrément ces equ, vu que l'alternative n'est pas portable (PreOs/Iceberg only).
dit Kevin qui veut faire du nostub meme en mode kernel.

>Et enfin, des programmes comme Solar utilisaient ce hack sans les macros! (Cf. mon explication pourquoi mon essai de correction dans Iceberg ne marchait pas pour Solar, il y a des adda.w #$800,%an explicits!) Donc changer le header ne servirait à rien pour Solar.
Oui. C'est mal.

>"acceptable pour TIGCC" == "portable" != "PreOs (et forks de PreOs) only"
Tu n'as qu'a forker doorsos et teos pour mettre ces ramcalls.

>Et ça ne résout quand-même pas mon problème (faire marcher Solar sur Titanium+Iceberg)...
Faut pas exagerer, il reste parfaitement jouable sur Titanium.
Ca fait meme jeu japonais top

>Il y en a ici qui n'ont toujours pas compris ce qu'est une API et ce qu'est un hack...
Utiliser la routine de Lionel est un hack. Utiliser les ramcalls est une API.

>que le kernel utilise un hack pour trouver les fontes du boot
Mais il les trouve bien smile

22

PpHd :
>Headers "préhistoriques" qui sont livrés avec TIGCC dernière édition. C'est bien la preuve que tigcclib est outdated.

C'est doorsos.h seulement qui est affecté, et ce header n'a rien à voir avec TIGCCLIB. TIGCCLIB ne déclare pas du tout ce hack.
>Et je ne vois pas d'autre solution acceptable pour TIGCC que de supprimer carrément ces equ, vu que l'alternative n'est pas portable (PreOs/Iceberg only). dit Kevin qui veut faire du nostub meme en mode kernel.

Non, mais je dis que les programmes sortis par TIGCC doivent marcher aussi avec Universal OS, TeOS et DoorsOS II. Je trouve déjà limite qu'on puisse sortir des programmes incompatibles avec PlusShell et DoorsOS I (déclaration de ROM_VERSION dans doorsos.h et TIGCCLIB, déclaration de Heap, FolderListHandle et MainHandle dans doorsos.h).
>Il y en a ici qui n'ont toujours pas compris ce qu'est une API et ce qu'est un hack... Utiliser la routine de Lionel est un hack. Utiliser les ramcalls est une API.

Non, la routine de Lionel utilise une API documentée de AMS 2 pour obtenir les adresses des fontes (OO_*), PreOs fait une recherche d'une séquence de 4 octets dans la ROM et prend la première adresse contenant cette séquence (un hack).
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é

23

>PreOs fait une recherche d'une séquence de 4 octets dans la ROM et prend la première adresse contenant cette séquence (un hack).
Si seulement c'etait le hack le moins portable utilise par Preos...

>Je trouve déjà limite qu'on puisse sortir des programmes incompatibles avec PlusShell et DoorsOS I (déclaration de ROM_VERSION dans doorsos.h et TIGCCLIB, déclaration de Heap, FolderListHandle et MainHandle dans doorsos.h).
Tu connais ma reponse: #define #MIN_KERNEL...

24

MIN_KERNEL n'est pas faisable. Qui dit MIN_* dit test dans le code de démarrage (sinon TeOS -> plantage), et il n'y a pas de manière fiable de détecter le nombre de RAM_CALLs exportés par le kernel. Chaque kernel utilises son propre système de versionnage, et on devrait donc gérer toutes les combinaisons possibles de identifiant + version.
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é

25

sinon TeOS -> plantage

TeOS est buggué à ce niveau là, donc tu n'as pas à en tenir compte.
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

26

Le test des ramcalls, c'est au kernel de le faire #grr# Et tu n'as pas a tenir compte des kernels buggues comme Teos a ce niveau !

27

Kevin Kofler
:
Pollux
:
Kevin Kofler
:
Pollux
: Euh, ça c'est faux. C'était un défaut de conception classique et connu, corrigé depuis belle lurette, et bidoo n'aura aucun pb s'il n'inclut pas des headers préhistoriques...

Headers "préhistoriques" qui sont livrés avec TIGCC dernière édition. Et je ne vois pas d'autre solution acceptable pour TIGCC que de supprimer carrément ces equ, vu que l'alternative n'est pas portable (PreOs/Iceberg only).

Si "acceptable pour TIGCC" = "qui défavorise au max le mode kernel", tu as tout à fait raison smile
"acceptable pour TIGCC" == "portable" != "PreOs (et forks de PreOs) only"

Bah non. Je vois pas pkoi il faudrait que le mode kernel se tape toutes les incompatibilités bugs des vieux kernels... Tu peux aussi imposer la compatibilité Fargo en mode kernel, pendant que t'y es gol
Et enfin, des programmes comme Solar utilisaient ce hack sans les macros! (Cf. mon explication pourquoi mon essai de correction dans Iceberg ne marchait pas pour Solar, il y a des adda.w #$800,%an explicits!) Donc changer le header ne servirait à rien pour Solar.
Ah ben là c de la faute de Solar, pas du kernel...
Je suis bien d'accord, mais du coup, je me suis fait taper dessus par les fanatiques du forum TimeToTeam parce que j'ai osé traîter un de leurs dieux d'"incompétent"...

Ben ils ont bien raison, parce que c pas parce qu'il y a un bug dans un prog de Brian qu'il est incompétent neutral Ou alors toi aussi tu es totalement incompétent tongue
Et ça ne résout quand-même pas mon problème (faire marcher Solar sur Titanium+Iceberg)... sad

Bah, sortir une version patchée me paraît le meilleur moyen de faire...
(et même ce défaut de conception, c'est facile de le corriger, ça prend juste une 50aine d'octets dans le kernel...

As-tu lu la discussion? Il est impossible de corriger ça dans le cas général sans gaspiller de la mémoire. (Et c'est de la RAM qu'il faut gaspiller si on ne veut pas avoir des problèmes avec la réorganisation de l'archive.)
Tout est dit. Les progs buggés sont buggés, tant pis pour eux.

Je vais probablement mettre ma détection des macros DoorsOS dans Iceberg (j'ai déjà la version de Iceberg qui fait ça, ne reste qu'à la tester sur un programme qui utilise ces macros et la sortir) et patcher Solar individuellement (le readme dit même explicitement qu'on a le droit de distribuer des versions modifiées, mais il n'y a quand-même pas les sources sick - <SARCASM>vive</SARCASM> les logiciels en théorie libres, mais qui vous obligent à modifier des binaires).

Oui, très bien. De tte façon, t'as pas vraiment le choix...
en nostub, ça aura été obligatoire de tout patcher ou recompiler manuellement)

Pas si on utilise les APIs documentées, c'est-à-dire DrawStr, plutôt que ce hack.
... du grand Kevin Kofler, merci ...

what Il y en a ici qui n'ont toujours pas compris ce qu'est une API et ce qu'est un hack...

Tu crois sincèrement que TI va un jour supprimer définitivement ses polices bitmap de la ROM et passer à un format vectoriel ? confus
Je vois pas en quoi l'API de PreOS constitue un hack, explique....
Et sinon, les APIs documentées de AMS 2 permettent aussi de récupérer proprement les adresses des fontes. Cf. la routine de Lionel Debroux (qui inclut aussi un hack pour AMS 1 et une API spéciale (qui ressemble assez à un hack, mais c'est documenté et officiel) de PedroM pour PedroM). Si vraiment tu veux récupérer les adresses des fontes, utilise la routine de Lionel!

Je vois pas pkoi qd c la routine de Lionel qui récupère les fontes, c propre, alors que si le kernel implémente une méthode similaire, c sale confus (méthode qui pourra évoluer avec les mises à jour d'AMS et/ou du hard, soit dit en passant...)

Parce que la routine de Lionel utilise des routines documentées de AMS >=2.00 pour récupérer les fontes utilisées par AMS (qui peuvent aussi être modifiés avec ROMedit ou redirigés par une FlashApp, d'ailleurs), alors que le kernel utilise un hack pour trouver les fontes du boot (pour la même raison qui cause aussi les problèmes avec la Titanium: les offsets fixes entre les fontes attendus par les programmes).

Ah, c possible que le kernel lui-même utilise un hack. Et alors ? A la limite je m'en fous, c l'intérêt du kernel, si ça se met à foirer, il suffit d'upgrader le kernel... (cela dit, je serais plutôt d'accord avec toi sur la méthode à employer : mais c le pb de PreOS, pas des progs qui l'utilisent smile)

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

28

kevin, tu ne peux pas nier que drawchar est hyper lent !!!
cette routine est inutilisable pour afficher des textes assez long
euh...

29

PpHd :
>PreOs fait une recherche d'une séquence de 4 octets dans la ROM et prend la première adresse contenant cette séquence (un hack).
Si seulement c'etait le hack le moins portable utilise par Preos...


c vrai ??? mais j'ai essayé dix fois et sans succés avec ca :
void _main(void)
{
while (GetArgType (top_estack) != END_TAG)  
  top_estack = next_expression_index (top_estack);
  top_estack--;
unsigned char truc[8]=
{
0b00111000,
0b01000100,
0b01000100,
0b01111100,
0b01000100,
0b01000100,
0b01000100,
0b01000100};
push_END_TAG();
long i;
  for(i=0;i<0x40000;i+=2)
  if(peek(i)==truc[0] && peek(i+1) ==truc[1] && peek(i+2)==truc[2] && peek(i+3)==truc[3] && peek(i+4)==truc[4] && peek(i+5)==truc[5] && peek(i+6)==truc[6] && peek(i+7)==truc[7])push_longint(i);
push_LIST_TAG ();
return;
}

euh...

30

bidoo :
kevin, tu ne peux pas nier que drawchar est hyper lent !!!

euh, il en serait bien capable hehe

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)