Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.

Forum Casio - Projets de programmation


Index du Forum » Projets de programmation » Cahute, pour communiquer efficacement avec sa calculatrice CASIO sous Linux
Cakeisalie5 En ligne Ancien administrateur Points: 1960 Défis: 11 Message

Cahute, pour communiquer efficacement avec sa calculatrice CASIO sous Linux

Posté le 04/03/2024 14:26

Vous savez produire du hardware ? La communauté a désespérément besoin de câbles USB/série alternatifs pour ses calculatrices !

Vous êtes utilisateur.ice de Windows, et vous utilisez Cahute, ou êtes intéressé(e) par son utilisation ? Vous êtes invité(e) à réagir ici vis-à-vis du support de Windows par Cahute

Vous êtes utilisateur.ice de Debian ou dérivé, et vous utilisez Cahute, ou êtes intéressé(e) par son utilisation ? Vous êtes invité(e) à réagir ici vis-à-vis du packaging de Cahute pour votre distribution

Ce topic de CalcLoverHK décrit comment installer Cahute avec le Windows Subsystem for Linux (WSL) 2. Si cela vous concerne, n'hésitez pas à le visiter en attendant l'ajout des instructions dans la documentation officielle

Cahute est mon dernier projet dans une lignée de projets qui avaient vocation à réimplémenter les protocoles et formats de fichiers autour des calculatrices CASIO, qu'ils soient officiels ou communautaires.

Un petit historique
Cliquez pour recouvrir
En 2015/2016, dans le monde balbutiant des utilitaires de communication avec fx-9860G et compatibles Linux, on trouvait un xfer9860 vieillissant et pas très fonctionnel, et un UsbConnector qui ne supportait pas assez de features. Alors en août 2016, j'ai fini par faire p7, une implémentation des interactions avec la mémoire de stockage avec le protocole 7.00 tel que documenté par Simon Lothar.

Tel que le veut la tradition capitaliste, maintenant que j'avais quelque chose qui fonctionnait et était apprécié de la communauté, il s'agissait de grandir. Les autres commandes du protocole 7.00 requièrent une connaissance beaucoup plus approfondie de la mémoire principale et de formats bien plus diversifiés, alors il est temps de s'enfoncer dedans et de gérer ces formats ; c'est ainsi qu'en novembre 2016, je sors la libg1m. Mais voilà, ces formats requièrent un encodage de caractères qu'il faut gérer également, alors hop, le même mois, la référence FONTCHARACTER est annoncée.

En 2018/2019, alors que je reprends mes études, je me rends compte que tout ça fait beaucoup de projets à interconnecter, documenter et faire marcher ensembles ; alors j'entreprends d'en faire un projet commun, nommé "libcasio", où j'en profite pour aller au bout de mon refactoring en séparant les différentes couches, introduisant beaucoup de complexité mais beaucoup de flexibilité au niveau du design, introduisant des concepts assez intéressants mais qui sortent du cadre simple de la communication avec des calculatrices CASIO, au point même que j'en extraierai l'I/O dans une bibliothèque nommée "libtio" (pour "Touhey I/O").

La libcasio a de belles réussites, notamment avec l'ajout d'un utilitaire nommé "p7os" qui permet, enfin, de flasher une calculatrice depuis Linux, faisant au passage deux victimes collatérales sous la forme de deux Graph 35+USB, celle que j'avais au lycée et celle d'Eltoredo qui en a fait don pour la science (merci à lui !). C'est Lailouezzz qui réussira le premier flash avec p7os ; une commande était incorrecte, et il fallait en réalité en employer un autre. La barre était franchie, fxRemote ou même Windows n'est plus nécessaire pour flasher une calculatrice !

Seulement voilà, la libcasio était très complexe à maintenir, avec beaucoup de couches différentes, et j'étais seul à m'en occuper. Courant 2019, ma motivation s'effrite et je finis par m'intéresser à d'autres sujets, d'autres projets, et à délaisser les calculatrices CASIO.

Pendant quatre ans, nous avions donc une libp7 et des p7utils plus maintenus, une libcasio qui n'est jamais sorti, une myriade de petits projets plus maintenus non plus et dont le potentiel d'interconnexion avec les autres projets n'a jamais été exploité. Avec de plus, des utilitaires de moins en moins utiles dans la vie de tous les jours, puisque les fx-CG / Prizm / Graph 90+E ont un mode "clé USB" qui rend accessible leur contenu de façon standard.

Alors mi-février 2024, je me suis motivé et j'ai recommencé un projet similaire à la libcasio, mais avec les expériences que j'ai eues entretemps (beaucoup de documentation, un recours à la simplicité bien plus présent, et plus d'expérience en général), et un scope plus limité dans un premier temps : avoir les mêmes features que la dernière release de la libp7 et des p7utils, mais sous une forme plus maintenable et, surtout, documentée cette fois. Cet objectif a été atteint avec la release 0.1 de Cahute, qui a lancé ce topic !


Il est constitué d'une bibliothèque statique et d'un ensemble d'utilitaires en ligne de commandes, ainsi que d'une documentation en ligne. Les fonctionnalités actuellement présentes dans le logiciel sont :

  • Transferts de fichiers dans les deux sens pour fx-9860G / Graph monochromes, en USB et en série.
  • Partage d'écran depuis fx-9860G / Graph monochrome et fx-CG / Prizm / Graph 90+E, en USB.

Le projet est sous CeCILL 2.1, et j'en suis le seul propriétaire et mainteneur pour le moment.

Les liens pour ce projet sont :


Pas de roadmap définie pour le moment. J'ai les mêmes pistes qu'à l'époque, mais l'une des premières choses à reprendre est sans doute la gestion des encodages de caractère de CASIO, puisque c'est eux qui sont utilisés dans les formats de fichiers et les protocoles. Ensuite, il faut que je trouve par quel bout prendre la gestion de la mémoire principale.

En espérant que ça vous plaise !


1, 2, 3 Suivante
Tuper4 Hors ligne Membre Points: 889 Défis: 19 Message

Citer : Posté le 04/03/2024 15:32 | #


Ouah! C'est top ça! Ça marche sous une VM ou WSL? Sinon, bravo pour ce travail!


When the doorbell rings at three in the morning, it’s never good news. -Anthony Horowitz
Cakeisalie5 En ligne Ancien administrateur Points: 1960 Défis: 11 Message

Citer : Posté le 04/03/2024 15:39 | #


Merci !

Sous une VM sous Linux ça doit marcher, à condition de déléguer l'accès aux périphériques représentant les calculatrices ou les câbles série à la VM pour qu'un p7 qui y soit puisse y accéder.

Sous WSL, aucune idée. J'ai quelques éléments de compatibilité avec la WinAPI et le projet compile avec MinGW donc quelqu'un de motivé peut probablement rédiger un tutoriel pour installer un driver compatible libusb ou les bons drivers pour les câbles USB/série (FTDI, ...) et faire tourner les utilitaires nativement. Mais n'ayant pas de Windows natif sur mes machines perso depuis ~2019/2020, cette personne motivée, ce ne sera pas moi.
Respirateur d'air, BDFL de Cahute, des utilitaires de communication pour calculatrices CASIO.


Mon blogMes autres projets
Lephenixnoir En ligne Administrateur Points: 24579 Défis: 170 Message

Citer : Posté le 04/03/2024 15:58 | #


C'est intéressant comme compromis de supporter le pré-C89 mais pas Windows.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Cakeisalie5 En ligne Ancien administrateur Points: 1960 Défis: 11 Message

Citer : Posté le 04/03/2024 15:59 | #


Je fais ça pour que ce soit plus facile à porter, j'ai pas dit que ce serait moi qui porterais, remarque.
Respirateur d'air, BDFL de Cahute, des utilitaires de communication pour calculatrices CASIO.


Mon blogMes autres projets
Tuper4 Hors ligne Membre Points: 889 Défis: 19 Message

Citer : Posté le 04/03/2024 16:37 | #


Cakeisalie5 a écrit :
Merci !

Sous une VM sous Linux ça doit marcher, à condition de déléguer l'accès aux périphériques représentant les calculatrices ou les câbles série à la VM pour qu'un p7 qui y soit puisse y accéder.

Sous WSL, aucune idée. J'ai quelques éléments de compatibilité avec la WinAPI et le projet compile avec MinGW donc quelqu'un de motivé peut probablement rédiger un tutoriel pour installer un driver compatible libusb ou les bons drivers pour les câbles USB/série (FTDI, ...) et faire tourner les utilitaires nativement. Mais n'ayant pas de Windows natif sur mes machines perso depuis ~2019/2020, cette personne motivée, ce ne sera pas moi.
ok ok, j'essaierai avec une VM sur Windows et je te tiendrai au courant
When the doorbell rings at three in the morning, it’s never good news. -Anthony Horowitz
Cakeisalie5 En ligne Ancien administrateur Points: 1960 Défis: 11 Message

Citer : Posté le 17/03/2024 22:22 | #


J'ai fini par merge la réimplémentation de p7os aujourd'hui dans develop avec !3.

Ceci ajoute les features suivantes :

  • Backup de la ROM (même si bon, ça prend 11-12 minutes...).
  • Flash de la ROM avec la méthode de fxRemote (en attendant de mieux).
  • Upload de programmes Update.EXE arbitraires, par exemple pour rapidement prototyper divers systèmes.

Pas de release prévue pour le moment, ça arrivera quand ça arrivera.
Respirateur d'air, BDFL de Cahute, des utilitaires de communication pour calculatrices CASIO.


Mon blogMes autres projets
Cakeisalie5 En ligne Ancien administrateur Points: 1960 Défis: 11 Message

Citer : Posté le 22/03/2024 13:26 | #


Il a fallu quelques fix, mais l'ensemble des utilitaires de Cahute sur la branche develop tourne correctement sous MacOS / OS X à présent, grâce à un contributeur externe

Pour plus de détails : https://gitlab.com/cahuteproject/cahute/-/issues/3
Respirateur d'air, BDFL de Cahute, des utilitaires de communication pour calculatrices CASIO.


Mon blogMes autres projets
Cakeisalie5 En ligne Ancien administrateur Points: 1960 Défis: 11 Message

Citer : Posté le 23/03/2024 12:32 | # | Fichier joint


Premiers essais réussis avec le protocole CASIOLINK en mode réception, j'arrive à recevoir des captures d'écran monochrome et à les afficher avec p7screen (légèrement modifié pour lire depuis le port série en attendant !4) ! Il manque encore beaucoup d'étapes pour un bon support du protocole, mais ça avance


Respirateur d'air, BDFL de Cahute, des utilitaires de communication pour calculatrices CASIO.


Mon blogMes autres projets
Lephenixnoir En ligne Administrateur Points: 24579 Défis: 170 Message

Citer : Posté le 23/03/2024 12:39 | #


Oh, c'est quoi comme modèle ça ?
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Cakeisalie5 En ligne Ancien administrateur Points: 1960 Défis: 11 Message

Citer : Posté le 23/03/2024 12:41 | #


C'est une Graph 65 sur laquelle je fais mes tests actuellement (premier modèle pré-2004 qui a l'honneur de se confronter à Cahute). Elle a deux modes de partage d'écran : monochrome et couleur ; mais pour le moment Cahute ne supporte que le premier. Je suis en train d'ajouter le support du deuxième en ce moment-même
Respirateur d'air, BDFL de Cahute, des utilitaires de communication pour calculatrices CASIO.


Mon blogMes autres projets
Cakeisalie5 En ligne Ancien administrateur Points: 1960 Défis: 11 Message

Citer : Posté le 24/03/2024 13:36 | # | Fichier joint


Et avec !9 vient le support des captures couleur pour la Graph 65 !


Respirateur d'air, BDFL de Cahute, des utilitaires de communication pour calculatrices CASIO.


Mon blogMes autres projets
Slyvtt Hors ligne Maître du Puzzle Points: 2389 Défis: 17 Message

Citer : Posté le 24/03/2024 17:06 | #


GG Cake, ça le fait grave.

Purée par contre, j'avais oublié à quel point le début de la couleur chez Casio était kitchissime
There are only 10 types of people in the world: Those who understand binary, and those who don't ...
Cakeisalie5 En ligne Ancien administrateur Points: 1960 Défis: 11 Message

Citer : Posté le 24/03/2024 21:45 | #


La version 0.2 de Cahute est publiée !

Elle inclue du rework sur les liens faits en communication série, notamment pour inclure une première implémentation du protocole CASIOLINK, et p7os, un utilitaire qui peut être utilisé pour flasher une calculatrice monochrome, ou simplement uploader et lancer un Update.EXE sur la calculatrice. Elle apporte également quelques fix, notamment pour faire marcher le projet correctement sur macOS / OS X.

À noter également que j'utilise maintenant l'onglet Releases sur le dépôt du projet sur Gitlab.com pour avertir les package maintainers et autres utilisateurs à l'installation manuelle. Cela se manifeste par :


Il reste beaucoup de choses à faire, dont certaines sont déjà représentées par des entrées sur l'issue tracker du projet. Je recherche notamment du monde et des suggestions pour le packaging de Cahute sous Windows et sous Debian. Mais comme le dit si bien Framasoft, la route est longue, mais la voie est libre !
Respirateur d'air, BDFL de Cahute, des utilitaires de communication pour calculatrices CASIO.


Mon blogMes autres projets
Cakeisalie5 En ligne Ancien administrateur Points: 1960 Défis: 11 Message

Citer : Posté le 27/03/2024 19:15 | #


Aujourd'hui j'ai fait quelque chose que je voulais faire depuis longtemps : la découverte automatique de protocole sur port série, pour découvrir automatiquement si la calculatrice utilise du Protocole 7.00 ou du CASIOLINK ! Globalement j'envoie les deux checks avec des timeouts et je regarde si j'ai une réponse pour un protocole ou pour l'autre.

Avec une Graph 65 :

[2024-03-27 19:04:00    cahute info] determine_protocol_as_sender: Sending the Protocol 7.00 check packet:
[2024-03-27 19:04:00    cahute info] determine_protocol_as_sender: 00000000  0530 3030 3730       .00070
[2024-03-27 19:04:00   cahute error] read_from_link: Hit a timeout of 100ms after reading 0/1 bytes.
[2024-03-27 19:04:00    cahute info] determine_protocol_as_sender: Sending the CASIOLINK check packet:
[2024-03-27 19:04:00    cahute info] determine_protocol_as_sender: 00000000  16                   .
[2024-03-27 19:04:00    cahute info] read_from_link: Read 1 bytes in 0ms (after waiting 26ms).
[2024-03-27 19:04:00    cahute info] initialize_link_protocol: Using CASIOLINK (serial).
[2024-03-27 19:04:00    cahute info] initialize_link_protocol: Playing the role of sender / active side.
[2024-03-27 19:04:00    cahute info] close_link: Closing the link.
[2024-03-27 19:04:00    cahute info] casiolink_terminate: Sending the following end packet:
[2024-03-27 19:04:00    cahute info] casiolink_terminate: 00000000  3A45 4E44 00FF FFFF  :END....
[2024-03-27 19:04:00    cahute info] casiolink_terminate: 00000008  FFFF FFFF FFFF FFFF  ........
[2024-03-27 19:04:00    cahute info] casiolink_terminate: 00000010  FFFF FFFF FFFF FFFF  ........
[2024-03-27 19:04:00    cahute info] casiolink_terminate: 00000018  FFFF FFFF FFFF FFFF  ........
[2024-03-27 19:04:00    cahute info] casiolink_terminate: 00000020  FFFF FFFF FFFF FFFF  ........
[2024-03-27 19:04:00    cahute info] casiolink_terminate: 00000028  FFFF FFFF FFFF FFFF  ........
[2024-03-27 19:04:00    cahute info] casiolink_terminate: 00000030  FFAB                 ..
The requested operation was not implemented yet.

Avec une Graph 75+E :

[2024-03-27 19:05:57    cahute info] determine_protocol_as_sender: Sending the Protocol 7.00 check packet:
[2024-03-27 19:05:57    cahute info] determine_protocol_as_sender: 00000000  0530 3030 3730       .00070
[2024-03-27 19:05:57    cahute info] read_from_link: Read 6 bytes in 0ms (after waiting 34ms).
[2024-03-27 19:05:57    cahute info] initialize_link_protocol: Using Protocol 7.00 (serial).
[2024-03-27 19:05:57    cahute info] initialize_link_protocol: Playing the role of sender / active side.
[2024-03-27 19:05:57    cahute info] seven_send_and_receive: Sending the following packet to the device:
[2024-03-27 19:05:57    cahute info] seven_send_and_receive: 00000000  0130 3130 3646       .0106F
[2024-03-27 19:05:57    cahute info] seven_send_and_receive: Packet sent successfully, now waiting for response.
[2024-03-27 19:05:57    cahute info] read_from_link: Read 13 bytes in 0ms (after waiting 32ms).
[2024-03-27 19:05:57    cahute info] read_from_link: Read 164 bytes in 192ms.
[2024-03-27 19:05:57    cahute info] seven_receive: Received packet data is the following:
[2024-03-27 19:05:57    cahute info] seven_receive: 00000000  0630 3231 3030 4134  .02100A4
[2024-03-27 19:05:57    cahute info] seven_receive: 00000008  4779 3336 3330 3046  Gy36300F
[2024-03-27 19:05:57    cahute info] seven_receive: 00000010  5245 4E45 5341 5320  RENESAS
[2024-03-27 19:05:57    cahute info] seven_receive: 00000018  5348 3733 3535 3031  SH735501
[2024-03-27 19:05:57    cahute info] seven_receive: 00000020  3030 3030 3030 3030  00000000
[2024-03-27 19:05:57    cahute info] seven_receive: 00000028  3030 3030 3430 3936  00004096
[2024-03-27 19:05:57    cahute info] seven_receive: 00000030  3030 3030 3035 3132  00000512
[2024-03-27 19:05:57    cahute info] seven_receive: 00000038  FFFF FFFF FFFF FFFF  ........
[2024-03-27 19:05:57    cahute info] seven_receive: 00000040  FFFF FFFF FFFF FFFF  ........
[2024-03-27 19:05:57    cahute info] seven_receive: 00000048  FFFF FFFF FFFF FFFF  ........
[2024-03-27 19:05:57    cahute info] seven_receive: 00000050  FFFF FFFF FFFF FFFF  ........
[2024-03-27 19:05:57    cahute info] seven_receive: 00000058  FFFF FFFF FFFF FFFF  ........
[2024-03-27 19:05:57    cahute info] seven_receive: 00000060  FFFF FFFF FFFF FFFF  ........
[2024-03-27 19:05:57    cahute info] seven_receive: 00000068  3032 2E30 392E 3232  02.09.22
[2024-03-27 19:05:57    cahute info] seven_receive: 00000070  3031 FFFF FFFF FFFF  01......
[2024-03-27 19:05:57    cahute info] seven_receive: 00000078  3030 3031 3030 3030  00010000
[2024-03-27 19:05:57    cahute info] seven_receive: 00000080  3030 3030 3234 3332  00002432
[2024-03-27 19:05:57    cahute info] seven_receive: 00000088  372E 3030 537A 5154  7.00SzQT
[2024-03-27 19:05:57    cahute info] seven_receive: 00000090  4D51 3347 FFFF FFFF  MQ3G....
[2024-03-27 19:05:57    cahute info] seven_receive: 00000098  FFFF FFFF 4341 4B45  ....CAKE
[2024-03-27 19:05:57    cahute info] seven_receive: 000000A0  4649 5645 FFFF FFFF  FIVE....
[2024-03-27 19:05:57    cahute info] seven_receive: 000000A8  FFFF FFFF 4242       ....BB
Warning: Preprogrammed ROM information looks wiped out!
Warning: Bootcode information looks wiped out!
CPU ID (probably out of date): RENESAS SH735501
Environnement ID: Gy36300F
Product ID: SzQTMQ3G
ROM capacity: 4096KiB
RAM capacity: 512KiB
OS version: 02.09.2201
OS offset: 0x00010000
OS size: 2432KiB
Username: CAKEFIVE
[2024-03-27 19:05:57    cahute info] close_link: Closing the link.
[2024-03-27 19:05:57    cahute info] seven_send_and_receive: Sending the following packet to the device:
[2024-03-27 19:05:57    cahute info] seven_send_and_receive: 00000000  1830 3030 3730       .00070
[2024-03-27 19:05:57    cahute info] seven_send_and_receive: Packet sent successfully, now waiting for response.
[2024-03-27 19:05:57    cahute info] read_from_link: Read 6 bytes in 0ms (after waiting 32ms).
[2024-03-27 19:05:57    cahute info] seven_receive: Received packet data is the following:
[2024-03-27 19:05:57    cahute info] seven_receive: 00000000  0630 3030 3730       .00070

Tout ça n'est pas grand chose, mais ça démontre que je commence à maîtriser suffisamment les différents protocoles et leurs interactions pour faire ce genre de choses
Respirateur d'air, BDFL de Cahute, des utilitaires de communication pour calculatrices CASIO.


Mon blogMes autres projets
Lephenixnoir En ligne Administrateur Points: 24579 Défis: 170 Message

Citer : Posté le 27/03/2024 19:20 | #


Ooh donc tu peux autodétecter le bon protocole, c'est sympa ça.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Cakeisalie5 En ligne Ancien administrateur Points: 1960 Défis: 11 Message

Citer : Posté le 02/04/2024 17:44 | #


Cahute peut maintenant tourner sur du Win32 sur x86_64 correctement avec MinGW, avec support amélioré des ports série, de CESG502, de WinUSB (avec la libusb), et de l'overlap I/O pour le support des timeouts. Il manque encore le packaging, mais au moins, le coeur est présent.

Pour mes 0 utilisateurs sous Windows... x)
Respirateur d'air, BDFL de Cahute, des utilitaires de communication pour calculatrices CASIO.


Mon blogMes autres projets
Eragon En ligne Gardien des bots Points: 479 Défis: 0 Message

Citer : Posté le 02/04/2024 17:45 | #


Certes… il y a zéro utilisateur windows, mais on peut imaginer une gui cross-platform pour cahute
Cakeisalie5 En ligne Ancien administrateur Points: 1960 Défis: 11 Message

Citer : Posté le 02/04/2024 17:47 | #


Ah bah la GUI cross-platform c'est l'endgame du projet, pour enfin égaler la communauté TI qui a TiLP. Mais avant ça, y a beaucoup d'étapes...
Respirateur d'air, BDFL de Cahute, des utilitaires de communication pour calculatrices CASIO.


Mon blogMes autres projets
Lephenixnoir En ligne Administrateur Points: 24579 Défis: 170 Message

Citer : Posté le 03/04/2024 15:23 | #


cahute 0.2 ne semble pas avoir de règle install() pour p7os ?
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Cakeisalie5 En ligne Ancien administrateur Points: 1960 Défis: 11 Message

Citer : Posté le 03/04/2024 15:25 | #


Ouais, erreur de ma part qui a été fixed peu après la release :
https://gitlab.com/cahuteproject/cahute/-/commit/157f710ccd99ac6eb2595dec136f0b4a93a8bcbb

Ce sera fixed upstream pour la release 0.3, j'ai pas spécialement demandé aux packagers de faire un patch en attendant parce que c'est pas forcément nécessaire mais tu peux demander ça aux packagers Arch au besoin
Respirateur d'air, BDFL de Cahute, des utilitaires de communication pour calculatrices CASIO.


Mon blogMes autres projets
1, 2, 3 Suivante

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 134 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd