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.