L'école [EN COURS] Screen12 en continu. Numérisé sur pc et joué sur msx.
igal
Membre non connecté
Conseiller Municipal
Après de nombreux testes, j'ai pu trouve pas mal de choses inatendus aVec le vdp 9958, mais aucune solution quant à la numérisation en screen 12 a la volée.
J'ai bien trouvé à tâtons des effets visuels inatendus mais je garde cela pour un poste qui sera consacré aux effets spéciaux.
Je me suis résolu à générer le films avec bmp2msx avec une excellente qualité au final.
Notez que le programme n'est absolument pas optimise, mais très flexible à modifier.
Les dix premières images sont excessivement longues à être jouées et l'on sent bien une nette amélioration à partir de la onzième. Edité par igal Le 28/10/2013 à 18h26
Fabf
Membre non connecté
Conseiller Municipal
Super cool le slideshow.
Je me demande ce que ça donnerait avec un processeur plus rapide
Est ce que le VDP ou l'interface IDE seraient à la ramasse ou est ce qu'on pourrait envisager au moins 2 images par seconde.
Je me demande ce que ça donnerait avec un processeur plus rapide
Est ce que le VDP ou l'interface IDE seraient à la ramasse ou est ce qu'on pourrait envisager au moins 2 images par seconde.
igal
Membre non connecté
Conseiller Municipal
Actuellement, avec le Player de Hit9918, ca tourne à 2 images par seconde.
Pour aller plus vite, il y a la possibilité de couper l'image en Haut et en Bas de sorte à obtenir une sorte de Cinémascope. Après quoi, en basculant en 60Hz, l'image est quasi en plein écran et le nombre d'image "pourrait" passer à 3 images par seconde. J'ai pas encore essayé mais ca devrait le faire.
A sujet, je suis confronté au problème suivant:
Actuellement, je charge les images avec la ligne de commande suivante:
360 N=1
370 ON ERROR GOTO 420
380 SET PAGE N AND 1, (N AND 1) XOR 1
390 BLOAD"H:image"+MID$(STR$(N),2)+".sc8",S
400 N = N + 1
410 GOTO 370
Ces lignes de commande (Merci jipe) génèrent des fichiers sous la forme suivante:
IMAGE1.SC8
IMAGE2.SC8
IMAGE3.SC8
IMAGE4.SC8
IMAGE5.SC8
IMAGE6.SC8
IMAGE7.SC8
IMAGE8.SC8
IMAGE9.SC8
IMAGE10.SC8
IMAGE11.SC8
afin d'avoir un temps identique pour le chargement de toutes les images, je voudrais pouvoir charger les fichiers sous cette forme:
IMGX0001.SCC
IMGX0002.SCC
IMGX0003.SCC
IMGX0004.SCC
IMGX0004.SCC
IMGX0005.SCC
IMGX0006.SCC
IMGX0007.SCC
IMGX0008.SCC
IMGX0009.SCC
IMGX0010.SCC
IMGX0011.SCC
...
..
.
IMGX9999.SCC
Ce qui permettrait d'avoir un temps identique quant à la lecture de IMGX0001.SCC et IMGX9999.SCC
@Fabf: Il s'agit du baptême de mon beau frère
Je prépare la vidéo avec ma soeur, avec un certain Marin champion du monde de parachutisme. Il fallait au moins ça
Pour aller plus vite, il y a la possibilité de couper l'image en Haut et en Bas de sorte à obtenir une sorte de Cinémascope. Après quoi, en basculant en 60Hz, l'image est quasi en plein écran et le nombre d'image "pourrait" passer à 3 images par seconde. J'ai pas encore essayé mais ca devrait le faire.
A sujet, je suis confronté au problème suivant:
Actuellement, je charge les images avec la ligne de commande suivante:
360 N=1
370 ON ERROR GOTO 420
380 SET PAGE N AND 1, (N AND 1) XOR 1
390 BLOAD"H:image"+MID$(STR$(N),2)+".sc8",S
400 N = N + 1
410 GOTO 370
Ces lignes de commande (Merci jipe) génèrent des fichiers sous la forme suivante:
IMAGE1.SC8
IMAGE2.SC8
IMAGE3.SC8
IMAGE4.SC8
IMAGE5.SC8
IMAGE6.SC8
IMAGE7.SC8
IMAGE8.SC8
IMAGE9.SC8
IMAGE10.SC8
IMAGE11.SC8
afin d'avoir un temps identique pour le chargement de toutes les images, je voudrais pouvoir charger les fichiers sous cette forme:
IMGX0001.SCC
IMGX0002.SCC
IMGX0003.SCC
IMGX0004.SCC
IMGX0004.SCC
IMGX0005.SCC
IMGX0006.SCC
IMGX0007.SCC
IMGX0008.SCC
IMGX0009.SCC
IMGX0010.SCC
IMGX0011.SCC
...
..
.
IMGX9999.SCC
Ce qui permettrait d'avoir un temps identique quant à la lecture de IMGX0001.SCC et IMGX9999.SCC
@Fabf: Il s'agit du baptême de mon beau frère
Je prépare la vidéo avec ma soeur, avec un certain Marin champion du monde de parachutisme. Il fallait au moins ça
Fabf
Membre non connecté
Conseiller Municipal
Déjà à la ligne 410 tu peux reboucler sur 380.
ON ERROR GOTO n'a pas besoin d'être chargé à chaque passage.
Pour le choix de la vidéo j'ai le vertige.
Je reconnais quand même que ce doit être une drôle d'expérience.
ON ERROR GOTO n'a pas besoin d'être chargé à chaque passage.
Pour le choix de la vidéo j'ai le vertige.
Je reconnais quand même que ce doit être une drôle d'expérience.
igal
Membre non connecté
Conseiller Municipal
En fait, mon problème,c'est pas la vitesse mais le nom de images.
Je avec VirtualDub je suis obligé de nommer tel que:
IMAGE1.SCC
Je voudrais pouvoir nommer:
XXXX0001.SCC
XXXX0002.SCC
Etc...etc...
J'ai bien essayé de modifier => BLOAD"H:image"+MID$(STR$(N),2)+".sc8",S mais impossible de trouver la bonne formule
Je avec VirtualDub je suis obligé de nommer tel que:
IMAGE1.SCC
Je voudrais pouvoir nommer:
XXXX0001.SCC
XXXX0002.SCC
Etc...etc...
J'ai bien essayé de modifier => BLOAD"H:image"+MID$(STR$(N),2)+".sc8",S mais impossible de trouver la bonne formule
igal
Membre non connecté
Conseiller Municipal
@Jipe: J'ai pu nommer de sorte à obtenir:
IMGX1000.BMP
IMGX1001.BMP
IMGX1002.BMP
Etc etc...
Pour cela, avec VirtualDub j'ai fait:
EXPORT / IMAGES SEQUENCE =>
FileName => IMGX1
Finame suffix => BMP
Minimum of number digits => 3
Ma soeur:
http://youtu.be/Ho3bIv83XEs
La prochaine vidéo, ce sera ma nièce Edité par igal Le 28/10/2013 à 18h03
IMGX1000.BMP
IMGX1001.BMP
IMGX1002.BMP
Etc etc...
Pour cela, avec VirtualDub j'ai fait:
EXPORT / IMAGES SEQUENCE =>
FileName => IMGX1
Finame suffix => BMP
Minimum of number digits => 3
Ma soeur:
http://youtu.be/Ho3bIv83XEs
La prochaine vidéo, ce sera ma nièce Edité par igal Le 28/10/2013 à 18h03
Fabf
Membre non connecté
Conseiller Municipal
La question que je me posais c'était juste de savoir lequel, parmi les trois composants en action, favoriserais un affichage plus rapide.
Je sais pas si c'est youtube qui fait ça mais ça donne pas l'impression de 2 images seconde.
Je sais pas si c'est youtube qui fait ça mais ça donne pas l'impression de 2 images seconde.
igal
Membre non connecté
Conseiller Municipal
C'est parce que j'utilise pas le Player de Hit9918, mais mon programme que je peux modeler facilement pour expérimenter ce que je veux.
Pour utiliser le Player de Hit9918, il faut passer par les 3 étapes suivantes:
1) Préparation 16Mo de Ram
2) Capture 16Mo de Ram (en réalité, limité à 256 images max pour le moment)
3) Player 16Mo de Ram
Il faut donc capturer avec le listing qui se trouve à l'étape 2. Le problème c'est que pour le SCREEN12, on peut pas capturer en YJK sur un 9958.
C'est la raison pour laquelle j'ai utilisé BMP2MSX qui le fait excellemment bien même si c'est moins fun que de tout faire sur MSX
Une fois mes images prêtes, je voudrais bien les "injecter" dans la RAM pour qu'elles puissent être jouées par le Player mais je sais pas comment les "transporter" en Ram.
Pour bien faire, il faudrait que je demande à Hit9918 de:
A) faire un petit outil qui permet d'injecter les images importés de n'importe ou. (Permet d'injecter des images crées avec BMP2MSX en SCREEN12)
B) Ne plus limiter les images à 256 en se limitant à un nombre "maximum" d'un registre bien précis du VDP.(réduit un petit peu la vitesse de comptage des images)
C) Laisser la possibilité de modifier la superficie d'image à copier de sorte à en réduire la raille. (permet un gros gain de vitesse en réduisant la taille des images)
D) Permettre une interaction avec les touches directionnelles. Haut, Bas, Gauche, Droite. (permet d'accéder à tel ou tel scénario selon la touche pressée)
La préparation de la vidéo est très simple puisqu'il suffit de:
Virtual Dub:
1) Ouvrir la vidéo
2) Vidéo/frame rate => Convert to FPS (2 ou 3 selon les Player qui lira la vidéo)=> Ok
3) Vidéo/Filters/Add => Resise => ok (tout en haut à droite ??? X 212) => Ok
4) Add => Null transform => Ok => Cropping => (Réduire symétriquement ??? X 212 jusqu'à obtenir 256 X 212) => Ok =>Ok
5) Files/Export/Image Séquence (Entrer les informations ci dessous)
filename => IMAGE
Filname Suffix => .BMP
Minimum Number of Digits in => 1
Directory to hold => Indiquer le répertoire de sortie
OutPut Format => Windows BMP
Valider avec OK pour générer les fichiers.
BMP2MSX
MSX Screen Mode => SCEEN12
OutPut => File and Preview
Coché => Auto file Name
Setting to Use => Last convert
Dither Patarn => Random Dots
Source color => 8 bit.
SC10-12 Algolithm => Error fix (Give Brightnes)
Coché => Reclac J and K
Tout le reste est grisé et/ou décoché
Il suffit de faire glisser toutes les images créées précédemment avec VirtualDub et laisser travailler plusieurs minutes si nécessaires. (même si cela semble avoir freezé)
Voici le SCREEN 12 => http://www.youtube.com/watch?v=szg2rHS7yRY
Voici la Source =>http://www.youtube.com/watch?v=PJFwII4rUsE
Edité par igal Le 28/10/2013 à 22h56
Pour utiliser le Player de Hit9918, il faut passer par les 3 étapes suivantes:
1) Préparation 16Mo de Ram
Code TEXT :
10 poke &hf676,1 : poke &hf677,&hc0 : poke &hc000,0 : new
2) Capture 16Mo de Ram (en réalité, limité à 256 images max pour le moment)
Code TEXT :
0 clear 200,&hd000 : p% = &hd000 'loading asm there 20 defusr0 = p%+2 '+2: skip module length 30 gosub 5000 'load asm code 40 LI% = p% 'ldir function. call with usr(%LD) 50 gosub 5000 'load asm code 60 screen 8 70 m = 1 'mapper start. 71 pp = (inp(&ha8) AND &b110000)/16 : ss = 0 'slot currently selected in page2/&h8000 to primary pp%, secondary ss%=0 110 for i = 0 to 9999 'count images i 120 color ,i AND 255 : cls : cls 200 for j = 0 to 2 220 defusr1 = (128 + ss * 4 + pp)*256 '*256 to get in akku A register of AF 230 defusr4 = &h8000 'tell 16k page in HL register 240 u%=usr(&h24) 'ENASLT bios function to set slot/subslot 250 out &hFE,m 300 defusr2 = 16384 310 defusr3 = &h8000 'DE 'ram target address 320 defusr4 = 16384*j 'HL 'vram source address 330 u%=usr(&h59) 'vram to ram 340 m = m + 1 : if m = 256 then gosub 600 440 next j 461 defusr1 = (128 + ss * 4 + pp)*256 '*256 to get in akku A register of AF 462 defusr4 = &h8000 'tell 16k page in HL register 463 u%=usr(&h24) 'ENASLT bios function to set slot/subslot 464 out &hFE,m 465 defusr2 = 5120'that snippet down between line 192 and 212. waste a whole 16k page for simple logic 466 defusr3 = &h8000 467 defusr4 = 16384*3 468 u%=usr(&h59) 469 m = m + 1 : if m = 256 then gosub 600 490 next i 500 screen 0 : color 15,4 : END 600 m = 1 : ss = ss + 1'to next subslot / next 4 megs bank 610 if ss <= 3 then return 620 return 500'done 4999 STOP 'when above code forgot END 5000 read a$ : if a$ = "END" then return 5010 poke p%,val("&h"+a$) : p%=p%+1 : goto 5000 9999 'the callbios code. runs on any address. 10000 DATA 55,00,3A,63,F6,FE,02,28 10010 DATA 04,CD,C0,00,C9,21,E1,E9 10020 DATA 22,AC,F3,CD,AC,F3,11,24 10030 DATA 00,19,ED,5B,F8,F7,73,23 10040 DATA 72,2A,9C,F3,E5,F1,ED,4B 10050 DATA 9E,F3,ED,5B,A0,F3,2A,A2 10060 DATA F3,DD,2A,A4,F3,FD,2A,A6 10070 DATA F3,CD,00,00,ED,43,9E,F3 10080 DATA ED,53,A0,F3,22,A2,F3,DD 10090 DATA 22,A4,F3,FD,22,A6,F3,F5 10100 DATA E1,2A,9C,F3,C9,END 19999 'LDIR : RET 20000 DATA ED,B0,C9,END
3) Player 16Mo de Ram
Code TEXT :
10 clear 200,&hd000 : p% = &hd000 'loading asm there 20 defusr0 = p%+2 '+2: skip module length 30 gosub 5000 'load asm code 40 LI% = p% 'ldir function. call with usr(%LD) 50 gosub 5000 'load asm code 60 screen 8 70 m = 1 'mapper start. 71 pp = (inp(&ha8) AND &b110000)/16 : ss = 0 'slot currently selected in page2/&h8000 to primary pp%, secondary ss%=0 110 for i = 0 to 9999 'count images i 120 set page i and 1,(i and 1) xor 1 200 for j = 0 to 2 220 defusr1 = (128 + ss * 4 + pp)*256 '*256 to get in akku A register of AF 230 defusr4 = &h8000 'tell 16k page in HL register 240 u%=usr(&h24) 'ENASLT bios function to set slot/subslot 250 out &hFE,m 300 defusr2 = 16384 310 defusr3 = 16384*j 'DE 'vram target address 320 defusr4 = &h8000 'HL 'ram source address 330 u%=usr(&h5c) 'ram to vram 340 m = m + 1 : if m = 256 then gosub 600 440 next j 461 defusr1 = (128 + ss * 4 + pp)*256 '*256 to get in akku A register of AF 462 defusr4 = &h8000 'tell 16k page in HL register 463 u%=usr(&h24) 'ENASLT bios function to set slot/subslot 464 out &hFE,m 465 defusr2 = 5120'that snippet down between line 192 and 212. waste a whole 16k page for simple logic 466 defusr3 = 16384*3 467 defusr4 = &h8000 468 u%=usr(&h5c) 469 m = m + 1 : if m = 256 then gosub 600 490 next i 500 screen 0 : color 15,4 : END 600 m = 1 : ss = ss + 1'to next subslot / next 4 megs bank 610 if ss <= 3 then return 620 return 500'done 4999 STOP 'when above code forgot END 5000 read a$ : if a$ = "END" then return 5010 poke p%,val("&h"+a$) : p%=p%+1 : goto 5000 9999 'the callbios code. runs on any address. 10000 DATA 55,00,3A,63,F6,FE,02,28 10010 DATA 04,CD,C0,00,C9,21,E1,E9 10020 DATA 22,AC,F3,CD,AC,F3,11,24 10030 DATA 00,19,ED,5B,F8,F7,73,23 10040 DATA 72,2A,9C,F3,E5,F1,ED,4B 10050 DATA 9E,F3,ED,5B,A0,F3,2A,A2 10060 DATA F3,DD,2A,A4,F3,FD,2A,A6 10070 DATA F3,CD,00,00,ED,43,9E,F3 10080 DATA ED,53,A0,F3,22,A2,F3,DD 10090 DATA 22,A4,F3,FD,22,A6,F3,F5 10100 DATA E1,2A,9C,F3,C9,END 19999 'LDIR : RET 20000 DATA ED,B0,C9,END
Il faut donc capturer avec le listing qui se trouve à l'étape 2. Le problème c'est que pour le SCREEN12, on peut pas capturer en YJK sur un 9958.
C'est la raison pour laquelle j'ai utilisé BMP2MSX qui le fait excellemment bien même si c'est moins fun que de tout faire sur MSX
Une fois mes images prêtes, je voudrais bien les "injecter" dans la RAM pour qu'elles puissent être jouées par le Player mais je sais pas comment les "transporter" en Ram.
Pour bien faire, il faudrait que je demande à Hit9918 de:
A) faire un petit outil qui permet d'injecter les images importés de n'importe ou. (Permet d'injecter des images crées avec BMP2MSX en SCREEN12)
B) Ne plus limiter les images à 256 en se limitant à un nombre "maximum" d'un registre bien précis du VDP.(réduit un petit peu la vitesse de comptage des images)
C) Laisser la possibilité de modifier la superficie d'image à copier de sorte à en réduire la raille. (permet un gros gain de vitesse en réduisant la taille des images)
D) Permettre une interaction avec les touches directionnelles. Haut, Bas, Gauche, Droite. (permet d'accéder à tel ou tel scénario selon la touche pressée)
La préparation de la vidéo est très simple puisqu'il suffit de:
Virtual Dub:
1) Ouvrir la vidéo
2) Vidéo/frame rate => Convert to FPS (2 ou 3 selon les Player qui lira la vidéo)=> Ok
3) Vidéo/Filters/Add => Resise => ok (tout en haut à droite ??? X 212) => Ok
4) Add => Null transform => Ok => Cropping => (Réduire symétriquement ??? X 212 jusqu'à obtenir 256 X 212) => Ok =>Ok
5) Files/Export/Image Séquence (Entrer les informations ci dessous)
filename => IMAGE
Filname Suffix => .BMP
Minimum Number of Digits in => 1
Directory to hold => Indiquer le répertoire de sortie
OutPut Format => Windows BMP
Valider avec OK pour générer les fichiers.
BMP2MSX
MSX Screen Mode => SCEEN12
OutPut => File and Preview
Coché => Auto file Name
Setting to Use => Last convert
Dither Patarn => Random Dots
Source color => 8 bit.
SC10-12 Algolithm => Error fix (Give Brightnes)
Coché => Reclac J and K
Tout le reste est grisé et/ou décoché
Il suffit de faire glisser toutes les images créées précédemment avec VirtualDub et laisser travailler plusieurs minutes si nécessaires. (même si cela semble avoir freezé)
Voici le SCREEN 12 => http://www.youtube.com/watch?v=szg2rHS7yRY
Voici la Source =>http://www.youtube.com/watch?v=PJFwII4rUsE
Edité par igal Le 28/10/2013 à 22h56
en fait l'affichage est tributaire de la vitesse de l'unitée de sauvegarde employée
avec un kit 7MHz ou un turbo-r et un disque SCSI on peux descendre le temps entre 2 images
il existe 2 moyens de numériser en screen 12 sur MSX :
l'interface HBI-V1 de SONY mais elle est en NTSCd'origine
un montage sorti dans les MSX MAGAZINE japonais a faire soit même
avec un kit 7MHz ou un turbo-r et un disque SCSI on peux descendre le temps entre 2 images
il existe 2 moyens de numériser en screen 12 sur MSX :
l'interface HBI-V1 de SONY mais elle est en NTSCd'origine
un montage sorti dans les MSX MAGAZINE japonais a faire soit même
igal
Membre non connecté
Conseiller Municipal
@Jipe: actuellement, la lecture des 2 images par seconde est possible avec le player de Hit9918.
Le problème est que je ne sais pas comment injecter mes IMAGES.SCC créées avec BMP2MSX sur les 16Mo de RAM de sorte à ce que le player de hit9918 puisse les lire.
Je viens de poser la question sur Msx.Org. Je pense qu'il donnera la solution pour faire cela.
On pourrait peut peut être gagner du temps en vitesse de lecture en s’adressant à deux médias simultanément?
Actuellement on a ça:
Peut être quelque chose de ce genre:
360 N=1
370 'ON ERROR GOTO 420
380 SET PAGE N AND 1, (N AND 1) XOR 1
390 BLOAD"H:IMPAIRES"+MID$(STR$(N),2)+".sc8",S
400 N = N + 1
401 SET PAGE N AND 1, (N AND 1) XOR 1
402 BLOAD"F:PAIRES"+MID$(STR$(N),2)+".sc8",S
403 N = N + 1
410 GOTO 370
Je suis septique sur la méthode, mais l'idée de basculer d'un média à l'autre devrait apporter un plus
Edit: Je suis curieux des modifs pour numériser en SCREEN12 mais surtout en SCREEN5 si possible Edité par igal Le 29/10/2013 à 11h07
Le problème est que je ne sais pas comment injecter mes IMAGES.SCC créées avec BMP2MSX sur les 16Mo de RAM de sorte à ce que le player de hit9918 puisse les lire.
Je viens de poser la question sur Msx.Org. Je pense qu'il donnera la solution pour faire cela.
On pourrait peut peut être gagner du temps en vitesse de lecture en s’adressant à deux médias simultanément?
Actuellement on a ça:
Code TEXT :
360 N=1 370 'ON ERROR GOTO 420 380 SET PAGE N AND 1, (N AND 1) XOR 1 390 BLOAD"H:image"+MID$(STR$(N),2)+".sc8",S 400 N = N + 1 410 GOTO 370
Peut être quelque chose de ce genre:
360 N=1
370 'ON ERROR GOTO 420
380 SET PAGE N AND 1, (N AND 1) XOR 1
390 BLOAD"H:IMPAIRES"+MID$(STR$(N),2)+".sc8",S
400 N = N + 1
401 SET PAGE N AND 1, (N AND 1) XOR 1
402 BLOAD"F:PAIRES"+MID$(STR$(N),2)+".sc8",S
403 N = N + 1
410 GOTO 370
Je suis septique sur la méthode, mais l'idée de basculer d'un média à l'autre devrait apporter un plus
Edit: Je suis curieux des modifs pour numériser en SCREEN12 mais surtout en SCREEN5 si possible Edité par igal Le 29/10/2013 à 11h07
il n'y a pas de modifs du 8280 pour numériser en screen 12
la modif que j'ai porte uniquement sur les screens 5 et 7 en luminance
la le scanner est inaccessible suite au retour de RGC et mon second PC avec le SCSI est déconnecté de mon réseau
il y des jours comme ça ou ça va de travers
la modif que j'ai porte uniquement sur les screens 5 et 7 en luminance
la le scanner est inaccessible suite au retour de RGC et mon second PC avec le SCSI est déconnecté de mon réseau
il y des jours comme ça ou ça va de travers
igal
Membre non connecté
Conseiller Municipal
Voici un courte séquence que j'ai fait sur mon MSX que j'ai sorti en catimini et qui va vite retourner dans le placard jusqu'à demain
Encore une fois, il s'agit pas du Player de Hit9918. Il faut s'attendre à une vitesse deux fois plus rapide qu'en ce moment
http://youtu.be/F_XIUchY1jQ
Encore une fois, il s'agit pas du Player de Hit9918. Il faut s'attendre à une vitesse deux fois plus rapide qu'en ce moment
http://youtu.be/F_XIUchY1jQ
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie