Logicielsmoto.com http://www.logicielsmoto.com/phpBB/ |
|
Debut en asm sur TO8 http://www.logicielsmoto.com/phpBB/viewtopic.php?f=3&t=571 |
Page 9 sur 19 |
Auteur: | Samuel Devulder [ 03 Fév 2020, 18:46 ] |
Sujet du message: | Re: Debut en asm sur TO8 |
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 |
Auteur: | adnz [ 03 Fév 2020, 21:53 ] |
Sujet du message: | Re: Debut en asm sur TO8 |
ha merci c'est ça que je voulais. LDA ,Y |
Auteur: | adnz [ 04 Fév 2020, 00:20 ] |
Sujet du message: | Re: Debut en asm sur TO8 |
ouuu! je pensais que ça aller être plus simple de sauver la zone avant affichage sprite ! Je m'amuse là ... ça manque de "tiroirs", j'vais mettre un cht'i plus longtemps que prévu. |
Auteur: | adnz [ 05 Fév 2020, 11:44 ] |
Sujet du message: | Re: Debut en asm sur TO8 |
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 |
Auteur: | Samuel Devulder [ 05 Fév 2020, 13:47 ] |
Sujet du message: | Re: Debut en asm sur TO8 |
Ben dans la 2nde version tu fais quoi de B ? 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. La bonne est la 1ère bien entendu (LDB puis STB: on lit en mémoire, puis on écrit en mémoire) |
Auteur: | adnz [ 05 Fév 2020, 14:00 ] |
Sujet du message: | Re: Debut en asm sur TO8 |
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... |
Auteur: | adnz [ 05 Fév 2020, 14:31 ] |
Sujet du message: | Re: Debut en asm sur TO8 |
hoo pas evident le scénario du double buffering ! 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/ |
Auteur: | Samuel Devulder [ 05 Fév 2020, 15:02 ] |
Sujet du message: | Re: Debut en asm sur TO8 |
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) |
Auteur: | adnz [ 05 Fév 2020, 15:12 ] |
Sujet du message: | Re: Debut en asm sur TO8 |
C'est certainement bien expliqué, mais je dois relire pour comprendre merci. |
Auteur: | adnz [ 09 Fév 2020, 21:56 ] |
Sujet du message: | Re: Debut en asm sur TO8 |
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 ... |
Auteur: | Samuel Devulder [ 09 Fév 2020, 22:50 ] |
Sujet du message: | Re: Debut en asm sur TO8 |
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 |
Auteur: | adnz [ 10 Fév 2020, 00:56 ] |
Sujet du message: | Re: Debut en asm sur TO8 |
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 |
Auteur: | adnz [ 10 Fév 2020, 01:46 ] |
Sujet du message: | Re: Debut en asm sur TO8 |
y'a une différence entre ?? LDY 0,U et LDY ,U |
Auteur: | Samuel Devulder [ 10 Fév 2020, 07:14 ] |
Sujet du message: | Re: Debut en asm sur TO8 |
Le 2e est plus rapide que le 1er. |
Auteur: | adnz [ 10 Fév 2020, 12:34 ] |
Sujet du message: | Re: Debut en asm sur TO8 |
ok |
Page 9 sur 19 | Heures au format UTC + 1 heure |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |