moi je mets connement ça :
move.l #99,d0
move.l plan0,a0
move.l plan1,a1
loop:
move.l (a0)+,(a1)+
move.l (a0)+,(a1)+
move.l (a0)+,(a1)+
move.l (a0)+,(a1)+
move.l (a0),(a1)
add.w #14,a0
add.w #14,a1
dbra d0,loop
Miles Le 24/01/2002 à 08:21 Pourquoi les opérations, vous les faites en .W ? C'ets débile???
PpHd Le 24/01/2002 à 10:07 Primo, c'est un move.l d1,a0
Ensuite, c'est plus rapide de les charger a la main comme ca que de faire un movem.l zeroes(pc),d0...
Secundo, si une interruption survient, elle est en mode superviseur !
Donc, c'est clean.
PpHd>arf ué, dsl, c vrai ke c + rapid qu'un movem.l zeroes(pc),d0-a7 ??
RV>houla...
et pour effecer l'écran tu fé comment?
[edit]Edité par sBibi le 24-01-2002 à 10:40:48[/edit]
In many respects the Yoshi is like a beautiful woman. A man can come so enamoured that he bestows on her all his time, his energy and his fortune.
- Fred whipple, 1960
*** Ne sous-estimez pas la puissance de la Marmotte ***
©
Marmotte Team : LaMarmotte, sBibi, Vark & Sabrina
double post
[edit]Edité par sBibi le 24-01-2002 à 10:41:07[/edit]
In many respects the Yoshi is like a beautiful woman. A man can come so enamoured that he bestows on her all his time, his energy and his fortune.
- Fred whipple, 1960
*** Ne sous-estimez pas la puissance de la Marmotte ***
©
Marmotte Team : LaMarmotte, sBibi, Vark & Sabrina
TiMad>mais c juste si c un movem vers la mémoire archive!
In many respects the Yoshi is like a beautiful woman. A man can come so enamoured that he bestows on her all his time, his energy and his fortune.
- Fred whipple, 1960
*** Ne sous-estimez pas la puissance de la Marmotte ***
©
Marmotte Team : LaMarmotte, sBibi, Vark & Sabrina
tienc vvrai ça, j'av pas fé gaffe ke tu faisais des move.w timad...
g fé un copier/coller... c move.l
In many respects the Yoshi is like a beautiful woman. A man can come so enamoured that he bestows on her all his time, his energy and his fortune.
- Fred whipple, 1960
*** Ne sous-estimez pas la puissance de la Marmotte ***
©
Marmotte Team : LaMarmotte, sBibi, Vark & Sabrina
TiMad Le 24/01/2002 à 11:35 Ouai.. enfin le move.w marche dans toutes les conditions... (Tigcc) bisard surtout que j'efface pas la parite haute... enfin bon. pas grave, cette routine est vielle et je ne l'utilise plus...
XLib v1.00 Powerrrrrrrrrrrrrrrrrrrr!
PpHd Le 24/01/2002 à 12:15 Si, si c'est normal. move.w d0,a0 : d0.w -> Temp = ext.l d0 -> a0 = temp.
bah tant qu'à faire, autant mettre move.l ... ça apporte rien là move.w
In many respects the Yoshi is like a beautiful woman. A man can come so enamoured that he bestows on her all his time, his energy and his fortune.
- Fred whipple, 1960
*** Ne sous-estimez pas la puissance de la Marmotte ***
©
Marmotte Team : LaMarmotte, sBibi, Vark & Sabrina
Kevin>si tu veux la routine la plus rapide possible, fais tout toi même, ne fais pas confiance à d'autre programmeurs si tu ne les connais pas, et surtt si c les programmeurs de chez ti... ki ont écrit ams en c, et qui ont l'air de tellement bien connaître l'asm... de tte façon, pour effacer un écran, c'est TOUJOURS de move.l que tu utilises, donc les tests que fait ce rom_call pour savoir si il peut ou non faire move.w ou move.l sont INUTILES pour effacer l'écran!!
utiliser les rom calls, ça va pour utiliser dans un prog ou un morceau à temps d'exécution non critique, comme par exemple le menu d'un jeu... là d'accord, tu peux utiliser des rom_calls, mais si tu es dans une boucle critique, comme par exemple, dans la boucle principale d'un jeu, utiliser les rom calls ne peut que ralentir considérablement et pourrir ton prog...
In many respects the Yoshi is like a beautiful woman. A man can come so enamoured that he bestows on her all his time, his energy and his fortune.
- Fred whipple, 1960
*** Ne sous-estimez pas la puissance de la Marmotte ***
©
Marmotte Team : LaMarmotte, sBibi, Vark & Sabrina
TiMad Le 25/01/2002 à 10:08 Erf il y a un truc qui est pas mal... c'est de lancer une instruction du genre:
IniClrScr(); qui cree ta fonction en ram et ensuite de l'executer avec un jmp ou autre...
... ca prend pas beaucoup de place et c'est plutot efficace... d'ailleur ca s'adapte parfaitement au lib nostub on calc...
XLib v1.00 Powerrrrrrrrrrrrrrrrrrrr!
PpHd Le 25/01/2002 à 10:52 M'enfin, tout ca reste a des annees lumieres de :
gl_set_dscreen_int(dscr1);
gl_set_dscreen_function(dscr2);
Il y a plus facile: tu mets tout simplement 960 fois clr.l (a0)+ (ou encore mieux: 959 fois clr.l (a0)+ et une fois clr.l (a0)). ExePack compressera ça très bien.
[edit]Edité par Kevin Kofler le 25-01-2002 à 12:14:03[/edit]
TiMad Le 25/01/2002 à 12:13 il va compresser ca en combien d'octet?
XLib v1.00 Powerrrrrrrrrrrrrrrrrrrr!
Programme vide compressé: 120 octets avec headers PC.
Programme contenant 960 fois clr.l (a0)+ compressé: 146 octets avec headers PC.
--> Taille nette: 26 octets.
Programme contenant 959 fois clr.l (a0)+ et une fois clr.l (a0) compressé: 147 octets avec headers PC.
--> Taille nette: 27 octets.
TiMad Le 25/01/2002 à 15:19 cela devient en effet tres interessant.. le probleme, c'est la ram que cela va prendre apres .....
[edit]Edité par TiMad le 25-01-2002 à 20:11:23[/edit]
XLib v1.00 Powerrrrrrrrrrrrrrrrrrrr!
PpHd Le 25/01/2002 à 18:16 Et une fois moveq #0,d0
Puis 960 fois :
move.l d0,(a0)+
Ca ne sert a rien d'enlever le (a0)+ final.
TiMad Le 26/01/2002 à 21:38 On peut se poser des questions:
Avec la compression, le devellopement de boucle prend moins de place (3* moins)
Faut il favoriser la place de la memoire avant execution, ou alors la memoire necessaire avec execution... car ma lib demande pres de 10 ko de ram pour l'execution....
XLib v1.00 Powerrrrrrrrrrrrrrrrrrrr!