L'OS 2.55MP : le bon et le moins bon
Posted: 20 Apr 2012, 19:37
Je vous présentais précédemment les caractéristiques matérielles et logicielles de la TI-84 Pocket.fr puis des innovations que son OS 2.55MP intégré apportait.
Je vais ici vous présenter les résultats de nouvelles expériences que j'ai menées sur cette calculatrice.
I) L'instabilité de l'OS
Eh oui, j'ai fini par m'apercevoir que cet OS comporte de nombreux bugs ! Bien sûr, ce dont le pouvait déjà se douter, c'est l'incompatibilité de certaines applications / programmes assembleur avec cet OS. Mais voici tout de même quelques applications qui marchent parfaitement : App4Math, Axe (même si ce qu'il compile ne va pas forcément marcher), CabriJr, Calsys, CSheetFr, CtlgHelp, DoorsCS7, Français, Graviter, Mimas et Périod.
Voici un exemple d'application qui ne marche pas : TI-Boy (émulateur de Game Boy).
Mais mis à part ces incompatibilités, des bugs de calculs existent bel et bien. Inutile d'essayer sur votre émulateur les exemples que je vais vous fournir, car celui-ci ne réagit pas pareil et fonctionne. Pour obtenir les plantages, il faut utiliser les fraction et non les divisions.
Exemple 1 : 1/E1 ==> décale tout l'écran de 32 pixels vers le bas, et ce qui déborde retourne en haut.
Exemple 2 : 1/(E1-1/2) ==> produit le même décalage + une erreur "ERR:LINK" + tout ce qui est à l'écran n'est plus en noir mais en gris jusqu'à la prochaine extinction/allumage de la calculatrice.
Exemple 3 : 1/(E-1+1/2) ==> résulte tout simplement en un RAM Cleared.
Et une fois que vous avez de ces tests, un bug se produira à chaque fois que vous voudrez calculer une fraction, par exemple 1/5 (mais la division marche). Personnellement, j'ai déjà eu :
Avec tout ça, je commence à me demande si on ne pourrait pas faire un Over Flow de mémoire pour exécuter de l'assembleur en Basic. En tout cas, avec ce que je vous ai donné, un programme Basic est capable d'effacer la RAM de la calculatrice.
II) Les résultats d'un programme Basic
Je vous avais dit dans la news "les innovations" qu'il était impossible de sélectionner ce qu'un programme basic avait affiché, et qu'il était impossible d'afficher en 2D. Cela ne change pas, ou presque. Ces deux règles sont transgressées si l'on affiche quelque-chose en tant que résultat.
Si vous ne savez pas ce qu'est un résultat dans un programme : voir mon tutoriel chapitre 2.
III) Les chaines des caractères
Un autre point que j'ai étudié avec ma TI-84 Pocket.fr, c'est les chaines de caractères. Je me suis dit : et si j'essayais de mettre un calcul 2D entre guillemets pour voir ce que ça donne ? (Je ne me suis même pas donné la peine de fermer les guillemets à vrai dire puisque ça sert à rien). Eh bien en fait, ça donne tout simplement une chaine contenant le même calcul mais en linéaire :
Bon, par contre, j'ai essayé de mettre entre guillemets une fraction dont les numérateur et dénominateur étaient tous deux des guillemets, mais ça m'a fait une erreur de syntaxe.
Et puis je me suis dit : pourquoi ne pas essayer de faire le sens inverse ? J'ai donc tapé un calcul entre guillemets puis fait ENTER (normal). Remarque : si on utilise les matrices avec les crochets, elles se mettent automatiquement en 2D. Ensuite, j'ai fait [2NDE] [RAPPEL] [2NDE] [REP] [ENTER]. Le même calcul s'insère en 2D, mais sans les guillemets : le résultat n'est pas très intéressant.
Mais j'ai continué, ne voulant pas m'arrêter là. Je me souvenais du token étrange qu'est le carré en pointillés (news sur les innovations). En tapant la racine entre guillemets, le résultat fut bien sûr une racine avec des parenthèses et à l'intérieur le mystérieux carré. Je l'ai alors extrait avec la fonction sub, puis dupliqué :
Et quand on essaye de le rappeler avec [2NDE] [RAPPEL] [2NDE] [REP] [ENTER], seul 1 carré apparait. Maintenant, si on tape la fonction "cos(", puis qu'on rappelle ces carrés, toujours un seul s'insère, et si on ferme la parenthèse, il disparait. Bon, je ne vais pas vous embêter plus longtemps avec ce carré, mais j'ai découvert plein de trucs amusants comme ça.
À bientôt !
Je vais ici vous présenter les résultats de nouvelles expériences que j'ai menées sur cette calculatrice.
I) L'instabilité de l'OS
Eh oui, j'ai fini par m'apercevoir que cet OS comporte de nombreux bugs ! Bien sûr, ce dont le pouvait déjà se douter, c'est l'incompatibilité de certaines applications / programmes assembleur avec cet OS. Mais voici tout de même quelques applications qui marchent parfaitement : App4Math, Axe (même si ce qu'il compile ne va pas forcément marcher), CabriJr, Calsys, CSheetFr, CtlgHelp, DoorsCS7, Français, Graviter, Mimas et Périod.
Voici un exemple d'application qui ne marche pas : TI-Boy (émulateur de Game Boy).
Mais mis à part ces incompatibilités, des bugs de calculs existent bel et bien. Inutile d'essayer sur votre émulateur les exemples que je vais vous fournir, car celui-ci ne réagit pas pareil et fonctionne. Pour obtenir les plantages, il faut utiliser les fraction et non les divisions.
Exemple 1 : 1/E1 ==> décale tout l'écran de 32 pixels vers le bas, et ce qui déborde retourne en haut.
Exemple 2 : 1/(E1-1/2) ==> produit le même décalage + une erreur "ERR:LINK" + tout ce qui est à l'écran n'est plus en noir mais en gris jusqu'à la prochaine extinction/allumage de la calculatrice.
Exemple 3 : 1/(E-1+1/2) ==> résulte tout simplement en un RAM Cleared.
Et une fois que vous avez de ces tests, un bug se produira à chaque fois que vous voudrez calculer une fraction, par exemple 1/5 (mais la division marche). Personnellement, j'ai déjà eu :
- La calculatrice s'éteint. Pour la rallumer, je suis obliger de retirer des piles puis de les remettre. Il n'y a pas de RAM Cleared mais le résultat est en décimal.
- Décalage de l'écran de 32 pixels. Le résultat est en décimal.
Avec tout ça, je commence à me demande si on ne pourrait pas faire un Over Flow de mémoire pour exécuter de l'assembleur en Basic. En tout cas, avec ce que je vous ai donné, un programme Basic est capable d'effacer la RAM de la calculatrice.
II) Les résultats d'un programme Basic
Je vous avais dit dans la news "les innovations" qu'il était impossible de sélectionner ce qu'un programme basic avait affiché, et qu'il était impossible d'afficher en 2D. Cela ne change pas, ou presque. Ces deux règles sont transgressées si l'on affiche quelque-chose en tant que résultat.
Si vous ne savez pas ce qu'est un résultat dans un programme : voir mon tutoriel chapitre 2.
III) Les chaines des caractères
Un autre point que j'ai étudié avec ma TI-84 Pocket.fr, c'est les chaines de caractères. Je me suis dit : et si j'essayais de mettre un calcul 2D entre guillemets pour voir ce que ça donne ? (Je ne me suis même pas donné la peine de fermer les guillemets à vrai dire puisque ça sert à rien). Eh bien en fait, ça donne tout simplement une chaine contenant le même calcul mais en linéaire :
Bon, par contre, j'ai essayé de mettre entre guillemets une fraction dont les numérateur et dénominateur étaient tous deux des guillemets, mais ça m'a fait une erreur de syntaxe.
Et puis je me suis dit : pourquoi ne pas essayer de faire le sens inverse ? J'ai donc tapé un calcul entre guillemets puis fait ENTER (normal). Remarque : si on utilise les matrices avec les crochets, elles se mettent automatiquement en 2D. Ensuite, j'ai fait [2NDE] [RAPPEL] [2NDE] [REP] [ENTER]. Le même calcul s'insère en 2D, mais sans les guillemets : le résultat n'est pas très intéressant.
Mais j'ai continué, ne voulant pas m'arrêter là. Je me souvenais du token étrange qu'est le carré en pointillés (news sur les innovations). En tapant la racine entre guillemets, le résultat fut bien sûr une racine avec des parenthèses et à l'intérieur le mystérieux carré. Je l'ai alors extrait avec la fonction sub, puis dupliqué :
Et quand on essaye de le rappeler avec [2NDE] [RAPPEL] [2NDE] [REP] [ENTER], seul 1 carré apparait. Maintenant, si on tape la fonction "cos(", puis qu'on rappelle ces carrés, toujours un seul s'insère, et si on ferme la parenthèse, il disparait. Bon, je ne vais pas vous embêter plus longtemps avec ce carré, mais j'ai découvert plein de trucs amusants comme ça.
À bientôt !