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 - Vie communautaire


Index du Forum » Vie communautaire » MPM : Mod add-ins Math+
Lephenixnoir En ligne Administrateur Points: 25633 Défis: 174 Message

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

  1. Brancher la calculatrice en mode mise à jour de l'OS. Si vous utilisez une VM, attachez la calto à la VM.
  2. Lancer mpm-installer-1.0bw.exe depuis cmd. Un échange se fait.
  3. 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.
  4. Ensuite suivez les instructions sur la calto, en gros TOOLS puis SETTINGS et RESTART.
  5. Transférez mpm.bin dans la mémoire de stockage.
  6. 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


Précédente 1, 2, 3 ··· 10 ··· 13, 14, 15, 16
Flymno Hors ligne Membre Points: 4 Défis: 0 Message

Citer : Posté le 10/01/2026 22:02 | #


Huh, that is interesting
I did try to use zadig, I guess I must have made a mistake


Charlesbug Invité

Citer : Posté le 11/01/2026 19:13 | #


I can confirm I have also managed to roll back to 2.00.0202 and then install MPM on a UK calculator, thanks to the explanation Shalodey, here is a more detailed description for anyone trying to do the same, if you did not mess with Zadig then you can just follow from step 4:

1. Connect your CG-100 in OS Update mode
2. Open Device Manager, then click View > Show hidden devices, now scroll to the bottom and click on "Universal serial bus connectors" and right click "Casio Mass Storage Device", click uninstall, and make sure to click the box which says "Delete the driver software for this device"
3. Reconnect your CG-100 in OS Update mode, it should now show as "CASIO ColorGraph USB Device"
4. Download 2.00.0202 updater from https://www.planet-casio.com/Fr/logiciels/voir_un_logiciel_casio.php?showid=153, and run it until you reach the prompt asking to connect the calculator
5. Enter OS Error mode, I used this method, but there are others found here: https://www.planet-casio.com/Fr/forums/topic16402-1-optimized-ways-to-get-into-os-error-page.html
Press [HOME] [4] [AC] + RESTART (Button is on the back of the calculator, press with a pen)
Release RESTART button, then wait for a second.
Release all keys.
Press and hold [9] for a second, then release.
Press and hold [x], until OS Error text appears.
5. Connect the calculator and continue the prompt in the 2.00.0202 updater
6. Follow instructions given above to MPM


Charlesbug Invité

Citer : Posté le 11/01/2026 19:57 | #


Could I ask which .g3a add ins actually work? I have tried searching but am yet to find anything which actually works
Calcloverhk Hors ligne Membre Points: 423 Défis: 10 Message

Citer : Posté le 11/01/2026 20:07 | #


I used the syscall table generator from Parisse and fxos and got the following results:
_LoadVRAM_1                    // 0x1E63, 0x80251838, confirmed
_Bdisp_Fill_VRAM               // 0x0275, 0x8007a6ca, confirmed
_Bdisp_PutDisp_DD_stripe       // 0x0260, 0x8007a2da, confirmed
_SaveVRAM_1                    // 0x1E62, 0x80251824, confirmed
_Bfile_GetBlockAddress         // 0x1DAA, 0x80333cf2, confirmed
_RTC_GetTime                   // 0x02C0, 0x8007cbbc, confirmed
_Bdisp_WriteDDRegister3_bit7   // 0x01A6, 0x800743de, confirmed
_Bdisp_DefineDMARange          // 0x01A3, 0x800742a0, confirmed
_Bdisp_DDRegisterSelect        // 0x01A2, 0x80074268, confirmed
_CMT_Delay_micros              // 0x11D6, 0x80230b4e, confirmed
_MCSGetData1                   // 0x1563, 0x8025c3f8, confirmed
_MCS_WriteItem                 // 0x151A, 0x80259388, confirmed

Of course the above found addresses absolutely need to be tested. I will update this post over time.
C.Basic Wiki Project progress as of 2024/2/12
   30%
Ptune4 (Submit SDRAM test result) | C.Basic developer
The reptile will say "Planète" and then "Casio".

Calcloverhk Hors ligne Membre Points: 423 Défis: 10 Message

Citer : Posté le 11/01/2026 20:36 | #


Shalodey a écrit :

at first, the installer did say "update failed". i tried investigating it further by not using OS ERROR mode (since that gives more information) which revealed that the calculator wouldn't even begin receiving the files. then i started to suspect it might be to do with the usb connection itself

that reminded me that earlier on i reinstalled the drivers for the calculator using zadig and set it to WinUSB. sure enough the 2.00 installer worked perfectly fine, going into device manager, enabling "Show hidden devices", deleting any mention of Casio, then rebooting.


Your assumption is correct, as you used Zadig to replace the default USBSTOR driver with WinUSB to let the MPM installer communicate with the calculator, and that disabled the communication with OS Update at the same time as it only supports the default driver. This is due to the fact that both MPM installer and OS Update share the same VID:PID pair (07cf:6102) and thus use the same driver slot (one driver for one VID:PID pair). As a side note, you can access your storage in explorer normally because it uses 07cf:6103 and that remains unchanged.

The installer limits to WinUSB because of the old Cahute version it uses which depends on libusb. The latest version of Cahute supports USBSTOR, but it conflicts with changes in the installer at the moment. For now, you need to revert the driver change just like what you described here if you want to use OS Update again.
C.Basic Wiki Project progress as of 2024/2/12
   30%
Ptune4 (Submit SDRAM test result) | C.Basic developer
The reptile will say "Planète" and then "Casio".

Calcloverhk Hors ligne Membre Points: 423 Défis: 10 Message

Citer : Posté le 11/01/2026 20:54 | #


Charlesbug a écrit :
Could I ask which .g3a add ins actually work? I have tried searching but am yet to find anything which actually works

Here is the list of add-ins that I'm aware of:

C.Basic Wiki Project progress as of 2024/2/12
   30%
Ptune4 (Submit SDRAM test result) | C.Basic developer
The reptile will say "Planète" and then "Casio".



Charlesbug Invité

Citer : Posté le 11/01/2026 22:59 | #


Thanks I have managed to install SDL Tetris and some Interesting games with PythonExtra including a nice version of chess from https://github.com/fizban99/numworks_usunfish which I slightly modified to work on the cg100, I can post it here if anyone wants it
Calcloverhk Hors ligne Membre Points: 423 Défis: 10 Message

Citer : Posté le 12/01/2026 04:44 | #


Charlesbug a écrit :
Thanks I have managed to install SDL Tetris and some Interesting games with PythonExtra including a nice version of chess from https://github.com/fizban99/numworks_usunfish which I slightly modified to work on the cg100, I can post it here if anyone wants it

Have you tried to install KhiCAS to see if it still works on your calculator? Note that you have to use its own version of mpm.bin as the common version cannot load it into RAM at the moment.
C.Basic Wiki Project progress as of 2024/2/12
   30%
Ptune4 (Submit SDRAM test result) | C.Basic developer
The reptile will say "Planète" and then "Casio".



glocus Invité

Citer : Posté le 12/01/2026 19:25 | #


J'ai fait la maj vers le systeme 02.10.2202
Le MPM ne marche plus.
Lephenixnoir En ligne Administrateur Points: 25633 Défis: 174 Message

Citer : Posté le 12/01/2026 19:30 | #


Toute mise à jour désinstalle MPM, c'est normal. Il faudrait donc le réinstaller. Mais MPM n'est pas encore compatible avec la 2.10, donc tu dois soit redescendre en 2.00 soit attendre...
Mon graphe (27 Juin): (MQ || Rogue Life) ; serial gint ; passe gint 3 ; Azur ; ...) || (shoutbox v5 ; v5)


Charlesbug Invité

Citer : Posté le 12/01/2026 21:04 | #


khiCAS works on my calculator however I am not very familiar with it but it seems like a very powerful tool to learn, however I am wondering if it is possible to merge the mpm.bin or atleast somehow keep the functionality of PythonExtra Add in and khiCAS without having to swap the mpm.bin?
Lephenixnoir En ligne Administrateur Points: 25633 Défis: 174 Message

Citer : Posté le 13/01/2026 18:52 | #


Sadly not, you could use some renaming tricks but it's not easy to run programs while you have no mpm.bin.

In theory the problem preventing KhiCAS from using the same mpm.bin is easy, there's just some unexplained crashes and no one's gotten around to fixing it...
Mon graphe (27 Juin): (MQ || Rogue Life) ; serial gint ; passe gint 3 ; Azur ; ...) || (shoutbox v5 ; v5)
Précédente 1, 2, 3 ··· 10 ··· 13, 14, 15, 16

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:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
captcha
Rafraîchissez la page si vous souhaitez obtenir un nouveau CAPTCHA.

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2026 | Il y a 228 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