150

spectras :
On lui demande pas de comprendre la différence.

ben moi je dirais que si, au contraire embarrassed

151

Ah! magic
On dirai que je suis pas le seul a penser qu'il faut commencer par "la base" plutot que de pondre un code qu'on ne comprend meme pas et qui se revele par la suite impossible a débugger vu la quantité d'erreurs potentielles embarrassed
"De l'Art de faire des Posts qui ne servent a Rien." (c) Ximoon

15:13 @Ximoon - 29-11-2005
"C'est débile ce sondage, une fois de plus Dude, tu ne sers à rien #hehe#" #love# Il est collector celui là ^^

18:56 @Ximoon - 09-10-2010
"Mince Dude sert à quelque chose %) (pas taper :D )" Owii xD #trilove#

152

Lisez des tutos qu'ils disaient !!!!
C'est ce que j'ai fait, je ne suis pas forcément tombé sur les bons ! J'ai passé trop de temps à comprendre ce qui n'allait pas dans cette routine qui n'est pas de moi. Je vais donc en écouter certains et relire pour la 15ème fois le guide du 68000 ainsi que newbies.txt.
Question plus générale:
Si je crée un tableau dans un prog asm pour y entrer des valeurs (nombres, string, que sais-je...); ce tableau pourra-t-il être consultable en dehors de l'exécution du programme ?Si non j'mremet au basic, si oui de quelle manière ?

153

Consultable par qui, pour quoi faire ?

154

./152 > Pas vraiment, mais en fait ça dépend de la façon dont tu t'y prends.
Tu peux très bien utiliser un fichier externe à ton application, et ce même fichier pourra très bien être consultable par n'importe quel autre programme à n'importe quel autre moment.
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. »

155

Et pour ce qui est des tutos, il est vrai que la plupart sont assez vieux, ou comportent des erreurs sad
Il faudrait qu'on remette tout ça à jour, mais ça représente un travail colossal.
Quoi qu'il en soit, les tutos existant permettent tout de même de saisir en grande partie le fonctionne de tout ce bazar.
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. »

156

zegoo> essaye déjà de créer ta propre routine *que tu comprends* pour afficher qqch à l'écran smile (par exemple, au lieu d'afficher un sprite complet tu peux commencer par regarder comment tu pourrais faire pour simplement remplir en noir une barre horizontale de 16 pixels de large en haut à gauche de l'écran)

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

157

j'ai dépassé ce stade M.Pollux.

158

move.l #LCD_MEM,a0 ;
move.w #179,d0 ; (3840/16/4)-1
loop1: ;
move.l #$0FF00FF0,(a0)+ ;
dbra.w d0,loop1

159

Ah, ça commence à devenir intéressant alors ?
A quel stade en es-tu ?
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. »

160

Je ne sais toujours pas afficher un sprite !! Je ne comprends le principe (la deuxième étape). Je ne suis pas fûté je sais !

161

./158> Tu peux écrire les expression directement dans ton code ASM : move.w #(3840/16/4)-1,d0
D'ailleurs tu as fait une erreur dans ton calcul (enfin tout dépend de ce que tu voulais faire à l'orinige...) ! L'écran de la TI affiche 240x128 pixels monochromes, cela est représenté par une zone mémoire de 240x128/8 octets soit 3840 octets. Pour affecter l'écran entier, il faut écrire sur ces 3840 octets. Si tu écris 4 octets à la fois (opération portant sur un longword), tu auras besoin de 4 fois moins d'itérations, donc pour affecter tout l'écran, tu dois écrire move.w #3840/4-1,d0.
Mais peut-être que tu ne souhaitais affecter que 1/16 de 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. »

162

est-ce que tu peux faire une fonction qui trace une ligne verticale à une abscisse donnée ?

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

163

En fait j'aurais tendance à vouloir afficher le premier byte (octet) de mon sprite en x, puis rajouter 3O octets à x pour afficher le second byte du sprite et ainsi de suite. C'est faux ?

164

Oui c'est juste si tu veux afficher le sprite à un x multiple de 8 ^^ dans les autres cas c'est plus compliqué...

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

165

M.Sasume, pour l'écran noir c'est çà :
move.l #LCD_MEM,a0 ;
move.w #959,d0 ; (3840/4)-1
loop1: ; trace un écran noir
move.l #$FFFFFFFF,(a0)+ ;
dbra.w d0,loop1

Dans l'exemple que je t'ai donné je ne voulais qu'1/16 de l'écran.

M.POLLUX, je n'ai pas essayé une ligne verticale, j'ai fait çà:
move.w #7,-(a7); mode d'affichage de la ligne horizontale, ici double ligne noire
move.w #70,-(a7) ; Ordonnée finale
move.w #160,-(a7) ; Abscisse finale
move.w #70,-(a7) ; Ordonnée initiale
move.w #10,-(a7) ; Abscisse initiale
move.l DrawLine*4(a5),a0
jsr (a0)

166

Sais-tu allumer un pixel en particulier sur l'écran, juste en précisant ses coordonnées cartésiennes ?
La difficulté vient du fait que le processeur est plutôt fait pour manipuler des octets que des bits...
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. »

167

M.Pollux, cross, oui, dans un premier temps je voudrais afficher un sprite 8x8 et le faire bouger.
Le coup de rajouter 30 octets, çà devrait se faire plus vite que la routine que je n'ai pas compris ?

168

M.Sasume, j'en sais rien, çà doit franchement être tout con si il existe un rom_call, non ?

169

./165>
- tu as oublié de restaurer la pile, il faut rajouter un lea 10(a7),a7 sinon ça plante ^^
- c'est pas du jeu si t'appelles DrawLine grin si tu ne sais pas afficher une ligne verticale, tu auras du mal à afficher un sprite n'importe où...

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

170

./167> Pollux a dit qu'avec ta méthode citée en ./163 tu ne pourrais afficher ton sprite qu'à des abscisses multiples de 8. Il n'a pas parlé de la taille du sprite.
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. »

171

zegoo :
M.Sasume, j'en sais rien, çà doit franchement être tout con si il existe un rom_call, non ?
Non, mais ça complique quand même smile
Est-ce que tu connais le fonctionnement des instructions lsl et lsr ?
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. »

172

M.Pollux, ce n'est qu'un bout d'code, ç'est ch...t de compter mais je le fais, d'ailleurs, vaut-il mieux restaurer la pile petit à petit ou tout d'un coup genre juste avant avant la fin ?
Vous avez raison pour drawline...
M.Sasume, j'ai vraiment rien compris alors !!! snif ! mur

173

M.Sasume, rotation gauche et droite, très intéressantes pour les multiplications en autres...

174

Oui, mais elles agissent au niveau de bits.
Or sur l'écran, un pixel est identifié par un bit (et non un octet par exemple).
De même, tu peux regarder la doc des fonctions bset, bclr, bchg et btst.
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. »

175

M.Sasume, en fait je ne comprends pas le principe du déroulement de la chose, çà veut pas rentrer !
Je n'arrive pas à me faire une représentation claire de l'algo à coder !!

176

Bah si tu veux, à l'adresse LCD_MEM ($4C00), tu prends le premier octet. Il contient 8 bits. Il représente donc 8 pixels à l'écran (les 8 premiers en haut à gauche plus précisément). Pour allumer le 3ème pixel en partant de la gauche, il faut faire un bset.b #5,$4C00. Ou bien un ori.b #%00100000,$4C00 par exemple.
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. »

177

Je voudrais revenir un instant sur mon post 151 > je veux coder en asm car c'est plus rapide mais je veux pouvoir garder un oeil sur le contenu des variables, tableaux que "j'alimenterais" par le biais du prog asm; je voudrais donc pouvoir les consulter en basic. C'est possible ou pas ?
Et à propos de la restauration de la pile....

178

zegoo :
Je voudrais revenir un instant sur mon post 151 > je veux coder en asm car c'est plus rapide mais je veux pouvoir garder un oeil sur le contenu des variables, tableaux que "j'alimenterais" par le biais du prog asm; je voudrais donc pouvoir les consulter en basic. C'est possible ou pas ?
Et à propos de la restauration de la pile....

c'est possible, mais ce n'est pas forcément simple
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

179

Oui, c'est parfaitement possible : tu peux accéder au système de fichiers, et donc modifier les variables contenues.
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. »

180

M.Sasume, c'est pas des pixels dont je parlais, je parlais des sprites, par contre merci. Si j'ai bien compris, pour faire une ligne verticale de 10 pixels, il faut faire une boucle de 10 qui fait un bset.b #5 tous les 30 octets à partir de $4C00 ?