Real time SCREEN 8 Movie's

Page 1/8
| 2 | 3 | 4 | 5 | 6

By igal

Master (211)

igal's picture

04-10-2013, 23:26

You can digitize images in movie on real time.

This example on BlueMsx => http://youtu.be/6hwzp6UWwVI

There are possibles...
WAIT/STOP on Image.
SAVE image.
SAVE a lot of images. (Save on H: Virtual Drive)
FIXE the Vidéo/Synchro Bug on NMS8280 with the VDP9958.
RESTART the programme.
EXIT the Programme.

10 'SAVE"006.ASC",A
20 ON STOP GOSUB360:STOP ON:N=1
30 SET ADJUST(8,-0):WIDTH 80:COLOR 1,15:CLS:'MODE TEXTE NOIR ET BLANC
40 PRINT"1) FIXER LA STABILITE
50 A$=INKEY$:IF A$=""THEN50
60 PRINT"   PRESSER UNE TOUCHE LORSQUE L'IMAGE EST CORRECTEMENT RECADREE
70 A$=INKEY$:IF A$=""THEN70
80 SET VIDEO 2,0,0:COLOR 1,15,5
90 SCREEN8,,,,,2:A$=INKEY$:IF A$=""THEN90
100 SCREEN8,,,,,3:'MODE ENTRELACE FIXE LA STABILITE
110 SCREEN0:PRINT"2) LANCER L'INITIALISASITION DU RAM DISK
120 A$=INKEY$:IF A$=""THEN120
130 PRINT"   (PATIENTER QUELQUES INSTANTS...)
140 PRINT"
150 CALL RAMDISK(0):CALL RAMDISK(4000):'RAMDISK
160 PRINT"3) LANCER LA NUMERISATION A LA VOLEE
170 PRINT"
180 PRINT"   OPERATIONS POSSIBLES:
190 PRINT"   [STOP] => FAIRE UN ARRET SUR IMAGE
200 PRINT"   [CTRL]+[STOP] => SAUVER UNE/DES IMAGES
210 PRINT"   [CTRL]+[STOP]+[ESPACE] => QUITTER LA NUMERISATION
220 PRINT"
230 A$=INKEY$:IF A$=""THEN230
240 SCREEN8:COLOR 255,255,255
250 COPY SCREEN0:ON STOP GOSUB 260:STOP ON:GOTO250
260 COPY SCREEN0:N$=RIGHT$(STR$(N),LEN(STR$(N))-1):BSAVE"H:IMAGE"+N$+".SC8",0,&HD3FF,S:N=N+1:A$=INKEY$:IF A$=""THEN250ELSE270
270 SET VIDEO 0,0,0:SCREEN0:COLOR 1,15,15
280 PRINT"4) LANCER LA VISIONNEUSE
290 PRINT"
295 PRINT"   OPERATIONS POSSIBLES:
300 PRINT"   [STOP] => FAIRE UN ARRET SUR IMAGE
310 PRINT"   [CTRL]+[STOP] => QUITTER LE PROGRAMME
320 ON STOP GOSUB360:STOP ON:A$=INKEY$:IF A$=""THEN320
330 SET VIDEO 0,0,0:N=1
340 COLOR ,,0:SCREEN8
350 N$=RIGHT$(STR$(N),LEN(STR$(N))-1):BLOAD"H:IMAGE"+N$+".SC8",S:N=N+1:GOTO350
360 SET VIDEO 0,0,0:SCREEN0:COLOR 1,15,15:WIDTH 80
Login or register to post comments

By flyguille

Prophet (3029)

flyguille's picture

05-10-2013, 00:32

shit, they are quick, the video link is already down!.

By igal

Master (211)

igal's picture

06-10-2013, 17:19

A new vidéo in real time with BlueMsx.
Gradius 5:
http://www.youtube.com/watch?v=pe4qiDisfzA

On a real MSX 8280 here:
http://www.youtube.com/watch?v=8yimCUW0Dw0

By SLotman

Paragon (1214)

SLotman's picture

06-10-2013, 18:50

Oh, when I first read the title I though this was about playing fullscreen videos on scr8... Sad

By flyguille

Prophet (3029)

flyguille's picture

06-10-2013, 18:54

the gradious vid, is when you capture the game or you are showing the video replay?

By hit9918

Prophet (2866)

hit9918's picture

06-10-2013, 20:44

@Igal, the first video is blocked because of copyright issues.
Is screen 8 video of too high quality Big smile

At how much frames per second does the program save?
This line

260 COPY SCREEN0:N$=RIGHT$(STR$(N),LEN(STR$(N))-1):BSAVE"H:IMAGE"+N$+".SC8",0,&HD3FF,S:N=N+1:A$=INKEY$:IF A$=""THEN250ELSE270

has many BASIC ops.

It should look something like this:

260 COPY SCREEN0:BSAVE"H:IMAGE"+STR$(N)+".SC8",0,&HD3FF,S:N=N+1:GOTO260

To get out of the loop with keys is the job of ON STOP GOSUB or maybe ON KEY GOSUB, save the time for asking INKEY$.
In line 250 you seem to have this optimization, but there it is not so much nessesary,
the BSAVE loop needs it much more.

In string processing, storage of result of a variable seems to take the time.
So do the string processing in BSAVE directly, not with storing to N$ first.

p.s.
the complicated RIGHT$ seems to do no different than simple STR$, so I cut it out.

By flyguille

Prophet (3029)

flyguille's picture

06-10-2013, 21:47

but iirc STR$() will insert a space character. is spaces allowed in filename?

a workaround can be to use HEX$() iirc for z80 is easy to convert binary to textual hexa expressions than to decimal textual expressions

By igal

Master (211)

igal's picture

06-10-2013, 22:23

Hi all.

@ SLotman : This is a video SCREEN 8.
The source is not played on MSX lack of sufficiently fast reader.

Nyyrikki made ​​a player SCREEN 4 and 12 frames per second with Dragon 's Lair Demo .

Maybe someone will make a reader SCREEN 8 with 5 images per second.

My loader is small and basic loads only 2 frames per second.

To return to the technique of this video, it is probably the COLOR SCREEN BUS displayed with fixed colors. ( Without pallet Chart ) .

At first , the idea is to scan the image of my choice at the time as I want in real time. It works fine .

I would do the same thing in SCREEN 12 using the same technique (COLOR BUS) but the colors are not correct !

If you know how Thanks Smile

@ Hit9918 : I tried the command line 260 but I have a [Bad Files Name In 260]. However, I have copied the command line as you wrote .

@ flyguille : I do not know if I understand the question:
This is a video I downloaded from Youtube.
1) I run the video with VirtualWebCam .
2) I selects [ Video Input ] on blueMSX (Virtual Webcam )
3) I run my little program
4) The video is visible in the emulator but Screen8
5) I did [ CTRL + STOP] to save on a RAM / images.

All images are Scanned in real time in SCREEN 8.
Only images I want are saved on disk H:

The Big problèm it's the speed of Saving it's very slow with one image by second save.

Tank for help Smile

By hit9918

Prophet (2866)

hit9918's picture

06-10-2013, 22:21

Oh I missed the issue with blank
so it would be

260 COPY SCREEN0:BSAVE"H:IMAGE"+MID$(STR$(N),2)+".SC8",0,&HD3FF,S:N=N+1:GOTO260

By hit9918

Prophet (2866)

hit9918's picture

06-10-2013, 22:36

However at 1 frame per second the code tuning wont make much difference.

It is a z80?
Saving 54262 bytes in one sceond is 65 cpu cycles per byte.
That is like 3.1 times z80 LDIR copy instruction.
It smells like BSAVE + RAM disk ends up in 3 times copying the data.

minimum 2 times copy is needed when the bdos API cannot save vram (a pity)
1. copy vram to ram
2. RAM disk copy RAM to controller

But maybe BSAVE does only 2 times copy and rest of the time is other overheads.
It is good speed when one considers it is BASIC.

By hit9918

Prophet (2866)

hit9918's picture

06-10-2013, 22:49

I find grabbing the video more critical than replay.
Saving on disk tends to be slower anyway because of additional bookkeeping.
Also one could compress things for replay, one doesnt have that time when grabbing.

Page 1/8
| 2 | 3 | 4 | 5 | 6