MPM : Mod add-ins Math+
Posté le 02/12/2024 12:36

MPM est un mod communautaire de la Math+ remettant le support des add-ins, développé par Planète Casio.
Version actuelle : bêta
Instruction d'utilisation
- Brancher la calculatrice en mode mise à jour de l'OS. Si vous utilisez une VM, attachez la calto à la VM.
- Lancer mpm-installer-1.0bw.exe depuis cmd. Un échange se fait.
- Quand l'installeur affiche "Communicating more..." la calto se reconnecte. (Si vous utilisez une VM, attachez la calto à la VM. J'utilise une fonction naïve pour la reconnexion donc vous avez genre 10 secondes.) Attendez une seconde et appuyez sur EXE pour continuer.
- Ensuite suivez les instructions sur la calto, en gros TOOLS puis SETTINGS et RESTART.
- Transférez mpm.bin dans la mémoire de stockage.
- Dans le menu principal, appuyez sur TOOLS pour accéder au menu des add-ins (inactif en mode examen).
État actuel du support (2025-02-19)
- Les add-ins compilés avec la branche dev de gint doivent marcher normalement.
- Les add-ins gint non recompilés marcheront mais le clavier sera en désordre et tout retour au menu / accès système de fichiers / autre syscall plantera.
- Les add-ins PrizmSDK ne marcheront pas parce qu'ils utilisent des syscalls partout (pas encore émulés)
- Tous les add-ins modifiés pour remplacer les syscalls par des adresses explicites si les syscalls ont le même code marcheront (... tant que y'a pas en plus des fonctionnalités spécifiques aux modèles dans l'appli).
Liste de préoccupations
- Compatibilité binaire :
Pas encore clair
Si on peut l'avoir, c'est super. Sinon, y'a un casse-tête à attendre pour traquer quels add-ins sont compatibles. L'absence de table de syscalls est le principal souci ici, ce qui peut peut-être se contourner avec un coup d'UBC pour intercepter les appels.
- Compatibilité de la disposition clavier :
Pire cas, en recompilant
Syscalls + GetKey() : les codes sont adaptés, certaines touches disparaissent, d'autres sont nouvelles.
gint sans recompiler : j'ai un trick en tête mais il vaut mieux imaginer que ça va donner des mauvais résultats.
gint en recompilant : la compatibilité sera assurée.
- Reste du matériel :
Quasiment garanti identique
Il faudrait qu'un truc très gros m'ait échappé.
- RAM étendue :
Probablement OK
Il y a de la mémoire après les 2 premiers Mo, pas sûr cependant de si l'utiliser interférera avec l'opération normale de l'OS.
- Récupérer 16 Mo de mémoire de stockage :
Pas clair
Il faut que ça marche en pratique et c'est dur d'écarter tous risques de brick. Et je sais pas comment faire techniquement parlant.
Post original
Cliquez pour enrouler
Comme annoncé pour le
Puzzle de l'Avent, un mod Math+ non-officiel est en cours de développement pour permettre d'écrire des add-ins sur la Math+.
Le mod n'est pas encore public du fait qu'il n'y a pas encore les sécurités nécessaires pour bien empêcher qu'on en abuse. Mais les questions techniques sont partiellement résolues et on commence à avoir une vue raisonnable de ce qu'on va pouvoir, ou pas, faire sur la Math+.
La préoccupation principale est
si les .g3a existants vont marcher tels quels, ou
compatibilité binaire. Ce serait le pied, mais c'est pas encore clair si on peut parce que la table des syscalls n'existe plus.
Par ce topic je souhaiterais savoir ce que la communauté voudrait voir dans un tel mod et discuter de la faisabilité technique. Y a-t-il des choses qui posaient problèmes sur la 90 que vous voudriez améliorer ? Des soucis attendus avec la Math+ que vous voulez voir adressés ? J'ai déjà quelques idées en tête, mais je vous laisse vous exprimer.
Fichier joint
EOJonas Invité
Citer : Posté le 20/10/2025 23:46 | #
On my CG100 when i try and install, everything goes normally and then i get this error:
receive_on_link_medium: USB device is no longer available.
After restarting the calculator MPM hasn't installed. Do you know what could be happening?
Citer : Posté le 21/10/2025 10:54 | #
Well I know broadly what's happening. A communications timing or driver issue in-between the two communication phases. If you scroll up you'll see that other users are experiencing this problem. However I've never been able to reproduce it, and because the issues could equally come from the MPM installer, the comms library, or Windows drivers, it's super difficult to debug.
The bruteforce thing to do is to use another PC for the install. There's no other immediate solution.
If you have some time, please see my post two messages above and follow the same instructions that Flymno did. This wil help document the problem and eventually fix it.
EOJonas Invité
Citer : Posté le 22/10/2025 01:11 | #
On my Laptop (Default drivers(USBSTOR)):
Before running it shows as CASIO ColourGraph USB Device in device manager under disk drives, After running, device manager reloads, and it is no longer shown, once i press exe, device manager reloads again, but still doesn't show anything. Then once restarting and plugging back in it shows again as CASIO ColourGraph USB Device, and has not updated
On my PC (Manually installed drivers via zadig(WinUSB)):
Before running it shows as Casio MassStorage Device under Universal Serial Bus Devices, after running it shows as CASIO fx-CG family on gint in device manager under USB devices, once pressing exe on the calculator it then disapears from device manager and has not updated.
On both devices it shows the USB device is no longer available error, this error only shows after i press exe after the screen turned black
Citer : Posté le 22/10/2025 18:56 | #
Dans les explications pour l'installation du mod MPM, il faudrait je pense préciser que la calculatrice doit être en OS 2.00 pour que cela fonctionne. Car en relisant je me rends compte que cela n'est pas précisé. Je viens de vérifier lors de l'installation du mod sur ma nouvelle Math+ que le message d'erreur d'OS non reconnu s'affiche vraiment très furtivement et est donc très difficile à attraper.
Twofour68 Invité
Citer : Posté le 24/10/2025 00:01 | #
This may or may not be useful but I found out I am able to use key combinations to enter the same diagnostic modes from the CG50 on the CG100.
[x10^] [AC] [ON] -> Diagnostic mode prompt
[x10^] [AC] [ON] then [5][9][6][3] -> Test mode
[x10^] [AC] [ON] then [Settings][1] -> Factory mode
[Restart][Home][4][AC] then [F1][9] -> OS Update (unmodified from CG50)
(Restart) [Back] [x10^] [AC] -> "Please SD Card Insert" (unmodified from CG50)
I wonder if anyone can use these to install a CG50 firmware on a CG100?
Citer : Posté le 24/10/2025 00:37 | #
Not directly no because CASIO's updates that have CG-50 firmwares will refuse to install them on a CG-100.
Besides, it would be nearly unusable due to the mismatched keyboard layouts...
Charlesbug Invité
Citer : Posté le 25/10/2025 19:33 | #
Bonjour, veuillez excuser mon mauvais français, je viens du Royaume-Uni et j'utilise un traducteur pour envoyer ce message. J'ai essayé d'installer MPM sur mon cg100 que j'ai acheté à mon école qui achète en gros, il s'agit donc peut-être d'un ancien modèle, mais ce détail n'a peut-être aucune importance. J'ai essayé de l'installer sur deux appareils Windows 10, mais les deux ont affiché cette erreur : Communication...
Calculatrice détectée (001:016) : calculatrice UMS (fx-CG, fx-CP400+, fx-GIII)
Communication en cours...
[2025-10-25 18:22:14 erreur cahute] receive_on_link_medium : le périphérique USB n'est plus disponible.
https://media.discordapp.net/attachments/1210717931302948965/1431695059761238077/IMG_3035.jpg?ex=68fe596d&is=68fd07ed&hm=ae53586abdfba8a00aef208a49ac32a01621d0d7fe42c46112ce56a5b898fdf6&=&format=webp&width=996&height=1328
J'ai essayé d'exécuter le programme d'installation, de le débrancher une fois qu'il a atteint « Communication en cours... », de le reconnecter et de relancer le programme d'installation, mais ma calculatrice s'est alors bloquée sur l'écran de chargement plutôt que sur l'écran d'erreur avec l'erreur suivante :
Communication...
Calculatrice détectée (001:058) : calculatrice UMS (fx-CG, fx-CP400+, fx-GIII)
Communication en cours...
[25/10/2025 18:04:04 erreur cahute] receive_on_link_medium : le périphérique USB n'est plus disponible.
cahute_receive_on_link : CAHUTE_ERROR_GONE
C:\Users\Charlie\Downloads\mpm-installer-1.0bw-199064>mpm-installer-1.0bw.exe
Communication en cours...
[25/10/2025 18:04:09 erreur cahute] open_usb_link : protocole Nope : P7 pour gint
[25/10/2025 18:04:09 erreur cahute] seven_receive : format non valide pour l'en-tête de paquet habituel.
cahute_open_simple_usb_link : CAHUTE_ERROR_UNKNOWN
Voici comment le périphérique est détecté dans le gestionnaire de périphériques : https://media.discordapp.net/attachments/1210717931302948965/1431696929032634438/image.png?ex=68fe5b2b&is=68fd09ab&hm=655baeb2d4c9b6593e345c40a2d7a31c54f561078212d09a777cc9773f53717e&=&format=webp&quality=lossless Casio ColorGraph USB Device, sous Lecteurs de disques. Oui, j'ai sélectionné la mise à jour du système d'exploitation lors du branchement.
Citer : Posté le 25/10/2025 19:35 | #
Hi, you can post in English, no problem (although thanks for the effort of translating!)
The System ERROR means the MPM installer failed in a pretty bad way. I've been talking abut comms errors lately but this is not one of them (you shouldn't unplug btw, this was definitely not planned for!).
What OS version do you have on the CG-100? It might be that there are particular version or model differences that the MPM installer isn't yet compatible with.
Charlesbug Invité
Citer : Posté le 25/10/2025 20:08 | #
Hi, Thanks for the quick response, my calculator is version 02.00.0212 I tried updating with the official casio updater but it said I am already on the latest version, I also read somewhere on reddit that some of the first batches made in february 2025 of cg100s had some sort of different hardware, but im not sure. One last detail I would say is that the school i attend has 5000+ students so I would assume that they buy in bulk from casio and presumably did so as soon as the cg100 released, whether or not any of these details make any difference I dont know but i thought i should say it anyway. I just wanted to install this project as I found it interesting and I am aware it is in beta so no rush on fixing this error, if you need me to do anything else to debug I am happy to help and good luck with the project.
Citer : Posté le 25/10/2025 20:10 | #
Hmm, 2.00 should be the right version. Early models had 1.00, which MPM will not install on, but then it gives an error message, not a crash. There's little more information that can be collected from the crash beyond the screenshot you provided, so I'll have to try and debug blind when I have some time. Sorry for the trouble.
Citer : Posté le 28/10/2025 22:43 | #
Salut,
Deux petites questions:
Est-ce que MPM est compatible avec la version 2 de l'OS de la Graph Math+ ?
Je suis radio amateur et j'aimerai faire un petit addin "RadioHam" (ou plusieurs ?) dans lequel je pourrai :
1. Calculer les valeurs de résistances
2. Calculer parmis U=RI (ou I=U/R, ou R=U/I)
3. Et d'autes...
Par où je pourrais commencer ?
PS: git, C, compilation, programmation etc... je le vois au quotidien donc ça va mais savoir par où commencer, c'est des fois laborieux. J'ai déjà fait mon addins en suivant tous tes tutos mais je bloque sur les tests et la copie sur la calculatrice.
Citer : Posté le 28/10/2025 22:48 | #
Salut ! Oui MPM est compatible seulement avec la version 2 (la version 1 n'est présente que dans des prototypes).
La première chose dans tous les cas est d'installer MPM.
Pour commencer à coder, il faut voir côté fxSDK, qui est le seul système complètement supporté pour l'instant : https://www.planet-casio.com/Fr/forums/topic13164-last-fxsdk-un-sdk-alternatif-pour-ecrire-des-add-ins.html
L'installation demande un peu d'effort mais la version avec GiteaPC est relativement automatique si tu as soit Linux soit WSL.
Ensuite tu peux voir les tutoriels existants pour l'utilisation de gint : https://www.planet-casio.com/Fr/forums/topic14914-1-tutoriels-dutilisation-de-gint.html
Avec ça tu auras plus ou moins le Hello World, de quoi dessiner à l'écran, récupérer les entrées clavier, et a priori ça devrait être un bon point de départ pour l'application que tu décris.
Citer : Posté le 03/11/2025 19:30 | #
@SlyVTT avant que j'oublie c'est là que MPM charge la liste des add-ins : https://git.planet-casio.com/PlaneteCasio/mpm/src/branch/main/main.c#L325-L328
Tu indiques (sur la shoutbox) que tu si tu génères un g3a dans un programme, Bfile_FindFirst le trouve pas, et qu'il apparaît que après avoir effectué une connexion USB, c'est ça ?
Ça sent une sorte de cache Bfile qui sera flush avant l'usage de l'USB. Si c'est ça on doit pouvoir trouver la bonne fonction à appeler. Les g3a sont gérés bizarrement dans le système, en tous cas l'étaient jusqu'à la 90+E, donc c'est peut-être lié.
Citer : Posté le 03/11/2025 20:17 | #
J'ai créé un fil dédié ici : https://www.planet-casio.com/Fr/forums/topic19132-1-un-compresseur-daddins-pour-graph-math-work-in-progress-mais-probleme-que-je-ne-comprends-pas.html
Effectivement je pense que la fenêtre sur G90+E qu'on doit valider avec EXE lorsque l'on quitte la connexion USB doit avoir un rôle dans cette histoire.
Citer : Posté le 11/11/2025 09:08 | #
As of November 6, 2025, the χCAS website for calculators such as the fx-CG50 and fx-9750GIII is currently inaccessible. (https://www-fourier.ujf-grenoble.fr/~parisse/casio/khicasioen.html)
However, I found an archived version on the Wayback Machine:
https://web.archive.org/web/20250911060358/https://www-fourier.ujf-grenoble.fr/~parisse/casio/khicasioen.html
From there, I downloaded the file for the fx-CG100 and installed it on my fx-CG100. But when I try to launch χCAS by running the g3m file, the calculator freezes, and I have no choice but to restart it.
For reference, I installed MPM and Ftune4 successfully and Ftuen4 works properly in my environment. I copied all χCAS-related files (except MPM) to the storage memory of fx-CG1000.
Could it be that the archive on the Wayback Machine is too old, or is this a known bug? I would appreciate any advice from anyone familiar with this issue.
Citer : Posté le 11/11/2025 09:54 | #
I alm afraid it is because of non matching mpm.bin versions.
Parisse (Xcas programmer) is delivering a special version of mpm.bin to be used for Xcas.
It is quite tricky to manage cause other addins may not be compatible with this version.
Try usqing the mpm.bin delived with Xcas and redo all the operations.
Let us know if it works.
Citer : Posté le 11/11/2025 11:12 | #
The explanation is that KhiCAS requires mapping more memory when loading the add-in, but the official mpm.bin doesn't do it yet because it leads to crashes when loading the next add-in after leaving KhiCAS and I still haven't figured out why.
Flymno Invité
Citer : Posté le 12/11/2025 19:38 | #
Hello again,
I have recently been trying again to install MPM on my CG100 failing with "cahute error] receive_on_link_medium: USB device is no longer available." on every attempt.
I have tried using my Windows 11 PC, inside a Windows 10 VM on the PC on separate Windows 11 laptops and most recently on a native Windows 10 PC, all of which had the same USB device error, I believe I didn't mention before but my CG100 is specifically running OS Version 2.00.0212 and wondered if that had anything to do with it, timings and delays have no effect and crucially, the error always occurs after pressing [OK] or [EXE] on the calculator's keyboard (after the screen has turned black). This feels more like it is an issue on the calculator's side rather than Windows due to it failing on every machine tested on.
I wondered if there was anything else I could attempt in order to install/find more information regarding this error
Thanks!
Citer : Posté le 12/11/2025 19:53 | #
Hi, thanks for this comprehensive report. With all these machines tested it does seem like a calculator problem. The only bug I solved with this symptom was a timing issue in the installer (that you have no control over) which involved a delay that we could increase again.
Sadly, there's nothing you can do with the calculator side, since the entire program is purposefully not public. There's no one actively working on it at the moment, it's up to the MPM developers, in this particular case myself, once I get my stuff in order and find time to look at it. It's annoying that none of us can reproduce the issue though.
Maybe, since you had the issue on a VM, you can send that VM to us, to see if we can reproduce? I have a VirtualBox install on hand, if by any chance that's what you've used.
Flymno Invité
Citer : Posté le 12/11/2025 20:27 | #
Yes, I would be happy to send you my virtual machine (I used VMWare Workstation to create it) although it is just a blank, fresh installation of Windows 10. It exhibits exactly the same behaviour regarding the USB device error my main PC does, as do all the other computers I have tested.
I could prepare the VM for VirtualBox and send it to you? Please let me know the best method for transferring it.
Thank you for your time
Citer : Posté le 12/11/2025 22:10 | #
I would love a VirtualBox image, yes! How to transfer it depends on the size. Breizh_craft hosts a local file transfer tool for anything up to 5 gigs, though I suppose even compressed the image would be larger. In that case any online file transfer utility would do (not like it's sensitive data anyway). In that case I'll send you some email by PM; let me know.