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
Citer : Posté le 27/02/2025 13:35 | #
Merci Lephé.
Ca fonctionne vraiment très bien.
J'ai pu convertir assez facilement qq projets (Outrun, PythonExtra).
Pour ceux qui veulent faire de même, il faut être sur la branche dev de "gint", l'arène ram s'appelle "_ld1" qui doit remplacer "_ostk".
L'arène "_uram" reste opérationnelle.
Citer : Posté le 04/06/2025 00:12 | #
Pour info, j'ai une confirmation indirecte que MPM marche sur la CG-100 du fait que c'est exactement le même OS et quelqu'un a testé.