1

voila g un petit pb quand j active les nivaux de gris et que j apelle une lib a l interieur de laquelle je change le PLANE mes fonctions graphiques s affichent toutes ds le DARK_PLANE, donc g du contourner le pb avc des ecran virtual mais je voudrais savoir de quoi ca vient. Car je suis obliger de me trimbaler avec 3 ecrans virtuels.

confusconfuseek
Des joueurs de brood war ici? /w TIman[sL] [br] L’abondance de paroles inutiles est un symptôme certain d’infériorité mentale.

2

Pourrais-tu detailler ? Quelle librarie ?

3

Les niveaux de gris de TIGCCLIB sont dans une librairie statique, donc tu ne peux pas utiliser SetPlane dans une librairie dynamique et t'attendre à ce que le plan soit changé dans le programme principal.

Si c'est ça le problème, change ta librairie dynamique en statique, ou renvoie une valeur de la fonction de la librairie dynamique qui permette au programme principal de mettre le bon plan.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

4

Bref explicite ce que tu veux faire.

5

oui c est vrai j aurais du y penser d ailleurs, si je veux faire ca dans une librairire dynamique c est pour un gain de place considerable, donc le mettre en statique m'interesse pas, donc je vais poser une autre question.

comment utiliser les ecrans virtuels en nivaux de gris??
ex:
#define USE_TI89 // Produce .89z File
#define USE_TI92PLUS // Produce .9xz File
#define USE_KERNEL // Make Kernel Program
char _comment[] = "";
#include <tigcclib.h> // Include All Header Files
#include "koncept.h"
// Main Function
void _main(void)
{

void*V_Black=malloc(3840); //declaration de l ecran virtuel virtual
void*V_Light=malloc(3840);
void*V_Dark=malloc(3840);

PortSet(V_Black,239,127);
clrscr();

ScrRectFill(&(SCR_RECT){{20,20,40,40}},&(SCR_RECT){{0,0,239,128}},A_NORMAL);

memcpy(V_Dark,V_Black,3840);

memcpy(V_Light,V_Black,3840);


Fenetre(V_Light,V_Dark); //affiche des fonctions graphiques ds les deux ecran

//ma lib marche parfaitement
//exple remplacer par ce qui est ci dessou
/*
PortSet(V_Light,239,127);
rect(0,0,239,121);
rect(3,13,236,118);



PortSet(V_Dark,239,127);
rect(0,0,239,121);
rect(1,1,238,120);
*/


GrayOn();


t,3840); //je voudrai savoir si c est valide ou
memcpy(DARK_PLANE,V_Dark,3840); // memcpy(LCD_MEM,V_Light,3840);

//enfin les 2 ne marchent pas dc comment faire?


memcpy(LIGHT_PLANE,V_Ligh

ngetchx();

GrayOff();



PortRestore(); //on annule l utiisation d'écran virtuel
free(V_Dark); //on libere l espace mémoire qui avait ete alloué pour l'ecran virtual
free(V_Light);
free(V_Black);

}

bon voila mais je crois que je me suis pas très bien expliqué.

Des joueurs de brood war ici? /w TIman[sL] [br] L’abondance de paroles inutiles est un symptôme certain d’infériorité mentale.

6

laisser tomber celle du haut et comment faire pour que celle marche:



#define USE_TI89 // Produce .89z File
#define USE_TI92PLUS // Produce .9xz File


#define SAVE_SCREEN


#include <tigcclib.h> // Include All Header Files

// Main Function
void _main(void)
{

void*V_Black=malloc(3840); //declaration de l ecran virtuel virtual
void*V_Light=malloc(3840);
void*V_Dark=malloc(3840);


PortSet(V_Black,239,127);
clrscr();
ScrRectFill(&(SCR_RECT){{20,20,40,40}},&(SCR_RECT){{0,0,239,128}},A_NORMAL);

memcpy(V_Dark,V_Black,3840);
memcpy(V_Light,V_Black,3840);




PortSet(V_Light,239,127);
ScrRectFill(&(SCR_RECT){{0,0,25,25}},&(SCR_RECT){{0,0,239,128}},A_NORMAL);


PortSet(V_Dark,239,127);
ScrRectFill(&(SCR_RECT){{35,35,60,60}},&(SCR_RECT){{0,0,239,128}},A_NORMAL);



GrayOn();

SetPlane(LIGHT_PLANE);
memcpy(LCD_MEM,V_Light,3840);


SetPlane(DARK_PLANE);
memcpy(LCD_MEM,V_Dark,3840);

ngetchx();

GrayOff();



PortRestore();
free(V_Dark);
free(V_Light);
free(V_Black);
}



sachant que je veux afficher un rect en gris clair, gris foncé et noir.

Des joueurs de brood war ici? /w TIman[sL] [br] L’abondance de paroles inutiles est un symptôme certain d’infériorité mentale.

7

C'est faux:

>SetPlane(LIGHT_PLANE);
>memcpy(LCD_MEM,V_Light,3840);

Correct:
memcpy(GetPlane(LIGHT_PLANE),V_Light,3840);


>SetPlane(DARK_PLANE);
>memcpy(LCD_MEM,V_Dark,3840);

Correct:
memcpy(GetPlane(DARK_PLANE),V_Light,3840);


D'ailleurs, puis-je savoir à quoi servent tes écrans virtuels? Sachant que si tu veux accéder aux plans dans ta librairie dynamique, il suffit de passer GetPlane(LIGHT_PLANE) et GetPlane(DARK_PLANE) en argument à la fonction de ta librairie.


D'ailleurs, utiliser des librairies dynamiques, c'est ne pas respecter l'utilisateur. Si on respecte l'utilisateur, on programme en _nostub.
[edit]Edité par Kevin Kofler le 09-02-2002 à 23:12:12[/edit]
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

8

arf...
sauf si le prog fait plus de 64 ko...
vu que (normalement !!!), on fait pas de libs dynamiques en nostub...
avatar
Tutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall

9

..
sans dec', tu n'en a pas ras le bol de tjs repeter la meme chose Kevin ?
(je dis ça vraiment sans malice)

10

Si le programme fait plus de 64 KO, on fait 2 programmes, on les compresse avec ttpack, on les regroupe avec ttarchive et on adapte ttstart pour qu'il gère ça.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

11

ou on fait une librairie dynamique...
(pas forcément en mode Kernel... en nostub, c'est faisable)
avatar
Tutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall

12

fodrait compte le nombre de topics où kevin mene sa croisade contre le kernel
on en trouverai qques centaines je pensegringrin
avatar
With your feet in the air and your head on the ground
Try this trick and spin it, yeah
Your head will collapse
But there's nothing in it
And you'll ask yourself
Where is my mind

13

Oh non ! bien plus ! smile
Fiou.

14

lol, ce n'est pas respecter l'utilisateur !!! loooooooooooooolgrin
avatar
納 豆パワー!
I becamed a natto!!!1!one!

15

merci KK c'était ca que je chercher ca résout baucoup de mes pb d'ailleurs je l'ai trouver ce matin grâce au tuto de squale (sprites en nivaux de gris)roll
Des joueurs de brood war ici? /w TIman[sL] [br] L’abondance de paroles inutiles est un symptôme certain d’infériorité mentale.

16

En fait ce que je veu faire c'est un menu Toolbar en niveau de gris sachant qu'il sera utiliser dans plusieurs de mes programmes, sans lib dynamique que me conseille-tu??
je peux tout faire en nostub, mais de la place est perdu inutilement.

Kevin-> puis-je savoir en quoi tu est rétissant vis a vis du mode Kernel, qu'est-ce qui te déplait?sick
Des joueurs de brood war ici? /w TIman[sL] [br] L’abondance de paroles inutiles est un symptôme certain d’infériorité mentale.

17

Facile: tu le fais en librairie statique et tu t'en fiches de la place perdue.

Mais bon, tu peux programmer comme tu veux. Mais c'est quand-même plus pratique de pouvoir lancer un programme comme prévu par TI et décrit dans le manuel de TI que de devoir installer un kernel et envoyer des librairies avant.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

18

chu d'accord je préfere limiter les lib surtout qu'a un moment c'etait vraiement la merde:
des lib differentes portaient le meme nom d'autre pas compatible etc...
Mais à partir du moment qu'on est obliger d'installer un kernel pour enlever la limitation fixer par TI autant s'en servir.

tu peu me dire comment on compile une lib statique sous TIGCC?? (g pas reussi)
[edit]Edité par LhA le 11-02-2002 à 00:10:16[/edit]
Des joueurs de brood war ici? /w TIman[sL] [br] L’abondance de paroles inutiles est un symptôme certain d’infériorité mentale.

19

>Mais à partir du moment qu'on est obliger d'installer un kernel pour enlever la limitation fixer par TI autant s'en servir.

N'importe quoi! Il suffit de compresser le programme avec ExePack, ou d'utiliser un lanceur. Pas besoin de kernel.

>tu peu me dire comment on compile une lib statique sous TIGCC?? (g pas reussi)

Vérifie que le fichier ar.exe se trouve dans le sous-répertoire Bin de ton répertoire TIGCC. Sinon, réinstalle TIGCC en faisant attention à cocher la case concernant l'installation de GNU ar.
Ensuite, c'est simple: Project / Options / Target: Function Archive (.a) / OK
Si tu veux utiliser des fonctions de TIGCCLIB dans une librairie statique, il faut une version récente de TIGCC. (Les anciennes versions ne le permettaient pas.)
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité