**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 20/12/2014 20:56 | #
Mouais, vaut mieux pas le mettre, C'est un peu crade et inutile de "réécrire" sur des fonctions standard
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 20/12/2014 20:58 | #
Non mais...
#define malloc(x) my_malloc(x)
#endif // DEBUG
Et tu réponds comment à la question sinon ?
Citer : Posté le 20/12/2014 21:10 | #
Nan mais la méthode est bonne, je dis juste que ça sert a rien de mettre des define pour rien, je trouve (mais c'est un avis personnel) que cela peut induire en erreur des lecteurs (surtout si c'est un nouveau et qu'il pense que c'est intégré a la fonction malloc de base)
M'enfin je dis ca, chacun fait comme il veut
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 20/12/2014 21:11 | #
Non mais c'est fait juste pour le debuggage, pas pour une utilisation permanente.
C'est pas adapté sinon... c'est fait pour connaître la valeur sans avoir à modifier le code.
Citer : Posté le 02/01/2015 19:53 | # | Fichier joint
Mon compilateur pète de ces câbles...
Quelqu'un a une explication ?
Citer : Posté le 03/01/2015 00:46 | #
Il a pas encore été initialisé
Citer : Posté le 03/01/2015 10:42 | #
Oh que si, c'est même écrit juste au dessus dans un petit cadre avec des pointillés.
Citer : Posté le 03/01/2015 17:15 | #
Vérifie la valeur de i à la ligne suivante
Citer : Posté le 03/01/2015 17:17 | #
Vérifie la valeur de i à la ligne suivante
+1
L'interpréteur n'initialise qu'après s'être arrêté sur la ligne.
Citer : Posté le 03/01/2015 20:59 | #
C'est ce que j'ai fait en fait. J'ai écrit ceci :
while(1);
A la base je me prenais le chou avec la fonction arc cosinus qui renvoyait n'importe quoi, et avec ce test simple je me suis rendu compte que tous mes doubles prennent des valeurs aberrantes.
D'où mes interrogations par rapport au compilateur.
Au pire ne vous en faites pas pour moi outre mesure, j'arrive à m'en accommoder.
Citer : Posté le 03/01/2015 21:36 | #
Un double n'a pas desoin d'une virgule ?
En general moi aussi je remet en cause le compilo et puis au bout de 2 heures, je me rend compte que en fait, c'est moi qui suis con
Citer : Posté le 03/01/2015 22:27 | #
Yup : double i = 1.0;
Je suis débile de ne pas l'avoir vu avant
Citer : Posté le 03/01/2015 23:38 | #
Ah, je vois...
Je devrais utiliser les doubles plus souvent.
Merci à vous.
Citer : Posté le 03/01/2015 23:47 | #
En fait il faut rajouter .0 pour que ça fonctionne ?
Citer : Posté le 03/01/2015 23:52 | #
Y'a meme pas besoin du "0" , "i = 1." suffit
D'ailleurs, je me demande pourquoi ils ont pas prévu un truc pour les développeurs étourdis
Citer : Posté le 04/01/2015 21:40 | #
Mais y'a pas besoin de mettre de point...
int main(void)
{
double i = 1;
printf("%lf\n",i);
return 0;
}
Ou alors le compilo est vraiment... nul à ce point.
Citer : Posté le 07/01/2015 12:47 | #
Ben ça dépend s'il caste automatiquement mais avec le compilo du fx9860-SDK...
Coïncidence ? Je ne pense pas.
Citer : Posté le 06/07/2015 17:47 | #
Wesh les gens, je voudrais me remettre à programmer, mais j'ai un soucis quand je lance la compilation ...
set SHC_INC=C:\Program Files (x86)\CASIO\fx-9860G SDK\OS\SH\include
set PATH=C:\Program Files (x86)\CASIO\fx-9860G SDK\OS\SH\bin
set SHC_LIB=C:\Program Files (x86)\CASIO\fx-9860G SDK\OS\SH\bin
set SHC_TMP=F:\Casio\Add-In\FallBlocs\Debug
WARNING: The following dependant file(s) do not exist: "memory.h" "MonochromeLib.h" "usefull.h". Line: 80
WARNING: The following dependant file(s) do not exist: "memory.h" "MonochromeLib.h" "usefull.h". Line: 97
WARNING: The following dependant file(s) do not exist: "memory.h" "MonochromeLib.h" "usefull.h". Line: 114
WARNING: The following dependant file(s) do not exist: "memory.h" "MonochromeLib.h" "usefull.h". Line: 131
Executing Hitachi OptLinker04 phase
"C:\Program Files (x86)\CASIO\fx-9860G SDK\OS\SH\bin\Optlnk.exe" -subcommand=C:\Users\Kirafi\AppData\Local\Temp\hmk8DD.tmp
** L2011 (E) Invalid parameter specified in option "input" : ""C:\Program Files (x86)\CASIO\fx-9860G SDK\OS\FX\lib\setup.obj""
Optimizing Linkage Editor Abort
HMAKE MAKE UTILITY Ver. 1.1
Copyright (C) Hitachi Micro Systems Europe Ltd. 1998
Copyright (C) Hitachi Ltd. 1998
ERROR: Process failed with return code: 1
Build was not successful.
( J'ai du réinstaller le SDK car j'ai changé de version Windaube ).
Pourras-tu survivre plus de 20 secondes dans ce fameux tunnel appelé Graviton
Rebondis entre les murs en évitant les piques dans SpikeBird
Pourras-tu éviter de te faire écraser dans FallBlocs (élu Jeu Du Mois)
La version 2048 tactile amélioré au plus haut point : 2048 Delux !
Pars à la recherche des morceaux d'étoile dans Lumyce (élu Jeu Du Mois)
Citer : Posté le 06/07/2015 17:49 | #
Il y a des espaces et des parenthèses dans le chemin d'installation de ton sdk, je sais qu'il n'aime pas au moins un des deux, mais je ne sais plus lequel, essaie de l'installer avec un chemin ne comportant ni espace ni parenthèses.
Citer : Posté le 06/07/2015 17:53 | #
Heu baaah... Le chemin ?
"Ordinateur" → "Disque local (C:)" → "Program Files (x86)" → "CASIO" → "fx-9860G SDK"
Mais je comprend pas trop ce que tu me dis ...
Pourras-tu survivre plus de 20 secondes dans ce fameux tunnel appelé Graviton
Rebondis entre les murs en évitant les piques dans SpikeBird
Pourras-tu éviter de te faire écraser dans FallBlocs (élu Jeu Du Mois)
La version 2048 tactile amélioré au plus haut point : 2048 Delux !
Pars à la recherche des morceaux d'étoile dans Lumyce (élu Jeu Du Mois)
Citer : Posté le 06/07/2015 17:53 | #
Les premières erreurs sont dues au fait que tu as ajouté un fichier dans la liste des headers alors qu'il ne faut pas.
La dernière, en effet, est liée au fait que le SDK est installé dans un dossier dont le chemin est syntaxiquement incorrect du point de vue du compilateur/linker/outil quelconque.