MSX Village forum

L'atelier [RESOLU] Soft Synchro :Fixer la stabilité de l'image sur 8280 + VDP9958 + acquisition vidéo. Recherche d'une méthode pour fixer la Syncro d'un 8280 Sans soudure.

igal Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 29/07/2010 à 17h19

Messages: 5492

Le 21/06/2013 à 20h14
Vous hésitez à Uprader vôtre 8280 en MSX2+ à cause d'un Fixe hardware de la Synchro assez lourd à réaliser!

Ce qui suit vous fera changer d'avis :top

En cherchant à améliorer la vitesse des cycles [(Numérisation Screen 8 + Stockage CF) à la volée], je suis arrivé (par un heureux hasard) à fixer la Synchro verticale du 8280.

A défaut de vous expliquer Pourquoi ça marche, je vais vous démontrer que cela marche.

Voici déjà la vidéo démontrant ce petit exploit :D


La semaine prochaine je mettrai en ligne l'intégralité du code permettant la Stabilisation Software de la vidéo.

Je dois d'abord faire des testes croisés afin de déterminer si l'exploit fonctionne aussi sur une Carte Vidéo 8280 d'origine ou seulement sur la carte modée.

Au vu du comportement des cartes, je suis très optimiste sur l'issu du résulta. :top


Edit: 24/06/2013

Quelques testes ont suffit à isoler la commande qui stabilise la Synchronisation du VDP 9958 sur MSX2 NMS8280.
Code TEXT :
 
0 'SAVE"SYNC.ASC",A
10 SCREEN 8,,,,,3:GOTO 10
 

Il suffit de faire [CTRL + STOP] Lorsque l'image est centrée pour fixer l'écran dans cette bonne position. Edité par igal Le 15/01/2018 à 12h05


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

Conseiller Municipal

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 18/06/2010 à 22h42

Messages: 6285

Le 21/06/2013 à 20h42
Pourrais tu nous montrer une video avant la synchro ^^


KCX Bluetooth emitter Mono/ Stéréo, Smart USB
igal Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 29/07/2010 à 17h19

Messages: 5492

Le 21/06/2013 à 21h59
Voici deux vidéos avant fixe software ;)

Il y a deux sortes de symptômes.

Soit la source Vidéo est à une fréquence identique au MSX et on peut voir une barre noir se déplacer lentement:
De Haut en bas pour 50Hz.
De Bas en haut pour 60Hz.
Voici un exemple en 50Hz Msx et Source Vidéo:

Nb: En 60Hz, la barre aurait défilé vers le haut.
Nb2: Ne pas prêter attention au graphisme, il s'agit d'un essai en SCREEN12 :fou

Si la source Vidéo est à une fréquence différente du MSX on peut voir 4 barres clignoter rapidement sur la totalité de l'écran.
Voici en image:
Edité par igal Le 21/06/2013 à 22h08


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

Conseiller Municipal

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 18/06/2010 à 22h42

Messages: 6285

Le 22/06/2013 à 11h12
Je comprend mieux le probleme. Je te remerçie de t'etre donné la peine de faire des videos ;)


KCX Bluetooth emitter Mono/ Stéréo, Smart USB
igal Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 29/07/2010 à 17h19

Messages: 5492

Le 22/06/2013 à 13h52
Je vous livre les deux codes (en vrac) qui exécutés l'un après l'autre ont pour effet de Fixer la Synchro du 8280.

Code TEXT :
 
10           'SAVE"AAA.ASC",a
20 COLOR1,15:WIDTH 80
30 'INITIALISE N ET LA BOUCLE CTRL + STOP
40 ON STOP GOSUB170: STOP ON:N=1
50 'INITIALISE LE MODE GRAPHIQUE, COULEUR D'ECRAN ET SUPERIMPOSE
60 SCREEN8:COLOR,,255:'OUT&HF6,INP(&HF6)XOR16:'SECAM<=>PAL
70 SETVIDEO 2,1,1:'OUT&HF6,INP(&HF6)XOR 4:SET VIDEO2,1,1
80 'COPY LA VIDEO DANS LA V-RAM ET AFFICHE SON CONTENU
90 COPYSCREEN0:N$=RIGHT$(STR$(N),LEN(STR$(N))-1):BSAVE"IMAGE"+N$+".SC8",0,&HD3FF,S:N=N+1:GOTO90
170 SET VIDEO 2,0,0:COLOR 1,15:WIDTH 80
 


Code TEXT :
 
10           'SAVE"DIGIT.ASC",a
20 'PERMET DE CENTRER (VERTICALEMEMT) LA NUMERISATION
30 SETADJUST(8,-0):SET VIDEO 2,0,0
40 'INITIALISE N ET LA BOUCLE CTRL + STOP
50 ON STOP GOSUB110: STOP ON:N=1
60 'INITIALISE LE MODE GRAPHIQUE, COULEUR D'ECRAN ET SUPERIMPOSE
70 SCREEN8,,,,,3:COLOR,,255
80 'COPY LA VIDEO DANS LA V-RAM ET AFFICHE SON CONTENU
90 SETVIDEO2,0,0,0:COPYSCREEN0:N$=RIGHT$(STR$(N),LEN(STR$(N))-1):BSAVE"IMAGE"+N$+".SC8",0,&HD3FF,S:N=N+1:GOTO90
110 SET VIDEO 2,0,0:COLOR 1,15,15:WIDTH 80
 


Forcément, une fois qu'on enlève ce qui sert à rien il restera pas grand chose et c'est tant mieux ;)

Notez qu'une pression sur le [bouton Reset] annihile la synchro et il est donc nécessaire de relancer les commandes.
Faudra que je fasse une batterie de testes dans la semaine :tchin


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

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 29/07/2010 à 17h19

Messages: 5492

Le 24/06/2013 à 10h34
Quelques testes ont suffit à isoler la commande qui stabilise la Synchronisation du VDP 9958 sur MSX2 NMS8280.

Code TEXT :
 
0 'SAVE"SYNC.ASC",A
10 SCREEN 8,,,,,3:GOTO 10
 


Il suffit de faire [CTRL + STOP] Lorsque l'image est centrée pour fixer l'écran dans cette bonne position.

J'ai interprété de la façon suivante:

La Synchro est alternativement [Fixée <=> Dé-fixée] avec un "glissement" de l'image entre chaque opération.
Cette alternance "Fixe-défixe" donne la possibilité de [Stopper] l'opération au moment choisi très facilement.

Il est bon de noter que même la forte distorsion générée par le passage du PAL au NTSC est stabilisée par cette commande.
Evidemment, MSX et SOURCE VIDEO doivent être dans le même format à savoir 50Hz ou 60Hz sur les deux machines. Je le précise même si ce n'est pas un Bug mais un fonctionnement normal.

@Jipe: Même si cela ne me sert pas personnellement, tu penses pouvoir écrire un petit SYNC.COM de sorte à en profiter sous DOS sans avoir à aller sous BASIC :D
Sachant que [CTRL+STOP] fonctionne aussi sous DOS :top

Edit: Cette méthode pourrait être utile pour synchroniser plusieurs couches de VDP en cas de nécessité ;) Edité par igal Le 24/06/2013 à 10h36


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 24/06/2013 à 11h05
"SCREEN ,,,,,3" sert seulement à mettre en mode entrelacé avec affichage d'écran Even/Odd2 en alternance.

On peut mettre de 0 à 3.

0 = non-entrelacé
1 = entrelacé
2 = non-entrelacé avec affichage d'écran pair/impair en alternance
3 = entrelacé avec affichage d'écran pair/impair en alternance

Rien à voire avec la synchro.

http://www.msxvillage.fr/wiki/wiki.php?title=screen
   
igal Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 29/07/2010 à 17h19

Messages: 5492

Le 24/06/2013 à 11h49
Maintenant ce me revient...



J'avais relevé cette commande qui à ce que j'avais compris, donne la possibilité de Numériser une Seule image sur 2.



L'idée était de ne générer/numériser deux fois moins d'images pour diminuer le nombre d'images à opérer.



GDX :


Rien à voire avec la synchro.





Merci pour cette précision.



C'est peut être la raison pour laquelle personne n'a pensé à cette commande pour stabiliser la Synchro!



Pour rappel, j'ai trouvé cette solution par un heureux hasard.


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

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 02/10/2009 à 19h41

Messages: 10731

Le 24/06/2013 à 11h52
ça laisse a penser qu'en mode entrelacé double affichage le probléme de synchro n'existe pas


:noel
Site web    
igal Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 29/07/2010 à 17h19

Messages: 5492

Le 24/06/2013 à 12h35
Voici une vidéo de démonstration:


Edité par igal Le 26/10/2013 à 19h25


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

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 29/07/2010 à 17h19

Messages: 5492

Le 25/10/2013 à 20h21
Voici la formule qui permet de numériser une source vidéo en 50Hz.
30 SET VIDEO 2,0,0: ' Le 8280 perd la synchronisation de son affichage graphique lorsqu'il synchronise avec la source vidéo externe.
50 A$=INKEY$:IFINKEY$=""THEN30ELSE70:' Cette boucle maintient la désynchronisation jusqu'à ce que l'utilisateur décide de stabiliser synchronisation dans l'état.
70 SCREEN8,,,,,3:COLOR,,255:N=1: ' Cette ligne active le mode entrelacé qui stabilise la syncrhonisation des graphismes du VDP au moment voulu.
90 COPYSCREEN0:N$=RIGHT$(STR$(N),LEN(STR$(N))-1):BSAVE"IMAGE"+N$+".SC8",0,&HD3FF,S:N=N+1:GOTO90
110 SET VIDEO 0,0,0

Voici la formule qui permet de numériser une source vidéo en 60Hz.
29 VDP(10)=4: ' Permet de synchroniser le VDP(60Hz) avec la source vidéo(60Hz) externe.
30 SET VIDEO 2,0,0: ' Le 8280 perd la synchronisation de son affichage graphique lorsqu'il synchronise avec la source vidéo externe.
50 A$=INKEY$:IFINKEY$=""THEN30ELSE70:' Cette boucle maintient la désynchronisation jusqu'à ce que l'utilisateur décide de stabiliser synchronisation dans l'état.
70 SCREEN8,,,,,3:COLOR,,255:N=1: ' Cette ligne active le mode entrelacé qui stabilise la syncrhonisation des graphismes du VDP au moment voulu.
90 COPYSCREEN0:N$=RIGHT$(STR$(N),LEN(STR$(N))-1):BSAVE"IMAGE"+N$+".SC8",0,&HD3FF,S:N=N+1:GOTO90
110 SET VIDEO 0,0,0: SCREEN0,,,,,0:VDP(10)=3:VDP(10)=2: ' Stoppe la vibration de l'écran voir ici ou demander GDX :lol :lol :lol



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 26/10/2013 à 11h22
Présenté tel que ici, on arrive à capter le problème que tu as (contrairement à l'autre post). Le fait de mettre en mode entrelacé puis en sortir résout le problème temporairement. C'est déjà pas mal. Peut-être qu'on pourra en déduire quelque chose pour trouver une meilleur solution, qui sait...
   
igal Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 29/07/2010 à 17h19

Messages: 5492

Le 26/10/2013 à 12h40
Par contre, il ne faut pas se méprendre. :moue

Il faut dissocier trois problèmes qui sont peut être liés mais dont je ne saurais expliquer la cause mais simplement trouvé la solution.

Premier problème résolu:
1) Le fait de basculer le 8280 par SET VIDEO 2,X,X (avec la présence d'une source vidéo Externe 50Hz) désynchronise l'affichage de MSX. La "stabilisation" de l'affichage du MSX est rétabli par SCREEN X,,,,,3.
Nb: La boucle sur SET VIDEO 2,X,X sert seulement maintenir le BUG jusqu'à ce que l'écran soit correctement cadré.

Second problème résolu:
2) Le fait de Basculer le 8280 pas SET VIDEO 2,X,X (avec la présence d'une source vidéo Externe 60Hz) désynchronise l'affichage de MSX. Pour rétablir la syncrhonisation avec la source vidéo externe, il faut commencer par basculer le VDP en 60Hz avec VDP(10)=4.
Après quoi, il faut procéder à SCREEN X,,,,,3.
Nb: La boucle sur SET VIDEO 2,X,X sert seulement maintenir le BUG jusqu'à ce que l'écran soit correctement cadré.

Troisième problème résolu:
3) Brancher un 8250 / 55 / 80 sur un LCD, l'image vibre terriblement. Les commandes VDP(10)=3:VDP(10)=2 permettent de solutionner ce problème.
Nb: VDP(10)=3:VDP(10)=2 devra être réitéré si le MSX bascule à un moment sur du 60Hz.

Ces Solutions sont software donc effectivement, cela résout le problème "que" temporairement, mais évite un lourd passage sur la table d'opération en suivant le protocole rapporté par Jipe ^^

En conclusion:
Je ne maîtrise pas le processus et ne saurai donc pas expliquer le pourquoi de ces solutions.
Cependant, je suis tout ouïe pour des explications constructives :tchin :tchin :tchin Edité par igal Le 26/10/2013 à 14h57


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 27/10/2013 à 02h13
J'ai l'impression que le problème se situe au niveau du moniteur.
   
igal Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 29/07/2010 à 17h19

Messages: 5492

Le 27/10/2013 à 09h23
Pour ce qui est du Problème 1) et 2), c'est un problème Hardware bien connu et dont la solution définitive passe par plusieurs modifications.

Par contre, le problème de "Vibration" de l'image 3) quant à lui est probablement le résulta de ces MSX (8250 /55 /80) et de certains TV LCD et donc rien à voir avec la super-impose.
C'est la raison pour laquelle j'ai créé un autre post ;)

Cela me rappel que jipe parlait d'une modification Hardware pour Numériser dans un SCREEN autre que SCREEN8!

Je me demande si cette modification permet de Numériser par exemple en SCREEN 5 avec 16 couleur (automatique) sur 256 :hum

Si vous avez des éclaircissements sur ce fonctionnement/modification, cela peut être très intéressant. ;) Edité par igal Le 27/10/2013 à 13h10


Tiens... voila du boudin, voila du boudin, voila du boudin... :siffle
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie