Si je n'installe pas PreOS, le lancement d'un programme kernel se solde par un "kernel required". Comme ce sont les programmes qui génèrent ce message, je pense que les programmes sont bien lancés et que c'est PreOS qui déconne.

Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 :
www.ti-fr.com.
Quelques idées personnelles
ici.
AMS commence à l'exécuter, il y a un jsr dans le stub vers une adresse que le kernel hacke dans la table des vecteurs, et le kernel prend tout en main à partir de là.
Hmmm, verrouilles-tu bien le handle du programme que tu exécutes? Parce que si le bloc de mémoire n'est pas verrouillé, il peut bouger et paf, ça bogue.
Le SET_FILE_IN_USE_BIT ne fait rien quand le fichier n'est pas trouvé dans la VAT, et si c'est un handle à part, ça ne sert à rien de mettre le bit in-use de toute façon.
PpHd Le 31/10/2007 à 09:50 Mais alors pourquoi distribué une version limité ? Tu fais comme MS ? Tu brides artificiellement ?
Je ne sais plus pourquoi. Peut-être qu'Einstein fait appel à des fonctions qui n'existent pas sur AMS 1.

Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 :
www.ti-fr.com.
Quelques idées personnelles
ici.
PpHd Le 31/10/2007 à 10:52 J'ai recompilé Enstein en enlevant cette ligne :
//#define MIN_AMS 203 // Compile for AMS 2.03 or higher
Ca marche très bien...
Il lance les programmes kernel ??
Sous AMS Dude et moi certifions que ça ne marche pas.

Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 :
www.ti-fr.com.
Quelques idées personnelles
ici.
Si ça peut t'aider à dénicher la merde, la fonction qui lance les programmes est à la ligne 1029 de actions.c.

Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 :
www.ti-fr.com.
Quelques idées personnelles
ici.
PpHd Le 31/10/2007 à 17:45 Dans LancerExecutable, tu utilises malloc (HeapAllocPtr) pour copier en mémoire haute.
Tu ne peux pas l'utiliser car il stocke 2 octets aux début du handle pour ses fins, ce qui fait que le handle que tu donnes à éxécuter te correspond pas à un fichier valide (les deux premiers octets ne sont pas la taille du fichier, etc.)
Il faut utiliser HeapAlloc / HLock à la place.