Etant donné que, depuis la rentrée, énormément de questions sont posées par des gens qui n'arrivent pas à lancer de jeux en Assembleur ou en C sur leur TI-89 Titanium, demandant à quoi cela est du et comment y remédier, voici une réponse qui se veut la plus complète possible.


Introduction :

Tout d'abord, étant donné que, à la date de rédaction de cet article (Septembre 2004), la TI-89 Titanium est sortie il y a assez peu de temps, assez peu de programmes ont été développés spécifiquement pour cette machine... Et, malheureusement, la quasi-totalité des programmes déjà existants pour TI-89 (non Titanium) ne peuvent pas tourner sur celle-ci sans artifice ; pour déterminer si le programme est compatible, s'il n'est pas explicitement précisé que c'est le cas, la meilleure solution est de le tester, et de déterminer s'il fonctionne ou non, ce qui sera généralement le cas, à condition d'utiliser les bons outils, que je vais ici vous présenter.

Au cours de cette réponse, je donnerai, lorsque je le pourrai, les liens vers les sites où télécharger les programmes qui peuvent vous être utiles, ainsi que les liens vers les fichiers en téléchargement direct ; je vous conseille de toujours passer par le site, et de télécharger vous-même la dernière version du programme qui vous interesse, plutot que d'utiliser les liens direct mis ici à votre disposition.
En effet, il se peut que le programme qui vous interesse ait été mis à jour sans que je le remarque, et que, donc, les liens direct ici proposés ne pointent plus vers la dernière version de chaque programme.



1: Installer HW3Patch :

Tout d'abord, en vue de permettre à certains programmes de fonctionner, il peut vous être nécessaire installer HW3Patch, développé par Kevin Kofler, et disponible en version 1.00 :
Site de Kevin Kofler
Lien direct pour le Téléchargement
Ce programme permet de patcher AMS (Advanced Mathematic Software, le système d'exploitation de la calculatrice) afin que l'exécution de programmes des types suivants soit rendue possible :[ul][li]TSR (Terminated and Stay Resident - Programmes fonctionnant en tâche de fond, permettant, par exemple, l'ajout de fonctionnalités)[/li][li]Installation d'un kernel[/li][li]Utilisation de Dll en nostub ou de programmes exploitant les trampolines (programmes assez rares)[/li][/ul]Avant de l'installer, veillez à consulter le fichier readme.txt, qui vous indiquera comme l'installer, le désinstaller, ainsi que quelques opérations qu'il ne faut pas faire une fois qu'il est installé.
Installation : Envoyez le fichier hw3patch.89z à votre calculatrice, tapez hw3patch(), et appuyez sur ENTER.



2: Installer un Kernel :

Si votre programme est en mode kernel (ce qui est généralement précisé dans la documentation : il est dit qu'il a besoin de TeOS, DoorsOS, UniversalOS, ou preOS ; preOS étant le plus récent et le plus performant), il va vous falloir installer un kernel. Deux solutions s'offrent à vous :

La première est d'utiliser le kernel nommé preOS, développé par Patrick Pelissier (PpHd), actuellement disponible en version 1.0.1 :
Site de la TimeToTeam
Lien direct pour le Téléchargement
Une fois preOS téléchargé, pensez à lire les fichiers d'aide inclus dans le zip, afin de savoir quoi envoyer sur votre calculatrice, comment installer preOS, et quelles sont ses principales caractéristiques.
Installation : Envoyez les fichier preos.89z et stdlib.89z sur votre calculatrice et archivez les ; Ensuite, vous n'avez plus qu'à taper preos() et pressez la touche ENTER pour installer.
Remarque : PreOS étant un kernel, le Patch HW3Patch devra être installé avant d'installer PreOS.

La seconde est d'utiliser le kernel nommé Iceberg, développé par Kevin Kofler ; il s'agit d'une adaptation de la version O.67 de preOS :
Lien direct pour le Téléchargement
Ici encore, pensez à lire l'aide incluse avant d'installer le programme, de façon à savoir quoi installer, en comment.
Installation : Envoyez le fichier iceberg.89z sur votre calculatrice, tapez iceberg(), et appuyez sur ENTER.
Remarque : Iceberg étant un kernel, le Patch HW3Patch devra être installé avant d'installer Iceberg.

Il est à noter que si vous n'utilisez pas le moindre programme en mode kernel, il n'est pas nécessaire d'installer un kernel. Cela dit, cela ne causera pas le moindre tord à votre calculatrice, et vous évitera d'avoir à en chercher un le jour où vous en aurez besoin.



3: Patcher son Programme :

Si le programme n'a pas été adapté à la TI-89 Titanium, pour le faire fonctionner, il peut être nécessaire de le patcher. Ici encore, vous avez deux solution :

- Si vous utilisez preOS 1.0.1, un patcheur est inclu dans le kernel et patche automatiquement certains programmes lorsque vous les lancez.
Le patcheur de PreOS est censé fonctionner pour tous les programmes et librairies en mode kernel. Cependant,il ne fonctionne pas pour les programmes nostub ; pour ceux-là, reportez vous au second point, concernant Iceberg.

- Si vous utilisez Iceberg ou que votre programme n'a pas pu être patché par preOS 1.0.1, il va vous falloir utiliser GhostBuster, développé par Oliver Armand (ExtendeD) et Kevin Kofler, et disponible sur le site de Kevin Kofler, dont l'adresse a été donnée un peu plus haut. Attention, si le programme est compressé, c'est le programme compressé qu'il faut patcher (le fichier PPG), et non le lanceur, qui ne vous sera pas utile, car remplacé par GhostBuster.
Lien direct pour le Téléchargement
Utilisation possible : Sur la calculatrice, ghostb("<infile>", "<outfile>" ) puis un appui sur la touche ENTER. Notez que ce programme peut être utilisé de nombreuses façons différentes, décrites en détails dans le fichier readme.
Remarque : Si vous utiliser Ghostbuster, il est conseillé, du moins pour les programmes pour lesquels il n'est pas explicitement précisé qu'ils sont compatibles avec la TI-89 Titanium, de les lancer en utilisant Ghostbuster, afin d'éviter tout problème en cas d'incompatibilité. Si le programme était déjà compatible, Ghostbuster ne fera rien et permettra le lancement normal du programme.




Sources :

- yAronet, pour le Forum TI, et, plus particulièrement, la Section Questions TI, dans laquelle de nombreuses réponses au sujet de la TI89 Titanium ont déjà été formulées.
- Site de la TimeToTeam pour preOS.
- Site de Kevin Kofler pour Iceberg et GhostBuster.
- Fichiers d'aide inclus dans les différents programmes ici cités.
- Pour une liste des types de programmes risquant de ne pas fonctionner de manière native, vous pouvez consulter cet article de la FAQ de Patrick Davidson (En anglais).


Remerciements :

- Olivier Armand (ExtendeD), pour avoir accepté de relire cet article, et pour les corrections et précisions qu'il y a apporté.
- Les Auteurs des sources citées ci-dessus.
- Les nombreuses personnes ayant apporté des éléments de réponse, que ce soit sur les forums ou sur IRC.


Licence :

Couple Question/Réponse destiné à :
- La FAQ de mon site (http://www.squalenet.net)
- Etre utilisé en Annonce sur la section Questions du forum TI sur yAronet ()

Distribution autorisée seulement dans les deux cas cités ci-dessus.

Re-distribution autorisée seulement dans les deux cas suivants :
- Sous forme de lien pointant vers l'article soit sur mon site (http://www.squalenet.net/faq.php#2), soit sur le Forum TI de yAronet (topics/49389-probleme-de-lancement-de-programme-sur-ti-89-titanium-lisez-ceci-4)
- Sous forme de citations brèves, en citant l'origine.

[MAJ] squale92, le 03/11/04 : passage de preOS 0.70 à preOS 0.71.
[MAJ] squale92, le 15/06/05 : passage de preOS 0.71 à preOS 1.0.1.
avatarTutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall