π
<-
Chat plein-écran
[^]

Affichage image C pour ez80

Assembleur, Axe, C/C++, ICE...

Affichage image C pour ez80

Message non lude axel stefanini » 10 Avr 2018, 15:45

Bonjour
je réalise un petit prgm en C pour ez80, et j'ai besoin d'afficher une image, j'ai donc tester avec les fichiers sources du prgm OIRAMS, et j'ai pris l'image goomba_0.png,
je l'ai convertis grâce l'outil ConvPNG.
J'ai utilisé comme paramètre pour le fichier convpng.ini


Code: Tout sélectionner
#GroupC              : goomba_gfx
#PNGImages           :
goomba_0


J'obtiens alors trois fichiers " goomba_0.c ", "goomba_gfx.h" et "goomba_gfx.c" avec dedans ;
Show/Hide spoilerAfficher/Masquer le spoiler
goomba_0.c
Code: Tout sélectionner
// Converted using ConvPNG
#include <stdint.h>
#include "goomba_gfx.h"

// 8 bpp image
uint8_t goomba_0_data[258] = {
16,16,  // width,height
0x01,0x01,0x01,0x01,0x01,0x01,0x02,0x02,0x02,0x02,0x01,0x01,0x01,0x01,0x01,0x01,
0x01,0x01,0x01,0x01,0x02,0x02,0x00,0x00,0x00,0x00,0x02,0x02,0x01,0x01,0x01,0x01,
0x01,0x01,0x01,0x02,0x02,0x02,0x02,0x03,0x03,0x02,0x02,0x02,0x02,0x01,0x01,0x01,
0x01,0x01,0x01,0x01,0x02,0x04,0x02,0x08,0x08,0x02,0x04,0x02,0x01,0x01,0x01,0x01,
0x01,0x01,0x01,0x02,0x00,0x04,0x04,0x02,0x02,0x04,0x04,0x00,0x02,0x01,0x01,0x01,
0x01,0x02,0x02,0x00,0x00,0x04,0x02,0x08,0x08,0x02,0x04,0x00,0x00,0x02,0x02,0x01,
0x02,0x00,0x00,0x08,0x00,0x04,0x02,0x03,0x03,0x02,0x04,0x00,0x08,0x00,0x00,0x02,
0x02,0x00,0x00,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x00,0x00,0x02,
0x02,0x00,0x00,0x04,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x04,0x00,0x00,0x02,
0x01,0x02,0x00,0x04,0x00,0x00,0x03,0x03,0x03,0x03,0x00,0x00,0x04,0x00,0x02,0x01,
0x01,0x01,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x01,0x01,
0x01,0x01,0x01,0x01,0x02,0x05,0x05,0x05,0x05,0x05,0x02,0x01,0x01,0x01,0x01,0x01,
0x01,0x01,0x02,0x02,0x06,0x07,0x05,0x05,0x05,0x05,0x07,0x02,0x02,0x02,0x02,0x01,
0x01,0x02,0x03,0x00,0x02,0x06,0x07,0x07,0x07,0x07,0x02,0x00,0x00,0x03,0x09,0x02,
0x02,0x09,0x03,0x00,0x00,0x02,0x06,0x06,0x06,0x06,0x02,0x02,0x02,0x02,0x02,0x02,
0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
};


goomba_gfx.c
Code: Tout sélectionner
// Converted using ConvPNG
#include <stdint.h>
#include "goomba_gfx.h"

uint16_t goomba_gfx_pal[10] = {
0x5960,  // 00 :: rgb(184,88,0)
0x7C10,  // 01 :: rgb(255,0,128)
0x18C6,  // 02 :: rgb(48,48,48)
0x6E00,  // 03 :: rgb(224,128,0)
0xFBDE,  // 04 :: rgb(248,248,248)
0xFB31,  // 05 :: rgb(248,208,136)
0x71E9,  // 06 :: rgb(232,120,72)
0x768D,  // 07 :: rgb(240,160,104)
0x7A80,  // 08 :: rgb(248,160,0)
0xFB64,  // 09 :: rgb(248,224,32)
};


goomba_gfx.h
Code: Tout sélectionner
// Converted using ConvPNG
// This file contains all the graphics sources for easier inclusion in a project
#ifndef __goomba_gfx__
#define __goomba_gfx__
#include <stdint.h>
#include "gommba_gfx.c"
#define goomba_0_width 16
#define goomba_0_height 16
#define goomba_0_size 258
extern uint8_t goomba_0_data[258];
#define goomba_0 ((gfx_sprite_t*)goomba_0_data)
#define sizeof_goomba_gfx_pal 20
extern uint16_t goomba_gfx_pal[10];

#endif


Alors en suivant le tutoriel de Wistaro, je fais afficher l'image dans mon main en ayant mis #include "goomba_gfx.h" avant.
Voici mon ma fonction main ;
Code: Tout sélectionner
void main(void)
{
  gfx_Begin( gfx_8bpp );
  gfx_Sprite_NoClip(goomba_0,10,10);

  while (!os_GetCSC());
  gfx_End();
  prgm_CleanUp();
}


Le problème c'est que j'obtiens un truc vert et noir, (voir image jointe) et je pense j'ai du faire une erreur quelques part, mais je sais pas trop où... Si quelqu'un pourrait m'aider se serait gentils de sa part !
Meric d'avance :)
Fichiers joints
screenshot_GOOMBA (1).png
screenshot_GOOMBA (1).png (2.56 Kio) Vu 1398 fois
Avatar de l’utilisateur
axel stefanini
Niveau 8: ER (Espèce Rare: nerd)
Niveau 8: ER (Espèce Rare: nerd)
Prochain niv.: 54.3%
 
Messages: 18
Inscription: 19 Sep 2016, 17:48
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile

Re: Affichage image C pour ez80

Message non lude Adriweb » 10 Avr 2018, 15:50

Salut,

Regarde les exemples de la toolchain, ils sont mis a jour en fonction que les API évoluent (meme si ceux ci restent compatibles) :)
https://github.com/CE-Programming/toolc ... src/main.c

En l'occurence, il semble que tu aies juste oublié de mettre à jour la palette (ainsi les couleurs ne sont pas les bonnes)

PS: gfx_Begin() suffit, pas besoin de paramètre. Plus besoin du prgm_CleanUp() à la fin.
Image

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
Avatar de l’utilisateur
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 80.2%
 
Messages: 14614
Images: 1218
Inscription: 01 Juin 2007, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Twitter/X: adriweb
GitHub: adriweb

Re: Affichage image C pour ez80

Message non lude axel stefanini » 10 Avr 2018, 15:54

Adriweb a écrit:Salut,

Regarde les exemples de la toolchain, ils sont mis a jour en fonction que les API évoluent (meme si ceux ci restent compatibles) :)
https://github.com/CE-Programming/toolc ... src/main.c

En l'occurence, il semble que tu aies juste oublié de mettre à jour la palette (ainsi les couleurs ne sont pas les bonnes)

PS: gfx_Begin() suffit, pas besoin de paramètre. Plus besoin du prgm_CleanUp() à la fin.



D'accord, donc je vais regardé en détails les exemples sur la toolchain, mais comment je suis sensé mettre à jour la palette ? ça viens du convertisseur ou du prgm en tant que tel?

Merci en tout cas ! ^^
Avatar de l’utilisateur
axel stefanini
Niveau 8: ER (Espèce Rare: nerd)
Niveau 8: ER (Espèce Rare: nerd)
Prochain niv.: 54.3%
 
Messages: 18
Inscription: 19 Sep 2016, 17:48
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile

Re: Affichage image C pour ez80

Message non lude Adriweb » 10 Avr 2018, 15:57

C'est ce que l'exemple montre ;)
Dans ton cas, c'est une ligne a rajouter apres le gfx_Begin():

gfx_SetPalette(goomba_gfx_pal, sizeof_goomba_gfx_pal, 0);
Image

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
Avatar de l’utilisateur
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 80.2%
 
Messages: 14614
Images: 1218
Inscription: 01 Juin 2007, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Twitter/X: adriweb
GitHub: adriweb

Re: Affichage image C pour ez80

Message non lude axel stefanini » 10 Avr 2018, 16:00

Okey je regardais l'exemple et maintenant oui tout est clair ! Merci beaucoup !
Avatar de l’utilisateur
axel stefanini
Niveau 8: ER (Espèce Rare: nerd)
Niveau 8: ER (Espèce Rare: nerd)
Prochain niv.: 54.3%
 
Messages: 18
Inscription: 19 Sep 2016, 17:48
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile

Re: Affichage image C pour ez80

Message non lude axel stefanini » 10 Avr 2018, 16:18

Adriweb a écrit:C'est ce que l'exemple montre ;)
Dans ton cas, c'est une ligne a rajouter apres le gfx_Begin():

gfx_SetPalette(goomba_gfx_pal, sizeof_goomba_gfx_pal, 0);



Par contre... Une fois que j'ai modifier la palette, tous mes rectangles ne respectent plus leurs couleurs hexadécimal donnée, comment on reset la palette sans fermer le graphique ? :?

Merci!
Avatar de l’utilisateur
axel stefanini
Niveau 8: ER (Espèce Rare: nerd)
Niveau 8: ER (Espèce Rare: nerd)
Prochain niv.: 54.3%
 
Messages: 18
Inscription: 19 Sep 2016, 17:48
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile


Retourner vers Langages alternatifs

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 16 invités

-
Rechercher
-
Social TI-Planet
-
Sujets à la une
Comparaisons des meilleurs prix pour acheter sa calculatrice !
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
Phi NumWorks jailbreak
123
-
Faire un don / Premium
Pour plus de concours, de lots, de tests, nous aider à payer le serveur et les domaines...
Faire un don
Découvrez les avantages d'un compte donateur !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partenaires et pub
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
1506 utilisateurs:
>1469 invités
>32 membres
>5 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Autres sites intéressants
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)