Logicielsmoto.com

Nous sommes le 08 Avr 2020, 05:39

Heures au format UTC + 1 heure




Poster un nouveau sujet Répondre au sujet  [ 192 messages ]  Aller à la page Précédente  1 ... 6, 7, 8, 9, 10, 11, 12, 13  Suivante
Auteur Message
 Sujet du message: Re: Debut en asm sur TO8
MessagePosté: 03 Fév 2020, 18:46 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1206
Localisation: Brest
Je ne comprends pas la question. Tu veux mettre dans Y la valeur pointée par Y ?
==> LDY ,Y (lit 2 octets)

Tu veux mettre dans A la valeur pointée par Y ?
==> LDA ,Y (lit un octet)

Tu veux mettre Y dans D? A reçoit la partie haute, B la partie basse
==> TFR Y,D

_________________
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é: 03 Fév 2020, 21:53 
Hors ligne

Inscription: 06 Avr 2010, 01:59
Messages: 211
ha merci c'est ça que je voulais.

LDA ,Y

:bien:


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Debut en asm sur TO8
MessagePosté: 04 Fév 2020, 00:20 
Hors ligne

Inscription: 06 Avr 2010, 01:59
Messages: 211
ouuu! :voyons: je pensais que ça aller être plus simple de sauver la zone avant affichage sprite !

Je m'amuse là :hum: ... ça manque de "tiroirs", j'vais mettre un cht'i plus longtemps que prévu.


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Debut en asm sur TO8
MessagePosté: 05 Fév 2020, 11:44 
Hors ligne

Inscription: 06 Avr 2010, 01:59
Messages: 211
Bonjour,

- bon ! la zone sauvegarde en memoire avant affichage sprite est OK

petit bloquage pour la routine "restore"!

- si je veux mettre dans B, la valeur qui est dans Y (ici $A000), puis mettre B dans X (ici $0000) (a savoir donc que je fais varier Y et X)
c'est bien comme ça ?

Code:
LDB ,Y
STB ,X
 


ou

Code:
LDB ,Y
TFR Y,X       <- heuu pas sûr de ça


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Debut en asm sur TO8
MessagePosté: 05 Fév 2020, 13:47 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1206
Localisation: Brest
Ben dans la 2nde version tu fais quoi de B ? :voyons: Y et X ne contiennent que les adresses, pas la valeur, donc la valeur reste dans B. Ce n'est donc pas la bonne solution. :nanana:

La bonne est la 1ère bien entendu (LDB puis STB: on lit en mémoire, puis on écrit en mémoire) :good:

_________________
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é: 05 Fév 2020, 14:00 
Hors ligne

Inscription: 06 Avr 2010, 01:59
Messages: 211
oui, ça marche, je me disais aussi ça, mais il me fallait une confirmation pour être sûr.
merci.

mes 2 routines save zone et restore zone à la position du pacman sont OK !

maintenant faut que je scénariste l'ordre des choses avec le swap screen... genre : save BG, draw pac, swap screen, restore BG etc...

:bien:


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Debut en asm sur TO8
MessagePosté: 05 Fév 2020, 14:31 
Hors ligne

Inscription: 06 Avr 2010, 01:59
Messages: 211
hoo pas evident le scénario du double buffering ! :voyons:

bon

1 - Soit je trouve le moyen le plus rapide de transférer un écran entier vite vite vite fait!
(code plus simple, on a juste à afficher les sprites dessus le fond !)

2 - Soit je dois garder les "old position" des sprites pour restaurer le fond sur l'ecran buffer qui sera en retard par rapport à celui affiché !!
(et là code plus c'est compliqué !)

mais je pense que la solutions 2 est beaucoup plus rapide !!

j'ai trouvé cette page qui pourrait peut être m'aider ! je vais voir !
https://nowhereman999.wordpress.com/201 ... ying-code/


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Debut en asm sur TO8
MessagePosté: 05 Fév 2020, 15:02 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1206
Localisation: Brest
Oui la 2 est mieux. A noter que les coordonnées n'ont pas besoin d'être hyper précises. Tu peux recopier un peu plus que nécessaire (une colonne avant ou après). L'idéal étant de faire en sorte que le code de restauration soit rapide. Typiquement au lieu de garder 2 coordonnées qu'il faudrait converti en pointeur mémoire, pourquoi ne pas sauver directement le pointeur écran utilisé lors du dessin? Ensuite au lieu de s'occuper de savoir si ce pointeur commence en RAMA ou RAMB (ou 1ere et 2eme moitié des 16ko), pourquoi ne pas toujours le faire démarrer en RAMA (dans les premier 8ko). Enfin lors de la restauration, il n'est pas besoin d'alterner RAMA/RAMB pour chaque octet. Tu peux faire une copie de toute la partie RAMA, puis commuter (ou ajout de 8192 au pointeur) et ré-appliquer le même code pour la RAMB. L'important ici n'est pas la précision (on peut être grossier lors de la restauration), mais d'aller vite.

(je sais pas si je suis très clair)

_________________
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é: 05 Fév 2020, 15:12 
Hors ligne

Inscription: 06 Avr 2010, 01:59
Messages: 211
C'est certainement bien expliqué, mais je dois relire pour comprendre :D
merci.


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Debut en asm sur TO8
MessagePosté: 09 Fév 2020, 21:56 
Hors ligne

Inscription: 06 Avr 2010, 01:59
Messages: 211
bonsoir,

Y'a un moyen en assembleur d'attendre le balayage de l'écran jusqu'en bas ?

je crois que c'est les VBL, HBL !!

ou de détecter par une adresse qu'une VBL est en cours ...


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Debut en asm sur TO8
MessagePosté: 09 Fév 2020, 22:50 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1206
Localisation: Brest
OUI c'est très simple. C'est ce que fait la routine de changement de palette pour ne pas voir d'artefacts à l'écran:
Code:
FF47 7DE7E7     TST    $E7E7               7
FF4A 2AFB       BPL    $FF47               3
FF4C 7DE7E7     TST    $E7E7               7
FF4F 2BFB       BMI    $FF4C               3
FF51 39         RTS                        5

_________________
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é: 10 Fév 2020, 00:56 
Hors ligne

Inscription: 06 Avr 2010, 01:59
Messages: 211
ok merci,

Donc si "TST $E7E7" positif alors vbl en cours j'imagine !

j'ai fais ça, ça dois être bon .

Code:
wait_vbl
              TST    $E7E7
              BPL   wait_vbl *si positif
              RTS


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Debut en asm sur TO8
MessagePosté: 10 Fév 2020, 01:46 
Hors ligne

Inscription: 06 Avr 2010, 01:59
Messages: 211
y'a une différence entre ??

LDY 0,U

et

LDY ,U


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Debut en asm sur TO8
MessagePosté: 10 Fév 2020, 07:14 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1206
Localisation: Brest
Le 2e est plus rapide que le 1er.

_________________
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é: 10 Fév 2020, 12:34 
Hors ligne

Inscription: 06 Avr 2010, 01:59
Messages: 211
ok :bien:


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

Heures au format UTC + 1 heure


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 3 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