Seuls les membres ayant 30 points peuvent parler sur le chat.

Forum Casio - Autres questions


Index du Forum » Autres questions » **Le SDK pour fx-9860/Graph85** Topic officiel
MatronixHors ligneAncien administrateurPoints: 6058 Défis: 82 Message

**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.


Pages : Précédente1 ... , 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, ... 48Suivante
Dark stormEn ligneMembre d'honneurPoints: 10826 Défis: 176 Message

Citer : Posté le 30/09/2013 18:56 | #




J'en connais un qui n'est pas rassuré
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Páranÿe quetë Quendya
LimachiHors ligneYoutuberPoints: 2798 Défis: 67 Message

Citer : Posté le 30/09/2013 19:01 | #


Qui? je sais parfaitement ce que je fait (a aucun moment je ne modifie la mémoire, je ne fais que l'afficher, normalement c'est bon)

hem, si c'est moi qui dit ça, c'est peut être moi qui n'est pas rassuré?
Mes Programmes
Cliquer pour enrouler
-en basic: un programme nommé PICFMLIM convertissant une picture en code basic.
-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


Projets et Programmes que je soutiens (sur une idée de Marmotti)
Cliquer pour enrouler
-Pokemon Jade de Dodormeur
-Portal2D de JavierXD
-CalCraft de Wime
-GeekBros du groupe GeekBrothers (Eiyeron,Siapran,KevKevVTT,Adbook,LIMachi)
TsuneoHors ligneMembrePoints: 973 Défis: 51 Message

Citer : Posté le 01/10/2013 17:26 | #


Classe, tes essais Limachi !

Calculatrices : Graph 35+ USB tweakée et Classpad 330
Suivez moi et mon humour dévastateur ici focliquéla
Alex BasicCHors ligneAncien modérateurPoints: 1734 Défis: 83 Message

Citer : Posté le 01/10/2013 17:53 | #


J'ai déjà eu cette image, il y a un addin qui ouvre un menu caché (celui avec le timer) et j'étais allé dans la partie Kidou protect : après je n'avais plus accès qu'au menu run : j'ai fait un reboot total et j'ai changé la carte SD
BtlHors ligneAncien modérateurPoints: 3879 Défis: 107 Message

Citer : Posté le 08/10/2013 15:14 | #


hey, j'ai une petite question.
Comme vous avez pu le remarquer, de plus en plus d'add-ins ont un temps de "lag" au moment ou on veut sortir... plus rien ne marche pendant quelques secondes...
En tout cas le jeu que je programme actuellement à ce problème, et j'aimerais le résoudre avant de le poster, alors si quelqu'un à une solution ou une autre manière d'arrêter un programme sans faire bugguer la calto, je suis preneur.
(j'ai remarqué que ça arrive bcp plus depuis qu'on rajoute le code SH4, peut-être est-ce lié?)
Un excellent tuto video qui vous explique comment transférer des fichiers de l'ordinateur vers la calculatrice et vice versa ma chaine youtube
mes jeux
mes jeux

Jouez à 6 sur une seule calto : Curve Fever
Un die and retry qui vous fera bieeeen rager Test Andropov
un très bon sokoban
le seul vrai jeu de foot en basic : FIFA 12
Ca c'est ce que j'appelle un jeu de reflexion jewel master
Qui vaincra l'intelligence artificielle de cet othello
Le célèbre pacman
Et tant d'autres BTL's games

Le jeu du mois de Novembre et award du jeu le plus dur de l'année 2013 MultiTask, testez-le
DodormeurHors ligneAncien rédacteurPoints: 3928 Défis: 82 Message

Citer : Posté le 08/10/2013 17:09 | #


personnellement, sur evasion survival, j'ai eu ce problème lorsque je l'ai rendu compatible. mais sur pokemon stadium, je n'ai pas de lag de sortie, a mon avis parce que j'utilise une fonction d'input annexe

essaye de mettre ca comme fonction d'input, pour voir si ca bloque toujours

(il est possible qu'il y ait un peu plus de code que nécessaire, c'est un code que casimo m'a passé, mais je ne le comprends pas entièrement )

typedef int(*sc_i2cp2sip) (char*, char*, short int*, short int*);
typedef int(*sc_iv) (void);
typedef int(*sc_4i) (int, int, int);

const unsigned int sc003b[] = {SCA, SCB, SCE, 0x3B};
const unsigned int sc0015[] = {SCA, SCB, SCE, 0x15};
const unsigned int sc0248[] = {SCA, SCB, SCE, 0x248};

#define RTC_GetTicks (*(sc_iv)sc003b)
#define PutKey (*(sc_4i)sc0248)
#define GlibGetOSVersionInfo (*(sc_i2cp2sip)sc0015)

int OSVersionAsInt(void)
{
    unsigned char mainversion;
    unsigned char minorversion;
    unsigned short release;
    unsigned short build;
    GlibGetOSVersionInfo( &mainversion, &minorversion, &release, &build );
    return ( ( mainversion << 24 ) & 0xFF000000 ) | ( ( minorversion << 16 ) & 0x00FF0000 ) | ( release & 0x0000FFFF );
}
#define isOS2 (OSVersionAsInt() >= 0x02020000)
#define OS2(x,y) ((OSVersionAsInt() >= 0x02020000)?y:x)
static int SysCallCode[] = {0xD201422B,0x60F20000,0x80010070};
static int (*SysCall)( int R4, int R5, int R6, int R7, int FNo ) = (void*)&SysCallCode;


unsigned char key_down_real(unsigned char code)
{
    unsigned short key[8];
    const unsigned short* keyboardregister = (unsigned short*)0xA44B0000;
    unsigned char row;

    if(isOS2)
        {
        memcpy(&key, keyboardregister, sizeof(unsigned short) << 3);
        row= code%10;
        return (0 != (key[row >> 1] & 1 << code / 10 - 1 + ((row & 1) << 3)));
        }
    else
        {
        return CheckKeyRow((code % 10) + ((code / 10 - 1) << 4));
        }
}


#define OS2(x,y) ((OSVersionAsInt() >= 0x02020000)?y:x)

#define K_0 71
#define K_1 72
#define K_2 62
#define K_3 52
#define K_4 73
#define K_5 63
#define K_6 53
#define K_7 74
#define K_8 64
#define K_9 54
#define K_DP 61
#define K_EXP 51
#define K_PMINUS 41
#define K_PLUS 42
#define K_MINUS 32
#define K_MULT 43
#define K_DIV 33
#define K_FRAC 75
#define K_LPAR 55
#define K_RPAR 45
#define K_COMMA 35
#define K_STORE 25
#define K_LOG 66
#define K_LN 56
#define K_SIN 46
#define K_COS 36
#define K_TAN 26
#define K_SQUARE 67
#define K_POW 57
#define K_EXE 31
#define K_DEL 44
#define K_AC 32
#define K_FD 65
#define K_EXIT 47
#define K_SHIFT 78
#define K_ALPHA 77
#define K_OPTN 68
#define K_VARS 58
#define K_UP 28
#define K_DOWN 37
#define K_LEFT 38
#define K_RIGHT 27
#define K_F1 79
#define K_F2 69
#define K_F3 59
#define K_F4 49
#define K_F5 39
#define K_F6 29
#define K_MENU 48
#define K_XT 76

Pokemon !!!!!! => pokemon stadium/battle

mes meilleurs jeux
Cliquer pour enrouler
un jeu avec des niveaux de gris mais compatible SH4 (mais en monochrome pour les SH4) => bomberman
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

projets
Cliquer pour enrouler

pokemon
Cliquer pour enrouler



encodage des données de combat (sprite, attaques et nom)
   100%

systeme de combat
   100%

encodage des données de pokemon (niveau d'apprentisage et evolution)
   100%


moteur de la carte
   50%

level design
   1%

finition de pokemon jade
   42%

merci a tout le monde pour son soutien


projets que je soutiens
Cliquer pour enrouler
minecraft de limachi
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 !
TheprogHors ligneMembrePoints: 1447 Défis: 20 Message

Citer : Posté le 23/10/2013 21:20 | #


Salut j'ai un petit soucis de débutant qui a surement déjà été posé sur une des 51 pages mais bon si je veux trouver la réponse en cherchant ça risque de me prendre du temps
Donc je voulais regarder comment était fait un add-in en format *.g1a via le SDK mais je sais pas si c'est possible de l'ouvrir ...
Si oui comment faire
Si non ... comment faire
DodormeurHors ligneAncien rédacteurPoints: 3928 Défis: 82 Message

Citer : Posté le 23/10/2013 22:14 | #


il n'y a pas moyen, le g1a est le code compilé du code source.
au mieux, tu peut avoir le code désassemblé, mais cela ne te sera sans doute pas tres utile
regarde si l'auteur n'a pas mis un autre fichier a telecharger qui contiendrait le code sources (sous forme de .c .cpp ou .h), que tu pourra ouvrir avec le SDK
Pokemon !!!!!! => pokemon stadium/battle

mes meilleurs jeux
Cliquer pour enrouler
un jeu avec des niveaux de gris mais compatible SH4 (mais en monochrome pour les SH4) => bomberman
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

projets
Cliquer pour enrouler

pokemon
Cliquer pour enrouler



encodage des données de combat (sprite, attaques et nom)
   100%

systeme de combat
   100%

encodage des données de pokemon (niveau d'apprentisage et evolution)
   100%


moteur de la carte
   50%

level design
   1%

finition de pokemon jade
   42%

merci a tout le monde pour son soutien


projets que je soutiens
Cliquer pour enrouler
minecraft de limachi
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 !
TheprogHors ligneMembrePoints: 1447 Défis: 20 Message

Citer : Posté le 23/10/2013 22:31 | #


C'est bon je me rendors
Merci dodormeur
BtlHors ligneAncien modérateurPoints: 3879 Défis: 107 Message

Citer : Posté le 07/11/2013 19:45 | # | Fichier joint


Wow, il m'arrive un truc pas cool.

Du jour au lendemain quand j'essaie de compiler mon programme, il me met une erreur (cf: fichier joint) comme quoi, il ne trouve plus le chemin d'accès.

Alors j'ai regardé partout dans les reglages du SDK mais tout était confo.
Je me suis rendu compte que j'avais la même erreur pour tous mes programmes, et que, même si j'en créais un nouveau, il ne trouvait de nouveau pas de chemin.
Un excellent tuto video qui vous explique comment transférer des fichiers de l'ordinateur vers la calculatrice et vice versa ma chaine youtube
mes jeux
mes jeux

Jouez à 6 sur une seule calto : Curve Fever
Un die and retry qui vous fera bieeeen rager Test Andropov
un très bon sokoban
le seul vrai jeu de foot en basic : FIFA 12
Ca c'est ce que j'appelle un jeu de reflexion jewel master
Qui vaincra l'intelligence artificielle de cet othello
Le célèbre pacman
Et tant d'autres BTL's games

Le jeu du mois de Novembre et award du jeu le plus dur de l'année 2013 MultiTask, testez-le
Dark stormEn ligneMembre d'honneurPoints: 10826 Défis: 176 Message

Citer : Posté le 07/11/2013 19:47 | #


Réinstalle le SDK pour le coup. Ca m'est déjà arrivé
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Páranÿe quetë Quendya
BtlHors ligneAncien modérateurPoints: 3879 Défis: 107 Message

Citer : Posté le 07/11/2013 20:02 | #


bah je l'ai déjà reinstallé et repair... mais autant réessayer on ne sait jamais
Un excellent tuto video qui vous explique comment transférer des fichiers de l'ordinateur vers la calculatrice et vice versa ma chaine youtube
mes jeux
mes jeux

Jouez à 6 sur une seule calto : Curve Fever
Un die and retry qui vous fera bieeeen rager Test Andropov
un très bon sokoban
le seul vrai jeu de foot en basic : FIFA 12
Ca c'est ce que j'appelle un jeu de reflexion jewel master
Qui vaincra l'intelligence artificielle de cet othello
Le célèbre pacman
Et tant d'autres BTL's games

Le jeu du mois de Novembre et award du jeu le plus dur de l'année 2013 MultiTask, testez-le
Dark stormEn ligneMembre d'honneurPoints: 10826 Défis: 176 Message

Citer : Posté le 07/11/2013 20:19 | #


Tes fichiers sont sur une clé USB ou un DDE ?
Si oui ça peut venir de ça...
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Páranÿe quetë Quendya
BtlHors ligneAncien modérateurPoints: 3879 Défis: 107 Message

Citer : Posté le 07/11/2013 20:32 | #


Nonon ils sont dans un dossier sur le bureau...

mais je me suis rendu compte que malgré le fait qu'il m'indique cette erreur, je peux quand même lancer mes programmes dans l'émul du SDK... mais je ne pense pas que le G1A soit créée.
Un excellent tuto video qui vous explique comment transférer des fichiers de l'ordinateur vers la calculatrice et vice versa ma chaine youtube
mes jeux
mes jeux

Jouez à 6 sur une seule calto : Curve Fever
Un die and retry qui vous fera bieeeen rager Test Andropov
un très bon sokoban
le seul vrai jeu de foot en basic : FIFA 12
Ca c'est ce que j'appelle un jeu de reflexion jewel master
Qui vaincra l'intelligence artificielle de cet othello
Le célèbre pacman
Et tant d'autres BTL's games

Le jeu du mois de Novembre et award du jeu le plus dur de l'année 2013 MultiTask, testez-le
Dark stormEn ligneMembre d'honneurPoints: 10826 Défis: 176 Message

Citer : Posté le 07/11/2013 20:36 | #


C'est chelou ça...
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Páranÿe quetë Quendya
PierrotllHors ligneAncien administrateurPoints: 5488 Défis: 41 Message

Citer : Posté le 08/11/2013 21:58 | #


(Désolé, je réponds aux deux dernières pages)

Limachi a écrit :
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 +)

Ce n'est pas plus rapide non. Un or comme une addition ne prend qu'une instruction.

Limachi a écrit :
(le sdk ne recharge une lib (.h) que si TOUS les .c qui l'incluent sont a jours!)

Tout compilateur C compile les fichiers sources (*.c) en fichier objet (*.o) et ne recompile un fichier source que s'il a été modifié depuis la dernière compilation (sauf si on lui demande explicitement de tout recompiler) et dans le cas contraire il conserve le .o tel quel pour l'édition de liens. Le compilo Renesas passe le fichier au préprocesseur après avoir vérifié la date de dernière modification. Donc ton header est bien pris en compte dans les sources recompilées.

A propos du système de fichier Casio, Kristaba en avait déjà fait l'étude et avait fait une bonne petite lib permettant un accès en lecture seule (l'écriture étant trop risquée en cas de mise à jour du FS dans une future version de l'OS). Il ne l'avait pas publié quelque part ?

L'image du rond barré est bien connue, mais je ne savais pas qu'elle était affichée en cas d'erreur fatale.

Btl: L'erreur n'est pas accompagnée du chemin en question ?
T'as pas un caractère non-ASCII dans le chemin de ton projet et/ou dans celui du SDK ?
HELPME
Statut : Invité

Citer : Posté le 10/11/2013 16:32 | #


Bonjour,

J'ai cherché sur plusieurs pages de ce topic sans succès la réponse à ma question : comment utiliser les GetKey ?
J'ai l'impression que mes conditions ne fonctionnent absolument pas ! :/ Je vous poste mon code...

int AddIn_main(int isAppli, unsigned short OptionNum)
{
    [purple]unsigned int[/purple] key;
    [purple]unsigned int[/purple] code;

    Bdisp_AllClr_DDVRAM();

    PrintMini(1,[maroon]1[/maroon],[gray]"=========== PHYSIQUE ==========="[/gray], MINI_OVER);
    PrintMini(1,[maroon]15[/maroon],[gray]"I. ACIDES / BASES"[/gray],MINI_OVER);

    [b][blue]while[/blue][/b](1){
        GetKey(&key);
        [b][blue]if[/blue][/b] (&key==KEY_CHAR_4) {
    PrintMini(1,[maroon]22[/maroon],[gray]"TOUCHE NUM 4"[/gray],MINI_OVER);
        }
        [b][blue]else[/blue][/b] {
    PrintMini(1,[maroon]22[/maroon],[gray]"AUTRE TOUCHE"[/gray],MINI_OVER);
        }
    }

    [b][blue]return[/blue][/b] 1;
}


Quelque soit la touche sur laquelle j'appuie, le second message est affiché...
DodormeurHors ligneAncien rédacteurPoints: 3928 Défis: 82 Message

Citer : Posté le 10/11/2013 17:00 | #


&key==KEY_CHAR_4


ton erreur est la.
il faut comparer key, et pas l'adresse de key

voila le code corrigé
int AddIn_main(int isAppli, unsigned short OptionNum)
{
    unsigned int key;
    unsigned int code;

    Bdisp_AllClr_DDVRAM();

    PrintMini(1,1,"=========== PHYSIQUE ===========", MINI_OVER);
    PrintMini(1,15,"I. ACIDES / BASES",MINI_OVER);

    while(1){
        GetKey(&key);
        if (key==KEY_CHAR_4) {
    PrintMini(1,22,"TOUCHE NUM 4",MINI_OVER);
        }
        else {
    PrintMini(1,22,"AUTRE TOUCHE",MINI_OVER);
        }
    }

    return 1;
}

Pokemon !!!!!! => pokemon stadium/battle

mes meilleurs jeux
Cliquer pour enrouler
un jeu avec des niveaux de gris mais compatible SH4 (mais en monochrome pour les SH4) => bomberman
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

projets
Cliquer pour enrouler

pokemon
Cliquer pour enrouler



encodage des données de combat (sprite, attaques et nom)
   100%

systeme de combat
   100%

encodage des données de pokemon (niveau d'apprentisage et evolution)
   100%


moteur de la carte
   50%

level design
   1%

finition de pokemon jade
   42%

merci a tout le monde pour son soutien


projets que je soutiens
Cliquer pour enrouler
minecraft de limachi
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 !
Dark stormEn ligneMembre d'honneurPoints: 10826 Défis: 176 Message

Citer : Posté le 11/11/2013 14:12 | #


Je te conseille de revoir tes pointeurs (voir SdZ, Open Classrooms)

pour une variable normale (int getkey par exemple)

key -> valeur contenue dans la variable
&key -> adresse de la variable

pour un pointeur (int *pointeur = &getkey)

pointeur -> adresse de getkey
*pointeur -> valeur contenue dans getkey
&pointeur -> adresse de la variable pointeur


Modifié par Dark Storm : Test
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Páranÿe quetë Quendya
LimachiHors ligneYoutuberPoints: 2798 Défis: 67 Message

Citer : Posté le 12/11/2013 12:28 | #


est-ce que quelqu'un aurait un exemple d'utilisation de Bfile_FindFirst, Bfile_FindNext et Bfile_FindClose?
(j'arrive pas a les utiliser correctement dans mon minecraft et je n'ai pas trouvé de sources les utilisant)
Mes Programmes
Cliquer pour enrouler
-en basic: un programme nommé PICFMLIM convertissant une picture en code basic.
-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


Projets et Programmes que je soutiens (sur une idée de Marmotti)
Cliquer pour enrouler
-Pokemon Jade de Dodormeur
-Portal2D de JavierXD
-CalCraft de Wime
-GeekBros du groupe GeekBrothers (Eiyeron,Siapran,KevKevVTT,Adbook,LIMachi)
PierrotllHors ligneAncien administrateurPoints: 5488 Défis: 41 Message

Citer : Posté le 12/11/2013 20:11 | #


Voilà :
FindFiles.h
FindFiles.c

C'est une mini-lib qui simplifie leur utilisation, mais ça sert aussi d'exemple.
Pages : Précédente1 ... , 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, ... 48Suivante

Planète Casio v42 © créé par Neuronix et Muelsaco 2004 - 2019 | Il y a 78 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