1

2

3

Ouais, tu peux toujours faire un OCR de l'écran, mais ça va pas être super top rapide grin
avatar
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-admin de TI-Planet.

4

Martial Demolins (./1) :
Donc je doute qu'il y ait une méthode propre et officielle, à part passer par la lecture de stdout après avoir fait éxécuter predrom__system("flags") ?

Je vois pas trop pourquoi un programme aurait besoin de les lire.
Martial Demolins (./1) :
ps : Les pseudo ramcalls pedrom__* suivent la convention d'appel standard pour la destruction des registres je suppose?

Oui
Martial Demolins (./2) :
Je regarde à pedrom__stdout, mais je n'y vois rien. frown.gif Comment faire?


Hum
        lea.l	FlagsStr(%pc),%a0 
	jsr pedrom__system 
        
...
FlagsStr:
 dc.b "flags > tmpfile",0

Suivit d'une ouverture du fichier tmpfile

5

6

7

Martial Demolins (./6) :
C'est pas implémenté ? Je voulais le source pour avoir les specs de la fonction...


files.c
Martial Demolins (./6) :
c'est la même chose que ce qu'il y a dans 'man tmpnam' ?


Oui

8

9

Martial Demolins (./8) :
mon tetris ne marche pas sous PedroM car il me semble qu'un attribut n'est pas supporté.


Lequel ?

10

11

Martial Demolins (./10) :
Ecrasement, je sais plus le nom de l'attribut ( RPLC ?) mais je pense que c'est autre chose, j'utilise deux fois de suite les même arguments sur la pile, j'ai appris après qu'ils ont peut-être été détruits, je ne le savais pas à l'époque. J'aurais mieux fait de regarder avant plutôt que de t'affoler. ^^


sad Encore un hack de contournement à mettre en place.
Martial Demolins (./10) :
Au fait, le fichier temp* qui va être créé, il ne sera pas effacé à la fin du programme je suppose ?

Non

12

13

14

Martial Demolins (./12) :
Il se passe la même chose si le fichier ne peut être créé (mémoire) ? Je suis pas sûr d'avoir compris bien le code C, mais la fonction risque de me retourner un nom même en cas d'erreur ?


Il retourne un nom de fichier, pas un fichier !

15

16

17

move.l	%a0,%d0			|success ? 
	bne.s	TmpNameOk 
		bsr	ErrorMemory 
		bra	ExecMainMenu 


Sous PedroM, ca ne peut pas échouer.

lea.l	-20(%sp),%sp		|create a stack frame 
	pea.l	(%a0)			|push *tmpname 
	pea.l	FlagsStr(%pc)		|push the string 
	RC	sprintf			|format it 

Ca va planter !

18

Martial Demolins (./16) :
Puis fopen(tmpname, w) comme tu me l'as suggéré. Ca marche les 'w+' avec PedroM ?


Je crois. Mais si tu veux lire le résultat, c'est 'r' !

19

20

Martial Demolins (./19) :

edit -> erf, pea.l 8(%sp), c'est pas ça qui manque des fois? mod.gif


Peut être smile

21

22

Martial Demolins (./21) :
Euh... si j'ai bien compris, fopen (file, "w"), je passe l'adresse du nom que pedrom me donne dans a0 et l'adresse d'une chaine qui contient "w" dans a1 ?


Oui

Ex:
int main () {
 FILE * f = fopen ("mars.txt", "w");
 if (!f) abort ();
 fprintf (f, "Voilà comment çà marche Martial! \n");
 fclose (f);
}

23

Tu oublies que Martial ne "parle pas un mot" de C, il faut donner un coup de tigcc -S pour qu'il comprenne. gni
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é

24

25

26

27

28

29

Martial Demolins (./24) :
Quels sont les fichiers qui ont ce flag ? Comment ouvrir un fichier de manière temporaire ? Est-ce que les fichiers tempxyz sont marqués comme temporaires ?

Les pipe. Donc tu ne peux pas les créer par toi même.
Martial Demolins (./26) :
A la fin, j'ai donc dans a0 le contenu du fichier qui m'intéresse. Mais comment est foutu ce format de fichier ? Quels sont les caractères au tout début ? Une position de curseur ?

Un fichier texte TI classique.
Martial Demolins (./26) :
Est-on assuré que les séparateurs utilisés par PedroM (espace, retour charriot) ne variront pas dans une prochaine version ?

Oui
Martial Demolins (./28) :
Et sinon, ça va marcher longtemps cette méthode supayr praupre ?


Je sais pas. C'est quand même pas beau embarrassed

30