Hi,
Recently I've acquired a Philips NMS 8280 machine and I'm looking for software that could use additional video input capabilities of this computer. Any existing?
Thanks!
!login ou Inscrivez-vous pour poster
Hi,
Recently I've acquired a Philips NMS 8280 machine and I'm looking for software that could use additional video input capabilities of this computer. Any existing?
Thanks!
Welcome here, dely!
You can easily do this using the built-in BASIC! Basically you set some VDP registers (or other bits the hardware uses to select between inputs etc), flip a bit in the VDP that tells it to grab a frame, and -optionally- save that to disk. BASIC commands for this purpose are MSX-BASIC standard (any MSX with superimpose / digitize capability should use the same commands to do that job), see a good book on that.
It's most easy to do this with a video source connected that produces video continuously. Say a VCR, DVD / media player or similar. As for how to connect those, what input on the machine to use etc: probably the NMS 8280 user manual has more on that.
An afternoon loooonnng ago I whipped up a couple of BASIC programmes for exactly this purpose. I've translated the comments in them. Forgot what each does exactly, but they should be mostly self-explanatory:
10 ' digitize on Philips NMS 8280 20 ' settings: 30 ' monitor connected to SCART 40 ' VCR (running!) on video-in (RCA) 50 ' source select set to AV in (button off) 60 ' video mix to taste, adjust using digitize level 70 DEFINT A-Z:F=1 80 SCREEN 8: COLOR ,0,0: CLS 90 LINE (50,50)-(200,150),255,B,XOR 100 SET VIDEO 1 '0/1:computer, 2:superimp., 3=video (1-3 extern.sync) 110 SET VIDEO ,0 'intensity: 0=full, 1=half 120 SET VIDEO ,,1 'color bus: 0=output, 1=input 130 SET VIDEO ,,,1 'sync: 0 internal, 1 external 140 SET VIDEO ,,,,2 'audio mix: 0 computer, 1 comp+R, 2 comp+L, 3 comp+L+R 150 SET VIDEO ,,,,,1 'external video from: 0: RGB, 1: TV 160 SET VIDEO ,,,,,,1 'video out (RGB): 0:off, 1:on 170 VDP(7)=&B11111111 'color code-mask (binary gggrrrbb) 180 'VDP(0)=VDP(0) OR 64 ' set DG-bit (start to digitize) 190 X$=INPUT$(1) 195 COPY SCREEN 196 TIME=0 197 IF TIME<1 THEN GOTO 197 200 'VDP(0)=VDP(0) AND 191 ' digitize off 210 SET VIDEO 0,0,0,0,0,0,0 230 IF X$="s" OR X$="S" THEN BSAVE "test"+HEX$(F)+".pic",0,54271!,S:F=F+1 235 IF X$<>CHR$(27) THEN GOTO 100 240 SCREEN 0: COLOR 15,4
Similar:
10 ' digitize on Philips NMS 8280 20 ' settings: 30 ' monitor connected to SCART 40 ' VCR (running!) to video-in (RCA) 50 ' source select set to AV in (button off) 60 ' video mix to taste, adjust using digitize level 70 DEFINT A-Z 80 SCREEN 8: COLOR ,0,0: CLS 90 LINE (50,50)-(200,150),255,B,XOR 100 SET VIDEO 1 '0/1:computer, 2:superimp., 3=video (1-3 extern.sync) 110 SET VIDEO ,0 'intensity: 0=full, 1=half 120 SET VIDEO ,,1 'color bus: 0=output, 1=input 130 SET VIDEO ,,,1 'sync: 0 internal, 1 external 140 SET VIDEO ,,,,2 'audio mix: 0 computer, 1 comp+R, 2 comp+L, 3 comp+L+R 150 SET VIDEO ,,,,,1 'external video from: 0: RGB, 1: TV 160 SET VIDEO ,,,,,,1 'video out (RGB): 0:off, 1:on 170 VDP(7)=&B11111111 'color code-mask (binary gggrrrbb) 180 VDP(0)=VDP(0) OR 64 ' set DG-bit (start to digitize) 190 X$=INPUT$(1) 200 FORT=1 TO 19: NEXT:VDP(0)=VDP(0) AND 191 ' digitize off 210 SET VIDEO 0,0,0,0,0,0,0 220 X$=INPUT$(1) 230 IF X$="s" OR X$="S" THEN BSAVE "test.pic",0,54271!,S 240 SCREEN 0: COLOR 15,4
Probably the most fun / interesting / useful:
10 ' 20 ' Digitize a series of images on the Philips NMS 8280 30 ' by Alwin Henseler 40 ' 50 ' Controls: 60 ' random key / fire button: 'freeze' frame 70 ' then: key / fire button: next try 80 ' RETURN: save image to disk (filename in line 570) 90 ' continuous: ESC = stop 100 ' 110 NR=1 'start-number of images to save 120 SCREEN 8: COLOR ,,0 130 SET VIDEO 1,0,1,1,3,0,0 140 ' | | | | | | + 0: no A/V output via RGB-connector 150 ' | | | | | | 1: A/V output via RGB-connector 160 ' | | | | | +-- 0: video input via RGB-connector 170 ' | | | | | 1: video input via TV-connector 180 ' | | | | +---- 0: computer sound 190 ' | | | | 1: mix computer sound with right channel 200 ' | | | | 2: mix computer sound with left channel 210 ' | | | | 3: mix computer sound with L+R channels 220 ' | | | +------ 0: internal synchronisation 230 ' | | | 1: external synchronisation 240 ' | | +-------- 0: colour bus output 250 ' | | 1: colour bus input 260 ' | +---------- 0: full brightness 270 ' | 1: half brightness 280 ' +------------ 0: computer image (internal sync.) 290 ' 1: computer image (external sync.) 300 ' 2: computer image over video image (superimpose) 310 ' 3: video image 320 GOSUB 390 'grab image 330 IF I$=CHR$(27) THEN GOTO 620 'stop 340 IF I$=CHR$(13) THEN GOSUB 560 'save image 350 GOTO 320 360 ' 370 ' Grab image: 380 ' 390 VDP(0)=VDP(0) OR 64 'set DG-bit VDP to on 400 TIME=0 410 IF TIME<1 THEN GOTO 410 'wait for VDP-interrupt 420 GOSUB 520 'wait for key press 430 VDP(0)=VDP(0) AND 191 'set DG-bitje back to off 440 TIME=0 450 IF TIME<1 THEN GOTO 450 460 IF I$=CHR$(27) THEN RETURN 470 GOSUB 520 'wait for key press 480 RETURN 490 ' 500 ' wait for a key to be pressed: 510 ' 520 I$=INKEY$: IF I$<>"" OR STRIG(1) OR STRIG(2) THEN RETURN ELSE GOTO 520 530 ' 540 ' Save image: 550 ' 560 NR$=RIGHT$(STR$(NR),LEN(STR$(NR))-1) 570 BSAVE "DIGI"+NR$+".SC8",0,54271!,S 580 NR=NR+1: RETURN 590 ' 600 ' Stop: 610 ' 620 SET VIDEO 0,0,0,0,0,0,0 630 END
This should get you started.. good luck!
Oh and before you start typing: just copy & paste a program above into a plain text editor, make sure you set it to use DOS/Windows style line endings, save, and your MSX will be able to load that right in. Unless typing is easier than copy & paste + transfer files...
The official software that came with the machine was Videographics. You can probably find it somewhere.
The reason I started the MSX Info pages was my interest in the NMS8280 video capabilities.
And it is still there, now celebrating its 20th birthday, all technical info and programs:
http://msx.hansotten.com/special-msx-hardware/msx-video-comp...
Whoa. Lots of information, thank you very much guys!
Don't you have an account yet? Become an MSX-friend and register an account!