Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.

Forum Casio - Vos tutoriels et astuces


Index du Forum » Vos tutoriels et astuces » Du C sur la Prizm? Du monochrome à la couleur
Eiyeron Hors ligne Ancien modérateur Points: 5525 Défis: 57 Message

Du C sur la Prizm? Du monochrome à la couleur

Posté le 23/10/2011 12:15

Salut à tous!
J'arrive avec un petit tuto plus ou moins explicatif pour partir du SDK FX-9860 au C sur Prizm!

Déjà, il vous faut le SDK de Casio, et le Mini-SDK.

Bon, dézippez votre Mini-SDK dans un dossier où l'arborescence n'a aucun espace!
Exemple pas bon:
C:\Program Files\Mini-SDK

Il y a un espace au dossier Program Files, donc ce dossier ne sera pas bon!
Je vous conseille de mettre le M-SDK dans le dossier :
C:\Mini-SDK


ENsuite, vous avez une bonne petite liste de dossiers à l'intérieur...
Dans BIN, vous mettez tout le contenu des dossiers
OS\SH\BIN
OS\FX\lib

du dossier du sdk. Ce qui permettra au M-SDK de fonctionner.
Rajoutez le contenu de
OS\FX\include

dans le dossier "header".


Par la suite, dans le dossier "projects", vous mettrez vos différents projets Prizm. Comme il y a déjà des projets on va tester INSIGHT.
Revenez dans le dossier racine, puis dans "tools". lancez pCGSDK.exe. Une fenêtre s'ouvrira. CLiquez sur File>Open Project, et cherchez dans le dossier "projects" le fichier
INSIGHT.ini

Ce fichier est nécessaire au SDK de comprendre ce qu'il doit faire.
CLiquez sur File> Full Setup>SAve
CLiquez sur File>Build Project (F9).
Attendez...
A la fin, il devrait être marqué:
Optimizing Linkage Editor Completed
Start! MAKEG3A.PSC
113 lines processed.
Ready! MAKEG3A.PSC 00:00:00.010
Ready


C'est censé dire que votre addin est prêt à être embarqué dans votre Prizm!

Créer un projet:

COpiez le dossier default, ainsi que son .ini, puis, à l'aide d'un éditeur de texte, renommez le dossier comme vous voulez modifiez tout ce qui se rapporte à "DEFAULT" dans le .ini pour changer pour le nom du dossier. Changez aussi le nom du fichier .cpp dans votre dossier par le nom du dossier, et compilez en ouvrant le bon .ini dans pCGSDK.exe. Normalement, un .g3a du nom du dossier devraît être apparu. A partir de là, et les headers qui existent dans le dossier header, à vous de vous débrouiller à avoir un jeu sur votre fidèle Prizm!

Inspiré du toto sur Cemetech présent[Ici].

Pour faire des sprites utilisables pour la Prizm, je vous conseille ce lien: Ici


Smashmaster Hors ligne Ancien modérateur Points: 4561 Défis: 253 Message

Citer : Posté le 15/10/2012 13:07 | #


Perso je code en C sur la prizm
Btl Hors ligne Ancien modérateur Points: 3879 Défis: 107 Message

Citer : Posté le 15/10/2012 14:27 | #


ok merci
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 storm En ligne Labélisateur Points: 11562 Défis: 176 Message

Citer : Posté le 15/10/2012 20:36 | #


Smashmaster a écrit :
Perso je code en C sur la prizm

D'où ta photo de profil
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Dodormeur Hors ligne Ancien rédacteur Points: 3964 Défis: 84 Message

Citer : Posté le 21/12/2012 22:27 | #


pour utiliser les sprites créer par le lien, quelle est la fonction a utiliser?
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 !
Smashmaster Hors ligne Ancien modérateur Points: 4561 Défis: 253 Message

Citer : Posté le 21/12/2012 23:35 | #


Pour les sprites codé en 8 bits ou moins
void CopySpriteNbitMasked(const unsigned char* data, int x, int y, int width, int height, const color_t* palette, color_t maskColor, unsigned int bitwidth)
{
    color_t* VRAM = (color_t*)0xA8000000; //ou  color_t* VRAM = (color_t*) GetVRAMAddress();
    VRAM += (LCD_WIDTH_PX*y + x);
    int offset = 0;
    unsigned char buf;
    for(int j=y; j<y+height; j++)
    {
        int availbits = 0;

        for(int i=x; i<x+width;  i++)
        {
            if (!availbits)
            {
                buf = data[offset++];
                availbits = 8;
            }
            color_t thiss = ((color_t)buf>>(8-bitwidth));
            color_t color = palette[thiss];
            if(color != maskColor && i >=0 && i<384)
            {
                *VRAM = color;
            }
            VRAM++;
            buf<<=bitwidth;
            availbits-=bitwidth;
        }
        VRAM += (LCD_WIDTH_PX-width);
    }
}

pour les sprites codé en 16 bits :

void alphaSprite(int x, int y, int width, int height, short* bitmap, short alpha)
{
    short* VRAM = (short*)0xA8000000;
    int x_inc = width;
    if (y < 0)
    {
        bitmap -= y * width;
        height += y;
        y = 0;
    }
    if (height > LCD_HEIGHT_PX - y) height = LCD_HEIGHT_PX - y;

    if (x < 0)
    {
        bitmap -= x;
        width += x;
        x = 0;
    }
    if (width > LCD_WIDTH_PX - x) width = LCD_WIDTH_PX - x;

    x_inc -= width;

    int y_index;
    int x_index;
    short * base = y * LCD_WIDTH_PX + x + VRAM;
    for (y_index = height; y_index > 0; y_index--, base += LCD_WIDTH_PX - width, bitmap += x_inc)
    {
        for (x_index = width; x_index > 0; x_index--, base++ , bitmap++ )
        {
            if (*bitmap != alpha) *base = *bitmap;
        }
    }
}


Dodormeur Hors ligne Ancien rédacteur Points: 3964 Défis: 84 Message

Citer : Posté le 22/12/2012 08:59 | #


ok merci.
et pour afficher la vram et ce genre de truc, il faut utiliser les fonctions normales de FXlib?
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 !
Smashmaster Hors ligne Ancien modérateur Points: 4561 Défis: 253 Message

Citer : Posté le 22/12/2012 22:06 | #


Oui, pour afficher la VRAM il y a la fonction Bdisp_PutDisp_DD();
Lancelot Hors ligne Membre Points: 1274 Défis: 160 Message

Citer : Posté le 09/09/2013 19:11 | #


Salut je me suis mis au c sur la prizm

Voici mon code je n'arrive pas à le faire fonctionner

[brown]#include <stdlib.h>[/brown]


[purple]int[/purple] main() {
    PrintXY(3,[maroon]8[/maroon],[gray]"--Hello World!"[/gray], TEXT_MODE_NORMAL, TEXT_COLOR_RED);

    [purple]int[/purple] key;
    [b][blue]while[/blue][/b](1)
        GetKey(&key);
  
  [b][blue]return[/blue][/b] 0;
}


le sdk met ces erreurs:

Execute: C:\Mini-sdk\projects\TEST2.INI
[gray]"C:\Mini-sdk\BIN\SHCPP.EXE"[/gray] -SUB=TEMP.TXT TEST2 000E03B0
C:\Mini-sdk\projects\TEST2\TEST2.CPP(5) : C5020 (E) Identifier [gray]"PrintXY"[/gray] is [red]$1[/red]
C:\Mini-sdk\projects\TEST2\TEST2.CPP(5) : C5020 (E) Identifier [gray]"TEXT_MODE_NORMAL"[/gray] is $1[b][brown]$2[/brown][/b]
C:\Mini-sdk\projects\TEST2\TEST2.CPP(5) : C5020 (E) Identifier [gray]"TEXT_COLOR_RED"[/gray] is $1[brown]$2[/brown]
C:\Mini-sdk\projects\TEST2\TEST2.CPP(9) : C5020 (E) Identifier [gray]"GetKey"[/gray] is undefined
Dependency: [gray]"C:\Mini-sdk\objects\TEST2.obj"[/gray] does not exist!
[gray]"C:\Mini-sdk\BIN\Optlnk.exe"[/gray] -SUB=TEMP.TXT TEST2 000E05B0

** L3300 (F) Cannot open file : [gray]"C:\Mini-sdk\objects\TEST2.obj"[/gray]

Optimizing Linkage Editor Abort
Start! MAKEG3A.PSC
Error at lineNo: 51
[b]->[/b] File error
Ready! MAKEG3A.PSC 00:00:06.316
Ready



Merci de votre aide
Calculatrices : Casio 35+ SH4 (modifiée 75) et fx-CG 20 PRIZM
Projets que je soutiens
Des exemples parmi tant d'autres
Pokémon Jade de Dododormeur
Zelda de Smashmaster
Super Geek Brothers de Siapran
Mes Programmes
Mes Programmes
Mes Projets
Mes Projets
ColorLib
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
Smashmaster Hors ligne Ancien modérateur Points: 4561 Défis: 253 Message

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


Tu as oublié d'inclure fxlib.h
#include <fxlib.h>


Ajouté le 09/09/2013 à 19:22 :
Perso je préfère utiliser le prizm-sdk, le compilateur est plus performant
Lancelot Hors ligne Membre Points: 1274 Défis: 160 Message

Citer : Posté le 09/09/2013 19:34 | #


C'est la seule différence?
Calculatrices : Casio 35+ SH4 (modifiée 75) et fx-CG 20 PRIZM
Projets que je soutiens
Des exemples parmi tant d'autres
Pokémon Jade de Dododormeur
Zelda de Smashmaster
Super Geek Brothers de Siapran
Mes Programmes
Mes Programmes
Mes Projets
Mes Projets
ColorLib
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
Smashmaster Hors ligne Ancien modérateur Points: 4561 Défis: 253 Message

Citer : Posté le 09/09/2013 19:51 | # | Fichier joint


Il est aussi plus simple de compiler et de créer des projets avec le GUI
Cliquez pour découvrir
Cliquez pour recouvrir

Btl Hors ligne Ancien modérateur Points: 3879 Défis: 107 Message

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


ouh le fichier caché
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
Smashmaster Hors ligne Ancien modérateur Points: 4561 Défis: 253 Message

Citer : Posté le 09/09/2013 20:19 | #


(Ce sont des petits projets que je ne veux pas encore dévoiler, je me concentre d'abord sur mon zelda)
Lancelot Hors ligne Membre Points: 1274 Défis: 160 Message

Citer : Posté le 09/09/2013 20:21 | #


je teste
Calculatrices : Casio 35+ SH4 (modifiée 75) et fx-CG 20 PRIZM
Projets que je soutiens
Des exemples parmi tant d'autres
Pokémon Jade de Dododormeur
Zelda de Smashmaster
Super Geek Brothers de Siapran
Mes Programmes
Mes Programmes
Mes Projets
Mes Projets
ColorLib
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
Eiyeron Hors ligne Ancien modérateur Points: 5525 Défis: 57 Message

Citer : Posté le 09/09/2013 21:07 | #


J'aime bien savoir ce qui se passe, en copiant manuellement, je peux contrôler aisément le contenu du Makefile par exemple. Apprenez à utiliser la console. Vous allez rejeter les GUI par la suite (sauf dans certains cas, comme l'émulateur VBA sur Linux ne marche qu'en ligne de commande, et aucun moyen de changer les paramètres en cours).
Lancelot Hors ligne Membre Points: 1274 Défis: 160 Message

Citer : Posté le 10/09/2013 20:49 | #


C'est bizarre je n'est pas la même interface que Smashmaster

Qu'est ce que le GUI ?
Calculatrices : Casio 35+ SH4 (modifiée 75) et fx-CG 20 PRIZM
Projets que je soutiens
Des exemples parmi tant d'autres
Pokémon Jade de Dododormeur
Zelda de Smashmaster
Super Geek Brothers de Siapran
Mes Programmes
Mes Programmes
Mes Projets
Mes Projets
ColorLib
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
Smashmaster Hors ligne Ancien modérateur Points: 4561 Défis: 253 Message

Citer : Posté le 10/09/2013 21:09 | #


[url=www.planet-casio.com/Fr/forums/topic11140-1-Programmer-en-C-pour-la-Prizm,-bis.html]Regarde le 5ème commentaire sur cette page[/url]
Lancelot Hors ligne Membre Points: 1274 Défis: 160 Message

Citer : Posté le 11/09/2013 18:01 | #


Merci
Calculatrices : Casio 35+ SH4 (modifiée 75) et fx-CG 20 PRIZM
Projets que je soutiens
Des exemples parmi tant d'autres
Pokémon Jade de Dododormeur
Zelda de Smashmaster
Super Geek Brothers de Siapran
Mes Programmes
Mes Programmes
Mes Projets
Mes Projets
ColorLib
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
Pseudopourri Hors ligne Membre Points: 182 Défis: 9 Message

Citer : Posté le 10/02/2014 00:56 | #


Est-possible d'afficher des couleurs comme du gris,du marron,etc...En basic casio ?

Ajouté le 10/02/2014 à 00:57 :
sur Fx-CG 20 (maic c'est logique).
je code en...
je code en:

-ASM (assembleur) sur x86 et gb-Z80
-locomotive basic/amstrad basic
-Basic Casio
-VBS
-Batch
-Bash
-Python 3.4
-html
-CSS
-javascript
-Lua
-brainfuck
-ruby

Il faut savoir que je ne maitrise pas parfaitement tout ces langages

[/spoiler]
Remerciment

Ma calto: graph 75
Smashmaster Hors ligne Ancien modérateur Points: 4561 Défis: 253 Message
Pseudopourri Hors ligne Membre Points: 182 Défis: 9 Message

Citer : Posté le 22/02/2014 20:27 | #


merci :boulet3:
je code en...
je code en:

-ASM (assembleur) sur x86 et gb-Z80
-locomotive basic/amstrad basic
-Basic Casio
-VBS
-Batch
-Bash
-Python 3.4
-html
-CSS
-javascript
-Lua
-brainfuck
-ruby

Il faut savoir que je ne maitrise pas parfaitement tout ces langages

[/spoiler]
Remerciment

Ma calto: graph 75

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 v42 © créé par Neuronix et Muelsaco 2004 - 2022 | Il y a 32 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