1

-

2

Je m'en occupe, Kevin, laisse moi le temps de la rediger s'il te plait smile

3

ben utilises pas les fonctions de stdio.h
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

4

Rôhhh cherches un peu par toi-même avec la doc de TIGCC, moi on ne m'a jamais aidé pour ça et j'y suis parvenu roll
C'est quoi cette nouvelle génération de newbies qui veulent programmer... en demandant aux autres de programmer à leur place ??
magic
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.

5

short CStrToAMSStr(const char *Str, const char *VarName) {
	HANDLE Handle;
	HSym HSymVar;
	SYM_ENTRY *pSymEntry;
	unsigned long StrLen = strlen(Str);
	unsigned char *pFile;
	unsigned short i;
		
  if (!(Handle = HeapAlloc(StrLen + 5))) return FALSE;
  HSymVar = SymAdd(SYMSTR(VarName));
  if (HSymVar.folder == H_NULL) {
    HeapFree(Handle);	
    return FALSE;
  }
  
  if ((pSymEntry = DerefSym(HSymVar)) == NULL) {
    HeapFree(Handle);
    return FALSE;
  }
  
  pSymEntry->handle = Handle;
  
  pFile = (unsigned char *)HeapDeref(pSymEntry->handle);
  
  if (StrLen + 3 <= 0xFF) {
  	*pFile++ = 0;
  	*pFile++ = StrLen + 3;
  }
  else {
  	*pFile++ = (StrLen + 3) / 0xFF;
  	*pFile++ = (StrLen + 3) % 0xFF - 1;
  }
  
  *pFile++ = 0;
  
  for (i=0;i<StrLen;i++) {
    *pFile++ = Str[i];
  }
  
  *pFile++ = 0;
  *pFile++ = STR_TAG;  
  
  return TRUE; 
}



Sans utiliser de fonctions d'estack.h (qui prendraient sans doute moins de place sad), une fonction que j'ai faite il y a peu de temps, elle m'a l'air de marcher ...

Et donc dans ton cas :
CStrToAMSStr(str,"txt")

6

-

7

je doute que tu mette tout ça dans 512 octets...
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

-

9

Y avait des exemples pour ne pas utiliser fopen... ici : topics/12891-wrong-type-argument-to-unary-exclamation-mark
Mon site perso : http://www.xwing.info

10

-

11

Tu pourrais retenir le résultat de strlen(txt) dans une variable plutôt que d'appeler 2 fois la ROM_CALL ...

12

la limite est de 1Ko, pas 512octets, donc c bon smile
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

13

-

14

Ah non c 512 pas encore converti en EXEC... Oué... Effectivement...

Bah si tu n'utilise pas tes 5 chaines et que ça reste proche de 1Ko on fera une exeption wink
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

15

je viens de poster en même temps grin
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

16

-

17

Je te dis, faire directement truc = strlen(str) puis mets i = truc.
Tu dois gagner au moins 10 octets confus

18

-

19

Essaies les #define NO_EXIT_SUPPORT ou autre ...
Et compile en -Oje sais pas quoi aussi grin

20

#define MIN_AMS 204
#define NO_AMS_CHECK
#define NO_CALC_DETECT
#define USE_FLINE_ROM_CALLS
#define NO_EXIT_SUPPORT
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é

21

-

22

#define MIN_AMS 204
#define NO_AMS_CHECK
#define NO_CALC_DETECT
#define USE_FLINE_ROM_CALLS
#define NO_EXIT_SUPPORT


Ca devrait être proposé par le Wizard de TIGCC à la création de nouveaux projets (là où on coche la case OPTIMIZE_ROM_CALL) mad
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.

23

kler que ca s'invente pas ... roll

24

Ben c'est ecrit dans la doc, et MIN_AMS peut être mis au step suivant OPTIMIZE_ROM_CALLS (si vous avez une beta récente de TIGCC) grin
Mon site perso : http://www.xwing.info

25

Thibaut a écrit :
#define MIN_AMS 204
#define NO_AMS_CHECK
#define NO_CALC_DETECT
#define USE_FLINE_ROM_CALLS
#define NO_EXIT_SUPPORT


Ca devrait être proposé par le Wizard de TIGCC à la création de nouveaux projets (là où on coche la case OPTIMIZE_ROM_CALL) mad


Si on ne met pas NO_AMS_CHECK, NO_CALC_DETECT, USE_FLINE_ROM_CALLS et NO_EXIT_SUPPORT dans le wizard, c'est que ces options peuvent causer des problèmes et ne sont donc à utiliser que par les experts qui ont bien lu leur documentation.
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é

26

USE_FLINE_ROM_CALL peut poser des pb, c vrai...
mais les autres... pas tant que ça !
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

27

Si:
- NO_EXIT_SUPPORT fait que exit, atexit, abort et assert ne marchent plus (d'ailleurs pour assert, attendez la prochaine bêta, parce que nous l'avons oublié quand nous avons porté exit et atexit vers le nouvel "exit support" - je l'ai corrigé entretemps).
- NO_CALC_DETECT et NO_AMS_CHECK peuvent faire que la calculatrice plante si on lance le programme sur une calculatrice pour laquelle il n'a pas été prévu.
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é

28

pour envoyer un prog conçu pour une TI sur une autre, fo être un peu bêbêt s'il n'est pas dit dans le readùe de le faire !
Pour l'AMS... et bien, les gens devraient lire le readme avant de lancer le prog !!!!!!

exit et les fonctions de ce style ne sont pas utilisée par la moitié des progammes => tous les newbies qui ne savent pas qu'il faut mettre le #define NO_EXIT ne le mettront pas, et n'utiliserons pas forcément exit !
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

29

NO_EXIT_SUPPORT doit faire gagner 8 octets a tout casser roll

30

Je l'utilise dans un prog, je gagne 14 octets grin
Mon site perso : http://www.xwing.info