π
<-

SDK TI-89/92+

Programmation et implémentation d'algorithmes.

SDK TI-89/92+

Unread postby critor » 22 Dec 2009, 01:35

Je viens de vous mettre en ligne le SDK officiel de TI, pour développer des applications ou programmes assembleur TI-89 et TI-92+.

http://tiplanet.org/index.php?mod=ar ... oirid=1461

Un bel outil en apparence:

Image


Et oui, ce SDK contient un émulateur de TI-89/92+.

Et s'il contient un émulateur, c'est qu'il contient aussi les ROMs.

Les deux ROMs incluents un système 2.05 avec boot code 1.07b35 sur un matériel HW2.


Les ROMs sont incluses dans les fichiers CLC (ti92plus.clc et ti89.clc).


Apparemment, ces fichiers CLC contiennent dans l'ordre:
- 9 octets d'en-tête
- la ROM de 2048Ko
- la RAM
- et d'autres trucs non identifiés...

Ce n'est pas grave pour les autres trucs, puisque la ROM est bien identifiée et délimitée.


Mais surprise...

Si je fais une comparaison hexadécimale de cette ROM avec une ROM ou un fichier 89U/9XU d'un système 2.05, il y a des différences...

Cela ressemble certes, mais il y a des différences régulières tout le long des 2048Mo...


Bref, les ROMs 2.05 incluent dans ce SDK (pour une raison que j'ignore) ne sont pas identiques à celles que l'on récupère sur une calculatrice...

J'ai pu me tromper dans l'extraction, mais apparemment les ROMs extraites du fichier CLC font planter l'émulateur TiEmu.
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 51.3%
 
Posts: 42242
Images: 16691
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: SDK TI-89/92+

Unread postby critor » 22 Dec 2009, 10:50

Mic wrote:C'est un freeware ?



Oui.

Ce n'est ni une version démo, ni une version crackée.

D'ailleurs le lien de téléchargement pointe sur le site officiel de TI, plus précisément dans la page suivante:

http://education.ti.com/educationportal ... neId=28#11
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 51.3%
 
Posts: 42242
Images: 16691
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: SDK TI-89/92+

Unread postby Lionel Debroux » 23 Dec 2009, 19:38

TIFS n'est un bel outil qu'en apparence, en fait :D:
Son émulateur est très peu fidèle au comportement d'une calculatrice réelle (c'est bien pire que VTI), son compilo génère du code de mauvaise qualité, etc.
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
User avatar
Lionel DebrouxSuper Modo
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 11.3%
 
Posts: 6869
Joined: 23 Dec 2009, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Class: -
GitHub: debrouxl

Re: SDK TI-89/92+

Unread postby critor » 23 Dec 2009, 19:43

Lionel Debroux wrote:TIFS n'est un bel outil qu'en apparence, en fait :D:
Son émulateur est très peu fidèle au comportement d'une calculatrice réelle (c'est bien pire que VTI), son compilo génère du code de mauvaise qualité, etc.



Dans ce cas-là, ça expliquerait peut-être pourquoi l'AMS 2.05 contenu dans les fichiers CLC, est différent de celui envoyé sur les calculatrices...
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 51.3%
 
Posts: 42242
Images: 16691
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: SDK TI-89/92+

Unread postby critor » 24 Dec 2009, 21:20

Bon TiEmu ne plante pas en fait.

J'ai du me tromper de ROM... (j'en ai tellement :#langue#: )


Donc l'OS 2.05 du SDK n'est pas le même que l'OS 2.05 que l'on envoit sur calculatrice...

Et grâce à Lionel, on sait pourquoi:

Malgré la numérotation ce n'est pas la même version...

L'OS 2.05 que l'on envoit sur nos calculatrices est daté du 7 mai 2000.
L'OS 2.05 du SDK est daté du 8 janvier 2000.


Maintenant que l'on est capable de signer des systèmes TI-89, je pourrais même créer un fichier .89U signé, pour voir si ça marche sur une vraie calculatrice... ça devrait, je pense.
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 51.3%
 
Posts: 42242
Images: 16691
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: SDK TI-89/92+

Unread postby critor » 25 Dec 2009, 10:16

critor2000 wrote:Maintenant que l'on est capable de signer des systèmes TI-89, je pourrais même créer un fichier .89U signé, pour voir si ça marche sur une vraie calculatrice... ça devrait, je pense.



C'est fait!

Non, le fichier n'est pas en ligne, mais il est crée!


J'ai crée et signé les mises-à-jour TI-89 et TI-92+ avec cet OS 2.05 "plus ancien"...

Je viens de flasher ma TI-92+ HW1 - aucun problème!


Donc le TI-Flash Studio (SDK) contient simplement un OS 2.05 "plus ancien", et non un OS qui serait spécifique à l'émulateur...

A l'avenir souvenez vous en: il y a désormais 2 OS 2.05 pour TI-89, et 2 OS 2.05 pour TI-92+. :D:
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 51.3%
 
Posts: 42242
Images: 16691
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: SDK TI-89/92+

Unread postby Lionel Debroux » 25 Dec 2009, 12:17

L'OS 2.05 que l'on envoie sur nos calculatrices est daté du 7 mai 2000.
L'OS 2.05 du SDK est daté du 8 janvier 2000.

Désolé de devoir te contredire, mais il se trouve que dans AMS, les dates sont stockées au format anglais MM/DD/YYYY ;)

Avec la représentation sans ambiguà¯té des dates: AMS 2.05 89 habituel est daté du 2000/07/05, AMS 2.05 89 de TIFS est daté du 2000/08/01.


Entre ces deux versions, il y a un effacement de 88 octets au total. 66+10+10=86 de ces 88 octets proviennent des changements qui commencent vers ROM_base + 0x83b00, dans la fonction s'étendant de:
* ROM_base + 0x8368e à  ROM_base + 0x8404a (AMS "retail");
* ROM_base + 0x8368e à  ROM_base + 0x83ff4 (AMS de TIFS).
Cette fonction est une subroutine de push_user_func, et la partie affectée est précisément celle qui s'occupe de lancer les programmes ASM !

La version retail appelle HToESI, HeapGetLock, un HeapDeref inline, calcule quelque chose par rapport à  bottom_estack, appelle conditionnellement HeapMoveHigh et HToESI, avant d'appeler ER_catch, HeapLock puis EX_patch avant de lancer le programme. Après le retour du programme, restauration de top_estack, appel de HeapUnlock, DerefSym, ER_success, restauration de top_estack, appel de HeapUnlock et DerefSym.
La version TIFS appelle HToESI, ER_catch, HeapLock et EX_patch avant de lancer le programme. Après le retour du programme, restauration de top_estack, appel de DerefSym, ER_success, restauration de top_estack, appel de DerefSym.


Il serait moyennement difficile de trouver d'où viennent les deux autres octets que la version TIFS a en moins... mais vu les changements sus-décrits, je ne suis _vraiment_ pas convaincu de l'utilité de l'AMS de TIFS :D:
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
User avatar
Lionel DebrouxSuper Modo
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 11.3%
 
Posts: 6869
Joined: 23 Dec 2009, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Class: -
GitHub: debrouxl

Re: SDK TI-89/92+

Unread postby critor » 25 Dec 2009, 19:01

Lionel Debroux wrote:
L'OS 2.05 que l'on envoie sur nos calculatrices est daté du 7 mai 2000.
L'OS 2.05 du SDK est daté du 8 janvier 2000.

Désolé de devoir te contredire, mais il se trouve que dans AMS, les dates sont stockées au format anglais MM/DD/YYYY ;)


Ne sois pas désolé :-)


Lionel Debroux wrote:Avec la représentation sans ambiguïté des dates: AMS 2.05 89 habituel est daté du 2000/07/05, AMS 2.05 89 de TIFS est daté du 2000/08/01.


Ouille, je suis rouillé moi... Va falloir que je me remette un peu à utiliser des TI-68k...
Mais merci pour la précision.

Donc c'est l'inverse?

1 mois après la sortie de l'AMS 2.05, ils ont sorti une version "spéciale" pour le TIFS ?
Quel était le problème avec l'AMS 2.05 original?...

Lionel Debroux wrote:Entre ces deux versions, il y a un effacement de 88 octets au total. 66+10+10=86 de ces 88 octets proviennent des changements qui commencent vers ROM_base + 0x83b00, dans la fonction s'étendant de:
* ROM_base + 0x8368e à ROM_base + 0x8404a (AMS "retail");
* ROM_base + 0x8368e à ROM_base + 0x83ff4 (AMS de TIFS).
Cette fonction est une subroutine de push_user_func, et la partie affectée est précisément celle qui s'occupe de lancer les programmes ASM !

La version retail appelle HToESI, HeapGetLock, un HeapDeref inline, calcule quelque chose par rapport à bottom_estack, appelle conditionnellement HeapMoveHigh et HToESI, avant d'appeler ER_catch, HeapLock puis EX_patch avant de lancer le programme. Après le retour du programme, restauration de top_estack, appel de HeapUnlock, DerefSym, ER_success, restauration de top_estack, appel de HeapUnlock et DerefSym.
La version TIFS appelle HToESI, ER_catch, HeapLock et EX_patch avant de lancer le programme. Après le retour du programme, restauration de top_estack, appel de DerefSym, ER_success, restauration de top_estack, appel de DerefSym.


Il serait moyennement difficile de trouver d'où viennent les deux autres octets que la version TIFS a en moins... mais vu les changements sus-décrits, je ne suis _vraiment_ pas convaincu de l'utilité de l'AMS de TIFS :D:



Super ton débugage!
Justement, au final tu penses que toutes ces modifications ont quel but ? . . .


Pour le TI-83+ Flash Debugger par exemple, les fichiers CLC des TI-83+, TI-83+SE et TI-73 contenaient des ROMs identiques à celles des calculatrices.
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 51.3%
 
Posts: 42242
Images: 16691
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: SDK TI-89/92+

Unread postby Lionel Debroux » 26 Dec 2009, 12:02

Ces modifs peuvent changer l'endroit où est chargé le programme ASM: il ne sera pas bougé vers la fin de la RAM dans certaines conditions.
Je pense que ça peut avoir un impact légèrement négatif sur la fragmentation de la RAM... mais je n'ai jamais rencontré en pratique un problème de fragmentation de la RAM. PpHd m'avait écrit qu'il l'avait rencontré, mais pour autant que je me souvienne, ce n'était pas très fréquent.

= le changement que j'ai décrit plus haut me paraît largement inutile (contrairement au changement entre AMS 2.04 et 2.05, lui aussi de petite taille: AMS 2.04 pouvait assez facilement crasher la machine). Tu peux reflasher ta machine avec un AMS 2.05 "retail".
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
User avatar
Lionel DebrouxSuper Modo
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 11.3%
 
Posts: 6869
Joined: 23 Dec 2009, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Class: -
GitHub: debrouxl

Re: SDK TI-89/92+

Unread postby critor » 26 Dec 2009, 15:22

En passant, ces "nouvelles" versions AMS 2.05 d'août 2000 sont en ligne:

http://tiplanet.org/index.php?mod=ar ... oirid=1528
http://tiplanet.org/index.php?mod=ar ... oirid=1527
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 51.3%
 
Posts: 42242
Images: 16691
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor


Return to Programmation

Who is online

Users browsing this forum: ClaudeBot [spider] and 3 guests

-
Search
-
Social TI-Planet
-
Featured topics
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
1234
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
1009 utilisateurs:
>988 invités
>16 membres
>5 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)