Logicielsmoto.com

Nous sommes le 28 Mar 2024, 10:06

Heures au format UTC + 1 heure




Poster un nouveau sujet Répondre au sujet  [ 281 messages ]  Aller à la page Précédente  1 ... 3, 4, 5, 6, 7, 8, 9 ... 19  Suivante
Auteur Message
 Sujet du message: Re: Debut en asm sur TO8
MessagePosté: 16 Jan 2020, 00:54 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1802
Localisation: Brest
Il faut faire plusieurs binaires. Un par bank. Débutant en $A000. Ensuite en basic tu fais "BANK no:LOADM "binaire-no.bin" (no un nombre indiquant le numéro de bank).

En gros du as des binaires de data. Un par bank, et un binaire de code. Le basic charge tout ca et saute via EXE dans le point d'entrée du binaire de code. Ensuite en ASM c'est à toi de faire les commutations pour récupérer les data.

Attention toute fois, perso j'ai toujours trouvé cet exercice assez casse-gueule car il n'y a pas grand chose pour débugger quand ca marche mal, et que finalement c'est vachement plus lent. Mieux vaut dans un 1er temps avoir le max de chose qui n'ont pas besoin des bank et les réserver aux choses qu'on utilise pas souvent comme l'intro par exemple.

_________________
Good morning, that's a nice Tnetennba


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Debut en asm sur TO8
MessagePosté: 16 Jan 2020, 01:22 
Hors ligne

Inscription: 06 Avr 2010, 01:59
Messages: 478
bon j'ai trouvé ce moyen apparement, faut que je test

ORG $7300
...
big_pac_1 EQU $B000
...
END


ORG $B000 *debut table big_pac_1
FCB $00,$00,$00,$00,$00,$00,$00,$02
FCB $02,$02,$02,$02,$22,$22,$22,$22

_________________
Image


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Debut en asm sur TO8
MessagePosté: 16 Jan 2020, 04:11 
Hors ligne

Inscription: 06 Avr 2010, 01:59
Messages: 478
arrg ! impossible de lire le 2eme FDB ! le premier je le lie, mais j'arrive pas a faire un +1, +2 !

Code:
LDY big_pac_anim         * ici ç'a pointe bien sur le bon graphisme big_pac_1
LDY big_pac_anim+1    * ici ça foire !?

...

big_pac_anim
            FDB big_pac_1
            FDB big_pac_2
            FDB big_pac_3
            FDB big_pac_2

_________________
Image


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Debut en asm sur TO8
MessagePosté: 16 Jan 2020, 08:51 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1802
Localisation: Brest
Tu veux dire quoi par "ca foire" ? déjà ton LDY label+1 est étrange. "Y" étant 16bits, je comprends que par LDY label tu veux charger les valeurs aux adresses label et lable+1 dans Y, mais que veux tu faire alors avec label+1 ? label+2 je comprendrais, mais label+1 me semble étrange. A moins que tu ne voulais faire LDY #label+1.

L'intention de ton code n'est pas assez claire pour que je te réponde.

_________________
Good morning, that's a nice Tnetennba


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Debut en asm sur TO8
MessagePosté: 16 Jan 2020, 11:45 
Hors ligne

Inscription: 06 Avr 2010, 01:59
Messages: 478
ok dac, désolé c'été pas très clair !

Avant d'appeler la routine d'affichage de sprite (JSR display_sprite), je dois charger Y : LDY #debut_du_tableau_FCB_du_sprite

exemple : LDY #big_pac_1 ;ecrit comme cela ça marche, je vois bien mon sprite big_pac_1
ou : LDY #big_pac_2 ;ecrit comme cela ça marche, je vois bien mon sprite big_pac_2

Donc, je me suis dis je vais faire un tableau contenant l'ordre des sprites sur lequel je boucle.
Code:
big_pac_anim
            FDB big_pac_1
            FDB big_pac_2
            FDB big_pac_3
            FDB big_pac_2


pour pouvoir faire :

LDY #big_pac_anim (ici je pensais que c'été comme si LDY #big_pac_1)
puis
LDY #big_pac_anim+1 (et ici je pensais que c'été comme si LDY #big_pac_2)

_________________
Image


Dernière édition par adnz le 16 Jan 2020, 11:56, édité 1 fois.

Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Debut en asm sur TO8
MessagePosté: 16 Jan 2020, 11:56 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1802
Localisation: Brest
Non il faut faire "LDY big_pac_anim" pour avoir big_pac_1 dans Y. Il n'y a pas de # là dedans.

Ensuite la 2eme valeur n'est pas à big_pac_anim+1, mais big_pac_anim+2 puisque les adresses sont sur 16bits (FDB).

Ce que tu veux probablement faire c'est un truc genre:
Code:
init:
  LDU #big_pac_anim
  ...
  ...plus loin dans la boucle principale...
  LDY ,U++
  CMPU #big_pac_anim_fin
  BNE suite
  LDU #big_pac_anim
suite:
  ..suite du programme..
  ...
big_pac_anim:
  FDB big_pac_1
  FDB big_pac_2
  FDB big_pac_3
  FDB big_pac_2
big_pac_anim_fin:

_________________
Good morning, that's a nice Tnetennba


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Debut en asm sur TO8
MessagePosté: 16 Jan 2020, 11:58 
Hors ligne

Inscription: 06 Avr 2010, 01:59
Messages: 478
ha oui désolé faute de frappe
je fais bien LDY big_pac_anim
sans le #
-------------------------

donc si en dur je mets LDY big_pac_anim+2

ça devrais être comme si LDY #big_pac_2

?

_________________
Image


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Debut en asm sur TO8
MessagePosté: 16 Jan 2020, 12:13 
Hors ligne

Inscription: 06 Avr 2010, 01:59
Messages: 478
bon bah, ça marche là.
fallait faire +2 , +4 etc...

j'men doutais un peu car dans la doc vu que j'ai vu FDB 16bit donc 2 octets. !

_________________
Image


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Debut en asm sur TO8
MessagePosté: 16 Jan 2020, 13:37 
Hors ligne

Inscription: 06 Avr 2010, 01:59
Messages: 478
juste que je comprennent bien !

si on defini U (LDU #qqchose)
et ensuite on touche à A ou B (LDA #2 ou LDB #2 pour faire des CMPA etc...)
U n'est plus le même ?

Donc on dois PSHS U
faire les manip avec A, B
puis pour récupérer mon U d'origine
je PULS U ?

est ce que le raisonnement est correct ?

_________________
Image


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Debut en asm sur TO8
MessagePosté: 16 Jan 2020, 14:08 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1802
Localisation: Brest
adnz a écrit:
juste que je comprennent bien !

si on defini U (LDU #qqchose)
et ensuite on touche à A ou B (LDA #2 ou LDB #2 pour faire des CMPA etc...)
U n'est plus le même ?

Ben non, pourquoi? Si on ne touche pas un registre, il garde sa valeur.

_________________
Good morning, that's a nice Tnetennba


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Debut en asm sur TO8
MessagePosté: 16 Jan 2020, 15:26 
Hors ligne

Inscription: 06 Avr 2010, 01:59
Messages: 478
ha zut, ok j'ai cafouillé avec le registre D !!
c'est pour ça que je parlais de A et B !

désolé, c'est que l'assembleur fait chauffer le cerveau :tourne:

_________________
Image


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Debut en asm sur TO8
MessagePosté: 16 Jan 2020, 17:04 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1802
Localisation: Brest
D n'est pas un registre, c'est A et B ensembles. Quand tu touches à D, tu touches à A et B. Quand tu touches A, tu ne touches pas B, mais tu affectes la valeur dans D, idem si tu touche B, La valeur de D est modifié, mais pas celle de A.

_________________
Good morning, that's a nice Tnetennba


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Debut en asm sur TO8
MessagePosté: 16 Jan 2020, 17:26 
Hors ligne

Inscription: 06 Avr 2010, 01:59
Messages: 478
ok merci.

si bigpac_n = 2

est ce que LDY ,U++

c'est pareil que LDY ,U>bigpac_n
ou
LEAU bigpac_n,U

?

il me manque plus que remplacer LDY ,U++ par quelquechose (LDY ,U+bigpac_n) vue que j'incrémente de 2 bigpac_n à chaque boule.

si bigpac_n=2 alors LDY ,U+ 0fois
si bigpac_n=2 alors LDY ,U+ 2fois
si bigpac_n=4 alors LDY ,U+ 4fois
si bigpac_n=6 alors LDY ,U+ 6fois

mais je pense trop compliqué par rapport au simple instruction à faire en asm.
c'est pour ça que je galère je pense. Faut que je prennent l'habitude de plein d'opération simple !
pas évident ! :voyons:

_________________
Image


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Debut en asm sur TO8
MessagePosté: 16 Jan 2020, 23:15 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1802
Localisation: Brest
Si tu connais le C, "LDY ,U++" est exactement la même sémantique que: "Y = *U++;" avec Y un short et U un pointeur sur short (et oui le C et l'assembleur 6809 ont quelques points communs.)

_________________
Good morning, that's a nice Tnetennba


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Debut en asm sur TO8
MessagePosté: 17 Jan 2020, 01:20 
Hors ligne

Inscription: 06 Avr 2010, 01:59
Messages: 478
bon j'ai pas trouvé comme je voulais, mais j'ai fais un truc qui fonctionne.

Image Image

PS:
la 1er capture : c'est un peu lent à cause la routine d'effacement <- bon j'ai résolu ce soucis là je vais mettre à jour !
car le fond est pas noir (0), j'efface avec une couleur ! faut que j'optimise !
et pour le moment j'efface et redessine tous les elements de l'écran ça ralenti un peu aussi ça !

la 2eme capture j'efface en mettant tout à 0 (noir numero de palette 0)
cette routine va plus vite (c'est ta technique de mettre 7bits à 0 d'un coup !). mais je sais pas mettre la couleur !
J'aurais pu me démerder pour gérer la palette 0 en bleu mais j'utilise la meme palette pour tous les screens dont la palette 0 c'est noir !.

_________________
Image


Haut
 Profil  
Répondre en citant le message  
Afficher les messages postés depuis:  Trier par  
Poster un nouveau sujet Répondre au sujet  [ 281 messages ]  Aller à la page Précédente  1 ... 3, 4, 5, 6, 7, 8, 9 ... 19  Suivante

Heures au format UTC + 1 heure


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 40 invités


Vous ne pouvez pas poster de nouveaux sujets
Vous ne pouvez pas répondre aux sujets
Vous ne pouvez pas éditer vos messages
Vous ne pouvez pas supprimer vos messages
Vous ne pouvez pas joindre des fichiers

Rechercher:
Aller à:  
cron
Développé par phpBB® Forum Software © phpBB Group
Traduction par phpBB-fr.com