270

Si tu ne veux pouvoir écrire que du code correct, utilise l'assembleur GNU, il vérifie correctement les opcodes, lui.
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é

271

Sasume :
Ça fait un bon point en plus pour AS smile

En effet. smile (Post croisé. smile)
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é

272

si seulement sa syntaxe était standard ^^
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.

273

Oui, c'est vraiment dommage que la syntaxe par défaut ne soit pas standart...
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. »

274

Essayez --register-prefix-optional --mri-compat.
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é

275

Ça sert à quoi, --mri-compat ? Où trouver la doc de MRI ?
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. »

276

--mri-compat sert à utiliser une syntaxe plus standard, qui se rapproche de celle de A68k.
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é

277

Ou tu peux utiliser GTC, il a une syntaxe quasiment identique à a68k (sauf pour les comments [; -> //] et les chiffres hexa [$ -> 0x]).
Parce que même avec les switch de Kevin, tu dois impérativement rajouter un ':' après chaque label et, surtout, tu ne peux pas utiliser de labels locaux.

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

278

Ben faudrait peut-être que tu le releases... triroll
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. »

279

Ouais, un jour smile Mais de toute façon vous n'avez qu'à me demander une bêta, je ne crois pas qu'il y aura quoi que ce soit concernant l'assembleur qui sera changé d'ici à la première beta.

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

280

Pourrais-tu m'envoyer une bêta? geoffrey.anneheim@wanadoo.fr
smile
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

281

J'ai enfin fait ma fonction affichant du texte et des nombres et donc la possibilité d'afficher le nombre de fps.

Avec:
Efface buffer
Dessine ombre
Dessine décors
Dessine cadre de sprites
Collisions
Dessine billes

J'arrive à 44 fps

Sans décors j'arrive à 57 fps

L'ajout d'une bille consomme 1 fps de plus.

Si je scrolle une zone fixe divisible par 32 avec tout les élément, je tourne à 44 fps, si cette zone est mobile (caméra), 39 fps.

La fonction qui consomme le plus de fps est la fonction d'affichage du décors. De plus pour gagner des fps, je ne suis pas obliger d'effacer et de redessiner à chaque fps le buffer?

Je pense que redessiner le décors à chaque fps est inutile et consomme énormément, le top est en focntion des mouvements des sprites, redessiner les zones manquantes du décors? Bien sûr, je gagnerais beaucoups de fps lorsqu'il y aura peu de sprites et j'en perderais plus lorsqu'il y aura beaucoup de sprites.

Je suis assez surpris par les résultats des fps, je pensais faire plus or je me renconte que mine de rien, un casse brique consomme beaucoup de ressources mais le fps est prometteur. smile
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

282

Oui, la sauvegarde/restoration, si faite correctement, peut faire gagner en fps. (Je ne suis pas le seul à le dire, Scott Noveck dit la même chose, et il a essayé personnellement.)
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é

283

Vu le faible nombre de sprites et l'absence quasi totale de modifications du fond, ça risque d'être rentable dans son cas, effectivement (d'autant plus que s'il a un fps de l'ordre de 50 fps, il n'y aura pas bcp de scrolling à faire entre deux images successives). Pas pour tous les jeux en tout cas, loin de là...

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

284

Je vais réfléchir à tout ça. smile
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

285

Bah c'est assez vite vu, Pollux l'a dit : Soit tu as un fond statique et pas trop d'objets mouvants sur l'écran, alors un "vrai" scrolling devrait être plus rapide, soit tu as un fond pas toujours statique (tiles animés par exemple) et un nombre conséquent d'objets, et alors il vaut surement mieux tout réafficher.
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

286

Bah c'est assez vite vu, Pollux l'a dit : Soit tu as un fond statique et pas trop d'objets mouvants sur l'écran, alors un "vrai" scrolling devrait être plus rapide, soit tu as un fond pas toujours statique (tiles animés par exemple) et un nombre conséquent d'objets, et alors il vaut surement mieux tout réafficher.


Bah je suis perdus car en faite j'afficherais des monstres sur l'écran, les bonus qui s'animerons et de plus divers effets, le nombre de frames est encourageant mais je voudrais faire plus pour éviter de déplacer la balle tout les 2 pixels voir plus... De plus PolySnd tourne derrière et je perd environ 3 fps avec.

Pour la fonction d'affichage de décors, l'ancienne était bien trop lente, la nouvelle avec les movem me fait gagner 7 fps de plus que l'ancienne mais est optimisable et je ne vois pas comment, j'ai tout apliiqué de ce que tu as dit Pollux. De plus je vais trouver divers méthodes pour afficher certaines parties rapidement....
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

287

l'ancienne était bien trop lente

Laquelle? Celle que tu as postée?
la nouvelle avec les movem me fait gagner 7 fps de plus que l'ancienne mais est optimisable et je ne vois pas comment, j'ai tout apliiqué de ce que tu as dit Pollux

Heu, ce que tu as dit Pollux me semble être en contradiction assez radicale avec la nouvelle avec les movem... Tu as essayé sans les movem, mais avec les optimisations dont je t'ai parlé?

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

288

Laquelle? Celle que tu as postée?


Celle posté ici aussi à base de boucles...
Heu, ce que tu as dit Pollux me semble être en contradiction assez radicale avec la nouvelle avec les movem... Tu as essayé sans les movem, mais avec les optimisations dont je t'ai parlé?


Sans movem avec les optimisations effectué j'arrive à 40 fps, et j'ai vraiment fait toutes les optimisations voir plus.

Avec les movem, j'arrive à 47 fps. De plus je me rend compte que si je lit le contenu du sprite avec des (a0)+, la routine est plus lente mais très faiblement.
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

289

Ca m'étonne... Je peux voir la routine à 40 fps ?

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

290

La voici:
;C prototype: void DrawScreen2 (void *sprt, void *dest);
;
;void DrawScreen2 (register long *sprt asm("%a0"),
;		 register void *dest asm("%a1"));


	section ".data"
	xdef DrawScreen2

DrawScreen2:
	movem.l	d3/a2,-(a7)
	lea	322(a1),a1
	lea	8000(a1),a2
	movea.l	a0,a3
	moveq.l	#11,d2

\rep:
	moveq.l	#15,d3

;Sprite totale	
\b0:
	move.l	(a0)+,d1
	moveq.l	#5,d0
;Gris clair
\s1:
	move.l	d1,(a1)+
	dbf	d0,\s1
	;16 pixels
	move.b	-4(a0),(a1)
	
	move.l 	(a0)+,d1
	moveq.l	#5,d0
;Gris foncé
\s2:	
	move.l	d1,(a2)+
	dbf	d0,\s2
	;16 pixels
	move.b	-4(a0),(a2)
	
	lea	16(a1),a1
	lea	16(a2),a2
	dbf	d3,\b0
	
	movea.l	a3,a0
	dbf	d2,\rep

	movem.l	(a7)+,d3/a2
	rts
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

291

Donc non, tu n'as pas fait tout ce que je t'avais suggéré...

Remplace :
	moveq.l	#5,d0
;Gris clair
\s1:
	move.l	d1,(a1)+
	dbf	d0,\s1

par :
	move.l	d1,(a1)+
	move.l	d1,(a1)+
	move.l	d1,(a1)+
	move.l	d1,(a1)+
	move.l	d1,(a1)+
	move.l	d1,(a1)+


et de même pour le gris foncé, remplace toutes les occurrences de d3 par d0 et supprime le du movem, insère juste après le premier 'move.b -4(a0),(a1)' un 'lea 8000-24(a1),a1', puis remplace 'lea 16(a1),a1 ; lea 16(a2),a2' par 'lea 16-8000(a1),a1', puis remplace les occurrences de a2 par a1, et enfin enlève les movem de début et de fin smile

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

292

Au fait, je remarque aussi que tu utilises a3 alors que tu ne devrais pas, donc tu peux te contenter de supprimer move.l a0,a3 et de remplacer move.l a3,a0 par lea -16*12(a0),a0 ...

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

293

Ah oui en effet, j'avais effectué cette modification, merci pour toutes ses optimisations, je vais de ce pas modifier ma fonction. wink
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

294

Je te conseille qd même de poster la routine avant de bencher tongue

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

295

D'accord. smile
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

296

Voici la nouvelle fonction:
;C prototype: void DrawScreen2 (void *sprt, void *dest);
;
;void DrawScreen2 (register long *sprt asm("%a0"),
;		 register void *dest asm("%a1"));


	section ".data"
	xdef DrawScreen2

DrawScreen2:
	lea	322(a1),a1
	moveq.l	#5,d2

\rep:
	moveq.l	#31,d0

;Sprite totale	
\b0:	
;Gris clair
	move.l	(a0)+,d1
	move.l	d1,(a1)+
	move.l	d1,(a1)+
	move.l	d1,(a1)+
	move.l	d1,(a1)+
	move.l	d1,(a1)+
	move.l	d1,(a1)+
	
	;16 pixels
	move.b	-4(a0),(a1)
	
	lea 	8000-24(a1),a1
		
;Gris foncé
	move.l 	(a0)+,d1
	move.l	d1,(a1)+
	move.l	d1,(a1)+
	move.l	d1,(a1)+
	move.l	d1,(a1)+
	move.l	d1,(a1)+
	move.l	d1,(a1)+
	
	;16 pixels
	move.b	-4(a0),(a1)
	
	lea 	16-8000(a1),a1
	dbf	d0,\b0
	
	lea 	-32*8(a0),a0 
	dbf	d2,\rep
	rts


Alors là je suis eek depuis le dernier test de fps, j'arrive à 60 fps, ce que je voulais, de plus je suis motivé pour bosser sur les autres fonctions. smile
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

297

Et ki cé kavé raison, mmh ? tongue

(je te conseille qd même de ne pas montrer ta routine à Kevin, il va te gueuler dessus sinon parce que tu "perds" 2x4 octets avec des boucles déroulées, et tu "perds" 2x2 octets en passant par un registre temporaire tongue)

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

298

Un phénomène bizarre apparait mais logique, avec le scrolling je ne suis jamais à 60 fps, c'est une moyenne, je peut aller de 78 fps à 58 fps et quand une zone est fixe je suis toujours à 63 fps.

De plus j'ai réalisé ma fonction d'affichage et je perd rien du tout. Je remarque que mes fonctions Shadow et DrawSquareUp et DrawSquareSide sont trop lente. Je vais voir ça. wink
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

299

Un phénomène bizarre apparait mais logique, avec le scrolling je ne suis jamais à 60 fps, c'est une moyenne, je peut aller de 78 fps à 58 fps et quand une zone est fixe je suis toujours à 63 fps.

Ah, donc tu as déjà implémenté le "vrai" scrolling?

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

300

oui. wink
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.