MSX Village forum

L'école [RESOLU] AUDIO Stéréo / VIDEO Screen 8 (Real Time Movie) Audio Stéréo avec 2 Music Module et Vidéo avec Effets spéciaux 256 couleurs

TurboSEB Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++ Groupe : Shoutbox

Inscrit le : 08/08/2010 à 20h57

Messages: 5886

Le 17/06/2013 à 21h46

Reprise du message précédent

Donc si je comprend bien ce programme pourrait me servir a bidouiller une source Pal pour l'injecter dans mon HBF900 Ntsc
Autrement dit peut importe que l'ordi soit Pal ou Ntsc avec une source Pal ou Ntsc, il suffit d'utilise le bon programme,...... c'est ca? ^^



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

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 29/07/2010 à 17h19

Messages: 5492

Le 18/06/2013 à 09h24
@TurboSeb: PArdonne moi, créé un nouveau post YJK to RGB => http://www.msxvillage.fr/forum/topic.php?id=1862#m41555

J'y ai déplacé mes derniers post pour une meilleur lisibilité. (tu peux faire pareil si tu veux. dans ce cas, je placerai ma réponse après ta question pour rester cohérent ^^ )



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 23/06/2013 à 11h37
La démonstration quant à la numérisation du SCREEN 8 à la volée étant faite, voici la formule qui va bien:

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



Je suis à présent confronté à un problème de vitesse de stockage sur la CF Sunrise [FAT 16]. Voici la Formule:

Code TEXT :
 
10   'SAVE"BLOAD.ASC",a
20 SET VIDEO 0,0,0:ON STOP GOSUB50: STOP ON:N=1
30 SCREEN 8:COLOR,,0
40 N$=RIGHT$(STR$(N),LEN(STR$(N))-1):BLOAD"IMAGE"+N$+".SC8",S:N=N+1:GOTO40
50 COLOR 1,15,15:WIDTH 80



Pour le plaisir des yeux, voici les images numérisées à la volée sur un véritable 8280.




Je précise bien que la quantité restreinte d'images par seconde n'est pas du fait des capacités du VDP ni même de la vitesse de transfert en V-RAM, mais bel et bien à la vitesse de transfert COLOR BUS => V-RAM => BUS MSX => CF SUNRISE => CF 4GO [FAT16!].
Ce processus ne permettant que 80 images .SC8 environ en 120 secondes environ.

Une autre solution qui devrait apporter un gain véritablement important est de changer le "Processus" tel que:
COLOR BUS => V-RAM => RAM (4096Ko).
Le nombre d'images se limiteraient à 75 Env (75 X 54Ko =>4050Ko) mais nous permettrait de se faire une idée réelle sur la capacité maximale du VDP => V-RAM =>RAM.

Je voudrais donc modifier les programmes DIGIT.ASC et BLOAD.ASC pour qu'ils opèrent sur la RAM au lieu de la CF.

Merci de vôtre aide ;) Edité par igal Le 23/06/2013 à 11h41


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: 10730

Le 23/06/2013 à 13h32
pour sauvegarder les fichiers dans la ram il y a un moyen simple : le ramdisk

en DOS2 c'est trés facile car il intégré dans les commandes du basic

CALL RAMDISK(0) efface le ramdisk

CALL RAMDISK(4000) initialise un ramdisk qui sera le disque H:

si le MSX a un disque dur ou autre moyen de sauvegarde il est souvent nécessaire de faire un CTRL a l'init du MSX pour libérer un disque

il suffit de modifier la ligne 90 pour sauver dans le disque H:

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

90 SETVIDEO2,0,0,0:COPYSCREEN0:N$=RIGHT$(STR$(N),LEN(STR$(N))-1):BSAVE"H:IMAGE"+N$+".SC8",0,&HD3FF,S:N=N+1:GOTO90

ne pas s'attendre a une accélération foudroyante ;)



:noel
Site web    
Jipe Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 02/10/2009 à 19h41

Messages: 10730

Le 23/06/2013 à 13h46
attention de cette façon on travaille en ram , il ne faut donc pas oublier de recopier les fichiers sur un autre support avant d'éteindre le MSX ;)


:noel
Site web    
igal Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 29/07/2010 à 17h19

Messages: 5492

Le 23/06/2013 à 13h58
Super Jipe.....

Concrètement...

1) J'allume le MSX en maintenant [CTRL] appuyé.
2) Une fois sous DOS2 (celui présent avec la Sunrise) j'écris la commande => CALL RAMDISK(4000)
3) Une fois que c'est fait, je bascule sous basic avec la commande => BASIC
4) Je modifie simplement mon petit programme comme tu l'explique juste au dessus => BSAVE"IMAGE" par BSAVE"H:IMAGE"
5) Je stoppe le programme comme je veux en faisant [CTRL + STOP]
6) Je sauvegarde le contenu de H: dans E: en écrivant quelle commande précise s'il te plait?

E:COPY H: ?


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: 10730

Le 23/06/2013 à 14h10
la commande CALL RAMDISK est pour le basic

si tu veux initialiser a partir du DOS c'est RAMDISK 4000

les commandes DOS
RAMDISK -> renvoi la taille
RAMDISK 0 efface le ramdisk avec une confirmation Destroy all data on RAM disk (Y/N)
RAMDISK 4000 initialise

on peut paramétrer sa taille ex: 1000

pour copier a partir du basic

copy "h:*SC8" to "e:"

ça éviter de retourner sous dos


:noel
Site web    
igal Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 29/07/2010 à 17h19

Messages: 5492

Le 10/07/2013 à 23h23
Salut Jipe:



J'ai testé la commande:



Jipe :
pour sauvegarder les fichiers dans la ram il y a un moyen simple : le ramdisk



en DOS2 c'est trés facile car il intégré dans les commandes du basic



CALL RAMDISK(0) efface le ramdisk



CALL RAMDISK(4000) initialise un ramdisk qui sera le disque H:



si le MSX a un disque dur ou autre moyen de sauvegarde il est souvent nécessaire de faire un CTRL a l'init du MSX pour libérer un disque



il suffit de modifier la ligne 90 pour sauver dans le disque H:



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



90 SETVIDEO2,0,0,0:COPYSCREEN0:N$=RIGHT$(STR$(N),LEN(STR$(N))-1):BSAVE"H:IMAGE"+N$+".SC8",0,&HD3FF,S:N=N+1:GOTO90



ne pas s'attendre a une accélération foudroyante ;)




Le seul problème est que sur les 128Ko de Ram du 8280, une seule image est numérisée.



Je ne peux donc pas me rendre compte si oui ou non le stockage en V-RAM => RAM est plus rapide qu'un stockage V-RAM => CF "Ide Sunrise".



Une raison de plus pour tenter l'upgrade du 8250 (4mo) en 8280 en récupérant les composants nécessaires sur le 8280 dont le S3527 est Ko :oups



Une remarque soulevée lors d'une discutions avec Thewipmaster.



Dès le départ, l'idée de Numériser du SCREEN 8 à la volée semblait être utopique.



Plus encore, le Mode "SET VIDEO 1" qui permet la Numérisation n'est pas utilisé puisque j'utilise le mode "SET VIDEO 2" qui permet la SuperImpose.



Pour rappel:

0 = computer normal mode

1 = computer digitize mode

2 = superimpose

3 = only video



Mais alors comment l'images est "Numérisée" puisque l'on est sous "SET VIDEO 2"?



La Solution a été trouvée par Jipe avec la commande "COPY SCREEN 0".



La particularité de cette commande est d'être utilisable sur n'importe quel MSX2 et n'utilise donc pas de convertisseur D.A.C pour Numériser l'image.



On ne peut donc pas s'appuyer sur des conventions établies sur 8280 en utilisation "attendue".



La question quant à la quantité d'images "nuérisables" par seconde reste donc complète et j'espère trouver la réponse bientôt :moue Edité par igal Le 11/07/2013 à 09h02


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: 10730

Le 11/07/2013 à 12h35
la réponse pour le nombre d'images numérisée a la seconde dépend uniquement du moyen de sauvegarde et de sa vitesse de transfert

il faut lancer un comptage juste avant de sauver

TIME=0
lancer le BSAVE
juste a la fin mettre le compteur dans une variable
CO=TIME
reprendre la main par CTRL/STOP
taper PRINT CO pour avoir la valeur
pour l'avoir en secondes PRINT CO/50

le temps d'acquisition est négligeable par rapport au temps de sauvegarde


:noel
Site web    
igal Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 29/07/2010 à 17h19

Messages: 5492

Le 01/10/2013 à 12h47
@Jipe: Je te remercie pour les indications au dessus.

Je voudrais essayer l'opération suivante:

Pour le moment:

1) Une source vidéo externe passe à traverse le 8580 puis vers le VDP 9958 ou elle est Numérisée en temps réel.

2) Afin de "Récupérer" cette image, on utilise la commande COPY SCREEN 0

3) Une fois l'image (stockée?) avec COPY SCREEN 0, on la sauvegarde sur un Média quelconque.

Je voudrais changer l'opération (No 3) pour envoyer l'image vers le [Power Graph V9990]

J'ai voudrais procéder comme suit:

3) GCOPY-ier [le contenu de COPY SCREEN 0 du VDP 9958] vers le VDP 9990.

En fait je voudrais copier le contenu de COPY SCREEN 0 vers le VDP 9990.

Ne sachant pas du tout comment m'y prendre, j'ai tenté ça:

Code TEXT :
 
10 'SAVE"V9990.ASC",A
20 WIDTH 80: COLOR 1,15
30 BLOAD"GBASIC.BIN",R
40 SCREEN 8: GSCREEN 8
50 COLOR ,,255
60 SET VIDEO 2,0,0: GSET VIDEO 2,0,0
70 COPY SCREEN 0: GCOPY SCREEN: GOTO 70
 


Forcément, mon POWER GRAPH V9990 n''ayant pas de Vidéo9000 branché dessus, je ne peut pas numériser directement :(
Je vois des traits verticaux lorsque je bascule sur le canal S-VIDEO ou est relié le POWER GRAPH.

Je me demande donc si il est possible de transférer l'image qui se "trouve" dans COPY SCREEN 0 vers le VDP du V9990 :hum

MsxLégend à posté le G-BASIC ici => http://www.msxvillage.fr/forum/topic.php?id=1672#m36839

Si vous avez une idée ;) Edité par igal Le 01/10/2013 à 12h49


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: 10730

Le 01/10/2013 à 23h02
moi j'ai le Video9000 et ça implique une super vitesse pour la digit

seulement on est limité dans le mode d'écran et l'image est d'une taille supérieure

pour le passage de l'image du V9958 vers le V9990 je ne vois pas de solution rapide

les 2 VDP sont indépendants et ont leur mémoire propre

il faut repasser par la RAM pour transferer de l'un l'autre


:noel
Site web    
igal Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 29/07/2010 à 17h19

Messages: 5492

Le 02/10/2013 à 08h33
J'ai compris plus ou moins la même chose.

J'ai espoirs de tomber sur une solution software même si elle est inattendu un peu comme avec le 9958 et la numérisation à la volée ou encore le fixe software du même vdp.

Après quoi, si ça le fait tirs pas, j'essaierai d'envoyer les signaux vidéo du 8280 directement depuis [lensemble électronique IN du 8280] vers le color bus du vdp 9990.

De la sorte, le 8280 remplacerait le Video9000.

La doc du Vidéo 9000: => http://www.msxarchive.nl/pub/msx/mirrors/msx2.com/kiwi/hardware/pdf/Sunrise/v9manual.pdf

Une Doc du GFX9000 ( PDF) => http://www.msxarchive.nl/pub/msx/mirrors/msx2.com/kiwi/hardware/pdf/Sunrise/g-basic19990519.pdf

Voici un Bref extrait de la DOC du G-Basic:
G-Basic performs a GSET PAGE 0,0, a GSET PALETTE 0,0, a GSET SCROLL 0,0, a GCOLOR=NEW and a GSET VIDEO 2,0,0 when pressing SHIFT+ESC.
This hot-key can also be used by Video9000 users to make the MSX2/2+ screen visible at once, without having to execute a GSET VIDEO 2,0,0 command


Un autre extrait cette fois sur le mode de Digitalisation:
Code TEXT :
 
10 ' ***VIDEO9000 DIGITIZE PROGRAM***
20 ON STOP GOSUB 310: STOP ON: 'Activate CTRL/STOP function
 
30 ' GFX9000 INITIALIZATION
40 OUT &H67,0:' Non-overscan mode
50 OUT &H64,6: OUT &H63,&H97: OUT &H63,8:' 512x212; 32768 colours; 50Hz
60 OUT &H64,8: OUT &H63,&HC2:' Display on; cursor off; digitize off; YS system disabled
70 OUT &H64,14: OUT &H63,0:' Select palette no. 0
80 OUT &H61,0: OUT &H61,0: OUT &H61,0:' Make palette colour 0 black
90 OUT &H64,15: OUT &H63,0:' Border colour is black
 
100 ' DIGITIZE INITIALIZATION FOR GFX V1.0
110 OUT &H64,36:' First used command register
120 FOR D=1 TO 14: READ V: OUT &H63,V: NEXT D:' Write coor., size and colour
130 OUT &H64,52: OUT &H63,&H20:' Execute clear V9990 screen command
140 IF (INP (&H65) AND 1)=1 THEN 140:' Clear screen command ready? No, wait
150 DATA 0,0,0,0,0,2,0,2,0,12,255,255,0,0:' Coor., size, colour (=black)
160 OUT &H64,0: OUT &H63,0:' Write digitize mask at a special place
170 OUT &H63,&HFC: OUT &H63,7:' of the GFX9000 memory
180 OUT &H60,&HFF: OUT &H60,&HFF:' Mask = &HFFFF (no masking)
190 OUT &H64,34: OUT &H63,255: OUT &H63,3:' Strange but necessary, don't bother
 
200 ' VIDEO9000 INITIALIZATION
210 OUT &H6F,&H58:' Genlock on; CVBS input selected;
220 TIME=0 GFX9000:' not transparent
230 IF TIME=0 THEN 230:' Wait one frame cycle (1/50 sec.)
 
240 ' START DIGITIZING
250 OUT &H64,&HC8:' V9990 register 8
260 OUT &H63,INP (&H63) OR &B00011000:' Start digitizing (bit 4 and 3 at 1)
270 A$=INKEY$: IF A$=”” THEN 270:' Key pressed? No, then wait
280 OUT &H63,INP (&H63) AND &B11100111:' Halt digitizing (bit 4 and 3 at 0)
290 A$=INKEY$: IF A$=”” THEN 290 ELSE 260:' Key pressed? No, then wait, else repeat
 
300 ' STOP DIGITIZE PROGRAM
310 OUT &H64,&HC8: OUT &H63,&HC2 Halt digitizing
320 OUT &H6F,&H10:' Select RGB input; GFX9000 transp.
330 END
 
 


Le V9990 => http://www.msxarchive.nl/pub/msx/docs/datasheets/v9990.pdf

Le 9958 => http://www.datasheetarchive.com/dlmain/Datasheets-30/DSA-597431.pdf

Diagramme 9958:


Diagramme 9990:


Pinout 9990:


Pinout 9958:
Edité par igal Le 02/10/2013 à 18h45


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: 10730

Le 02/10/2013 à 18h45
avec un GRAPH 9000 tu peux faire de la superimpose mais il faut un VIDEO 9000 pour faire des digits


:noel
Site web    
Jipe Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 02/10/2009 à 19h41

Messages: 10730

Le 02/10/2013 à 18h52
le VIDEO 9000 est un GRAPH 9000 upgradé avec le digitaliseur en plus


:noel
Site web    
igal Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 29/07/2010 à 17h19

Messages: 5492

Le 02/10/2013 à 19h00
Justement, je voudrais essayer de reproduire le tour même tour de passe passe que précédemment sur le 9958 à savoir.

1) Je fait de la SuperImpose.
2) Je saisie "saisie" les images à l'aide du "Presse Papier" GCOPY SCREEN
3) Je Sauvegarde l'image de mon choix.

Forcément, à défaut de posséder un V9000, je ne "pourrai" saisir que des images construites de toute pièce par le V9990.

Par exemple, je génère une animation simple en BASIC puis je lance le mode SuperImpose et ensuite, je transfert l'image générée par le V9990 vers le "Pseudo presse papier" GCOPY SCREEN puis à la suite de quoi, je dois trouver le moyen de sauvegarder l'image "Saisie" sur un disque virtuel H: tout comme tu me l'a appris pour le 9958 sur le 8280 :top

Cette opération serait déjà un bon début :fou


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: 10730

Le 02/10/2013 à 19h06
le GCOPY SCREEN ne fonctionne qu'avec le VIDEO9000

extrait de la doc du G-BASIC

This command is only applicable if a Video9000 is présent

Cette commande est uniquement applicable si un Video9000 est présent


:noel
Site web    
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie