π
<-

Affichage image C pour ez80

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

Affichage image C pour ez80

Unread postby axel stefanini » 10 Apr 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: Select all
#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: Select all
// 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: Select all
// 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: Select all
// 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: Select all
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 :)
You do not have the required permissions to view the files attached to this post.
User avatar
axel stefanini
Niveau 8: ER (Espèce Rare: nerd)
Niveau 8: ER (Espèce Rare: nerd)
Level up: 54.3%
 
Posts: 18
Joined: 19 Sep 2016, 17:48
Gender: Not specified
Calculator(s):
MyCalcs profile

Re: Affichage image C pour ez80

Unread postby Adriweb » 10 Apr 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.

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...)
My calculator programs
Mes programmes pour calculatrices
User avatar
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 82.1%
 
Posts: 14880
Images: 1211
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: adriweb
GitHub: adriweb

Re: Affichage image C pour ez80

Unread postby axel stefanini » 10 Apr 2018, 15:54

Adriweb wrote: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 ! ^^
User avatar
axel stefanini
Niveau 8: ER (Espèce Rare: nerd)
Niveau 8: ER (Espèce Rare: nerd)
Level up: 54.3%
 
Posts: 18
Joined: 19 Sep 2016, 17:48
Gender: Not specified
Calculator(s):
MyCalcs profile

Re: Affichage image C pour ez80

Unread postby Adriweb » 10 Apr 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);

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...)
My calculator programs
Mes programmes pour calculatrices
User avatar
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 82.1%
 
Posts: 14880
Images: 1211
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: adriweb
GitHub: adriweb

Re: Affichage image C pour ez80

Unread postby axel stefanini » 10 Apr 2018, 16:00

Okey je regardais l'exemple et maintenant oui tout est clair ! Merci beaucoup !
User avatar
axel stefanini
Niveau 8: ER (Espèce Rare: nerd)
Niveau 8: ER (Espèce Rare: nerd)
Level up: 54.3%
 
Posts: 18
Joined: 19 Sep 2016, 17:48
Gender: Not specified
Calculator(s):
MyCalcs profile

Re: Affichage image C pour ez80

Unread postby axel stefanini » 10 Apr 2018, 16:18

Adriweb wrote: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!
User avatar
axel stefanini
Niveau 8: ER (Espèce Rare: nerd)
Niveau 8: ER (Espèce Rare: nerd)
Level up: 54.3%
 
Posts: 18
Joined: 19 Sep 2016, 17:48
Gender: Not specified
Calculator(s):
MyCalcs profile


Return to Langages alternatifs

Who is online

Users browsing this forum: ClaudeBot [spider] and 8 guests

-
Search
-
Social TI-Planet
-
Featured topics
Ndless for CX 4.5.5 / CX II 6.2.0
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
12345
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
3538 utilisateurs:
>3515 invités
>15 membres
>8 robots
Record simultané (sur 6 mois):
32248 utilisateurs (le 01/09/2025)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)