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: 24774 Défis: 170 Message

MPM : Mod add-ins Math+

Posté le 02/12/2024 12:36

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.



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.



Slyvtt Hors ligne Maître du Puzzle Points: 2436 Défis: 17 Message

Citer : Posté le 13/01/2025 17:37 | #


Du coup Lephe tu as qq infos sur ce qui sera disponible pour la communauté ? On peut s'attendre à pouvoir faire quoi à court/moyen terme avec MPM ?
There are only 10 types of people in the world: Those who understand binary, and those who don't ...
Lephenixnoir Hors ligne Administrateur Points: 24774 Défis: 170 Message

Citer : Posté le 13/01/2025 22:43 | #


Seront publiques les sources du fameux mpm.bin, à savoir tout ce qui est utile fonctionnellement : le code du menu d'add-ins, le listing des g3a, le chargement et tous les mécanismes d'émulation / compatibilité associés ; le mécanisme pour transférer des fichiers rebrancher tout le temps le câble, la compression etc.

Ce programme pourra être modifié/remplacé individuellement si ça vous amuse, mais le but est qu'il y ait une version "officielle" parce que si tous les utilisateurs n'ont pas la même chose ce sera vite un bordel fou, donc l'approche visée est de fusionner toutes les fonctions dans une seule version autant que possible.

Sera privé l'installeur qui d'une façon ou d'une autre se débrouille pour qu'appuyer sur TOOLS dans le menu principal lance mpm.bin.

Les collaborateurs qui ont lancé le projet sont plus côté installeur (... c'est le reverse-engineering qui est fun), les saletés de compatibilité sont pour bibi. Pour ça que ça avance pas trop vite.

À court terme, on peut s'attendre à pouvoir coder sur la Math+ en écrivant des nouveaux programmes : le support gint est prêt, y'a quelques bugs mais les bases sont là. On pourra lancer des add-ins gint non recompilés mais ce sera pas super agréable (clavier pas aligné + quelques crashs parce que les syscalls sont pas encore émulés). À moyen terme, on peut espérer que l'émulation de syscalls marche et nous permette de lancer une majorité d'add-ins existants, laissant le clavier comme principale difficulté. À long terme, j'ai un vague espoir qu'on puisse patcher le clavier aussi, mais là je spécule vraiment.

Une bêta devrait arriver ce mois-ici, c'est pas entièrement mais principalement dépendant de moi.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Parisse Hors ligne Membre Points: 543 Défis: 0 Message

Citer : Posté le 14/01/2025 17:45 | #


J'ai quand même une inquiétude sur le temps de décompression. Sur mon PC, il faut environ 0.1s pour décompresser le binaire de 3.8Mo, je crains que ça prenne pas loin d'une minute sur la Casio...
Slyvtt Hors ligne Maître du Puzzle Points: 2436 Défis: 17 Message

Citer : Posté le 14/01/2025 18:05 | #


Je suis pas inquiet pour la décompression.
La compression est lente, mais la décompression est rapide (surtout qu'on va décompresser en RAM).
cf mon becnhmark de la Zlib : https://www.planet-casio.com/Fr/forums/topic17066-1-zlib-pour-casio-fxcg-developpement-et-benchmark.html

on voit que décompresser un truc de 500ko en RAM prends juste 300ms.
Ce qui sera lent sera de lire les data à décompresser dans la flash
There are only 10 types of people in the world: Those who understand binary, and those who don't ...
Lephenixnoir Hors ligne Administrateur Points: 24774 Défis: 170 Message

Citer : Posté le 14/01/2025 18:47 | #


La lecture depuis la mémoire de stockage est rapide. Quand MPM ouvre le menu il doit lire genre 28 ko par add-in pour les icônes et même avec 7 add-ins que j'ai là tout de suite c'est perçu comme instantané, donc genre 200 ko en pas plus de 200 ms, probablement moins.

Donc ouais Parisse faudra tester la vitesse mais clairement ce sera plus proche de la seconde que de la minute.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Parisse Hors ligne Membre Points: 543 Défis: 0 Message

Citer : Posté le 14/01/2025 18:59 | #


Voilà qui est rassurant, merci! (Et du coup, ce sera peut-être aussi rapide de lire moins de donnée compressées en flash et les décompresser que de lire directement du non compressé en flash).
Slyvtt Hors ligne Maître du Puzzle Points: 2436 Défis: 17 Message

Citer : Posté le 14/01/2025 23:35 | #


oui, et surtout tout ce qu'on pourra gagner en place sera bon a prendre car on a juste 4,5Mo utilisateur, loin des 16Mo de la G90+E. chaque kb gagné va compter à la fin.

On avait vu aussi que la compression des g3a donnait des bons taux, ce qui permttrait a priori de gagner pas mal. On pourrait peut être aussi gagner sur le header car 23ko c'est quand meme cher payer. Je ne sais pas si le MPM.bin utilise le meme format de header que le g3a.
There are only 10 types of people in the world: Those who understand binary, and those who don't ...
Parisse Hors ligne Membre Points: 543 Défis: 0 Message

Citer : Posté le 15/01/2025 08:40 | #


Les 2 icônes occupent 0x5600 octets sur les 0x7000 du header, il n'y aurait pas grand chose à gagner, surtout avec la compatibilité binaire visée, sauf si le mpm gère lui-même entièrement la compression, i.e. si les fichiers g3a dans la flash user sont des g3a.gz en fait.
Concernant la taille flash user, je me demande si le retard de 6 mois sur la sortie des fxcg100 ne vient pas d'une indisponibilité matérielle, par exemple ça pourrait être un composant flash de 16Mo qui remplacerait les 32Mo actuels.

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 103 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