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 - Projets de programmation


Index du Forum » Projets de programmation » libMicrofx : Remplacez fxlib pour faire des add-ins très légers.
Mb88 Hors ligne Rédacteur Points: 1211 Défis: 3 Message

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 !


Mb88 Hors ligne Rédacteur Points: 1211 Défis: 3 Message
Lephenixnoir Hors ligne Administrateur Points: 24579 Défis: 170 Message

Citer : Posté le 15/01/2023 21:17 | #


Mb88 a écrit :
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

Est-ce que tu es familier avec la demoscene ? Un petit concours de démos (pour changer un peu des jeux) serait cool à mon avis ! En tous cas, je participerais
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Mb88 Hors ligne Rédacteur Points: 1211 Défis: 3 Message

Citer : Posté le 15/01/2023 21:18 | #


Oui, je sais ce que c'est une demoscene (même si j'en ai jamais codé), car je m'intéresse beaucoup à l'informatique des années 80.
Mb88 Hors ligne Rédacteur Points: 1211 Défis: 3 Message

Citer : Posté le 16/01/2023 19:44 | #


J'ai ajouté microfx/ext/img.h : on peut maintenant afficher des images.

Le dossier ext contiendra toute les lib incluses mais optionnelles.
J'avoue, je ne sais pas si je suis super clair
Mb88 Hors ligne Rédacteur Points: 1211 Défis: 3 Message
Mb88 Hors ligne Rédacteur Points: 1211 Défis: 3 Message

Citer : Posté le 19/01/2023 19:57 | #


Sur dev, il y a maintenant :
- malloc
- calloc
- realloc
- free
Et de quoi récupérer des entrées de l'utilisateur :
>> GUI <<
Mb88 Hors ligne Rédacteur Points: 1211 Défis: 3 Message
Mb88 Hors ligne Rédacteur Points: 1211 Défis: 3 Message
Lephenixnoir Hors ligne Administrateur Points: 24579 Défis: 170 Message

Citer : Posté le 21/01/2023 11:55 | #


Hmm... tu as juste ajouté les prototypes ?
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Mb88 Hors ligne Rédacteur Points: 1211 Défis: 3 Message

Citer : Posté le 21/01/2023 12:00 | #


Oui, il y a des syscalls pour ça , donc j'ai juste à mettre les prototypes, une fois que j'ai mis les syscalls dans syscall.S.
Lephenixnoir Hors ligne Administrateur Points: 24579 Défis: 170 Message

Citer : Posté le 21/01/2023 12:03 | #


Ah j'avais pas vu que les syscalls étaient déjà sur dev ! Désolé.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Mb88 Hors ligne Rédacteur Points: 1211 Défis: 3 Message
Mb88 Hors ligne Rédacteur Points: 1211 Défis: 3 Message

Citer : Posté le 17/04/2023 11:35 | #


Pour le tutoriel, j'y ai pas trop avancée depuis, mais je prépare déjà Microfx pour la CCJ !
Alors comme nouveautés on a :
- Des fonctions basiques pour lire et éditer des fichiers, compatibles CASIOWIN/Fugue.
- microfx.c séparé en plusieurs fichiers, ce qui rend Microfx plus léger, car il y a moins de fonction inutiles inclues dans l'addin.
Tout est sur dev car j'ai prévu d'ajouter des choses avant de tout mettre sur main.
Mb88 Hors ligne Rédacteur Points: 1211 Défis: 3 Message

Citer : Posté le 19/04/2023 20:39 | #


v.0.2
Alors voici toute les nouveautés :

- Better keyboard management
- Added some tools
- Some GUI functions
- Fixed spixel
- Added timers
- Basic file management
- Cleanup

N'hésitez pas à essayer libMicrofx, les headers sont bien documentés !
Mb88 Hors ligne Rédacteur Points: 1211 Défis: 3 Message
Mb88 Hors ligne Rédacteur Points: 1211 Défis: 3 Message

Citer : Posté le 23/04/2023 18:29 | #


Lors de la CCJ je me suis rendu compte que je perdais beaucoup de temps à implémenter plein de fonctions pour l'affichage d'un long texte par exemple, et je vais donc tenter de faire une extension qui contient plein de fonctions utiles, pour faire les collisions, l'affichage de la map, l'affichage de textes sur plusieurs lignes, etc.
J'espère donc finir cette extension avant le prochain CPC.
Stay tuned !
Mb88 Hors ligne Rédacteur Points: 1211 Défis: 3 Message

Citer : Posté le 28/05/2023 17:34 | #


Microfx propose maintenant des fonctionnalités intégrés pour l'affichage de maps !
Des fonctions de gestion de collisions sont à venir !
Mb88 Hors ligne Rédacteur Points: 1211 Défis: 3 Message

Citer : Posté le 28/05/2023 22:34 | # | Fichier joint


J'ai ajouté la gestion des collisions. Bon, là je vous ai fait un exemple vite fait, donc les collisions sont pas détectés assez précisément, mais bon, c'est juste pour l'exemple :

Mb88 Hors ligne Rédacteur Points: 1211 Défis: 3 Message

Citer : Posté le 18/07/2023 16:37 | #


Bon, j'ai mis les fonctions qui facilitent la création de jeux sur master, c'est la v.0.3 .
Faudrait vraiment que je fasse un tutoriel pour expliquer comment l'utiliser.
Mb88 Hors ligne Rédacteur Points: 1211 Défis: 3 Message

Citer : Posté le 07/08/2024 20:35 | #


Bon, j'ai accidentellement un peu pété la repo, mais j'ai réussi à tout repousser. Ça a juste fait disparaître les releases et un peu mis le bazar sur master, mais le dernier commit sur dev était aussi sur master donc c'est pas trop grave. Si un admin est capable de remettre la repo comme avant par je ne sais quelle magie ce serait cool . Sinon c'est pas trop grave. Je suis en train de préparer un tutoriel (à nouveau), moins ambitieux cette fois si, mais peut être plus utile car j'y présente des techniques utiles pour faire des jeux pour calculette.
Lephenixnoir Hors ligne Administrateur Points: 24579 Défis: 170 Message

Citer : Posté le 07/08/2024 21:47 | #


En lisant le code je remarque que tu ne compiles ni avec -ffunction-sections -Wl,--gc-sections ni avec -flto [-fno-builtins] donc dès que tu utilises une fonction de display.c tu es obligé de payer le code pour tous. De façon générale la LTO est recommandable pour réduire la taille du code (-10/15% sur les add-ins gint). Si jamais le but c'est de squeeze les octets sur le g1a...
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)

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 - 2024 | Il y a 111 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