Transfert | Imagerie | Divers | Snippets | Développement
Liste des logiciels
Nom Date
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 :
Pierrotll
Hors ligne
Ancien administrateur
Niveau: Élite
Points: 5488
Défis: 41
Message
Pour les calculatrices : Graph 75, 85, 95 seulement
Ajouté le : 2011-05-21 10:35
Nombre de visites de la page : 5362

Fichiers à télécharger :

¤ gray.zip 4 Ko (455 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: 1, 2, 3 | Suivante

Eiyeron
Hors ligne
Ancien modérateur
Niveau: Élite
Points: 5513
Défis: 57
Message
Posté le 26-05-2011 à 11:41
Pas de ligne, de cercles...! Tu nous gâtes!
On va s'amuser!
Du gris sans RFX, pas mal... Faut que je trouve de bons paramètres de buffers...
Pierrotll
Hors ligne
Ancien administrateur
Niveau: Élite
Points: 5488
Défis: 41
Message
Posté le 26-05-2011 à 20:47
Pour les fonctions de dessin, là ce ne sont vraiment que des exemples. Mais tu peux tout à fait utiliser les algorithmes de MonochromeLib, en remplaçant simplement l'appel à ML_vram_adress() par l'adresse du buffer sur lequel il faut dessiner.
Purobaz
Hors ligne
Membre d'honneur
Niveau: Aucun
Points: 2690
Défis: 110
Message
Posté le 06-01-2012 à 16:30
Pourquoi faut-il appeler reset_calc() pour redémarrer la calculatrice à la fin du programme ?
C'est ce que je trouve le plus génant, sinon cette librairie c'est du super boulot.
Pierrotll
Hors ligne
Ancien administrateur
Niveau: Élite
Points: 5488
Défis: 41
Message
Posté le 06-01-2012 à 16:40
Cette librairie utilise le moteur de niveaux de gris de Revolution-fx de kucalc. J'en ai juste simplifié l'utilisation.
Dans ce moteur, le TMU0 est mal utilisé et mal quitté, et il empêche la fonction GetKey de fonctionner, même après avoir quitté. Cette fonction étant utilisée par le menu principal, une fois l'addin quitté on serait obligé d'appuyer manuellement sur le bouton Reset pour redémarrer la calculatrice, ce qui revient à utiliser la fonction reset_calc.
J'ai travaillé à l'utilisation des TMU pour faire un moteur de gris ne nécessitant pas de reset (et permettant d'utiliser Sleep en même temps). Ça fonctionne mais pas encore parfaitement, donc ce n'est pas publiable.
Purobaz
Hors ligne
Membre d'honneur
Niveau: Aucun
Points: 2690
Défis: 110
Message
Posté le 06-01-2012 à 20:05
On ne peut donc pas utiliser la fonction Sleep avec les niveaux de gris.
La fonction KeyDown marche telle ?

Kucalc était vraiment balèze mais ne donne plus de nouvelles. A t'il d'autres projets ?
Pierrotll
Hors ligne
Ancien administrateur
Niveau: Élite
Points: 5488
Défis: 41
Message
Posté le 06-01-2012 à 23:26
Au niveau du code, je ne dirais pas balèze non. Mais je ne sais toujours pas comment il a récupéré certaines informations en rétro-ingénierie.
Il a quitté le monde des calculettes depuis longtemps maintenant.
Et oui les différentes fonctions KeyDown fonctionnent, il te suffit d'essayer
Eiyeron
Hors ligne
Ancien modérateur
Niveau: Élite
Points: 5513
Défis: 57
Message
Posté le 07-01-2012 à 12:23
SLeep marche, il bloque l'exécution du code pour un moment, mais bien sur il est interrompu par le timer, donc ici, il ne servira que pour le timing.
Dodormeur
Hors ligne
Ancien rédacteur
Niveau: Confirmé
Points: 3928
Défis: 82
Message
Posté le 26-09-2012 à 16:50
pour changer la "noirceur" des niveau de gris , est-ce bien ca qu'il faut changer :
    screen->time1 = 3269;
    screen->time2 = 6987;

pour rendre plus noir le gris clair , faut t il augmenter le time1?
Eiyeron
Hors ligne
Ancien modérateur
Niveau: Élite
Points: 5513
Défis: 57
Message
Posté le 27-09-2012 à 10:19
Mmmh, en gros, si tu bidouilles mal ces deux valeurs, le gris peut se retrouver désynchro. Je te conseillerais plutôt de trafiquer le contraste.

Sinon, je n'ai pas pensé à l'uploader, mais je vais aps tarder à passer une nouvelle version.
Dodormeur
Hors ligne
Ancien rédacteur
Niveau: Confirmé
Points: 3928
Défis: 82
Message
Posté le 10-10-2012 à 16:22
ben oui , mais meme en bidouillant le contraste, le gris clair l'est trop, et le gris foncé l'est trop aussi...

Pages: 1, 2, 3 | Suivante
Publicité et partenaires
Casio Education
Casio éducation

TI-Planet
Casiopeia
Casiopeia
CasioFan, la communauté ClassPad
CasioFan
CodeWalrus
CodeWalrus

Planète Casio v42 © créé par Neuronix et Muelsaco 2004 - 2015 | Il y a 86 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements
Rugby Manager | Jeu de basket | Jeu de handball | Jeu de tennis | Nova Raider | Réparation téléphone | Soccer Rush | Tasty Tale

Planète Casio est un site communautaire indépendant, géré bénévolement et n'est donc pas affilié à Casio | Toute reproduction de Planète Casio, même partielle, est interdite
Les fichiers, programmes et autres publications présents sur Planète Casio restent la propriété de leurs auteurs respectifs et peuvent être soumis à des licences ou des copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd