# Casio Série fx-9860

La Casio Série fx-9860 est une famille de calculatrices graphiques scientifiques à notation infixe introduite en 2005 par Casio Computer Company Limited. Elle se démarque de ses prédécesseurs par la rapidité de son processeur, l'implémentation possible de modules tels que les Add-Ins programmables bas niveau, dont l'E-Activity permettant un apprentissage ludique ainsi que l'innovante lisibilité de l'écran Toshiba T6K11.

## Système d'exploitation

La mise à jour du système d'exploitation (OS Update) ne peut se faire qu'avec l'assistance d'un ordinateur par port USB 1.1. Actuellement, tous les modèles issus cette série possèdent la version 2.00, excepté pour le modèle fx-9860G Slim qui n'en est encore qu'à la version 1.10 et dont la mise à jour a été retirée par les constructeurs (certaines fonctions présentent des incompatibilités avec la plate-forme informatique telles que le rétro-éclairage).
La question des mises à jour du système remet en question l'intégrité et la durabilité des modules (Add-Ins), c'est pourquoi ces derniers possèdent et font appel à une table de pointeurs correspondant à toutes les fonctions de l'API. Cette table des appels systèmes commune à toutes les versions du système se trouve à l'adresse 0x80010070. Il est à noter cependant que certains pointeurs renvoient à des chaînes de caractères et non à des fonctions, ce qui peut causer des comportements inattendus s'ils étaient appelés.
D'un point de vue bas niveau, l'ensemble des appels systèmes (system call ou syscall) suit les normes de Renesas c'est-à-dire quatre arguments dans les registres r4 à r7 puis une pile d'arguments additionnels :

### Développement

Outre la programmation classique en langage interprété type BASIC, Casio met à disposition des développeurs depuis le 22 janvier 2007 un kit de développement (SDK) basé sur le langage C permettant une exploitation approfondie du processeur à travers l'utilisation de modules, nommés Add-Ins. L’interopérabilité et les performances des applications ont ainsi permis l'implémentation d'un module de calcul formel, nommé Computer Algebra System (CAS), développé par les utilisateurs mêmes ou encore du populaire interpréteur Multi-Platform Language for Calculators toujours en cours de développement.
De nombreux sites ont vu le jour traitant plus spécifiquement de la programmation sur Casio, que ce soit en C ou en Basic. Ces sites (tels que Planet-Casio) ont généralement une communauté active qui propose une base de nombreux programmes déjà créés. Ces sites proposent aussi des outils à la programmation afin d'afficher des images, de copier-coller un texte, ou bien pour apprendre la programmation en Basic des cours complets et un forum d'entraide. Les programmes créés peuvent être à finalité scolaire, de démonstration, créative ou d'ordre plus ludique.
Casio propose aussi une plateforme de développement afin de développer les programmes directement sur ordinateur, ce logiciel se nomme FA-124 et permet de créer, transférer des programmes sur une calculatrice Casio ou bien de partager le programme en ligne par l'intermédiaire d'une archive.
    -Exemple de programme en langage interprété type BASIC, calcul par sauts inconditionnels de la fonction factorielle :

### Précision du calcul
## Matériel

La plate-forme informatique est composée d'un clavier, d'un écran LCD, de capteurs de niveau de batterie et éventuellement d'une interface pour cartes SD. Le bouton de réinitialisation appelé Reset déclenche deux contacts sur le circuit. De plus, la plate-forme dispose d'un programme de bas niveau assurant les mises à jour du système d'exploitation.

### Mémoires RAM et ROM

Le mapping-mémoire et l'accès à la mémoire RAM se font à l'adresse 0x88000000, la mémoire ROM aux adresses 0x80000000 et 0xA0000000 (opérations de shadowing). L'amorce effectuée par le processeur accède à l'adresse 0xA0000000 bien que la portée d'adresses utilisées par le système se situe à 0x80000000. L'accès au pilote d'affichage se fait à 0x80000000 pour la sélection du registre et à 0xB4010000 pour l'écriture ou la lecture de données.

### Communication

La communication de données peut se faire soit par cartes SD soit par deux protocoles de transmission classiques assurés par le processeur :
* le port USB 1.1 permet la liaison avec un ordinateur (appelé généralement machine primaire) : l'installation du logiciel FA-124 entraîne automatiquement, avec l'intervention de Windows Update, l'installation du pilote CESG502 sur la machine primaire. Le port USB suit les conventions.
* le port série à 3 broches pour jack 2,5 mm permet la liaison avec soit une autre calculatrice (machine secondaire) soit un ordinateur. La vitesse maximale de transmission varie d'une machine à l'autre : 9 600 bit/s pour un raccord avec un cfx-9850 et 115 200 bit/s avec une autre de même modèle fx-9860G (SD). Cette interface utilise trois conducteurs : GND, Tx et Rx. Tx et Rx correspondent communément aux deux extrémités du SB-88 et sont alimentés par une tension de + 4,2 V pour la donnée booléenne 1 contre 0 V (GND) pour la donnée 0.
À noter que dans le cas de la machine primaire, le câble de transfert (Casio SB-88) correspond à un émulateur de port COM sur USB.

## Spécificités commerciales
### Casio Graph 85 (SD)

La dénomination Casio Graph 85 (SD) est spécifique au marché français et concerne les modèles Casio fx-9860G (SD). Il n'existe aucune différence notable.

### Casio fx-9860G Slim

Le Casio fx-9860G Slim est un modèle se détachant de ses confrères, de par la première implémentation d'un écran rétro-éclairé mais aussi du design « clapet » (présent exclusivement sur ce modèle) et ne nécessitant plus un couvercle.

### Casio Graph 75 ou Casio fx-9860GII

Le Casio fx-9860GII est un modèle dit de seconde génération par rapport au Casio fx-9860G. De fait, il possède non seulement un écran rétro-éclairé mais aussi une meilleure prise en main de la technologie dite Perfect Natural V.P.A.M. permettant un « affichage type écriture naturelle ».

### Casio Graph 95 ou Casio fx-9860GII SD

Le Casio Graph 95 possède exactement les mêmes caractéristiques que le Casio Graph 75 à deux différences près :
* intègre un écran monochrome ;
* dispose d'un port pour cartes SD qui permet d'étendre sa mémoire ROM jusqu'à 2 Go.