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 ?

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


[EDIT] tous les sprites non utilisés bien entendu

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,...


Tous mes PCB -> github.com/msxlegend
challenge 2013 -> neodream MSX 2013
Concepteur du -> KCX Bluetooth transmitter

Le MSX Beep, et MSXLegend passe 
Quel monde cruel

Tout ce qui concerne les sprites m'interesse biensure
Edité par
TurboSEB
Le 26/06/2013 à 20h46

Quel monde cruel


Tout ce qui concerne les sprites m'interesse biensure


MSX 1&2 + Moniteurs+divers (environ 0.70Tonnes)





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


[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)

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