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
Citer : Posté le 15/10/2012 13:07 | #
Perso je code en C sur la prizm
Citer : Posté le 15/10/2012 14:27 | #
ok merci
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
Citer : Posté le 15/10/2012 20:36 | #
Perso je code en C sur la prizm
D'où ta photo de profil
Citer : Posté le 21/12/2012 22:27 | #
pour utiliser les sprites créer par le lien, quelle est la fonction a utiliser?
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 21/12/2012 23:35 | #
Pour les sprites codé en 8 bits ou moins
{
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;
}
}
}
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?
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 22/12/2012 22:06 | #
Oui, pour afficher la VRAM il y a la fonction Bdisp_PutDisp_DD();
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
[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:
[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
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 09/09/2013 19:19 | #
Tu as oublié d'inclure fxlib.h
Ajouté le 09/09/2013 à 19:22 :
Perso je préfère utiliser le prizm-sdk, le compilateur est plus performant
Citer : Posté le 09/09/2013 19:34 | #
C'est la seule différence?
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 09/09/2013 19:51 | # | Fichier joint
Il est aussi plus simple de compiler et de créer des projets avec le GUI
Citer : Posté le 09/09/2013 20:12 | #
ouh le fichier caché
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
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)
Citer : Posté le 09/09/2013 20:21 | #
je teste
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 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).
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 ?
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 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]
Citer : Posté le 11/09/2013 18:01 | #
Merci
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 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).
-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
Citer : Posté le 10/02/2014 19:19 | #
On peut afficher des couleurs : http://www.planet-casio.com/Fr/forums/topic10059-1-Programmer-en-basic-sur-votre-Fx-CG-10-20.html
Citer : Posté le 22/02/2014 20:27 | #
merci :boulet3:
-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