Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.

Forum Casio - Questions sur les transferts


Index du Forum » Questions sur les transferts » probleme apres le transfert
Azertyone Hors ligne Membre Points: 69 Défis: 8 Message

probleme apres le transfert

Posté le 13/04/2014 10:10

Bonjour je débute dans la programmation en C avec le SDK lorsque je creer le programme il fonctionne sur l émulateur mais lorsque je le passe sur ma calculette plus rien ne s'affiche et je dois reset pourtant j ai fait la manip pour rendre compatible le SDK en SH4 et ce bug n’arrive qu'avec les programme trop compliquer parce que j'avais fait un programme de dessin pour tester les fonction de monochrome lib et la il fonctionnait et je comprend pas pourquoi la il bug.
merci d'avance.


1, 2, 3, 4, 5, 6, 7 Suivante
Theprog Hors ligne Membre Points: 1447 Défis: 20 Message

Citer : Posté le 13/04/2014 10:12 | #


Tu aurais ton code a nous passer ?
Intelligide Hors ligne Membre de CreativeCalc Points: 49 Défis: 5 Message

Citer : Posté le 13/04/2014 10:12 | #


envoie moi les codes sources stp
Azertyone Hors ligne Membre Points: 69 Défis: 8 Message

Citer : Posté le 13/04/2014 10:20 | #


#include "fxlib.h"
#include "stdio.h"
#include "stdlib.h"
#include"MonochromeLib.h"
void dessin();
int AddIn_main(int isAppli, unsigned short OptionNum)
{
unsigned int key;
dessin();
while(1){
GetKey(&key);
}

return 1;
}

#pragma section _BR_Size
unsigned long BR_Size;
#pragma section


#pragma section _TOP
int InitializeSystem(int isAppli, unsigned short OptionNum)
{
return INIT_ADDIN_APPLICATION(isAppli, OptionNum);
}

#pragma section
void dessin()
{
int y=59,x=64,clef=0;
int saut=-1;
int s=0;
int i,p;
cls();
clsvram();
line(1,60,127,60,1);
horizontal(50,1,60,1);
horizontal(1,1,127,1);
vertical(70,5,63,1);
vertical(60,1,55,1);
while(1){
Sleep(40);

//commande de saut
if (IsKeyDown(KEY_CTRL_SHIFT)&&test(x+1,y-s)==1){y-=s;s=0;saut=0;clef=-1;}
if (IsKeyDown(KEY_CTRL_SHIFT)&&test(x-1,y-s)==1){y-=s;s=0;saut=0;clef=1;}
if (IsKeyDown(KEY_CTRL_SHIFT)&&test(x,y-s+1)==1&&saut==-1){saut=0;}
if(test(x,y-s+1)==0&&saut==-1){saut=6;y=y-s+10;}

//execution du saut
if(saut>=0){
if(clef!=0&&test(x+clef,y-s)==0){x+=clef;}
i=-0.25*(saut-8)*(saut-8)+16;saut++;
if(i<s-5){i=s-5;}
if(saut<6){for(p=s;p<=i;p++){if(test(x,y-p-1)==1){saut=6;i=p;break;}}}
if(test(x+1,y-s)==1||test(x-1,y-s)==1){if(saut>5){i=s-1;clef=0;}}
if(saut>6){for(p=s;p>=i;p--){if(test(x,y-p+1)==1){clef=0;saut=-1;i=0;y-=p;p=0;}}}
s=i;}

//affichage plot
plot(x,y-s,1);
vram();
plot(x,y-s,0);

//deplacement
if( IsKeyDown(KEY_CTRL_RIGHT)&&test(x+1,y-s)==0&&clef==0){x++;}
if( IsKeyDown(KEY_CTRL_LEFT)&&test(x-1,y-s)==0&&clef==0){x--;}
}
}



pour les line horizontale test et plot ce sont les fonctions de monochromeslib mais je les ai renomer pour que ce soit plus court et plus facile a retenir car sa ressemble a ceux du basic
c'est un test pour un mario
Theprog Hors ligne Membre Points: 1447 Défis: 20 Message

Citer : Posté le 13/04/2014 10:26 | #


Tu as effacé les dernieres lignes ?
Sinon t'as aussi des soucis d'optimisation et de presentation qui rendent ton code difficilement relisable:
if( IsKeyDown(KEY_CTRL_LEFT)&&test(x-1,y-s)==0&&clef==0){x--;} ⇒
if( IsKeyDown(KEY_CTRL_LEFT) && test(x-1,y-s)==0 && clef==0) x--;

Les dernieres lignes a ne jamais supprimer:
#pragma section _BR_Size
unsigned long BR_Size;
#pragma section
#pragma section _TOP
int InitializeSystem(int isAppli, unsigned short OptionNum){ return INIT_ADDIN_APPLICATION(isAppli, OptionNum);}
#pragma section

Ajouté le 13/04/2014 à 10:27 :
Ok j'avais pas vu qu'elles y etaient ...
Mets les a la fin les séparent pas comme ça ...
Azertyone Hors ligne Membre Points: 69 Défis: 8 Message

Citer : Posté le 13/04/2014 10:28 | #


je l'ai dis je débute sur le C mais les dernière ligne ne sont pas supprime elle se trouve plus en haut mais est ce qu'il faut qu'elle se trouve a la fin ?
Intelligide Hors ligne Membre de CreativeCalc Points: 49 Défis: 5 Message

Citer : Posté le 13/04/2014 10:29 | #


je pense
Eltoredo Hors ligne Modérateur Points: 4301 Défis: 35 Message

Citer : Posté le 13/04/2014 10:29 | #


Oui, en fait tu ne les bouge jamais, quel que soit le programme
La procrastination est une vertu. (voir ma description pour comprendre mon raisonnement)
Azertyone Hors ligne Membre Points: 69 Défis: 8 Message

Citer : Posté le 13/04/2014 10:32 | #


sa ne marche toujours pas je crois que c'est une erreur de ma part en essayant de rendre compatible le SDK en SH4 car depuis a chaque nouveaux programme il lance monochrome lib en fichier .c mais pas celui que j'ai choisi au début et même quand je l'ouvre les premières lignes ne s'affiche plus et je dois tout réécrire
Theprog Hors ligne Membre Points: 1447 Défis: 20 Message

Citer : Posté le 13/04/2014 10:35 | #


Voila je te l'ai mis en version propre pour que tu vois a quoi ça doit ressembler
Ca te permet de pouvoir te relire plus facilement
N’édite pas tes codes avec le SDK mais fait le avec Notepad++ si tu le fais pas déjà comme ça t'auras la coloration des syntaxes et ça va t'aider

Le code
Cliquer pour enrouler
#include "fxlib.h"
#include "stdio.h"
#include "stdlib.h"
#include "MonochromeLib.h"

void dessin();

int AddIn_main(int isAppli, unsigned short OptionNum)
{
    unsigned int key;
    dessin();
    
    // Qu'est-ce que ca ?
    while(1){
        GetKey(&key);
    }

    return 1;
}

void dessin()
{
    int y=59,x=64,clef=0;
    int saut=-1;
    int s=0;
    int i,p;
    cls();
    clsvram();
    line(1,60,127,60,1);
    horizontal(50,1,60,1);
    horizontal(1,1,127,1);
    vertical(70,5,63,1);
    vertical(60,1,55,1);
    while(1){
        Sleep(40);

        //commande de saut
        if (IsKeyDown(KEY_CTRL_SHIFT) && test(x+1,y-s)==1){
            y-=s;
            s=0;
            saut=0;
            clef=-1;
        }
        if (IsKeyDown(KEY_CTRL_SHIFT) && test(x-1,y-s)==1){
            y-=s;
            s=0;
            saut=0;
            clef=1;
        }
        if (IsKeyDown(KEY_CTRL_SHIFT) && test(x,y-s+1)==1 && saut==-1) saut=0;
        if(test(x,y-s+1)==0&&saut==-1){saut=6;y=y-s+10;}

        //execution du saut
        if(saut>=0){
            if(clef!=0&&test(x+clef,y-s)==0) x+=clef;
            i=-0.25*(saut-8)*(saut-8)+16;
            saut++;
            if(i<s-5) i=s-5;
            if(saut<6){
                for(p=s;p<=i;p++){
                    if(test(x,y-p-1)==1){
                        saut=6;
                        i=p;
                        break;
                    }
                }
            }
            if(( test(x+1,y-s)==1 || test(x-1,y-s)==1 ) && saut>5){
                i=s-1;
                clef=0;
            }
            if(saut>6){for(p=s;p>=i;p--){if(test(x,y-p+1)==1){clef=0;saut=-1;i=0;y-=p;p=0;}}}
            s=i;
        }

        //affichage plot
        plot(x,y-s,1);
        vram();
        plot(x,y-s,0);

        //deplacement
        if( IsKeyDown(KEY_CTRL_RIGHT) && test(x+1,y-s)==0 && clef==0) x++;
        if( IsKeyDown(KEY_CTRL_LEFT) && test(x-1,y-s)==0 && clef==0) x--;
    }
}

#pragma section _BR_Size
unsigned long BR_Size;
#pragma section
#pragma section _TOP
int InitializeSystem(int isAppli, unsigned short OptionNum){ return INIT_ADDIN_APPLICATION(isAppli, OptionNum);}
#pragma section


Ajouté le 13/04/2014 à 10:35 :
et ne modifie pas plusieurs variables sur une ligne
Azertyone Hors ligne Membre Points: 69 Défis: 8 Message

Citer : Posté le 13/04/2014 10:36 | #


while(1){
GetKey(&key);
}

sa j'ai aucune idée de son utilité mais si je le retire sa ne fonctionne pas
Eltoredo Hors ligne Modérateur Points: 4301 Défis: 35 Message

Citer : Posté le 13/04/2014 10:37 | #


ça demande a l'utilisateur d'appuyer sur une touche, while (1) est une boucle infinie jusqu'a que la condition soit respectée
La procrastination est une vertu. (voir ma description pour comprendre mon raisonnement)
Azertyone Hors ligne Membre Points: 69 Défis: 8 Message

Citer : Posté le 13/04/2014 10:40 | #


oui sa je l'ai vu mais je ne sais pas si c'est utile de le laisser
et il ne fonctionne toujours pas avec la version de TheProg
Theprog Hors ligne Membre Points: 1447 Défis: 20 Message

Citer : Posté le 13/04/2014 10:41 | #


Oui mais en l'occurence si tu mets ca tu vas devoir faire un reset de ta calto quand la fonction dessin() va se terminer...
La condition de la boucle (actuellement 1) doit être 30004 (le code de la touche EXE) ou une autre touche mais c'est seulement un detail
Tu aurais tes fonctions plot, test, horizontal ...

Ajouté le 13/04/2014 à 10:41 :
Attention je n'ai pour le moment rien modifié j'ai seulement mis au propre
Azertyone Hors ligne Membre Points: 69 Défis: 8 Message

Citer : Posté le 13/04/2014 10:42 | #


tu veux les voir pour les utiliser ou pour voir si l'erreur ne vient pas de la ?
Theprog Hors ligne Membre Points: 1447 Défis: 20 Message

Citer : Posté le 13/04/2014 10:43 | #


vois si l'erreur ne viens pas de la mais a mon avis l'erreur viens des IsKeyDown qui ne sont pas compatibles
T'as fait quelle manip pour le rendre compatible ?

Ajouté le 13/04/2014 à 10:44 :
surtout ya des fonctions dont je ne vois pas l'utilité notamment vram(), plot() ...
Azertyone Hors ligne Membre Points: 69 Défis: 8 Message

Citer : Posté le 13/04/2014 10:46 | #


oui mais comme je n'ai pas trouver clairement le de topic pour utiliser les getkey avec leur code j'ai utilise sa mais merci de me le dire

#include "MonochromeLib.h"
#include "stdlib.h"


#define sgn(x)    (x<0?-1:1)
#define rnd(x)    ((int)(x+0.5))

typedef char*(*sc_cpv)(void);
const unsigned int sc0135[] = { 0xD201D002, 0x422B0009, 0x80010070, 0x0135 };
#define ML_vram_adress (*(sc_cpv)sc0135)

void cls()
{
    char *LCD_register_selector = (char*)0xB4000000, *LCD_data_register = (char*)0xB4010000;
    int i, j;
    for(i=0 ; i<64 ; i++)
    {
        *LCD_register_selector = 4;
        *LCD_data_register = i|192;
        *LCD_register_selector = 4;
        *LCD_data_register = 0;
        *LCD_register_selector = 7;
        for(j=0 ; j<16 ; j++) *LCD_data_register = 0;
    }
}



void clsvram()
{
    int i, end, *pointer_long, vram;
    char *pointer_byte;
    vram = (int)ML_vram_adress();
    end = 4-vram&3;
    pointer_byte = (char*)vram;
    for(i=0 ; i<end ; i++) pointer_byte[i] = 0;
    pointer_long = (int*) (vram+end);
    for(i=0 ; i<255 ; i++) pointer_long[i] = 0;
    pointer_byte += 1020+end;
    end = vram&3;
    for(i=0 ; i<end ; i++) pointer_byte[i] = 0;
}

void vram()
{
    char *LCD_register_selector = (char*)0xB4000000, *LCD_data_register = (char*)0xB4010000, *vram;
    int i, j;
    vram = ML_vram_adress();
    for(i=0 ; i<64 ; i++)
    {
        *LCD_register_selector = 4;
        *LCD_data_register = i|192;
        *LCD_register_selector = 4;
        *LCD_data_register = 0;
        *LCD_register_selector = 7;
        for(j=0 ; j<16 ; j++) *LCD_data_register = *vram++;
    }
}

void plot(int x, int y, int c)
{
    char* vram = ML_vram_adress();
    if(x&~127 || y&~63) return;
    switch(c)
    {
        case 1:
            vram[(y<<4)+(x>>3)] |= 128>>(x&7);
            break;
        case 0:
            vram[(y<<4)+(x>>3)] &= ~(128>>(x&7));
            break;
case 2:
            vram[(y<<4)+(x>>3)] ^= 128>>(x&7);
            break;
    }
}

int test(int x, int y)
{
    char *vram, byte;
    if(x&~127 || y&~63) return 0;
    vram = ML_vram_adress();
    byte = 1<<(7-(x&7));
    return (vram[(y<<4)+(x>>3)] & byte ?1:0);
    
}

void line(int x1, int y1, int x2, int y2,int c)
{
    int i, x, y, dx, dy, sx, sy, cumul;
    x = x1;
    y = y1;
    dx = x2 - x1;
    dy = y2 - y1;
    sx = sgn(dx);
    sy = sgn(dy);
    dx = abs(dx);
    dy = abs(dy);
    plot(x, y,c);
    if(dx > dy)
    {
        cumul = dx / 2;
        for(i=1 ; i<dx ; i++)
        {
            x += sx;
            cumul += dy;
            if(cumul > dx)
            {
                cumul -= dx;
                y += sy;
            }
            plot(x, y,c);
        }
    }
    else
    {
        cumul = dy / 2;
        for(i=1 ; i<dy ; i++)
        {
            y += sy;
            cumul += dx;
            if(cumul > dy)
            {
                cumul -= dy;
                x += sx;
            }
            plot(x, y,c);
        }
    }
}

void horizontal(int y, int x1, int x2,int c)
{
    int i;
    char checker;
    char* vram = ML_vram_adress();
    if(y&~63 || (x1<0 && x2<0) || (x1>127 && x2>127)) return;
    if(x1 > x2)
    {
        i = x1;
        x1 = x2;
        x2 = i;
    }
    if(x1 < 0) x1 = 0;
    if(x2 > 127) x2 = 127;
    switch(c)
    {
        case 1:
            if(x1>>3 != x2>>3)
            {
                vram[(y<<4)+(x1>>3)] |= 255 >> (x1&7);
                vram[(y<<4)+(x2>>3)] |= 255 << 7-(x2&7);
                for(i=(x1>>3)+1 ; i<x2>>3 ; i++)
                    vram[(y<<4) + i] = 255;
            }
            else vram[(y<<4)+(x1>>3)] |= (255>>(x1%8 + 7-x2%8))<<(7-(x2&7));
            break;
        case 0:
            if(x1>>3 != x2>>3)
            {
                vram[(y<<4)+(x1>>3)] &= 255 << 8-(x1&7);
                vram[(y<<4)+(x2>>3)] &= 255 >> 1+(x2&7);
                for(i=(x1>>3)+1 ; i<x2>>3 ; i++)
                    vram[(y<<4) + i] = 0;
            }
            else vram[(y<<4)+(x1>>3)] &= (255<<8-(x1&7)) | (255>>1+(x2&7));
            break;
case 2:
            if(x1>>3 != x2>>3)
            {
                vram[(y<<4)+(x1>>3)] ^= 255 >> (x1&7);
                vram[(y<<4)+(x2>>3)] ^= 255 << 7-(x2&7);
                for(i=(x1>>3)+1 ; i<(x2>>3) ; i++)
                    vram[(y<<4) + i] ^= 255;
            }
            else vram[(y<<4)+(x1>>3)] ^= (255>>((x1&7) + 7-(x2&7)))<<(7-(x2&7));
            break;
        
    }
}

void vertical(int x, int y1, int y2,int c)
{
    int i, j;
    char checker, byte, *vram = ML_vram_adress();
    if(x&~127 || (y1<0 && y2<0) || (y1>63 && y2>63)) return;
    if(y1 > y2)
    {
        int tmp = y1;
        y1 = y2;
        y2 = tmp;
    }
    if(y1 < 0) y1 = 0;
    if(y2 > 63) y2 = 63;

    i = (y1<<4)+(x>>3);
    j = (y2<<4)+(x>>3);
    switch(c)
    {
        case 1:
            byte = 128>>(x&7);
            for( ; i<=j ; i+=16)
                vram[i] |= byte;
            break;
        case 0:
            byte = ~(128>>(x&7));
            for( ; i<=j ; i+=16)
                vram[i] &= byte;
            break;
case 2:
            byte = 128>>(x&7);
            for( ; i<=j ; i+=16)
                vram[i] ^= byte;
            break;
        
    }
}

void circle(int x, int y, int radius,int c)
{
    int plot_x, plot_y, d;

    if(radius < 0) return;
    plot_x = 0;
    plot_y = radius;
    d = 1 - radius;

    plot(x, y+plot_y,c);
    if(radius)
    {
        plot(x, y-plot_y,c);
        plot(x+plot_y, y,c);
        plot(x-plot_y, y,c);
    }
    while(plot_y > plot_x)
    {
        if(d < 0)
            d += 2*plot_x+3;
        else
        {
            d += 2*(plot_x-plot_y)+5;
            plot_y--;
        }
        plot_x++;
        if(plot_y >= plot_x)
        {
            plot(x+plot_x, y+plot_y,c);
            plot(x-plot_x, y+plot_y,c);
            plot(x+plot_x, y-plot_y,c);
            plot(x-plot_x, y-plot_y,c);
        }
        if(plot_y > plot_x)
        {
            plot(x+plot_y, y+plot_x,c);
            plot(x-plot_y, y+plot_x,c);
            plot(x+plot_y, y-plot_x,c);
            plot(x-plot_y, y-plot_x,c);
        }
    }
}

void circlep(int x, int y, int radius,int c)
{
    int plot_x, plot_y, d;

    if(radius < 0) return;
    plot_x = 0;
    plot_y = radius;
    d = 1 - radius;

    horizontal(y, x-plot_y, x+plot_y,c);
    while(plot_y > plot_x)
    {
        if(d < 0)
            d += 2*plot_x+3;
        else {
            d += 2*(plot_x-plot_y)+5;
            plot_y--;
            horizontal(y+plot_y+1, x-plot_x, x+plot_x,c);
            horizontal(y-plot_y-1, x-plot_x, x+plot_x,c);
        }
        plot_x++;
        if(plot_y >= plot_x)
        {
            horizontal(y+plot_x, x-plot_y, x+plot_y,c);
            horizontal(y-plot_x, x-plot_y, x+plot_y,c);
        }
    }
}

void scrollh(int scroll)
{
    int i, j;
    char line[16], shift, *vram;
    unsigned char next;
    unsigned short word;
    vram = ML_vram_adress();
    scroll %= 128;
    shift = 8-(scroll&7);
    for(i=0 ; i<64 ; i++)
    {
        for(j=0 ; j<16 ; j++) line[j] = vram[(i<<4)+((j-(scroll>>3)+15)&15)];
        next = line[15];
        vram[(i<<4)+15] = 0;
        for(j=15 ; j>0 ; j--)
        {
            word = next << shift;
            next = line[j-1];
            vram[(i<<4)+j] |= *((char*)&word+1);
            vram[(i<<4)+j-1] = *((char*)&word);
        }
        word = next << shift;
        vram[(i<<4)] |= *((char*)&word+1);
        vram[(i<<4)+15] |= *((char*)&word);
    }
}

void scrollv(int scroll)
{
    int i, j;
    char column[64], *vram = ML_vram_adress();
    scroll %= 64;
    for(i=0 ; i<16 ; i++)
    {
        for(j=0 ; j<64 ; j++) column[j] = vram[(j<<4)+i];
        for(j=0 ; j<64 ; j++) vram[(j<<4)+i] = column[(j-scroll+64)&63];
    }
}






ce sont les meme que monochrome lib j ai juste changer le nom et la couleur pas la variable c et j ai retirer les fonction pour dessiner comme en damier
Intelligide Hors ligne Membre de CreativeCalc Points: 49 Défis: 5 Message

Citer : Posté le 13/04/2014 10:48 | #


while(1){
GetKey(&key);
}

ce "truc" sert à quitter facilement le programme. ça demande à l'infini une touche à l'utilisateur mais,avec la fonction GetKey, quand tu fais menu, ça va dans le menu et si tu fais shift+AC ça éteint la calto.

!!!Attention!!! GetKey arrête le programme, c'est à dire qu'il ne peut rien se passer tant que tu n'a pas appuyer sur une touche
Azertyone Hors ligne Membre Points: 69 Défis: 8 Message

Citer : Posté le 13/04/2014 10:50 | #


oui mais vu que ma fonction dessin contient une boucle infini le code while(1){GetKey(&key);} ne sera jamais appliquer
Intelligide Hors ligne Membre de CreativeCalc Points: 49 Défis: 5 Message

Citer : Posté le 13/04/2014 10:52 | #


oui,mais laisse le au cas ou(je le laisse tout le temps).

Au fait, pourquoi "#include "stdio.h" et "#include "stdlib.h" ?
Theprog Hors ligne Membre Points: 1447 Défis: 20 Message

Citer : Posté le 13/04/2014 10:53 | # | Fichier joint


En fait tu ne l'as pas declaré ce fichier dans ton code. je suppose qu'il est dans un .c avec un .h ?
Si oui faut que tu mettes #include "LE_NOM_DU_FICHIER.h" au début de ton code
De toute façon, tu n'as pas besoin de ce code. Il te suffit d'utiliser les fonctions de ML_Lib (ML_line, ML_pixel_test, ML_clear_vram, ...)
Apres pour le code des touches, je suis un des seuls a le faire avec le code mais si tu veux tu fais KEY_CTRL_NOM-DE-LA-TOUCHE. Je te mets le fichier des codes en pièce jointe quand même.
1, 2, 3, 4, 5, 6, 7 Suivante

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 63 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