Depuis que j'ai réussi à récupérer une documentation de l'assembleur T4x, processeur Toshiba 4-bits utilisé dans les TI-Collège Plus et autres calculatrices TI scientifiques récentes à écran matriciel (TI-30X/34 MultiView, TI-36X Pro), la communauté s'est mise à fond sur l'étude de ces modèles.
Et ce n'est pas peu dire puisqu'en s'inspirant de la documentation, ThePenguin77 a même développé un désassembleur à utiliser avec les ROMs T4x de ces différentes calculatrices.
Sur d'autres calculatrices, les mémoires RAM et ROM sont mappées l'une à la suite de l'autre sur le même bus d'adresses. Même si la calculatrice ne supporte pas d'origine l'assembleur (comme les TI-80, TI-81, TI-82, TI-85 ou TI-92), il est en théorie possible d'exécuter du code présent en mémoire vive RAM. En pratique, une possibilité bien connue est d'exploiter d'éventuelles failles de dépassement de l'OS, qui suite à certaines manipulations peuvent permettre de faire déborder le pointeur de programme dans la RAM, et donc d'exécuter du code arbitraire.
Ici, l'étude de la documentation nous a révélé un gros problème: les mémoires RAM (dite mémoire de données) et ROM (dite mémoire de programmes) sont adressées via deux bus séparés selon une architecture dite "Harvard".
Autrement dit, il est à priori impossible d'exécuter du code qui serait présent en mémoire RAM, le pointeur d'exécution étant associé au bus qui ne gère que la ROM et étant donc totalement incapable de déborder sur une autre puce. Ce qui est d'autant plus décevant alors que nous avions enfin tout ce qu'il faut pour générer du code T4x.
Sur l'émulateur, on est certes capables de se débrouiller:
Mais sur une véritable calculatrice, cela nécessiterait des modifications matérielles dangereuses qui coûteront bien plus chères que la machine en question.
Ce fut certes une expérience très intéressante et enrichissante pour tous les participants, mais il faut bien avouer que les TI-Collège Plus et compagnie vont rester des calculatrices non programmables.
De façon similaire, une autre calculatrice TI nous résiste encore, la TI-80. Elle inclut un système qui semble être une évolution de celui de la TI-81, mais contrairement à ce que sa numérotation indique elle n'utilise pas un processeur z80 mais un processeur 16-bits propriétaire à 0.98 MHz de chez Toshiba (encore). Il a été possible à ce jour de récupérer jusqu'à 97% du code du système qui curieusement est stocké sur 2 puces: une grosse partie dans une puce ROM (récupérée intégralement via un programmateur), et très étrangement une petite partie dans la puce processeur T6M53A (récupérée partiellement via une faille logicielle). Là encore, l'absence de documentation publique sur la puce T6M53A ou le processeur qu'elle contient ralentit énormément les recherches.
Liens:
Désassembleur T4x
Documentation assembleur T4x
Assembleur sur les TI-Collège Plus, suite et fin
1 post
• Page 1 of 1
-
critorAdmin
Niveau 19: CU (Créateur Universel)- Posts: 42132
- Images: 16453
- Joined: 25 Oct 2008, 00:00
- Location: Montpellier
- Gender:
- Calculator(s):→ MyCalcs profile
- YouTube: critor3000
- Twitter: critor2000
- GitHub: critor
1 post
• Page 1 of 1
Return to News TI-Scientifiques (Collège, 30, 32, 36...)
Who is online
Users browsing this forum: No registered users and 1 guest