π
<-

News 2024
August (6)
July (4)
June (8)
May (6)
April (11)
March (6)

News 2023
August (6)
July (6)
June (10)
May (12)
April (14)
March (11)

News 2022
October (11)
August (4)
July (4)
June (3)
May (8)
April (5)
March (6)

News 2021
August (4)
July (12)
June (6)
May (7)
April (6)
March (4)
January (10)

News 2020
August (6)
July (14)
June (11)
May (8)
April (19)
March (4)

News 2019
August (2)
July (3)
June (4)
May (8)
April (3)
March (5)

News 2018
August (7)
June (11)
May (5)
April (13)
March (12)

News 2017
August (5)
July (6)
June (3)
May (3)
April (20)
March (11)
January (10)

News 2016
August (5)
July (5)
June (4)
May (3)
April (6)
March (2)

News 2015
August (6)
July (6)
June (5)
May (4)
April (12)
March (8)

News 2014
August (6)
July (7)
June (3)
May (1)
April (2)
March (6)

News 2013
August (6)
July (14)
June (1)
May (5)
April (1)
March (1)

News 2012
August (3)
July (3)
June (3)
April (2)
March (3)

News 2011

Sauvegarde ROM fx-5800P + sortie 2 émulateurs fx-5800P !

New postby critor » 24 Jan 2024, 00:07

Dans un fil précédent nous évoquions 2 émulateurs universels de calculatrices scientifiques Casio à processeur nX-U8/100 :
  • BeuCalc par EnderFire09, directement utilisable après l'installation de Java
  • et u8-emu-frontend par Steveyboi, une interface pour le coeur d'émulation u8_emu, à récupérer et compiler soi-même sur GitHub

En effet, ils permettaient de reproduire sur ton ordinateur un nombre phénoménal de 141 modèles différents à ce jour :
  • les scientifiques génération ES de 2004 (13 modèles dont la fx-92 Collège 2D de 2005 en France)
  • les financières réutilisant la technologie ES (2 modèles : fc-100V et fc-200V de 2012)
  • la quatre opérations réutilisant le processeur nX-U8/100 (1 modèle : fx-82 Solar II de 2016)
  • les scientifiques génération ES Plus de 2008 (44 modèles dont la fx-92 Collège 2D+ en France)
  • les scientifiques génération EX Classwiz de 2014 (46 modèles dont en France les fx-92 Spéciale Collège de 2015 puis fx-92+ Spéciale Collège de 2018)
  • les scientifiques génération CW Classwiz de 2022 (35 modèles dont la fx-92 Collège Classwiz de 2023 en France)
186851869418693186861868818691
1890818787Dans une actualité suivante nous te testions la Casio fx-5800P. Sortie en 2006, la fx-5800P est une formidable calculatrice scientifique hybride fusionnant la technologie 8 bits d'une calculatrice scientifique avec les fonctionnalités d'une calculatrice haut de gamme ou graphique !

1879018731En effet, la fx-5800P réutilise clairement le matériel des Casio scientifiques de l'époque (génération ES de rentrée 2004, avec en France la fx-92 Collège 2D dès la rentrée 2005), c'est-à-dire le processeur 8 bits nX-U8/100 cadencé à 0,5 MHz et peut-être également le même microcontrôleur ML610901, mais dans une déclinaison légèrement évoluée. En effet, là où sur les Casio scientifiques tout se passe dans le microcontrôleur, seule puce du circuit, la fx-5800P lui adjoint des puces ROM et RAM externes.

Quant à ses capacités exceptionnelles pour un cœur de calculatrice scientifique, on peut citer :
  • la possibilité de saisir et exécuter des programmes en langage Casio Basic
  • la possibilité de transférer des programmes entre deux calculatrices !
  • la possibilité de transférer le système d'exploitation entre deux calculatrice, et ainsi d'effectuer des mises à jour
La connectivité utilise le même port mini-Jack 2.5mm que les calculatrices graphiques Casio.
Avec ceci BeuCalc et u8-emu-frontend n'étaient plus universels, la fx-5800P à processeur nX-U8/100 manquant à leur offre d'émulation.

1892618927La fx-5800P avait déjà fait l'objet d'un dumping partiel en 2021.

AndyLithia avait exploité la possibilité de transférer une mise à jour du système d'exploitation entre deux machines, afin de pouvoir intercepter ce dernier en interfaçant un analyseur de signal.

De plus, grâce à sa documentation publique, il avait réussi à connecter la Flash ROM externe, récupérer l'intégralité de son contenu, et identifié les zones mémoire concernées par l'écriture d'une mise à jour système.
Avant de pouvoir faire quelque chose de concret avec tout ça, il manquait toutefois encore 96 Kio à extraire de la ROM interne au microcontrôleur ML610901B partagé avec les calculatrices scientifiques de génération ES dont la fx-92 Collège 2D en France.

Et hélas la chose s'arrêta là. Comme de plus le contenu de la Flash ROM n'a bien évidemment pas été publié et que AndyLithia n'est plus actif, tout serait à recommencer...

1892918928Et bien pour le nouvel an 2024, Yukidamayaki a décidé de s'y remettre avec une toute nouvelle méthode fort ingénieuse.

Il a ici encore exploité le processus de mise à jour officiel, grâce à la documentation du protocole de communication publiée par AndyLithia, afin de pouvoir écrire librement dans la mémoire Flash ROM externe.

1er janvier 2024, il avait réussi à changer le texte de certains menus.

1893118930Prochaine étape, écrire en mémoire Flash non plus du texte mais du code machine directement exécutable. Yukidamayaki arrive à injecter dans le système une routine affichant une image.

Dès le 2 janvier, il s'offre même le luxe de d'en faire une version en 3 niveaux de gris, c'est-à-dire d'avoir du code gérant un clignotement de certains pixels puisque l'écran ne supporte pas d'origine les niveaux de gris !

1893218934Maintenant que nous pouvons donc enfin exécuter du code machine comme bon nous semble sur fx-5800P, Yukidamayaki avec l'aide de Steveyboi et EnderFire09 finalise une routine d'extraction du contenu ROM.

L'idée est d'afficher le contenu ROM sur la zone matricielle de l'écran, littéralement en représentaiton binaire avec les pixels allumés ou éteints, de filmer la chose, et de reconstruire le contenu ROM côté ordinateur en tenant compte de l'état de chaque pixels sur chacun des écrans successifs.

Avantage remarquable de cette méthode d'extraction par rapport à la précédente, elle permet aussi bien de récupérer le contenu de la Flash ROM externe que celui de la ROM interne au microcontrôleur !

Inconvénient toutefois, la détection de l'état allumé ou éteint de chacun des 96×31 pixels sur la vidéo après chaque rafraichissement risque de ne pas être fiable à 100%.

Pas grave, ça n'empêche pas de poursuivre dans l'immédiat, malgré un contenu ROM sans doute pas 100% identique à l'original.

EnderFire09 travaille également à une mise à jour 0.5 de son émulateur BeuCalc compatible avec la fx-5800P, fonctionnelle dès le 7 janvier !
189351893618937

18938Formidables outils qui permettent dès maintenant d'explorer le système fx-5800P plus en profondeur.

EnderFire09 découvre par exemple que la fx-5800P dispose d'un menu "Built-in Prog" orphelin, c'est-à-dire bel et bien présent en ROM mais appelé nulle-part par le système. Casio avait apparemment prévu d'avoir une bibliothèque de programmes intégrée à la fx-5800P, avant d'abandonner l'idée.

18760Bon, on pouvait s'y attendre, d'après l'outil d'autodiagnostic intégré au système d'exploitation, le contenu ROM récupéré est mauvais, la somme de contrôle différant du FB86 attendu.

Mais pas grave, car l'émulateur permet de tester diverses routines en langage machine avant de les envoyer sur une vraie calculatrice.

Le temps de se faire la main sur quelques petits amusements, Steveyboi arrive à finaliser pour le 14 janvier non pas un mais deux visualisateurs de contenu ROM, un en notation ASCII et un en notation hexadécimale :
18940189411894218943

18944Et voilà, à force de tester et comparer, le contenu ROM récupéré finit par être corrigé pour être enfin identique à celui de la calculatrice !

2024 donc, les mémoires ROM de la fx-5800P ont enfin pu être toutes les deux extraites correctement 18 ans après sa sortie, et la fx-5800P t'est donc enfin utilisable en émulation sur ton ordinateur !

EnderFire09 a poussé les changements avec le support fx-5800P dans le dépôt u8-emu-frontend, et EnderFire09 vient de te publier une nouvelle version 0.5b2 de son émulateur BeuCalc avec le support fx-5800P !
1894618945

Téléchargement : BeuCalc 0.5b2

Source : http://discord.gg/QjGpH6rSQQ via https://community.casiocalc.org/topic/7 ... entry64325

Injection d'un jeu Snake via ROP hackstring sur fx-991CN X

New postby critor » 25 Jan 2024, 07:53

18410Rentrée 2004, Casio révolutionnait les calculatrices scientifiques avec sa nouvelle gamme ES, déclinée à l'international avec les fx-82/85/350ES pour l'entrée de gamme et fx-570/991ES pour le haut de gamme. Il fallut attendre la rentrée 2007 pour une déclinaison en France avec la fx-92 Collège 2D.

Cette nouvelle génération de calculatrices scientifiques innovait en effet en se dotant d'un écran matriciel comme c'était l'usage sur les calculatrices graphiques, d'une définition de 96×31 pixels. Ce changement de technologie d'écran s'accompagnait de deux nouveautés majeures :
  • la possibilité de saisir les calculs en écriture naturelle
  • ainsi qu'un moteur de calcul QPiRac, permettant de communiquer des résultats exacts pour les deux familles de nombres suivantes :
    • QPi : multiples rationnels de π -
      $mathjax$\pm\frac{a\pi}{b}$mathjax$
      (pour les angles en radians notamment)
    • QRac : binômes de rationnels et/ou radicaux -
      $mathjax$\frac{\pm a\sqrt{b} \pm c\sqrt{d}}{f}$mathjax$
      (ce qui couvre un large ensemble allant des fractions du collège aux racines de polynômes du 2nd degré au lycée en passant par nombre de valeurs remarquables en trigonométrie)

96 pixels en largeur donc, cela nous disait quelque chose... c'est ce que nous avions sur les calculatrices graphiques monochromes de Texas Instruments à l'époque, à savoir les TI-82/83/84 avec 96×64 pixels, toujours utilisé aujourd'hui sur la TI-82 Advanced monochrome. C'est-à-dire que l'écran fx-92 Collège 2D correspondait à un demi-écran TI-82/83/84.

Et Casio est loin de s'être arrêté là, attisant de plus en plus nos rêves :
  • génération ES+ pour la rentrée 2008, avec la fx-92 Collège 2D+ en France
  • génération EX Classwiz pour la rentrée 2014, avec en France la fx-92 Spéciale Collège à la rentrée 2015 et fx-92+ Spéciale Collège à la rentrée 2018, quadruplant la définition de l'écran à 192×63 pixels, désormais très supérieur à ce que les calculatrices graphiques monochromes offraient de meilleur, à savoir les 128×64 pixels des Casio Graph 25/35/75/85/95
  • génération CW Classwiz pour la rentrée 2022, avec en France la fx-92 Collège Classwiz de rentrée 2023, passant l'écran en 4 niveaux de gris

Du côté des utilisateurs passionnés de calculatrices, on se prenait en effet déjà dès 2004 à rêver à de grandes choses avec ce fort bel écran... Et si on pouvait exécuter du code afin de faire afficher ce que l'on voulait sur l'écran, notamment des dessins ou même des jeux, comme on pouvait déjà le faire sur calculatrices graphiques justement ?

Certes, depuis la fx-92+ Spéciale Collège de rentrée 2018, Casio nous offre enfin des calculatrices scientifiques programmables, dans un langage orienté tracers à la Scratch/Logo/Turtle. En France nous pouvons donc enfin exploiter les formidables capacités de l'écran, et contrôler l'allumage de ses pixels.

Deux petits bémols toutefois :
  • ces possibilités ne concernent que les modèles fx-92 qui ne sont distribués qu'en France et en Belgique, plus précisément :
    • la France depuis la fx-92+ Spéciale Collège de rentrée 2018
    • la Belgique depuis la fx-92 Secondaire de rentrée 2023
    dans tout le reste du monde, les calculatrices Casio scientifiques restent non programmables
  • de plus, concernant les derniers modèles CW Classwiz fx-92 Collège Classwiz et fx-92 Secondaire de rentrée 2023, malheureusement les programmes que tu saisis n'ont aucun contrôle sur les niveaux de gris des pixels, ne permettant que de les allumer en noir

18411Donc comment fait-on pour programmer en mémoire des données et/ou du code sur les modèles non programmables ?

Une possibilité est d'utiliser une des failles du logiciel Casio pour nous permettre ensuite d'écrire des données ou du code en mémoire.

Une méthode est de corrompre le moteur de saisie en écriture naturelle, afin d'obtenir une ligne avec une boîte vide tout seule. En théorie la boîte vide seule est impossible à obtenir, car elle est toujours lié à un opérateur faisant occuper plus d'une ligne de saisie (quotient de fraction, puissance, racine carrée, ...).

Les étapes connues à ce jour permettant cela nécessitent d'enchaîner 2 calculs, le premier déclenchant la corruption et le deuxième permettant de récupérer la boîte vide. Sauf que l'on ne peut pas taper les calculs l'un après l'autre, car la saisie intermédiaire changerait justement l'état de la machine obtenu suite au premier calcul. Il faut donc saisir les 2 calculs sur la même ligne, grâce à l'opérateur : présent sur toutes les machines de générations ES et CW Classwiz.

Tu vas vite voir, rappelons la façon de faire sur les calculatrices de génération EX Classwiz dont la fx-92 Spéciale Collège :
  1. Reproduis exactement la saisie suivante :
    Image Image
  2. Tape
    CALC
    pour évaluer le premier calcul (avant les deux points).
    Si tu as tout saisi correctement, signe de la corruption, la calculatrice va passer en écriture ligne :
    Image
  3. Tape
    EXE
    pour évaluer maintenant le deuxième calcul (après les deux points).
    Tu obtiens une erreur de syntaxe à cause de la boîte vide dans la racine :
    Image
  4. Tape
    pour éditer la saisie.
    La calculatrice nous rappelle la saisie mais toujours en écriture ligne, avec, anomalie, le caractère boîte vide qui ne devrait pas pouvoir être saisi dans ce mode d'affichage :
    Image
  5. Et voilà, en navigant avec les touches
    et
    , il te te reste maintenant plus qu'à supprimer avec la touche
    SUPPR
    les caractères présents avant et après la boîte vide :
    Image Image Image

Et voilà, maintenant avec une saisie dans cette boîte vide tu peux déclencher des écritures de données ou code machine. Ces saisies pour boîte vide sont appelées hackstrings dans la communauté Casio anglophone.

Pour concevoir une hackstring, il est nécessaire de connaître les codes hexadécimaux des différents caractères ou jetons (tout élément insécable) de la calculatrice, que nous t'avons justement documentés.
Attention, précisons que cette faille a été corrigée sur les modèles de dernière génération CW Classwiz, dont les fx-92 Collège Classwiz et fx-92 Secondaire.

En effet, Casio a tout simplement supprimé la possibilité de juxtaposer plusieurs calcul dans une même saisie. Le caractère : est toujours présent au clavier, notamment pour l'application tableur, mais ne peut plus être saisi dans l'application de calcul.

En pratique toutefois, les formidables possibilités ouvertes par la boîte vide que nous te documentions dès la rentrée 2018, n'ont pas donné grand chose jusqu'à ce jour.

Il faut dire que les contraintes ne sont pas rares :
  • Casio utilisant un logiciel différent pour chacun des très nombreux modèles de calculatrices scientifiques à chaque génération, une publication de saisie pour la boîte vide ciblerait un modèle bien précis, et devrait donc être adaptée pour d'autres modèles
  • d'autre part, il y a une grosse difficulté hexadécimale ; n'avons que 108 jetons pouvant être saisis dans la boîte vide documentées pour les fx-92 Spéciale Collège, et nombre d'entre eux occupent 2 octets, ce qui est bien trop peu pour avoir la possibilité d'injecter librement en mémoire des octets pouvant nécessiter jusqu'à 256 valeurs différentes
Pour cette dernière raison, les publications de hackstrings pour boîte vide ont jusqu'à présent ciblé les modèles haut de gamme fx-570/991, ayant l'avantage de bénéficier d'une bibliothèque de constantes physiques ainsi que d'un convertisseur d'unités, et donc en pratique de bien davantage de jetons différents permettant d'augmenter très significativement le nombre de valeurs différentes d'octets pouvant être injectés en mémoire.

18413Mais les choses s'accélèrent ces derniers temps, et la programmation des calculatrices Casio compatibles hackstrings atteint un niveau jamais vu.

Dans une actualité précédente, nous te présentions une hackstring pour fx-570ES+ (même génération que la fx-92 Collège 2D+) affichant un dessin plein écran par répétition d'un gros motif.

贴吧用户_QQR3MM4 vient de repousser les limites techniques sur sa fx-991CN X (même génération que les fx-92 Spéciale Collège).

Via une hackstring, il a littéralement injecté dans la mémoire de la calculatrice un jeu écrit dans le langage machine du processeur nX-U8/100n de la calculatrice, Snake soit le jeu du serpent.

Plus précisément, le code prend le contrôle de la pile d'exécution via la technique d'attaque ROP.

Le programme se décompose en plusieurs segments (code machine, données) qui sont ici à écrire chacun à des adresses mémoire bien précises, alors que l'adresse d'écriture du code débordant d'une hackstring n'était jusqu'à présent pas contrôlable.

贴吧用户_QQR3MM4 a résolu le problème en concevant également un mini programme copiant un certain nombre d'octets lui faisant suite à une adresse spécifiée, adapté d'un éditeur mémoire également conçu en ROP par EwTE_H pour le même modèle.

Il faut donc du courage pour jouer, pas moins de 1208 octets rien que pour le code principal, à saisir à chaque exécution.
Attention toutefois, ce programme a été conçu spécifiquement pour la fx-991CN X ; il est très probable qu'il ne fonctionnera pas sans modifications sur un autre modèle Casio même dans la même génération EX Classwiz.

Il faut de plus une fx-991CN X munie de la version C du système, mais là c'est moins un problème dans le sens où il s'agit de la dernière version sortie par Casio et donc la plus facile à trouver.

Source : https://tieba.baidu.com/p/8873639356

-
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.
1116 utilisateurs:
>1058 invités
>51 membres
>7 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)