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.
Menu
Liste des logiciels
Nom Date
Libs Python Graph 35+E II et Graph 90+E
SDK G85 - EasyInput
SDK G85 - Memory and Files access
SDK G85 - Easy Coding
SDK G85 - Easy grayscales
SDK G85 - GrayScreenshotLib
SDK G85 - MonochromeLib
Lua - Tile Motor


Visiteurs :
Si vous souhaitez soumettre un logiciel veuillez prendre contact avec un administrateur seuls à pouvoir ajouter des logiciels par mesure de sécurité.
Logiciels >> Snippets >> SDK G85 - Easy grayscales
SDK G85 - Easy grayscales
Ajouté par :
PierrotllHors ligneAncien administrateurPoints: 5488 Défis: 41 Message
Pour les calculatrices : Graph 35+ USB, 35+E, 75, 75+, 75+E
Ajouté le : 2011-05-21 10:35
Nombre de visites de la page : 11544

Fichiers à télécharger :

¤ gray.zip 4 Ko (932 téléchargements)

Description :

Ce snippet contient un moteur de niveaux de gris facile à utiliser, ainsi que quelques fonctions de dessin.

1 - Le moteur de niveaux de gris
Les sources sont à la base tirées de Revolution-fx de kucalc (merci à lui), mais je les ai allégées, et j'en ai simplifié l'utilisation.
au début du programme, il faut appeler gray_init()
Cette fonction se charge d'allouer la mémoire pour les 4 buffers vidéo (2 pour l'écran, 2 pour la mémoire vidéo). Elle se charge aussi d'initialiser le timer avec les bonnes fréquences. Elle retourne 0 en cas d'erreur, 1 sinon.
Ensuite, vous pouvez appeler gray_clearVRAM() pour effacer les données des 2 buffers de la mémoire vidéo, puis faire votre dessin, et ensuite appeler gray_swapBuffers() qui va se charger d'inverser l'écran et la mémoire vidéo, pour afficher les données de la VRAM à l'écran.
Pour arrêter le moteur de niveaux de gris, appelez gray_quit() et n'oubliez pas d'appeler reset_calc() à la fin du programme, pour redémarrer proprement la calculatrice (indispensable après l'utilisation de ce niveaux de gris).


2 - Les fonctions de dessin
Pour ne pas laisser le moteur de niveaux de gris tout nu, j'y ai ajouté quelques fonctions de dessin pour servir d'exemple.
Nous avons donc : draw_bmp qui dessine une image de nimporte quelle taille sur un des deux buffers de la mémoire vidéo
Et aussi, les fonction draw_read_pix et draw_write_pix, qui permettent de lire et d'écrire un pixel selon sa couleur (0=blanc, 1=gris clair, 2=gris foncé, 3=noir).

Un petit README est fourni dans le zip, qui récapitule grosso-modo ce qui est écrit ici.

Commentaires :

Pages: Précédente | 1, 2, 3 | Suivante

Drac0300Hors ligneMembrePoints: 839 Défis: 39 Message
Posté le 13-04-2014 à 10:03 | #
Bonjour,
J'ai une question existentielle : est-ce que cette lib est compatible SH4 ?
Dark stormHors ligneLabélisateurPoints: 11634 Défis: 176 Message
Posté le 13-04-2014 à 11:19 | #
Non, les niveaux de gris ne sont pas compatibles SH4
Ils utilisent des fonctions qui ne font planter ces nouveaux processeurs.
Drac0300Hors ligneMembrePoints: 839 Défis: 39 Message
Posté le 13-04-2014 à 18:07 | #
Et mince

C'est bizarre, pourtant ils marchent en lua...
PositonHors ligneRédacteurPoints: 2396 Défis: 57 Message
Posté le 13-04-2014 à 18:31 | #
En fait si je me trompe pas, ce sont des fonctions d'affichage et d'effaçage de pixels régularisées par des timers. A ma connaissance, ça ne représente rien de très révolutionnaire pour une S.H.4.
Donc si quelqu'un qui s'y connaît à le courage d'étudier le code source, on pourrait peut-être avoir une version S.H.4.
Drac0300Hors ligneMembrePoints: 839 Défis: 39 Message
Posté le 13-04-2014 à 18:47 | #
Malheureusement, ça n'est pas mon cas (je sais même pas ce qu'est un timer...)
-florian66-Hors ligneAncien rédacteurPoints: 2383 Défis: 20 Message
Posté le 13-04-2014 à 18:48 | #
le lua n'est pas pareil que le C mais dans le lua, les niveaux de gris sont presque inexistant mais je ne sait pas en C comment ça marche
PositonHors ligneRédacteurPoints: 2396 Défis: 57 Message
Posté le 13-04-2014 à 18:53 | #
@Drac0300 : Un timer permet de définir à quelle fréquence une fonction est appelée (exemple : afficher une image toutes les 10 millisecondes).
Mais à part ça j'en sais pas plus que toi.
Drac0300Hors ligneMembrePoints: 839 Défis: 39 Message
Posté le 13-04-2014 à 19:06 | #
En fait, c'est des fonctions de callback ?
LephenixnoirHors ligneAdministrateurPoints: 24232 Défis: 170 Message
Posté le 17-05-2014 à 07:17 | #
Il y a une interruption pour ça.
Pour l'information, les interruptions sont des morceaux de code qui peuvent s'exécuter n'importe quand sans vous demander votre avis.

Finalement, qui bosse sur la compatibilité SH4 de ce prog ?
PositonHors ligneRédacteurPoints: 2396 Défis: 57 Message
Posté le 17-05-2014 à 10:27 | #
Moi j'ai regardé les sources vite fait et j'ai vu qu'il y avait des appels de syscalls, et je n'y ait plus touché après

Pages: Précédente | 1, 2, 3 | Suivante

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 77 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