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
Categories
News TI-Nspire (1558)
News Divers (1114)
News Casio (825)
News HP (148)
News Examens / Concours (1079)
News Sharp (8)
News NumWorks (351)
News Tianyan (2)
News Canon (1)
News Citizen (1)
News Zero (14)
News 2011
November (1)
October (2)
September (1)
August (3)
July (2)
June (1)
April (1)
February (1)
3 posts • Page 1 of 1
Assembleur sur les TI-Collège Plus, suite et fin
Link to topic: Assembleur sur les TI-Collège Plus, suite et fin (Comments: 0)
Assembleur sur les TI-Collège Plus, suite et fin
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
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
Link to topic: Assembleur sur les TI-Collège Plus, suite et fin (Comments: 0)
Nouvelle TI-Collège Plus officialisée
Dans une news précédente, nous remarquions un changement du clavier dans le dernier émulateur TI-Collège Plus 1.2, et nous demandions donc si les modifications observées devaient bientôt faire leur apparition sur les véritables calculatrices TI-Collège Plus.
Dans la dernière news, TI nous a bien confirmé qu'un nouveau clavier était prévu pour les TI-Collège Plus.
Dernière étape, TI rend désormais cette information officielle, et parle plus précisément d'une "nouvelle ergonomie clavier".
Plus aucun doute sur cette information donc désormais: nous avions deviné juste. La seule inconnue subsistant étant la date à laquelle ces nouvelles TI-Collège Plus seront disponibles dans nos magasins, qui dépendra de la quantité d'ancien stock à écouler...
Source:
Catalogue produits et services TI 2011-2012
Dans la dernière news, TI nous a bien confirmé qu'un nouveau clavier était prévu pour les TI-Collège Plus.
Dernière étape, TI rend désormais cette information officielle, et parle plus précisément d'une "nouvelle ergonomie clavier".
Plus aucun doute sur cette information donc désormais: nous avions deviné juste. La seule inconnue subsistant étant la date à laquelle ces nouvelles TI-Collège Plus seront disponibles dans nos magasins, qui dépendra de la quantité d'ancien stock à écouler...
Source:
Catalogue produits et services TI 2011-2012
Link to topic: Nouvelle TI-Collège Plus officialisée (Comments: 0)