MSX Village forum

La Place des Développeurs [Réglé] Sprites clignotant ?!

65c02 Membre non connecté

Touriste

Rang

Avatar

Inscrit le : 24/06/2013 à 10h28

Messages: 27

Le 26/06/2013 à 18h07
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 ?
   
Fabf Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 24/08/2010 à 20h55

Messages: 4833

Le 26/06/2013 à 18h18
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 :oups
Jipe Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 02/10/2009 à 19h41

Messages: 10353

Le 26/06/2013 à 18h22
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


:noel
Site web    
65c02 Membre non connecté

Touriste

Rang

Avatar

Inscrit le : 24/06/2013 à 10h28

Messages: 27

Le 26/06/2013 à 18h36
je n'ai uploadé qu'un seul sprite.
par contre j'ai les 31 autres à la même position (0,0)
c'est peut être pour ça, je vais tester
   
z80 Membre non connecté

Villageois

Rang

Avatar

Inscrit le : 17/05/2013 à 22h52

Messages: 956

Le 26/06/2013 à 18h57
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 :top
[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) :top
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

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 18/06/2010 à 22h42

Messages: 5812

Le 26/06/2013 à 19h51
Ils sont trop fort pour moi :s
Je passe :oups Edité par MSXlegend Le 26/06/2013 à 19h51


Createur du KCX Bluetooth emitter au format cartouche compatible stereo moonsound
TurboSEB Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++ Groupe : Shoutbox

Inscrit le : 08/08/2010 à 20h57

Messages: 5794

Le 26/06/2013 à 20h44
Le MSX Beep, et MSXLegend passe :D

Quel monde cruel :lol:p

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



MSX 1&2 + Moniteurs+divers (environ 0.70Tonnes)
   
Metalion Membre non connecté

Conseiller Municipal

Rang

Avatar

Inscrit le : 23/12/2009 à 15h32

Messages: 1487

Le 26/06/2013 à 21h43
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 :top

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


Précisément :



Citation :
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.
Edité par Metalion Le 26/06/2013 à 21h46


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)
   
65c02 Membre non connecté

Touriste

Rang

Avatar

Inscrit le : 24/06/2013 à 10h28

Messages: 27

Le 27/06/2013 à 08h01
ça sent un bug de mon coté...
peut être à cause du fait que j'ai activé les interruption et détourné les irq.
je vais simplifier mon code jusqu'a n'avoir que le sprite et voir si c'est reproductible.
je vous tiens au courant :)
   
65c02 Membre non connecté

Touriste

Rang

Avatar

Inscrit le : 24/06/2013 à 10h28

Messages: 27

Le 28/06/2013 à 10h46
J'ai trouvé, c'était un bug bidon dans ma routine qui fixe l'adresse d'écriture dans la vram.
Mais tant mieux, je me suis posé plein de question et j'ai lu plein de pdf:)
   
Fabf Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 24/08/2010 à 20h55

Messages: 4833

Le 28/06/2013 à 12h27
:top
Sector28 Membre non connecté

Villageois

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 12/05/2018 à 23h00

Messages: 553

Le 28/06/2013 à 19h24
la vie est nulle sans bug...


Toute matrice carrée sur un corps K, dont le polynôme caractéristique est scindé, est semblable à une matrice de Jordan. Cette réduction est unique à l'ordre des blocs près. De plus, toute matrice carrée nilpotente sur un corps K est semblable à une matrice de Jordan dont chaque bloc est associé à la valeur 0. Évidement, cette réduction est encore unique à l'ordre des blocs près...
:)
   
65c02 Membre non connecté

Touriste

Rang

Avatar

Inscrit le : 24/06/2013 à 10h28

Messages: 27

Le 28/06/2013 à 20h39
Oui, c'est le métier qui rentre. :tchin
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