» libMicrofx : Remplacez fxlib pour faire des add-ins très légers.
libMicrofx : Remplacez fxlib pour faire des add-ins très légers.
Posté le 14/01/2023 12:42
C'est une petite librairie qui pour l'instant est loin d'être terminée, qui permet de coder des petits add-ins très légers (1,2 Ko minimum avec -Os actuellement et 512 Ko max.).
Ce n'est pas réellement une alternative à gint, car libMicrofx utilise les syscalls et est donc pas très rapide. De plus, c'est une librairie avec le minimum de fonctions pour rester très légère, mais elle contiendra toute les fonctionnalités indispensables pour développer des add-ins et des petits jeux. Elle permet aussi aux habitués du basic casio de faire facilement des portages de leur jeux grâce à des fonctions similaires à celles du basic. Elle est sous la Unlicense pour que tout le monde peut l'utiliser comme il veut !
>> Tutoriel <<
Dernière version : v.0.3
Dès maintenant vous pouvez l'essayer en téléchargeant le code sur la branche master :
>> Téléchargement <<
>> Branche dev <<
Coder son permier add-in avec Microfx :
>> Getting started <<
Un grand merci à
Lephenixnoir et
Yatis pour leur aide !
Citer : Posté le 14/01/2023 13:08 | #
Garantit les add-ins les plus petits, bon travail
Citer : Posté le 14/01/2023 13:08 | #
Bah c'est aussi grâce à ton aide !
libMicrofx : https://www.planet-casio.com/Fr/forums/topic17259-2-libmicrofx-remplacez-fxlib-pour-faire-des-add-ins-tres-legers.html !
Racer3D : https://www.planet-casio.com/Fr/programmes/programme4444-1-racer3d-mb88-jeux-add-ins.html
Citer : Posté le 14/01/2023 13:14 | #
Du coup ça peut relancer l'idée du "coding challenge" style demoscene avec le plus bel addin tenant dans X kilo-octets (avec X bien entendu à définir)
Citer : Posté le 14/01/2023 13:15 | #
Ooh c'est vrai ça, je participerais bien à un petit événement comme ça :o
Citer : Posté le 14/01/2023 13:49 | #
Moi aussi je trouverai ça cool !
libMicrofx : https://www.planet-casio.com/Fr/forums/topic17259-2-libmicrofx-remplacez-fxlib-pour-faire-des-add-ins-tres-legers.html !
Racer3D : https://www.planet-casio.com/Fr/programmes/programme4444-1-racer3d-mb88-jeux-add-ins.html
Citer : Posté le 14/01/2023 14:43 | #
J'ai un peu suivi de loin vos discussions, du coup je suis un peu à la rue.
J'en profite pour remettre sur le tapis une vieille question/discussion de ma part sur la possibilité d'avoir un système d'addin compacté. J'avais posé la question lors de la conversion de la zlib.
En gros un g1a/g3a "zippé" qui contient une base pour décompresser l'addin en RAM avant de le lancer.
Je sais pas si :
1/ c'est faisable
2/ c'est difficile
3/ ça gagnera beaucoup ou pas
4/ ça sera supportable en terme de temps de chargement
Un avis ?
Citer : Posté le 14/01/2023 17:27 | #
J'en sais rien mais microfx ne permet que de faire des add-ins tout normaux, c'est juste qu'il utilise les syscalls et prend donc très peu de place. Il faut que je code encore quelque trucs pour que kcheck marche, ce qui agrandira un peu la taille des add-ins qui l'utilise, mais ça prendra sûrement pas beaucoup de place en plus.
libMicrofx : https://www.planet-casio.com/Fr/forums/topic17259-2-libmicrofx-remplacez-fxlib-pour-faire-des-add-ins-tres-legers.html !
Racer3D : https://www.planet-casio.com/Fr/programmes/programme4444-1-racer3d-mb88-jeux-add-ins.html
Citer : Posté le 14/01/2023 19:24 | #
Quel serait l'interet de decompresser le code d'un addin en RAM? Economiser de l'espace de stockage?
Citer : Posté le 14/01/2023 19:32 | #
Oui, mais en réfléchissant je ne vois pas trop en quoi c'est mieux d'économiser la smem que la ram, mais bon, chacun son avis.
libMicrofx : https://www.planet-casio.com/Fr/forums/topic17259-2-libmicrofx-remplacez-fxlib-pour-faire-des-add-ins-tres-legers.html !
Racer3D : https://www.planet-casio.com/Fr/programmes/programme4444-1-racer3d-mb88-jeux-add-ins.html
Citer : Posté le 14/01/2023 19:35 | #
en dehors des gamejam avec dss cointrainte sur la taille des add-ins je vois pas trop, à part peut-être sur si on a beaucoup de texture pas forcement toutes en même temps genre un mario bros avec un tileset differents par monde ?
Citer : Posté le 14/01/2023 19:36 | #
Quel serait l'interet de decompresser le code d'un addin en RAM? Economiser de l'espace de stockage?
Perso surtout réduire le temps de transfert sur la Graph 90+E x) Et puis pour KhiCAS potentiellement faire tenir plus de 2 Mo dans un seul fichier (mais bon tout ça pour avoir un seul fichier c'est presque pas la peine)
Citer : Posté le 14/01/2023 21:34 | #
Oui pour moi le but premier serait d'avoir une compaction des données notamment les assets graphiques. pour ne pas se trainer des addins massifs (surtout sur CG50) qui sont pénibles à transférer.
aussi un peu le challenge technique est sympa.
Citer : Posté le 14/01/2023 22:10 | #
Bah ça ça va, tant que c'est pas du code je pense que c'est facile.
libMicrofx : https://www.planet-casio.com/Fr/forums/topic17259-2-libmicrofx-remplacez-fxlib-pour-faire-des-add-ins-tres-legers.html !
Racer3D : https://www.planet-casio.com/Fr/programmes/programme4444-1-racer3d-mb88-jeux-add-ins.html
Citer : Posté le 15/01/2023 08:31 | #
Perso surtout réduire le temps de transfert sur la Graph 90+E x) Et puis pour KhiCAS potentiellement faire tenir plus de 2 Mo dans un seul fichier (mais bon tout ça pour avoir un seul fichier c'est presque pas la peine)
Je ne pense pas qu'on puisse faire tenir KhiCAS dans un seul fichier de moins de 2Mo, le taux de compression global est d'environ 40% avec zip (37% pour l'overlay et 43% pour l'addin). Et puis, on ne pourrait pas tout decompresser en RAM, il faut en garder une partie en ROM.
Par contre, on pourrait compresser juste l'overlay et le decompresser au lancement de l'addin, ca economiserait un peu d'espace de stockage (environ 800K) et de temps de transfert (environ 20% globalement, c'est toujours ca en particulier sur l'emulateur) sans rien perdre.
Mais ca ne remplacerait pas un lanceur d'addin sur fichier plus gros que 2 Mo qui reprogrammerait le MMU, et permettrait d'acceder a 3Mo de RAM dans KhiCAS version complete. Ca ce serait un super challenge, mais tu dis que c'est trop dangereux. Je n'ai pas retrouve la description du brick de calculatrice, tu as un lien?
Citer : Posté le 15/01/2023 09:40 | #
"Trop dangereux" ce serait me donner trop de crédit : personnellement je n'ai pas assez confiance dans la stabilité de la chose pour le distribuer de façon large sur les calculatrices des utilisateurs (et toi tu en as pas mal en plus...). Récemment circuit10 (sur son serveur Discord) a fait des tests avec juste des mappings MMU en plus sans changer la configuration (quelque chose dont on peut argumenter que ça ne peut pas créer de problème) et j'ai clarifié que cette position est un résultat de mes standards de stabilité, qui sont très conservateurs. Vous n'êtes pas obligés de prendre mon estimation au pied de la lettre.
Cela dit, j'ai remis le nez dans le topic où AHelper a cassé sa calculatrice et la description qu'il fait de sa routine (notamment le code assembleur à trous) ne contient rien d'autre que charger des pages et re-router les exceptions à la gint.
Citer : Posté le 15/01/2023 12:58 | #
Merci pour le lien. Effectivement, ca fait un peu peur. En tout cas, il n'y a pas vraiment de raisons de le faire pour le moment pour KhiCAS, vu qu'il y a 500K de ram disponible (il pourrait meme y avoir un peu plus, mais je prefere me garder un peu de marge pour ajouter des fonctionnalites dans KhiCAS)
Compresser le fichier d'overlay est beaucoup plus sur et sans doute pas trop complique a realiser. Un truc nettement plus dur serait d'avoir un noyau fixe (dans l'addin en ROM) et des parties independantes, compressees, et chargeables en RAM en adresse fixe a la demande.
Citer : Posté le 15/01/2023 17:07 | #
Enfin j'ai fini par avoir un kcheck fonctionnel sur les calculatrices récentes !
Merci à Lephenixnoir et Yatis pour toute leur aide !
libMicrofx : https://www.planet-casio.com/Fr/forums/topic17259-2-libmicrofx-remplacez-fxlib-pour-faire-des-add-ins-tres-legers.html !
Racer3D : https://www.planet-casio.com/Fr/programmes/programme4444-1-racer3d-mb88-jeux-add-ins.html
Citer : Posté le 15/01/2023 20:51 | #
J'ai ajouté des fonctions, et maintenant il y a tout pour faire des jeux avec !
J'ai eu une trop bonne idée de challenge :
Taille 5120 octet max. (je ne sais même pas si c'est possible )
Graphismes : Isométrie
libMicrofx : https://www.planet-casio.com/Fr/forums/topic17259-2-libmicrofx-remplacez-fxlib-pour-faire-des-add-ins-tres-legers.html !
Racer3D : https://www.planet-casio.com/Fr/programmes/programme4444-1-racer3d-mb88-jeux-add-ins.html
Citer : Posté le 15/01/2023 20:54 | #
Ah ouais quand même O_o
Citer : Posté le 15/01/2023 21:10 | #
Challenge d'add-ins bien sûr, en basic c'est plus facile (?)
libMicrofx : https://www.planet-casio.com/Fr/forums/topic17259-2-libmicrofx-remplacez-fxlib-pour-faire-des-add-ins-tres-legers.html !
Racer3D : https://www.planet-casio.com/Fr/programmes/programme4444-1-racer3d-mb88-jeux-add-ins.html