Aide au transfert
Nos projets majeurs

Graph 35+USB/75/85/95 (SD):
Gint
P7
BIDE

Fx-CG 10/20 (PRIZM):
Zelda

Autres :
Calc Center
Partage de sprites
Tutoriel complet Basic Casio

Voir le forum des Projets

Nos partenaires

Casio éducation
Casio Education

Casiopeia
Casiopeia

TI-Planet
TI-Planet

CodeWalrus
CodeWalrus

Festiv'Algo
Fstiv'Algo

Liens importants
Réussir ses devoirs et son bac !
Choisir sa calculatrice pour la rentrée
Poser une question sur le Forum
Mettre son programme sur Planète Casio
Tout savoir sur sa casio !
Apprendre à programmer
Les articles et astuces
3073 programmes : jeux, utlitaires, cours

Prochains concours et ateliers à venir :
Les nouveaux événements de Planète Casio pour 2018

Présentez vos projets dans notre revue hebdomadaire :
Soumettre un article à la Revue des Projets

News
La situation délicate de Planète Casio
Récemment, un évènement est venu chambouler la tranquilité apparente de Planète Casio : Lephenixnoir a annoncé sa démission en tant qu'administrateur sur le forum. De l'équipe actuelle, parmi les administrateurs, les rédacteurs, et caetera, c'était le membre le plus actif : récemment, il organisait concours, rédaction d'articles, et tant d'autres choses. Seulement, en plus d'enchaîner ça avec ses études d'ingénieur, il manquait sérieusement d'échos dans la communauté, beaucoup de membres s'étant complus dans le fait de discuter sur l'espace de discussion instantanée du site, la « shoutbox », ou mettant simplement l'accent sur d'autres aspects de leur vie (études, projets personnels autres, …).

Cette décision a remis sérieusement en cause le fonctionnement actuel du site, au point où la fermeture du site par manque d'implication est envisagée. C'est pourquoi, avec l'aval des autres membres du bureau de CreativeCalc, l'instance démocratique derrière le site, j'ai décidé de convoquer une assemblée générale extraordinaire (AGE) pour que l'on se réunisse au plus tôt pour décider de notre plan d'action pour relancer l'activité du site et trouver les personnes qui s'en occuperont, et le cas échéant, fermer le site dans la dignité de ces quatorze années passées à créer ensembles et apporter notre patte à l'environnement autour des calculatrices CASIO.

L'AGE aura lieu en audioconférence (comme le prévoient les articles 10 et 11 des statuts de CreativeCalc) le jeudi 31 mai 2018 de 20h00 à 23h00 heure française, sur le serveur Teamspeak gentiment prêté par Eltoredo disponible sans mot de passe à l'adresse suivante :

eltoredo.verygames.net

L'idée derrière cette AGE est la suivante : il nous faut des gens qui s'investissent. Lephenixnoir est toujours sur le départ et j'envisage sérieusement de revenir à un poste plus technique. On a besoin de personnes qui savent gérer une communauté, on a besoin de personnes qui savent communiquer pour attirer de nouveaux profils, on a besoin de personnes qui savent motiver et faire collaborer sur des projets ambitieux. On peut apporter l'aide qu'il faut sur l'aspect technique, on est prêts à s'occuper de la maintenance du site. Et on a besoin de trouver ce qu'on veut faire et comment on veut le faire, et ce, au plus vite.

Les membres du site qui ne sont pas adhérents de l'association peuvent venir : ramenez un ami si vous savez qu'il peut et veut faire ce genre de choses !

Au secours, communauté de Planète Casio, vous êtes notre seul espoir !

Commentez cette news ! (0)
écrit par Cakeisalie5 le 24/05/2018 23:33 Voir toutes les news

La revue des projets - 105
Bonsoir à tous. La Revue des Projets continue irrégulièrement sa parution, mais toujours dans la joie et la bonne humeur.

Je vous rappelle que vous pouvez soumettre vos projets à la Revue des Projets en utilisant le formulaire disponible sur la page d'accueil !

Aujourd'hui, nous avons deux projets à présenter ! Le premier nous vient d'Hackcell, qui remet au goût du jour un ancien langage orienté calculatrices, le Malical (topic, wiki). Après l'avoir porté avec succès pour les machines SH4, il lui construit ce qui lui manquait le plus : un bon tutoriel.

À toi la parole, Hackcell !


Les plus vieux et les plus curieux d'entre vous on peut-être déjà entendu parler du Malical, un langage de programmation créé par Lewis et Wudy spécialement pour les calculatrices Casio monochrome. Et si ce n'est pas le cas, pas d'inquiétude, car j'ai le plaisir de pouvoir vous annoncer la sortie d'un tutoriel sur l'utilisation de ce langage.

Pour ceux qui serait hésitant à apprendre un nouveau langage, laisser moi tenter de vous convaincre en vous expliquant les spécificités de ce dernier. Le Malical a été créé dans le but d'allier la simplicité du Basic Casio avec la vitesse du C. Ainsi, si vous trouver vos programmes en Basic trop lent, ce langage peut-être une alternative. Ou même si vous voulez apprendre à coder en C, mais que la quantité de travail nécessaire vous parait immense, le Malical peut faire office de marche intermédiaire afin de diviser cette apprentissage en parties plus petites.

Enfin, si je vous ai convaincus, ou même rendu curieux, n'hésitez pas à passer sur le topic du tutoriel sur le Malical, il y a déjà la première leçon de disponible pour apprendre les bases du langage.

Et pour finir, je vous dis à bientôt dans une prochaine RDP, pour vous tenir au courant des sorties des nouvelles leçons.


Le 3D, c'est un peu un vieux rêve pour tous ceux qui ont programmé des calculatrices. Il y a eu pas mal de tentatives réussies, comme Wolfenstein 3D de Kelli ou Deadly World 3D de Nessotrin, utilisant le principe du raycasting. Pour avoir un moteur plus puissant, il a fallu attendre Windmill de Ninestars et des prouesses techniques en cascade afin de rester dans des performances satisfaisantes.

Ce projet n'a pas été mis à jour depuis environ un an, mais Ninestars nous propose cette semaine quelques update. C'est ton tour, Ninestars !


Bonjour à tous,
me voici reparti sur Windmill !
Depuis les deux dernières semaines, assez peu de changements visuels, surtout beaucoup de nettoyage, le code n'était pas propre, mais surtout certaines choses n'étaient pas clairs, je parle des repères principalement.
voici la liste des changements opérés ces dernières jours :

- nettoyage du fov, la valeur qui correspond à l'angle de vision, c'était un peu au pif avant.

- mise en const des variables de la map : les textures, les objets, les triangles et les rectangles.

- j'ai clarifié la précision des fixed (des nombres entiers utilisés comme des nombres à virgules) pour éviter les débordements, c'est surtout problématique pour les objets lointains, ou très proches car des variables s'approchent des limites d'un int.
Maintenant je suis certain qu'afficher un objet à la taille minimale (de taille 1) ne pose aucuns problèmes.
un cube de côté 1 :

un cube de coté 10, avec à sa droite le cube de coté 1.

(On voit le sol à partir de cette échelle, la distance entre les points est de 10)
L'histoire d'échelle est d'ailleurs très subjective, à combien correspond une taille de 10 si on veut la comparer au monde réel ? J'ai fait la proposition suivante : 1 = 10cm

- j'ai ajouté un repère 3D dans un coin de l'écran, c'est utile pour le debug.

- j'ai sorti la camera de la scène, c'est à dire que j'ai crée une classe juste pour la caméra. Maintenant on dessine la scène en 3D par rapport à une caméra
Scene scene;
Camera camera1
Camera camera2
...
scene.rendre_draw(&camera1)

- correction d'un problème dans le z-buffer (un tableau de la taille de l'écran enregistrant la distance des pixels par rapport à l'écran), j'avais un overflow, maintenant c'est tout propre !

- nettoyage divers dans le code

J'ai encore quelques points à nettoyer, puis je reprendrai les fonctionnalités, les prochaines qui seront implémentées seront :
- optimisation des objets à afficher à l'écran ou non (le gain de perf va être énorme sur ce coup)

- ajout d'un horizon (j'avais déjà commencé, mais c'est plus difficile que prévu, je pensais me contenter d'une image dont je n'affiche qu'une partie en fonction de l'angle de la caméra, mais en tournant et se déplaçant, ça ne rendait pas bien du tout par rapport aux objets "vraiment calculés")

- ajout d'un moteur physique simple (c'est sérieux, je sais déjà comment faire, normalement ça devrait se dérouler tout seul. Le principe : projeter chaque triangle sur le sol (le plan xy), ce qui donne des segments, puis gérer la collision entre ses segments et le vecteur vitesse du personnage)

- découper les triangles à la fois devant et derrière la caméra, en deux triangles uniquement devant la caméra pour qu'ils puissent être affichés. Pour l'instant cela élimine des triangles qui devrait pourtant être en partie visible

Voilà les principales nouveautés de Windmill ! Je continuerai à tenir le journal sur le topic du projet


Voilà qui nous fait une Revue des Projets bien remplie ! À la semaine prochaine !

Commentez cette news ! (13)
écrit par Lephenixnoir le 21/05/2018 19:04 Voir toutes les news

La revue des projets - 104
Bien le bonsoir ! Après l'annonce de la V4 de BIDE de Zezombye, cette semaine Lephenixnoir donne des nouvelles de Gint !

En ce qui concerne la Revue des Projets, n'oubliez pas d'aller remplir le formulaire pour que votre article paraisse en fin de semaine !

Voyons voir ce qu'il a à nous dire !

Lephénixnoir a écrit :
Salut à tous ! Je profite de cette Revue des Projets pour vous toucher quelques mots du projet jamais-fini dont je me suis rendu coupable, gint.

J'ai été si long à sortir la première version que le temps que j'y arrive, Casio ne produisait déjà plus les Graph 75+ qui étaient les seules machines monochromes à pouvoir utiliser gint sans transformation : pas de bol !

Alors avec la Graph 90 qui débarque, pour investir la plateforme, je me suis penché sur un portage de la bibliothèque (en même temps que je peaufine l'optimisation et l'allure extérieure de la version monochrome) sur cette nouvelle machine. La bonne nouvelle, c'est que le processeur est un SH4 habituel, donc plein de choses marchent sans effort !


Le point le plus crucial c'est l'écran, mais grâce à la documentation du produit et aux efforts de SimLo, ça se passe assez bien. J'ai réussi à afficher des choses de façon « naïve » en quelques heures de travail :


Il faut encore que j'apprivoise le DMA, un outil super pratique qui permet d'envoyer la VRAM à l'écran pendant que l'application fait autre chose. Utiliser le DMA était déjà une technique classique pour gagner des perfs' sur la Prizm !

Je suis content de pouvoir annoncer les premiers résultats issus du portage. Mon application de démo de gint arrive déjà à :
- Charger les add-ins dans la mémoire
- Installer et utiliser le gestionnaire d'interruptions
- Faire fonctionner les 9 timers de la machine !
- Afficher des choses à l'écran comme sur la photo

J'ai également fait des découvertes de reverse-engineering utiles pour les applications de gint en général :
- La SH3 possède 1 timer supplémentaire précis à 30 ms près
- Les SH4 possèdent 6 timers supplémentaires précis à 30 ms près ( )
- La RAM statique sur SH4 monochrome s'élève à 64k et pas 8k comme sur le SH3 !

Mes occasions de travailler sur ce projet se présentent en pointillés mais tous mes efforts sont dirigés à rendre gint utilisable et documenté sur la Graph 90 pour la rentrée prochaine, où l'on espère un décollage de popularité du modèle.


N'hésitez pas à demander des explications si je parle un langage qui vous est inconnu, ou à me forcer à écrire de la doc' si vous êtes intéressé(e) pour développer quelque chose avec gint. Et merci d'avoir lu jusque-là !


Merci de votre attention et à bientôt !

Commentez cette news ! (5)
écrit par -florian66- le 13/05/2018 19:22 Voir toutes les news

La revue des projets - 103
Bonjour à vous ! Aujourd'hui reprend la mythique Revue des Projets où les développeurs vous font rêver.

Après un blanc pas très bien expliqué dans la parution de cette revue hebdomadaire, nous sommes prêts à récupérer le rythme perdu et à vous en mettre plein les mirettes. Je vous rappelle que vous êtes invités à y parler de vos projets en soumettant une description chaque semaine avant dimanche, 12h00 !

Aujourd'hui, Zezombye nous dévoile la dernière version de Basic IDE (aka BIDE), son environnement de développement de Basic Casio. Cet outil permet de développer de grands projets Basic avec la facilité du PC en s'affranchissant des limitations de la calculatrice et son petit écran.

À toi la parole, Zezombye !


Aujourd'hui, je sors (enfin) la version 4.0 de BIDE, l'éditeur de texte pour Basic Casio


Cette mise à jour ajoute plein de nouvelles features, aussi bien au niveau de l'interface que du back-end (lecture/écriture des programmes).

Voici donc le changelog :

Amélioration de l'éditeur de pictures

Les pictures ne sont plus en ASCII, et sont éditables avec clic gauche/clic droit, qui font respectivement du noir et du blanc. Pour ceux avec des petits écrans, vous pouvez régler la taille par défaut dans les options, ou faire ctrl+molette pour régler le zoom.


L'édition étant limitée (normal, je cherche pas à faire un éditeur d'images ) il y a une option pour sauvegarder en .png afin d'éditer avec un éditeur externe.

Ajout de la description pour les opcodes


Bien entendu, cette documentation n'est pas complète (il y a beaucoup d'opcodes). Pour l'instant, seuls les opcodes fréquents (dans la référence Basic Casio) de A à P sont documentés.

J'ai également corrigé l'auto-complétion pour prendre en compte les substrings du texte tapé par l'utilisateur. Ainsi, "rani" propose "RanInt#(" mais aussi "If".

Pour pouvoir écrire une documentation et ajouter des attributs (description, syntaxe, compatibilité...) le fichier opcodes.txt est désormais en format JSON.

Ajout d'un sélecteur de caractères

Pour écrire un caractère spécial, il fallait chercher son numéro hexadécimal, puis regarder le nom de l'entité correspondante, ce qui n'était pas toujours intuitif.

Pour pallier à ce problème, j'ai ajouté un sélecteur de caractères :


Ce sélecteur contient les 5 catégories du menu "Char" de l'éditeur de la calculette, ainsi que les caractères spécifiques à la Graph 90+E et les caractères non listés.

On peut maintenant taper ses cours dans BIDE

Avec le mode examen repoussé, et le générateur de cours étant devenu désuet, la seule manière de taper ses cours dans un programme était de passer par l'éditeur de FA-124.

BIDE inclut maintenant la directive #nocheck, qui permet d'écrire du texte dans un programme sans qu'il soit nécessairement valide. On peut également créer une "zone", avec la directive #yescheck qui dit à BIDE de reprendre la vérification. Cela permet par exemple de cacher du cours dans un programme.

Par exemple :

#Program name: Tetris
#Password: <no password>
If 0: Then
#nocheck
3ème loi de Kepler:
Le carré de la période sidérale P d'une planète (temps entre deux passages successifs devant une étoile lointaine) est directement proportionnel au cube du demi-grand axe a de la trajectoire elliptique de la planète :
(2π/P)² * a³ = k
#yescheck
Else
// Code de tetris
IfEnd


On peut donc taper (ou copier/coller) ses cours dans BIDE, en profitant de l'intégralité des caractères, puis l'enregistrer en g1m.

Réduction du temps de compilation

Avec deux simples modifications, le temps de compilation est réduit de plusieurs secondes (sur les gros programmes) :
- Les pictures sont stockées en interne en format binaire
- Les programmes qui n'ont pas été modifiés depuis la dernière sauvegarde ne sont pas recompilés

Pour une modification d'un seul programme sur Calc Wars, le temps de compilation passe de 8 secondes à 0.2 secondes !

Gestion des macros fonctions

Les macros gèrent maintenant les fonctions, la syntaxe étant la même qu'en C.

On peut donc déclarer des macros de ce type :
#define sleep(i) For 1->I To i : Next
#define sleep(i, var) For 1->var To i : Next


Bien entendu, le remplacement de la variable ne se fait pas dans un mot. Par exemple, "i" ne serait pas remplacé dans "Picture", mais il le serait dans "2+i+3". Il est toujours préférable de tester les macros afin d'éviter un comportement inattendu.

Concaténation des fichiers

Il est maintenant possible de concaténer (combiner) des fichiers, .g1m tout comme .bide. Ainsi, si vous avez plusieurs fichiers .g1m, vous pouvez les combiner en un seul fichier pour rendre le transfert plus facile

Correction du comportement des onglets

Les onglets sont désormais organisés par type (programme/picture/capture) puis par ordre alphabétique, afin de mieux s'y retrouver.

De plus, les onglets restent à leur place lorsqu'il y a plusieurs lignes (contrairement au comportement par défaut de Windows, qui met la ligne sélectionnée tout en bas).

Correction du CLI (interface en ligne de commande)

Le CLI revient avec deux commandes :
--to-g1m <cible> <prog1> <prog2> ...
--to-txt <cible> <prog1> <prog2> ...

qui servent respectivement à compiler/concaténer les programmes donnés (qu'ils soient en .g1m ou en .bide) dans un seul g1m ou fichier texte (.bide).

Il y a également possibilité de donner un (ou plusieurs) fichiers en tant qu'arguments, sans spécifier d'option. Dans ce cas BIDE ouvre l'interface en chargeant ce ou ces fichier(s). Ce comportement est pour permettre de définir BIDE comme programme par défaut pour les .g1m (c'est également pour ça qu'il y a désormais un .exe).

Implémentation du Ctrl+F

Plus besoin de passer par un éditeur externe pour faire du find-and-replace, BIDE gère ça.


Nettoyage de strings

Pour certains programmes qui ont été écrits avec FA-124, l'affichage sous BIDE présente quelques problèmes :


Ces remplacements (par exemple "!" devient "&fact;") viennent de l'encodage Casio. L'opcode "point d'exclamation" et l'opcode "factorielle" sont tous deux représentés par le caractère "!". BIDE les différencie (en représentant "factorielle" par "&fact;"), mais FA-124 ne le fait pas, et remplace par défaut "!" par "factorielle". BIDE ne fait donc que montrer cette différence.

Pour rendre les chaînes de caractères lisibles, le menu "Tools" comporte désormais un nettoyeur de strings, qui fait ces remplacements.


C'est donc tout pour cette update, je vous invite à signaler tout bug ou suggestion


Merci Zezombye ! On se retrouve la semaine prochaine pour une autre édition de la Revue des Projets !

Commentez cette news ! (8)
écrit par Lephenixnoir le 06/05/2018 19:41 Voir toutes les news

Les nouveautés
Derniers jeux :
Démineur
Roullrtte russe
Musée de Babel

Derniers utilitaires :
Opcodes
Ekisto mono
Math bts cprp

Derniers cours :
Roc fonction
Roc suites
Talie

Derniers messages (forum):
Windmill : moteur graphique 3D
La situation délicate de Planète Casio
La revue des projets - 105
Plague.inc ?
Suggestions, remarques et améliorations pour Planète Casio
La communauté
Devenez membre de Planète-Casio et profitez de nombreux avantages !
¤ S'inscrire
¤ Se connecter

Depuis septembre 2004 :
¤ 16084 comptes créés
¤ 3073 programmes,
¤ 6185 sujets et
¤ 121937 commentaires
postés sur Planète Casio !


Liens utiles
Eact Maker

Planète Casio v42 © créé par Neuronix et Muelsaco 2004 - 2018 | Il y a 60 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Casio Education Casiopeia CodeWalrus

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