1

#define SAVE_SCREEN copy le contenu de l'ecran du TIOS dans l'estack puis le restaure a la fin d'un programme.

Je voudrait savoir exactement comment feature est implemente.

Exemple d'appel d'une fonction C utilisant #define SAVE_SCREEN

MaFonction("a",1)

Dans L'estack Normalement on doit trouver ceci :
:1
:"a"

Le plus simple serait d'obtenir ceci apres l'execution du #define SAVE_SCREEN
sorryauvegarde Image Ecran
:1
:"a"

Mais ca ne doit pas etre la bonne methode car cela va necessite quelque memcpy

2

3

Oui à mon avis aussi.
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

4

5

Oui c'est dans la stack que l'écran est sauvé automatiquement. C'est d'ailleur pour ca que quand on va utiliser bcp de variables, il faut éviter d'utiliser cette option.

6

-

7

je vois pas en quoi c'est crade, vu la taille du stack...
et ça demander moins de code que sur le heap
et ça évite que ça foire parce qu'un malloc a échoué...
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

8

Sauf quand dans ton programme, tu va de toute façon malloc de la mémoire (ce qui est la cas dans la plupart des programmes avancés); a ce moment là, pas besoin de faire un malloc/free spécial pour allouer l'espace pour enregistrer ton écran.

Perso, je trouve pas la stack grosse. (je crois qu'il y a environ 13ko utilisable, et plus que 9ko si tu enregistre l'écran, peut être même moins)

Et le dernier truc, c'est que c'est indispensable (en C en tout cas) pour afficher un message à la fin du programme.

Si tu dois quitter le programme parcequ'il n'y a pas assez de RAM, tu fais comment pour afficher le message ?
drawstr + ngetchx prends plus de place que st_helpmsg.

9

dans ce cas (programmes évolués ou voulant afficher un message), tu te sauves/restaure l'écran à la main ^^
mais au moins, pour les d"buttants, il y a un moyen simple...
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

10

Je ne trouve pas ça crade non plus, et ça évite aussi pas mal de problèmes (celui du malloc a déjà été cité, je me souviens que d'autres arguments entraient en jeu).
Si je voulais troller je dirais qu'en Kernel, de toute façon... Mais on va éviter grin
avatar
Que cache le pays des Dieux ? - Forum Ghibli - Forum Littéraire

La fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.

11

En effet, surtout si c'est toi ça risque d'être mal vu ^^ (et je te laisse deviner par qui trivil)

Perso je ne trouve pas ça terrible, la pile est trop petite pour enregistrer quelque chose d'aussi important à l'interieur dès le début du programme. Et puis il y a le problème du st_helpMsg de fin qui a été évoqué; cela dit comme l'a souligné squale92, pour ne pas se faire chier surtout quand on débute, y'a pas mieux, mais voir des "gros" programmes releasés avec ça ... bof :/
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

12

Au fait, y'a pas une fonction qui redessine l'écran HOME ? cela serait encore plus économique au niveau mémoire.

13

14

Ben franchement, la pile n'est pas énorme, mais ça ne m'est jamais arrivé d'en utiliser trop... Donc je ne vois pas trop le pb de l'utiliser pour l'écran.
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

15

hibou :
Au fait, y'a pas une fonction qui redessine l'écran HOME ? cela serait encore plus économique au niveau mémoire.

C'est ce que fait preOS
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

16

squale>c'est bien ce qui me semblait : comment on fait alors ?

17

18

ouep, ça me dit qqc ^^
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

19

Martial Demolins :
regardes sur le site de Flanker, il me semble qu'il a fait un tout petit programme pour ça (88 octets dans mes souvenirs)
non, pas 88, 77o ^^

et :
Vous n'avez pas le droit d'utiliser mon code sans mon autorisation wink
tu m'autorises à utiliser ton code ? dans tout mes programmes ?

20

ouep smile
ça me fait penser qu'il faut que je pense à changer mes licence ^^
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

21

22

Flanker: il faut que tu optimise pour que ça ne fasse que 42o ^^
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

23

Ok , je laisse tombe

24

Je crois qu'il suffit d'afficher une boîte de dialogue du TIOS qui remplit tout l'écran, et de l'effacer aussitôt. Le TIOS redessine l'écran pour effacer la boîte. Il n'y a pas de sauvegarde, donc pas de mémoire utilisée. C'est sans doute ce que fait Flanker.

Pourquoi TIGCC n'utilise pas cette méthode ?

andoh_wilfried : Quand on définit SAVE_SCREEN, le code est exécuté pendant la partie "initialisation" du programme, et tout à la fin, avant de rendre la main au TIOS. L'endroit où la constante SAVE_SCREEN est définie n'a pas d'importance. Je peux me tromper...
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

25

nan, c'est pas ce que je fais, c'est moche comme méthode tongue
de mémoire, je redessine à la main les lignes horizontales, j'envoie un EVENT je-sais-plus-quoi pour forcer à redessiner le reste, et j'affiche un message puis je l'efface pour redessiner la status line
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

26

et c'est moins moche ça peut-être ? grin
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

27

oué, t'as pas le clignotement de la dialog box
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

28

Thibaut :
Je crois qu'il suffit d'afficher une boîte de dialogue du TIOS qui remplit tout l'écran, et de l'effacer aussitôt. Le TIOS redessine l'écran pour effacer la boîte. Il n'y a pas de sauvegarde, donc pas de mémoire utilisée. C'est sans doute ce que fait Flanker.

Pourquoi TIGCC n'utilise pas cette méthode ?

C'est qd même nettement plus lent, et un peu plus moche... (clignotement) De toute façon si on a le tps de faire un programme qui doit absolument bouffer plus de 8 ko de pile on peut bien se permettre de réimplémenter la sauvegarde d'écran ^^ Et dans les autres cas la solution de TIGCC est plus adaptée.

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

29

Flanker
: et j'affiche un message puis je l'efface pour redessiner la status line
Flanker
: oué, t'as pas le clignotement de la dialog box

message <=> dialog box confus
(ou bien on ne parle pas de la même chose)
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

30

nan, je parlais juste d'un petit message dans la status line (genre un message d'aide)
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant