MSX Village forum

L'école Philips NMS 8280

z80 Membre non connecté

Villageois

Rang

Avatar

Inscrit le : 17/05/2013 à 22h52

Messages: 956

Le 28/04/2014 à 21h47

Reprise du message précédent

GDX :
Z80,



Peux-tu lancer le programme suivant sur un vrai MSX et expliquer la raison de ce phénomène ?



Code TEXT :
10 SCREEN5:A=VDP(1)
20 CIRCLE(127,96),96,15
30 FORT=0TO2000:NEXT
40 VDP(0)=14:VDP(1)=96 'screen 8
50 CIRCLE(127,96),90,15
60 FORT=0TO2000:NEXT
70 VDP(0)=6:VDP(1)=96 'screen 5
80 SETPAGE2
90 GOTO 90




Si ça fonctionnait comme tu le dis, on ne devrait rien voir en page 2, non ?!




Ça aurait été avec plaisir mais je ne suis pas beaucoup chez moi en ce moment je donne un coup de main dans un appartement qui vient d’être livré et dans lequel il y a plein de truc qui ne fonctionne pas. Mais comme le dit Jipé et comme tu utilise des accès directes aux registres du VDP pour changer le mode graphique, la VRAM n'est pas initialisée comme si tu faisais un SCREEN 5, suivis d'un SCREEN 8 et inversement...

En suite, il faut bien comprendre que pour un pixel (un octet) de screen 8 tu as deux pixel en screen 5.

Dit autrement: à l'adresse 0000h en screen 8 tu colle FFh tu as un pixel blanc, mais si tu passe en mode SCREEN5 cet octet à l'adresse 0000h contient toujours FFh mais cette fois ci cela représente les pixel 0,0 et 1.0 (pixel 0 et 1 de la ligne 0) avec pour couleur 15 (Fh).

En suite et de mémoire uniquement la partie haute de l'octet c'est la couleur du pixel 0 et la partie basse de l'octet c'est pour le pixel 1.

Mais à confirmer.

Mettre F7h pour voir si c'est le pixel 0 qui est de couleur 15 (Fh) ou 7 (7h).

Je ferai le teste entre le 1er et le 3 mai.


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,... :\'(
   
igal Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 29/07/2010 à 17h19

Messages: 5492

Le 28/04/2014 à 22h20
J'ai essayé de retrouver une vidéo ou j'ai filmé un "pseudo" hologramme sur mon 8250.

Malheuresement, la SDCard ou se trouve le film semble être morte, elle n'est même plus détectée sur aucun pc.

Il s'agit d'une formule1 sur la ligne droite d'un circuit roulant à toute allure.

Le pseudo hologramme est construit avec deux images en SÇREEN8 qui s'affichent alternativement en mode entrelacé il me semble.

L'illusion est telle que lorsqu'on se déplace sur les côtés de l'écran, l'angle visible de la voiture semble véritablement changer de façon cohérente.
La voiture fait la moitié de l'écran et le décors fait l'écran entier.

La route semble défiler sous la voiture a une allure folle.

Tout cela n'est qu'effets d'optique, mais au final, on obtient un résultat inattendu et dépassant largement les capacités "prévisibles" du MSX :top

J'essaierai de sortir on msx demain, avec un peu de chance, j'espère retrouver le petit programme avec lequel j'ai obtenu cet effet.

Ça n'a rien a voir avec le Mixe de deux SCREEN différents, mais quand j'aime bien les surprises :D Edité par igal Le 28/04/2014 à 22h22


Tiens... voila du boudin, voila du boudin, voila du boudin... :siffle
GDX Membre non connecté

Conseiller Municipal

Rang

Avatar

Inscrit le : 17/01/2011 à 08h52

Messages: 3004

Le 29/04/2014 à 07h12
z80 :
En suite, il faut bien comprendre que pour un pixel (un octet) de screen 8 tu as deux pixel en screen 5.


Ça n'explique pas qu'une partie du cercle tracé en page 0 du SCREEN 8 se retrouve sur la page 2 en screen5.



Jipe :
la VRAM n'est pas effacée , on se servait de ça pour récupérer des images de jeux dans le temps ;)


Pour mieux comprendre, revoici le même exemple mais avec la page 0 du SCREEN 8 initialisée avec des 0 et la page 1 initialisée avec des 0FFh.



Code TEXT :
10 SCREEN8:COLOR1,0:CLS:SETPAGE1,1:COLOR,255:CLS:SETPAGE0,0
20 SCREEN5:A=VDP(1)
30 CIRCLE(127,96),96,13
40 FORT=0TO2000:NEXT
50 VDP(0)=14:VDP(1)=96 'screen 8
60 CIRCLE(127,96),90,11
70 FORT=0TO2000:NEXT
80 VDP(0)=6:VDP(1)=96 'screen 5
90 SETPAGE2
100 GOTO 100




Lorsqu'on passe du SCREEN 8 au 5 l'écran est hachuré de blanc (couleur 0Fh). Ça montre bien que les hachures proviennent de la page 1 du SCREEN 8. D'ailleurs le cercle tracé en page 0 du SCREEN 8 se retrouve sur la page 2 du SCREEN 5.

Il n'y a pas de doute, ces hachures ne sont pas dues au fait qu'en SCREEN 5 un octet renferme 2 pixels. La VRAM est belle et bien gérée en entrelacé en SCREEN 8. Je pense que ça a été fait comme ça pour obtenir un accès optimisé à la VRAM. Les premiers émulateurs MSX2 n'émulaient pas cet entrelacement donc certains jeux comme Breaker, Manbow 2 et quelques autres ont des bugs graphiques plus ou moins importants sur ces émulateurs.



En réalité, la VRAM est surement gérée comme ça dans tous les modes d'écran mais ce n'est visible que dans ce cas particulier. Une page de SCREEN 5 doit être composée que de lignes verticales paires ou impaires.



igal :
J'essaierai de sortir on msx demain, avec un peu de chance, j'espère retrouver le petit programme avec lequel j'ai obtenu cet effet.


Il est toujours sur le forum avec toutes les explications que j'ai données. ;)



http://www.msxvillage.fr/forum/topic.php?id=2087&pt=2#m50234



Edité par GDX Le 29/04/2014 à 10h45
   
Metalion Membre non connecté

Conseiller Municipal

Rang

Avatar

Inscrit le : 23/12/2009 à 15h32

Messages: 1488

Le 29/04/2014 à 11h53
GDX, je pense que tu fais complètement fausse route.
L'utilisation de la VRAM est linéaire dans tous les modes graphiques.


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

Conseiller Municipal

Rang

Avatar

Inscrit le : 17/01/2011 à 08h52

Messages: 3004

Le 29/04/2014 à 12h26
C'est indiqué à la page 113 du V9938 MSX-Video Techninal Data Book. ;)
   
Metalion Membre non connecté

Conseiller Municipal

Rang

Avatar

Inscrit le : 23/12/2009 à 15h32

Messages: 1488

Le 29/04/2014 à 13h33
Je ne vois rien en page 113 de ce manuel qui concerne cette discussion.
De quelle version du manuel parles-tu ?


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

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 29/07/2010 à 17h19

Messages: 5492

Le 30/04/2014 à 11h47
@GDX:

J'ai fait quelques testes et quoi que l'on fasse, si tu appliques "Une matrice SCREEN 5" sur une image "SCREEN 8", tu obtiens un intervalle entre chaque ligne verticale.

Si tu Applique "Une matrice SCREEN 5" sur une image "SCREEN 7", les intervalles disparaissent. Cependant, on génère de "l'aliasing" sur le trait formant les cercles.

Je pense qu'en fait, ce n'est "peut etre pas" la lecture de la mémoire qui est fait "Un sur Deux", mais plutôt "La dépose des pixel" qui se fait "Un sur Deux" pour garder une proportion cohérente de l'image.

Autrement, l'image se retrouverait miniaturisée exactement comme je le fait avec COPY SCREEN0 ici => http://www.msxvillage.fr/forum/topic.php?id=1667&pt=7

C'est vraiment intéressant :moue

https://www.youtube.com/watch?v=OVwnHJ-C6Ok
Edité par igal Le 30/04/2014 à 15h53


Tiens... voila du boudin, voila du boudin, voila du boudin... :siffle
Walter Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 02/10/2009 à 19h33

Messages: 1883

Le 17/05/2014 à 22h42


Me souviens plus ... C'est le Schtroumpf quoi, celui-là, déjà ? :moue
SPH Membre non connecté

Touriste

Rang

Avatar

Inscrit le : 28/12/2013 à 08h24

Messages: 58

Le 18/05/2014 à 17h41
Schtroumps a lunette !!
   
goonies Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 28/08/2010 à 21h46

Messages: 1199

Le 18/05/2014 à 20h07
En tous les cas, en ce qui me concerne, j'ai tout compris de la discussion... :oups


.....comme dans tous les pays..il ya des mechants et des gentils....
   
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie