La Place des Développeurs [Réglé] Sprites clignotant ?!
Bon, désolé si je flood de questions mais c'est plutôt bon signe :
ça veut dire que je m'amuse
j'ai une question sur le VDP:
En assembleur, je définit un sprite (screen1 avec IE du registre 1);
il s'affiche correctement mais il clignote ?!
Y a t'il des moments où il est interdit d'uploader les attributs de sprites ?
Y a t'il des moments où il est interdit de toucher à la vram ?
Dis autrement: c'est quand le bon moment pour uploader ?
Est ce que le problème vient du fait que je copie moi même les datas dans la VRAM sans passer par le bios (avec des out) ?
Si oui, qu'est ce que je ne fais pas que le bios fait ?
Quelle est la bonne pratique avec le vdp d'une façon générale ?
ça veut dire que je m'amuse
j'ai une question sur le VDP:
En assembleur, je définit un sprite (screen1 avec IE du registre 1);
il s'affiche correctement mais il clignote ?!
Y a t'il des moments où il est interdit d'uploader les attributs de sprites ?
Y a t'il des moments où il est interdit de toucher à la vram ?
Dis autrement: c'est quand le bon moment pour uploader ?
Est ce que le problème vient du fait que je copie moi même les datas dans la VRAM sans passer par le bios (avec des out) ?
Si oui, qu'est ce que je ne fais pas que le bios fait ?
Quelle est la bonne pratique avec le vdp d'une façon générale ?
Fabf
Membre non connecté
Conseiller Municipal
Il y a 2 façon d'accéder à la VRAM
-préconisée par ASCII qui est d'utiliser les routines du BIOS (compatibilité assurée mais lent)
-"à la codeur" avec des out sur le port VDP (plus rapide)
Tu est sur de n'afficher qu'un seul sprite car avec 5 sur la même ligne, un des sprites disparait, je sais plus trop lequel.
Ca pourrait venir de là.
Je ne pourrais pas t'aider plus
-préconisée par ASCII qui est d'utiliser les routines du BIOS (compatibilité assurée mais lent)
-"à la codeur" avec des out sur le port VDP (plus rapide)
Tu est sur de n'afficher qu'un seul sprite car avec 5 sur la même ligne, un des sprites disparait, je sais plus trop lequel.
Ca pourrait venir de là.
Je ne pourrais pas t'aider plus
je ne vais pas répondre directement a ta questions :
il faut savoir qu'il y a un maximum de sprites se trouvant sur un même ligne
le nombre varie 4 maxi si on est en MSX 1et 8 maxi en MSX2
l'affichage de plus de sprites provoque des clignotements
il faut savoir qu'il y a un maximum de sprites se trouvant sur un même ligne
le nombre varie 4 maxi si on est en MSX 1et 8 maxi en MSX2
l'affichage de plus de sprites provoque des clignotements
Réponse de coder à coder
par défaut tu place tous les sprites à Y>211 (&hF0 par exemple ) et tu n'a plus de problème
[EDIT] tous les sprites non utilisés bien entendu ... Edité par z80 Le 26/06/2013 à 20h37
par défaut tu place tous les sprites à Y>211 (&hF0 par exemple ) et tu n'a plus de problème
[EDIT] tous les sprites non utilisés bien entendu ... Edité par z80 Le 26/06/2013 à 20h37
TurboR GT (1Mo), CANON V20! ( en kit, modif 2+ en cours)
Pas encore retrouvés: V9990, Grafx9000, SUNRISE IDE 2x CF, SUNRISE MOONSOUND, FM PAC, MUSIC MODULE, NMS8280, SD SNATCHER,...
MSXlegend
Membre non connecté
Conseiller Municipal
Ils sont trop fort pour moi
Je passe Edité par MSXlegend Le 26/06/2013 à 19h51
Je passe Edité par MSXlegend Le 26/06/2013 à 19h51
Tous mes PCB -> github.com/msxlegend
challenge 2013 -> neodream MSX 2013
Concepteur du -> KCX Bluetooth transmitter
z80 :
Réponse de coder à coder
par défaut tu place tous les sprites à Y>211 (&hF0 par exemple ) et tu n'a plus de problème
[EDIT] tous les sprites non utilisés bien entendu ...
par défaut tu place tous les sprites à Y>211 (&hF0 par exemple ) et tu n'a plus de problème
[EDIT] tous les sprites non utilisés bien entendu ...
Précisément :
Citation :
Edité par
Metalion
Le 26/06/2013 à 21h46
In screen modes 1 through 3, Y-coordinate was 209 for erasing the display of the specified sprite and was 208 for erasing the displays of the specified sprite and all sprites following it, but in screen modes 4 through 8, where the limit of Y-coordinate has been increased to 212 dots, the values to be specified are now 217 and 216, respectively.
MSX1: Daewoo DPC-200 / Yamaha CX5M
MSX2: Sony HB-F9P
MSXVR
Vidéo: V9990 (GFX-9)
Audio: MSX-Music (FM-PAC) / MSX-Audio (Audiowave) / OPL4 (Monster Sound FM Blaster) / OPNB (Neotron)
Fabf
Membre non connecté
Conseiller Municipal
Oui, c'est le métier qui rentre.
En tout cas, j'adore le MSX; c'est une machine vraiment sympa à programmer.
Tiens, tant que j'y suis : j'ai codé un petit tool flash pour convertir une image 2 couleurs, au format vram screen 1
http://games.mochiads.com/c/g/msx-image-converter/MSXgfx.swf
ça sort du code source asm pour z88asm (c'est le compilo que j'utilise)
Il faut juste copier coller le texte à gauche après convertion.
Si ça peut être utile à quelqu'un
Je le ferais surement évoluer au grès de mes délires sur msx Edité par 65c02 Le 28/06/2013 à 20h41
En tout cas, j'adore le MSX; c'est une machine vraiment sympa à programmer.
Tiens, tant que j'y suis : j'ai codé un petit tool flash pour convertir une image 2 couleurs, au format vram screen 1
http://games.mochiads.com/c/g/msx-image-converter/MSXgfx.swf
ça sort du code source asm pour z88asm (c'est le compilo que j'utilise)
Il faut juste copier coller le texte à gauche après convertion.
Si ça peut être utile à quelqu'un
Je le ferais surement évoluer au grès de mes délires sur msx Edité par 65c02 Le 28/06/2013 à 20h41
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie