En tant que membre de l'équipe de
TIGCC, je me vois obligé de répondre:
>Nitro:
>il contient quelques merveilles : le source-level debugger, qu'on n'est pas pret de voir dans TI-GCC
C'est prévu dans
TIGCC, mais il est vrai qu'il reste beaucoup de progrès à faire.
>l'optimisation des rom-calls en "line emulator" (2 octets par rom calls)
Compatible avec AMS 2.04/2.05 seulement (ou alors en émulation avec
Line1111 de Paxal). On ne compte pas rajouter cela.
>les nouvelles fonctions d'AMS 2 qui sont super pratiques
Oui, mais AMS 2 uniquement.
>en particulier la gestion des fichiers
1. Je trouve que
vat.h est la manière la plus simple de manipuler des fichiers.
2. Il y a des fonctions de gestion de fichier compatibles ANSI (pas seulement style ANSI comme celles de AMS 2) dans
TIGCCLIB.
>de plus le compilateur Sierra est excellent, et permet de faire des choses qui ne sont pas possibles avec TI-GCC, et que JM a du rajouter à coups de patchs PalmOS et Amiga pour Win/LiteOS.
À part le passage de registres (Leur compilateur le supporte-t-il? Ça m'étonnerait!), je ne vois pas ce que tu veux dire. Et on veut bien le mettre si quelqu'un nous donne un patch pour GCC 3.0.2 ou encore mieux 3.0.3 (pas pour 2.9.5 comme dans
GCC-LiteOS - il est hors de question de revenir en arriere comme ça) qui le fait.
Et puis:
- le compilateur
Sierra optimise moins bien que
GCC.
- le SDK de TI ne permet pas les variables globales dans les programmes en RAM (du moins selon la documentation).
TIGCC n'a pas de problèmes avec ça.
>J'ai vu que Sebastian travaillais sur le debugger pour TIGCC, et qu'il avait l'intention de modifier VTI ? C'est vraiment pas la bonne méthode, c'est meme plutot stupide,
Moi, je trouve que c'est une très bonne manière d'avoir vite un bon débogueur pour
TIGCC. Seul problème: ça sera
Win32 uniquement. Mais c'est le cas pour
TIGCC IDE en entier de toute façon. Et puis, il y aura les sources, donc quelqu'un pourra l'intégrer dans d'autres émulateurs (comme
GtkTiEmu) une fois qu'on a fini avec
VTI.
>il suffirait d'arranger un peu le stub GDB M68K pour utiliser le port i/o, et faire un tunnel TI-Graph Link - TCP/IP pour utiliser GDB (avec Insight, ou DDD, etc...)
Je sens que ça va être le bordel! Les sources des programmes GNU sont extrèmement compliquées. Et puis, il n'y a pas seulement le port I/O, il y a aussi les 4 types de câbles différents (gris, noir ou série maison, parallèle, USB) du côté du PC à supporter. Et du
TCP/IP sur port I/O... c'est vraiment n'importe quoi. (Tu comptes utiliser
TinyTCP version TI? Je te signale que c'est pour câble gris uniquement... Et que c'est pour terminal uniquement pour l'instant (pas pour des programmes comme
GDB). Il reste donc beaucoup de travail à faire.) Adapter
VTI est beaucoup plus réaliste comme projet. Si ton idée est tellement facile, tu n'as qu'à l'implémenter toi-même.

On se revoit en l'an 2042...
>Et pour ceux qui voudraient rester dans TIGCC-IDE il suffirait de le modifier pour lire directement les données du graph link et se reperer dans les sources avec le .o coff produit en mode debug.
Encore un travail de fous à rajouter à ton projet déjà surchargé...
>Non seulement ça marcherait avec VTI, mais aussi avec n'importe quel autre émulateur et surtout avec la vraie calculatrice... Enfin bon c'est juste une idée
Une idée très bête. On se demande ce que tu as fumé... Ou

...
>ZdRUbAl:
>C'est dommage, en effet, surtout que la documentation est assez complète
Tu as oublié le petit préfixe "in-" devant "complète".

Franchement, selon Zeljko, et selon ce que j'ai pu constater moi-même, il manque plein de choses là-dedans. Par exemple, ils ne perdent même pas une ligne sur
EV_hook. Et il y a beaucoup moins d'explications sur les fonctions de base que dans notre documentation.
>Personnellement je l'utilise lorsque TIGCC ne suffit pas (APP-Flash ...).
Et tu les signes comment, tes Apps Flash?

On
ne peut
pas créer des applications Flash avec
TI-FlashStudio à moins de réussir à convaincre TI de les signer (et personne n'a encore réussi à part 2 ou 3 entreprises commerciales).
>Thibaut: Tu crois que si on codait une librairie documentée avec pleins de fonction ANSI-C (comme TIGCClib) pour ce SDK, il serait beaucoup plus utilisé ?
Non. Il lui manque plein d'autres fonctions:
-
variables globales (dans les programmes en RAM)
- extensions GCC
- appels de
ROM_CALLs compatibles tous AMS
- compression automatique de programmes avec possibilité de programmes en RAM >24 KO
et on ne peut rien faire avec ça qu'on ne peut pas déjà faire avec
TIGCC (parce qu'on ne peut pas signer les applications Flash).
>Nitro:
>Je ne sais plus exactement, mais la documentation du compilateur/assembleur/linker est tres détaillée...
La nôtre aussi. Et si ça ne suffit pas, il y en a des pages sur
gnu.org.
>Et puis pour répondre à ta question, non je ne pense pas que beaucoup de monde utiliserait ce SDK, meme avec une libc, parce que TI-GCC est deja bien ancré dans les moeurs et de tte façon TI c'est toujours les méchants dans l'histoire
Il y a d'autres raisons pour lesquels ça ne remplacera jamais
TIGCC (du moins pas sans plusieurs changements radicaux).
>ZdRUbAl:
>D'un côté c'est un avantage, mais je reproche à la TIGCCLIB de n'inclure que les fonctions implémentées sur TOUTES les versions (Harware comme Software).
Correction: toutes sauf TI-92+ AMS 1.00.
Et comme en dit en anglais: "It's not a bug, it's a feature."
>Bon c'est vrai que les nouvelles fonctions de AMS 2.0x (pourcentages dans la barre de status ..) ne sont pas non plus très utiles
En effet.

Franchement, il y a certaines qui serviraient bien (version de AMS par exemple), mais on peut s'en passer.
>Nitro:
>je suis d'accord avec toi en ce qui concerne le désir absolu de la TIGCC Team de rester compatible avec les antiquités... Certes il y a des fonctions d'AMS 2 qui ne sont pas indispensables, mais par contre il y en a d'autres... comme par exemple, pour tokeniser un nom de fichiers en vérifiant qu'il est bien valide, dans SIDE essaie d'ouvrir une variable systeme
if (!strcmp(nom,"xScl") || !strcmp(nom,"yScl") || ... )
Il y a une liste de noms de variable système.
Ou alors passe par
push_parse_text:
TRY
push_parse_text(nom);
handle=HS_popEStack();
if (*(unsigned char *)HToESI(handle)>VAR_Q_TAG) ST_helpMsg("variable système")
HeapFree(handle);
ONERR
ST_helpMsg("variable système")
ENDTRY