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 Hors ligne Administrateur Points: 25268 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 ··· 6, 7, 8, 9, 10 Suivante
Slyvtt En ligne Maître du Puzzle Points: 2649 Défis: 17 Message

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.
There are only 10 types of people in the world: Those who understand binary, and those who don't ...
Lephenixnoir Hors ligne Administrateur Points: 25268 Défis: 174 Message

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é.
Mon graphe (27 Juin): (MQ || Rogue Life) ; serial gint ; passe gint 3 ; Azur ; ...) || (shoutbox v5 ; v5)
Calcloverhk Hors ligne Membre Points: 403 Défis: 10 Message

Citer : Posté le 19/07/2025 06:11 | #


The current MPM Windows installer requires 64-bit Windows Vista or newer system to run properly. However, there is no native support for WinUSB until Windows 8. For those who still use Windows Vista or 7 should download Zadig and manually install the WinUSB driver.
C.Basic Wiki Project progress as of 2024/2/12
   30%
Ptune4 (Submit SDRAM test result) | C.Basic developer

Lephenixnoir Hors ligne Administrateur Points: 25268 Défis: 174 Message

Citer : Posté le 19/07/2025 08:16 | #


So to recap:
- Launch the MPM installer once, get stuck after the gint part connects
- Use Zadig to assign WinUSB to the calculator
- RESTART the calc
- Launch the MPM installer again, then you're fine
Is that correct?
Mon graphe (27 Juin): (MQ || Rogue Life) ; serial gint ; passe gint 3 ; Azur ; ...) || (shoutbox v5 ; v5)
Calcloverhk Hors ligne Membre Points: 403 Défis: 10 Message

Citer : Posté le 19/07/2025 12:39 | #


Lephenixnoir a écrit :
So to recap:
- Launch the MPM installer once, get stuck after the gint part connects
- Use Zadig to assign WinUSB to the calculator
- RESTART the calc
- Launch the MPM installer again, then you're fine
Is that correct?

Yes. Is there a way to reload the communication inside the installer without a RESTART though?
C.Basic Wiki Project progress as of 2024/2/12
   30%
Ptune4 (Submit SDRAM test result) | C.Basic developer

Lephenixnoir Hors ligne Administrateur Points: 25268 Défis: 174 Message

Citer : Posté le 19/07/2025 23:55 | #


No, there's no option for this sadly :x
Mon graphe (27 Juin): (MQ || Rogue Life) ; serial gint ; passe gint 3 ; Azur ; ...) || (shoutbox v5 ; v5)


Nischay Invité

Citer : Posté le 29/07/2025 21:54 | #


Hii by when do u think will i be able to add, add ons which have prizm sdk
Lephenixnoir Hors ligne Administrateur Points: 25268 Défis: 174 Message

Citer : Posté le 29/07/2025 21:56 | #


It's mostly a function of when I have time... or if someone contributes, when someone has time! The technical idea isn't too complicated (use debugger to intercept calls to syscall entry point, then dispatch through a reconstructed syscall table). However I haven't been working much on MPM since the beta release due to many things happening all at once.

So it's hard to give an estimate. If we're lucky it might work after a few days of developing it. Since you've mentioned it I'll bump it up the priority list at least...
Mon graphe (27 Juin): (MQ || Rogue Life) ; serial gint ; passe gint 3 ; Azur ; ...) || (shoutbox v5 ; v5)


Nischay Invité

Citer : Posté le 30/07/2025 16:08 | #


Oh ok thanks, can i port some of the software not supported on graph math + from the to it, like can i port it on my own if yes how pls tell me>?
Lephenixnoir Hors ligne Administrateur Points: 25268 Défis: 174 Message

Citer : Posté le 30/07/2025 16:49 | #


You can help or port your own software yes! If you want to improve the compatibility of MPM with older add-ins, you can have a look at the launcher, which is here: https://git.planet-casio.com/Lephenixnoir/mpm

The launcher configures the Math+ to behave like the older models so older add-ins can run unmodified. (Although, so far, it only works for a limited number!)

If you want to take an existing add-in and modify it to add Math+ compatibility manually, that's fine too! In that case I'll need to know what add-in this is and what tools/SDK it's been developed with to provide appropriate advice.
Mon graphe (27 Juin): (MQ || Rogue Life) ; serial gint ; passe gint 3 ; Azur ; ...) || (shoutbox v5 ; v5)
Landersakiii En ligne Membre Points: 18 Défis: 0 Message

Citer : Posté le 30/07/2025 16:51 | #


ok so i mainly want 3 ports, one is NESizm, khicas, and an nintendo game boy emulator( can u suggest pls)
Landersakiii En ligne Membre Points: 18 Défis: 0 Message

Citer : Posté le 30/07/2025 16:51 | #


oh and btw im still the user above i just logged in
Lephenixnoir Hors ligne Administrateur Points: 25268 Défis: 174 Message

Citer : Posté le 30/07/2025 16:58 | #


Phew. KhiCAS is already ported, so that's cleared. TSWilliamson's emulators, man... (he also has a GB one, Prizoop)... the bar is high. Lots of syscalls. Like that might not be very realistic. But my advice would be to first read through the source, find the syscalls, reimplement them all.
Mon graphe (27 Juin): (MQ || Rogue Life) ; serial gint ; passe gint 3 ; Azur ; ...) || (shoutbox v5 ; v5)
Landersakiii En ligne Membre Points: 18 Défis: 0 Message

Citer : Posté le 30/07/2025 17:00 | #


can i be honest with u idk what is sys calls or whatever bro im so confused
Landersakiii En ligne Membre Points: 18 Défis: 0 Message

Citer : Posté le 30/07/2025 17:02 | #


and where can i find the khicas i found one on the ti nspite websites but none of the links worked for me for some reason
Landersakiii En ligne Membre Points: 18 Défis: 0 Message

Citer : Posté le 30/07/2025 17:30 | #


also i was reading a mpm post by one of the admins and they also had mario kart open on their calc, if u know how they got it or mybe they could share it. It would be highly appreciated thanks
Lephenixnoir Hors ligne Administrateur Points: 25268 Défis: 174 Message

Citer : Posté le 30/07/2025 17:49 | #


There you go for KhiCAS: https://www.planet-casio.com/Fr/forums/topic15269-12-khicas-add-in-calcul-formel-pour-graph-90e-et-35eii.html#199807
I remember now it only works with Parisse's version of mpm.bin because the changes he needed led to some bugs that I have yet to debug.

Landersakiii a écrit :
can i be honest with u idk what is sys calls or whatever bro im so confused

Yeah, it's a bit obscure. But what you're asking for is also really difficult. So if you don't have experience with programming add-ins on CASIO calculators, you'll need to start there. To be honest the likelihood of porting NESizm/Prizoop without prior experience is not high.

Syscalls are functions provided by the OS. There used to be a bunch of them available from a big table, and lots of programs would call them whenever they needed. In the Math+, the table was removed. So now all of these functions must either be located by hand (reverse-engineering) or re-implemented. Just cataloging which syscalls are used in NESizm/Prizoop would be great as a start.

Landersakiii a écrit :
also i was reading a mpm post by one of the admins and they also had mario kart open on their calc, if u know how they got it or mybe they could share it. It would be highly appreciated thanks

Please link to the post?
Mon graphe (27 Juin): (MQ || Rogue Life) ; serial gint ; passe gint 3 ; Azur ; ...) || (shoutbox v5 ; v5)
Landersakiii En ligne Membre Points: 18 Défis: 0 Message
Landersakiii En ligne Membre Points: 18 Défis: 0 Message

Citer : Posté le 30/07/2025 17:55 | # | Fichier joint


this is what is shown when i open the fourier links
Lephenixnoir Hors ligne Administrateur Points: 25268 Défis: 174 Message

Citer : Posté le 30/07/2025 18:00 | #


Ah, that's not a Mario Kart game, that'd be this game by Farhi : https://www.planet-casio.com/Fr/programmes/programme4343-1-super-mario-3d-farhi-jeux-add-ins.html
Mon graphe (27 Juin): (MQ || Rogue Life) ; serial gint ; passe gint 3 ; Azur ; ...) || (shoutbox v5 ; v5)
Landersakiii En ligne Membre Points: 18 Défis: 0 Message

Citer : Posté le 30/07/2025 18:05 | #


0x145E: 0xF9
0x75DF: 0x60
0x8583: 0x60
0x9749: 0x3B
0x977B: 0x1F
0x9789: 0x8D
0x9B15: 0xDC
0x9B67: 0x8D
0x9CEB: 0xE4
0x9DC1: 0x27
0x9F33: 0x21
0xA0CD: 0x6E
0xA25F: 0x90
0xA287: 0x81
0xA2B1: 0x81
0xA2F5: 0x96
0xA7F5: 0x23
0xABA1: 0x81
0xAC89: 0x79
0xAC97: 0x79



chat gpt found these
Précédente 1, 2, 3 ··· 6, 7, 8, 9, 10 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 - 2025 | Il y a 235 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