**Le SDK pour fx-9860/Graph85** Topic officiel
Posté le 18/07/2007 15:08
Vu la multitude de topics sur le SDK de la 85, j'ai décidé d'en faire un seul et unique, où l'on posera nos problèmes et explications sur ce même topic, et non pas sur 50, par souci de clareté et de facilité.
Des nouveautés ? Des problèmes ? Des idées ?
Exposez les ici !
Voici une liste de commandes commencées par Muelsaco. N'hésitez pas à rajouter vos commandes dans le topic je les rajouterai pour en faire profiter tout le monde. Merci.
// Locate X,Y,"Texte"
:arrow: locate(x,y); Print("Texte");
// Text X,Y,"Texte"
:arrow: PrintMini(x,y,"Texte",0);
// F-Line x1,y1,x2,y2
:arrow: Bdisp_DrawLineVRAM(x1,y1,x2,y2);
// Tracer une ligne blanche
:arrow: Bdisp_ClearLineVRAM(x1,y1,x2,y2);
// PxlOn x,y & PxlOff x,y
:arrow: Bdisp_SetPoint_VRAM(x,y,<couleur>)
<couleur> : 0 pour le blanc, 1 pour le noir
// Cls
:arrow: Bdisp_AllClr_DDVRAM();
// Actualiser l'écran
:arrow: Bdisp_PutDisp_DD();
Fonction très importante. Elle permet d'afficher une image tracée virtuellement dans la VRAM. Toute image doit d'abord être dessinée dans la VRAM puis affichée à l'écran. Vous ne verrez donc pas votre image s'afficher tant que vous n'aurez pas appelé Bdisp_PutDisp_DD(). À noter que les fonctions GetKey() et Print() l'appellent automatiquement.
While <exp1>
<code>
WhileEnd
:arrow:
while(<exp1>)
{
<code>
}
// StoPict x
:arrow: SaveDisp(x);
x variant de 1 à 3 uniquement.
// RclPict x
:arrow: RestoreDisp(x);
x variant de 1 à 3 uniquement.
// Ouvrir un popup (comme les erreurs syntaxe, etc)
:arrow: PopUpWin(<taille>);
<taille> : de 1 à 8.
Rappels sur les variables globales : Source
* Les variables globales sont à utiliser avec précaution, puisqu'elles créent des liens invisibles entre les fonctions. La modularité d'un programme peut en souffrir et le programmeur risque de perdre la vue d'ensemble.
* Il faut faire attention à ne pas cacher involontairement des variables globales par des variables locales du même nom.
* Le codex de la programmation défensive nous conseille d'écrire nos programmes aussi 'localement' que possible.
L'utilisation de variables globales est jusitifiée, si
* Plusieurs fonctions qui ne s'appellent pas ont besoin des mêmes variables, ou
* Plusieurs fonctions d'un programme ont besoin du même ensemble de variables. Ce serait alors trop encombrant de passer toutes les variables comme paramètres d'une fonction à l'autre.
Citer : Posté le 08/09/2013 08:33 | #
j'ai une erreur lors de la compilation:
Citer : Posté le 08/09/2013 08:55 | #
j'ai oublié, il faut rajouté ca au debut du .h
#define OS2(x,y) ((OSVersionAsInt() >= 0x02020000)?y:x)
envie de plonger dans la mer pour ramasser des tresors? => ballon sea
envie de sauver l'univers dans un jeu avec une longue durée de vie? => saviors of the future
un add-in addictif avec plein de secret et de trophées => evasion survival
un shmup bien dur et sadique => saviors 2
merci a tout le monde pour son soutien
zelda prizm de smashmaster (en esperant qu'il puisse le finir)
les tests de marmotti
un RPG de dark storm
(dont je connais le nom, mais pas vous )Arcuz !Citer : Posté le 08/09/2013 09:00 | #
Ok, et ta fonction random, elle renvoie quoi? Et un fait comment si on veut un minimum? J'ai pas tout compris
Ajouté le 08/09/2013 à 09:17 :
non, c'est pareil, j'ai toujours 9 qui s'affiche
Citer : Posté le 08/09/2013 09:32 | #
tiens, voila un exemple
{
random(-time_getTicks())
random(5) //renvoie un nombre entre 0 et 4
random(5)+1 // renvoie un nombre entre 1 et 5
}
envie de plonger dans la mer pour ramasser des tresors? => ballon sea
envie de sauver l'univers dans un jeu avec une longue durée de vie? => saviors of the future
un add-in addictif avec plein de secret et de trophées => evasion survival
un shmup bien dur et sadique => saviors 2
merci a tout le monde pour son soutien
zelda prizm de smashmaster (en esperant qu'il puisse le finir)
les tests de marmotti
un RPG de dark storm
(dont je connais le nom, mais pas vous )Arcuz !Citer : Posté le 08/09/2013 09:34 | #
Ok, je vais tester
Ajouté le 08/09/2013 à 14:06 :
J'ai
alors que j'ai bien appelé la lib dans laquelle j'ai mis la fonction (le fichier .h, ainsi que le fichier .c ont l'air corrects) et pourtant ça ne marche pas
Citer : Posté le 08/09/2013 16:58 | #
Faut mettre le bon nom de fonction (time_getTicks) en faisant attention aux caractères spéciaux et à la casse
Citer : Posté le 08/09/2013 17:21 | #
Suis-je bête! Merci!!! j'ai oublié le "_"
Ajouté le 08/09/2013 à 17:24 :
Ah, non, en fait je l'ai enlevé, je vais voir
Citer : Posté le 13/09/2013 12:36 | #
Bon bon bon, je viens de me rappeler pourquoi mon minecraft est en pause:
le premier qui me dit a quoi sert cette fonction de m***** et quel fonction de la librairie "string" l'utilise, je lui baisse les pieds.
Ou alors, il va encore me falloir réinventer une Lib déjà existante (j'en suis déjà a pas moins de 15 Libs fait main, je sature un peux là )
-en C:
-Un pong.
-Un projet en pause. Je compte le reprendre de temps en temps: Summer Cursed
-mon tuto sur les Str
Mes calto: G25+, G75
Mon minecraft en dévelopement
-Portal2D de JavierXD
-CalCraft de Wime
-GeekBros du groupe GeekBrothers (Eiyeron,Siapran,KevKevVTT,Adbook,LIMachi)
Citer : Posté le 24/09/2013 15:22 | #
si j'ai un tableau d'unsigned char, et que je veux mettre 4 de ces unsigned char dans un unsigned int, ce code est juste quand meme?
temporaire = tableau d'unsigned char
dresseurArgent[a] = l'unsigned int qui doit recevoir les 4 cases
moment = la premiere case des 4 cases
je n'ai pas d'erreur a la compilation, mais quand je lance le truc, ca s'arrete tout seul et met une fleche jaune a cet endroit. si je fait continuer, une erreur "nonexisting memory by data read acces at FFFFFFE4.
est-ce que j'ai fait une erreur quelque part? (ou est-qu'il y a un moyen plus simple de mettre 4 octets dans un unsigned int?)
envie de plonger dans la mer pour ramasser des tresors? => ballon sea
envie de sauver l'univers dans un jeu avec une longue durée de vie? => saviors of the future
un add-in addictif avec plein de secret et de trophées => evasion survival
un shmup bien dur et sadique => saviors 2
merci a tout le monde pour son soutien
zelda prizm de smashmaster (en esperant qu'il puisse le finir)
les tests de marmotti
un RPG de dark storm
(dont je connais le nom, mais pas vous )Arcuz !Citer : Posté le 24/09/2013 19:25 | #
En règle général les cast sont assez dangereux, car le compilo ne vérifiera plus rien sur le contenu de ta variable qui est dedans, donc faut faire gaffe et là il y a sans doute un problème puisque ça plante (mais j'ai la flem de chercher dans ton code pourquoi)
Perso pour mettre 4 octets dans un unsigned int je fais ça :
Et normalement ça fonctionne
Citer : Posté le 24/09/2013 20:04 | #
ok
(limachi m'a donné le meme code sur skype, c'est marrant )
envie de plonger dans la mer pour ramasser des tresors? => ballon sea
envie de sauver l'univers dans un jeu avec une longue durée de vie? => saviors of the future
un add-in addictif avec plein de secret et de trophées => evasion survival
un shmup bien dur et sadique => saviors 2
merci a tout le monde pour son soutien
zelda prizm de smashmaster (en esperant qu'il puisse le finir)
les tests de marmotti
un RPG de dark storm
(dont je connais le nom, mais pas vous )Arcuz !Citer : Posté le 24/09/2013 20:46 | #
a la différence que je n'utilise pas de + mais des |, c'est plus rapide et plus "logique" si je dois dire (aucun bit ne peut ce chevaucher, donc | est préférable a +)
-en C:
-Un pong.
-Un projet en pause. Je compte le reprendre de temps en temps: Summer Cursed
-mon tuto sur les Str
Mes calto: G25+, G75
Mon minecraft en dévelopement
-Portal2D de JavierXD
-CalCraft de Wime
-GeekBros du groupe GeekBrothers (Eiyeron,Siapran,KevKevVTT,Adbook,LIMachi)
Citer : Posté le 24/09/2013 21:02 | #
En effet, les "ou" sont plus optimisés
Citer : Posté le 30/09/2013 16:20 | #
bon, j'avais déjà pas mal engueulé le sdk de casio, et ben voila qu'il vient encore de me foutre la m**** dans un projet parfaitement correct:
j'avais ma lib graphique que je viens de corriger, je l'utilise dans mon projet de minecraft, et je ne vois aucune amélioration... je commence a flairer l'embrouille. comme d'habitude, je met a jour le main.c (l'un des DEUX, j'insiste sur le deux, .c qui inclut ma lib graphique)... encore une fois, rien... je me dis que je l'ai mal corigée, alors je fais Ctrl-Z jusqu'à la dernière fois que ma lib graphique marchait, encore rien...
je finis par, après moult minutes a salir mon code, par penser a mettre a jour Moteur3D.c, qui lui aussi inclut ma lib graphique, et comme par hasard tout re-fonctionne, mais aucune de mes modifications de ma lib graphique n'a été sauvegardée FFFFUUUU**********
bref, quand vous modifiez une lib qui n'est pas directement présente dans le projet, et même si elle est dans le projet d'ailleurs, par sécurité, mettez a jour TOUS les fichiers .c qui incluent votre lib, sinon vous risquez de faire la même connerie que moi et vouloir vous pendre.
(le sdk ne recharge une lib (.h) que si TOUS les .c qui l'incluent sont a jours!)
Ajouté le 30/09/2013 à 17:10 :
autre petite chose que j'ai a vous communiquer, je suis en train de faire des tests sur la RAM et la ROM de nos caltos pour tenter de trouver un moyen de boster l’accès aux fichiers stockés dans la mémoire de stockage et aussi pour avoir un meilleur contrôle sur la mémoire de nos calculatrices (entre autre, je vais tenter dans un petit programme de n'utiliser aucune variable, de ne jouer que sur les adresses mémoires fixes).
Ajouté le 30/09/2013 à 17:40 :
première adresse amusante que j'ai trouvé: 0x80157ADC (l'emplacement du logo "CASIO" a l’extinction de la calculatrice, cette adresse était sans aucun doute déjà connue, mais c'est amusant de la trouver sois même)
Ajouté le 30/09/2013 à 17:49 :
deuxième assez surprenante: 0x8017C6E6 je vous fais un screen de ce que j'y ai trouvé:
-en C:
-Un pong.
-Un projet en pause. Je compte le reprendre de temps en temps: Summer Cursed
-mon tuto sur les Str
Mes calto: G25+, G75
Mon minecraft en dévelopement
-Portal2D de JavierXD
-CalCraft de Wime
-GeekBros du groupe GeekBrothers (Eiyeron,Siapran,KevKevVTT,Adbook,LIMachi)
Citer : Posté le 30/09/2013 17:51 | #
oula, c'est bizarre ce bmp... quelqu'un l'a déjà vu? (peut-être qu'ils l'utilisent pour des tests? )
envie de plonger dans la mer pour ramasser des tresors? => ballon sea
envie de sauver l'univers dans un jeu avec une longue durée de vie? => saviors of the future
un add-in addictif avec plein de secret et de trophées => evasion survival
un shmup bien dur et sadique => saviors 2
merci a tout le monde pour son soutien
zelda prizm de smashmaster (en esperant qu'il puisse le finir)
les tests de marmotti
un RPG de dark storm
(dont je connais le nom, mais pas vous )Arcuz !Citer : Posté le 30/09/2013 17:51 | #
Tu sais à quoi ça correspond ?
Citer : Posté le 30/09/2013 17:52 | #
je pense que c'est une interdiction, genre une image qui nous dit que l'on a rien a faire ici
Ajouté le 30/09/2013 à 17:58 :
après ce symbole, quelques octets plus loin, il n'y a plus rien, que des octets vides durant des centaines de milliers d'adresses. je viens de finir de parcourir toute la zone 0x80000000 à 0x803FFFFF (mémoire ram de base si je ne me trompe pas), maintenant j'attaque la séquence un peux plus longue allant de 0xA0000000 à 0xB03FFFFF
Ajouté le 30/09/2013 à 18:03 :
hem, correction, ça ne va pas jusque 0xB03FFFFF, et je suis tombé par hasard sur un truc qui ne peut pas être émulé a l'adresse 0xB0300000
-en C:
-Un pong.
-Un projet en pause. Je compte le reprendre de temps en temps: Summer Cursed
-mon tuto sur les Str
Mes calto: G25+, G75
Mon minecraft en dévelopement
-Portal2D de JavierXD
-CalCraft de Wime
-GeekBros du groupe GeekBrothers (Eiyeron,Siapran,KevKevVTT,Adbook,LIMachi)
Citer : Posté le 30/09/2013 18:04 | #
c'est bien trouvé quand même
Zelda de Smashmaster
Super Geek Brothers de Siapran
Pac-Man
Pac-Man Color
Meta Ball
Add-ins Jetpack Joyride et Pac-Man sur PRIZM (les 2 non commencés mais en réflexion)
A la recherche des sprites jetpack Joride si quelqu'un les a en couleur
Citer : Posté le 30/09/2013 18:06 | #
allez, je vais prendre un risque, ma calto va tenter de voir ce qui ce trouve a l'adresse 0xB0300000
Ajouté le 30/09/2013 à 18:12 :
écran blanc, puis avec droite et gauche, je peux faire apparaître durant un petit instant une barre noire sur le coté gauche, et pour quitter je dois virer les piles et les remettre (j'ai essayé toutes les touches, il n'y a que droite et gauche qui réagissent)
-en C:
-Un pong.
-Un projet en pause. Je compte le reprendre de temps en temps: Summer Cursed
-mon tuto sur les Str
Mes calto: G25+, G75
Mon minecraft en dévelopement
-Portal2D de JavierXD
-CalCraft de Wime
-GeekBros du groupe GeekBrothers (Eiyeron,Siapran,KevKevVTT,Adbook,LIMachi)
Citer : Posté le 30/09/2013 18:53 | #
J'ai déjà eu cette image, et j'ai du envoyer ma calto a Casio pour qu'il m'en renvoi une.
J'avais fais joujou avec un add-in permettant d'accéder au menu caché.
Citer : Posté le 30/09/2013 18:56 | #
J'en connais un qui n'est pas rassuré