$BA0$N%Z!<%8(B $B $BL\


3. $B%=%U%H%&%'%"$N%$%s%9%H!<%k(B

3.1 Windows 95 $BMQ%=%U%H%&%'%"$N%$%s%9%H!<%k(B

Windows 95 $BMQ%I%i%$%P$N%$%s%9%H!<%k$O!"

  1. $BK\BN$K%\!<%I$r$H$j$D$1$F$+$i$O$8$a$F(B Windows 95 $B$r5/F0$9$k$H!"!V?7$7$$%O!<%I%&%'%"MQ$K%$%s%9%H!<%k$9$k%I%i%$%P$rA*Br$7$F$/$@$5$$!#!W$HI=<($5$l$^$9$N$G!"!V%O!<%I%&%'%"$N@=B$85$,Ds6!$9$k%I%i%$%P!W$rA*Br$7$F(B OK $B%\%?%s$r2!$7$^$9!#(B(*1)
  2. $BIUB0%G%#%9%/$r%U%m%C%T!<%G%#%9%/%I%i%$%V$KF~$l!"2hLL$N;X<($K=>$C$F%I%i%$%P$r(B$B%$%s%9%H!<%k$7$^$9!#(B(*2)
  3. $B%I%i%$%P$N%$%s%9%H!<%k$,=*$o$k$H!"!V?7$7$$%O!<%I%&%'%"$N@_Dj$r40N;$9$k$K$O!"%3%s%T%e!<%?$r:F5/F0$7$F$/$@$5$$!#:#$9$0:F5/F0$7$^$9$+!)!W$HI=<($5$l$^$9$N$G!"!V$O$$!W$rA*Br$7$F%^%7%s$r:F5/F0$7$^$9!#(B
(*1)
$B%\!<%I$H$j$D$18e$O$8$a$F(B Windows 95 $B$r5/F0$7$?:]!"%I%i%$%P$r%$%s%9%H!<%k$7$J$$$H!"$=$N8e$O!V?7$7$$%O!<%I%&%'%"!W$N%@%$%"%m%0%\%C%/%9$,I=<($5$l$^$;$s!#$=$N>l9g$O!"%G%9%/%H%C%W$N!V%^%$%3%s%T%e!<%?!W$r1&%/%j%C%/$7$F!V%W%m%Q%F%#!W!V%G%P%$%9%^%M!<%8%c!W$r=g$KA*Br$7!"!V(B$B$=$NB>$N%G%P%$%9!W$N2<$K$"$k!V(BPCI Multimedia Video Device$B!W$r:o=|$7$F$+$i!"%^%7%s$r:F5/F0$7$F$/$@$5$$!#(B
(*2)
$BIUB0%G%#%9%/$r$*;}$A$G$J$$J}$O!"(B $B%"%k%4%/%i%U%H$N%[!<%`%Z!<%8(B$B$+$i(B Windows 95 $BMQ%I%i%$%P$N%"!<%+%$%V%U%!%$%k$rF~

$B%"%W%j%1!<%7%g%s$O$=$N$^$^

3.2 Windows NT $BMQ%=%U%H%&%'%"$N%$%s%9%H!<%k(B

Windows NT $BMQ%I%i%$%P$N%$%s%9%H!<%k$O!"

  1. $B!V%3%s%H%m!<%k%Q%M%k!W$N(B$B!V%I%i%$%P!W$r%@%V%k%/%j%C%/$7$F!"!V%I%i%$%P$N@_Dj!W$N%@%$%"%m%0%\%C%/%9$r3+$-$^$9!#(BNT4.0$B$N(B$B>l9g$O(B$B!$(B$B!V%3%s%H%m!<%k%Q%M%k!W$N(B(I"(B$B%^%k%A%a%G%#%"(B(I#(B$B$+$i(B(I"(B$B%G%P%$%9(B(I#(B$B$rA*$S$^$9(B$B!#(B
  2. $B!VDI2C!W%\%?%s$r%/%j%C%/$7!"!V%I%i%$%P$NDI2C!W$N%@%$%"%m%0%\%C%/%9$r3+$-$^$9!#(B
  3. $B!V0lMw$K$J$$!"$^$?$O99?7$5(B$B$l$?%I%i%$%P!W$rA*Br$7!"(BOK $B%\%?%s$r%/%j%C%/$7$^$9!#(B
  4. $B%U%m%C%T!<%G%#%9%/%I%i%$%V$KIUB0%G%#%9%/$rF~$l!"2hLL$N;X<($K$7$?$,$C$F%I%i%$%P$r%$%s%9%H!<%k$7$^$9!#(B(*1)
(*1)
$BIUB0%G%#%9%/$r$*;}$A$G$J$$J}$O!"(B $B%"%k%4%/%i%U%H$N%[!<%`%Z!<%8(B$B$+$i(B Windows NT $BMQ%I%i%$%P$N%"!<%+%$%V%U%!%$%k$rF~

$B%"%W%j%1!<%7%g%s$O$=$N$^$^

3.3 Linux $BMQ%=%U%H%&%'%"$N%$%s%9%H!<%k(B

Linux $BMQ%=%U%H%&%'%"$N%$%s%9%H!<%k$O!"2<$No$O%+!<%M%k$r:F9=C[$9$kI,MW$b$"$j$^$;$s!#$J$*!"%P!<%8%g%s(B 2.0 $B%7%j!<%:(B$B0J30$N%+!<%M%k$G$O!"K\%I%i%$%P$r;HMQ$7$J$$$G$/$@$5$$!#(B

  1. $BIUB0%G%#%9%/$+$i(B Linux $B$*$h$S(B FreeBSD $BMQ%=%U%H%&%'%"$N%"!<%+%$%V%U%!%$%k$r%3%T!<$7$^$9!#(B(*1)
  2. % mcopy a:\\acvc_121.tgz acvc-1.21.tar.gz
    Copying acvc_121.tgz
  3. $B%"!<%+%$%V%U%!%$%k$rE,Ev$J%G%#%l%/%H%j$KE83+$7$^$9!#(B
  4. % tar xvzf acvc-1.21.tar.gz 
    acvc-1.21/
    acvc-1.21/common/
    acvc-1.21/common/vctest.c
    acvc-1.21/common/xvctest.c
    acvc-1.21/common/xvctest2.c
    acvc-1.21/common/vctest2
    acvc-1.21/common/vctest2_.c
    acvc-1.21/common/stereo.c
    acvc-1.21/Linux-2.0.x/
    acvc-1.21/Linux-2.0.x/acvc.c
    acvc-1.21/Linux-2.0.x/acvc.h
    $B!JCfN,!K(B
    acvc-1.21/FreeBSD-2.1.x/xvctest2
    acvc-1.21/FreeBSD-2.1.x/xvctest3.o
    acvc-1.21/FreeBSD-2.1.x/xvctest3
  5. $B%+%l%s%H%G%#%l%/%H%j$r!"E83+$7$?%U%!%$%kCf$N(B Linux $BMQ%G%#%l%/%H%j$K0\F0$7$^$9!#(B
  6. % cd acvc-1.21
    % cd Linux-2.0.x
  7. xmkmf $B%3%^%s%I$r Makefile $B$r@8@.$7$^$9!#(B
  8. % xmkmf -a
    mv -f Makefile Makefile.bak
    imake -DUseInstalled -I/usr/X11R6/lib/X11/config
    make Makefiles
    make: Nothing to be done for `Makefiles'.
    make includes
    make: Nothing to be done for `includes'.
    make depend
    gccmakedep  --   -I/usr/X11R6/include  -Dlinux -D__i386__ -D_POSIX_SOURCE -D_BSD_SOURCE -D_GNU_SOURCE -DX_LOCALE  -DFUNCPROTO=15 -DNARROWPROTO    -- xvctest.c xvctest2.c 
    gccmakedep  -a -- -- acvc.c
    gccmakedep  -a -- -- vctest.c
    gccmakedep  -a -- -- vctest2_.c
    gccmakedep  -a -- -- stereo.c
    gccmakedep  -a -- -- svctest.c
  9. $B$O$8$a$+$i(B make $B:Q$_$N%P%$%J(B$B%j$,B8:_$7$^$9$,!"G0$N$?$a:F(B make $B$r9T$$$^$9!#(B(*2)
  10. % make clean
    rm -f acvc.o vctest vctest2_ stereo svctest xvctest xvctest2
    rm -f *.CKP *.ln *.BAK *.bak *.o core errs ,* *~ *.a .emacs_* tags TAGS make.log MakeOut  "#"*
    % make all
    rm -f acvc.o
    gcc -O2 -Wall -c acvc.c -o acvc.o
    rm -f vctest
    gcc -O2 -Wall vctest.c -o vctest
    rm -f vctest2_
    gcc -O2 -Wall vctest2_.c -o vctest2_
    rm -f stereo
    gcc -O2 -Wall stereo.c -o stereo
    rm -f svctest
    gcc -O2 -Wall svctest.c -lvgagl -lvga -o svctest
    gcc -O2 -Wall -ansi    -I/usr/X11R6/include  -Dlinux -D__i386__ -D_POSIX_SOURCE -D_BSD_SOURCE -D_GNU_SOURCE -DX_LOCALE  -DFUNCPROTO=15 -DNARROWPROTO     -c xvctest.c -o xvctest.o
    rm -f xvctest
    gcc -o xvctest -O2 -Wall -ansi     -L/usr/X11R6/lib xvctest.o  -lXExExt -lXext -lX11       -Wl,-rpath,/usr/X11R6/lib
    gcc -O2 -Wall -ansi    -I/usr/X11R6/include  -Dlinux -D__i386__ -D_POSIX_SOURCE -D_BSD_SOURCE -D_GNU_SOURCE -DX_LOCALE  -DFUNCPROTO=15 -DNARROWPROTO     -c xvctest2.c -o xvctest2.o
    rm -f xvctest2
    gcc -o xvctest2 -O2 -Wall -ansi     -L/usr/X11R6/lib xvctest2.o  -lXaw -lXmu -lXt -lSM -lICE -lXExExt -lXext -lX11       -Wl,-rpath,/usr/X11R6/lib
  11. $B%9!<%Q!<%f!<%6$K$J$C$F!"%$%s%9%H!<%k$H%G%P%$%9%U%!%$%k$N:n@.$r9T$$$^$9!#(B
  12. % su
    Password:
    # make install
    install -c -s  xvctest /usr/X11R6/bin/xvctest
    install -c -s  xvctest2 /usr/X11R6/bin/xvctest2
    install -c -d /lib/modules/`uname -r`/misc
    install -c -m 0644 acvc.o /lib/modules/`uname -r`/misc/acvc.o
    install -c -d /usr/local/include
    install -c -m 0444 acvc.h /usr/local/include/acvc.h
    install -c -d /usr/local/bin
    install -c -s vctest /usr/local/bin/vctest
    install -c vctest2 /usr/local/bin/vctest2
    install -c -s vctest2_ /usr/local/bin/vctest2_
    install -c -s stereo /usr/local/bin/stereo
    install -c -s -m 4755 svctest /usr/local/bin/svctest
    install in . done
    # make dev
    rm -f /dev/acvc /dev/acvc0 /dev/acvc1
    mknod -m 444 /dev/acvc u 60 0
    mknod -m 444 /dev/acvc0 u 60 1
    mknod -m 444 /dev/acvc1 u 60 2
    # exit
    exit
  13. $BKh2s(B Linux $B$N5/F0D>8e$K!"%9!<%Q!<%f!<%6$H$J$j(B insmod $B%3%^%s%I$G%I%i%$%P$rAH$_9~$_$^$9!#(B(*3) (*4)
% su
Password:
# insmod acvc
# exit
exit
(*1)
$BIUB0%G%#%9%/$r$*;}$A$G$J$$J}$O!"(B $B%"%k%4%/%i%U%H$N%[!<%`%Z!<%8(B$B$+$i(B Linux $B$*$h$S(B FreeBSD $BMQ%=%U%H%&%'%"$N%"!<%+%$%V%U%!%$%k$rF~
(*2)
$B:F(B make $B$r9T$&$?$a$K$O!"$"$i$+$8$a(B svgalib $B$r%$%s%9%H!<%k$9$kI,MW$,$"$j$^$9!#(B
(*3)
$BB?$/$N%7%9%F%`$G$O=i4|2=%9%/%j%W%H$N5-=R$K$h$C$F!"<+F0E*$KAH$_9~$_$r9T$&$3$H$,$G$-$^$9!#DL>o$N(B Slackware $B4D6-$G$O(B /etc/rc.d/rc.S $B$N$O$8$a$N$[$&$K!V(B/sbin/insmod acvc$B!W$H=q$-2C$($^$9!#(B
(*4)
$BK\%I%i%$%P$O!"%U%l!<%`%P%C%U%!$H$7$FBgNL$NO"B3$7$?J*M}%a%b%j$rI,MW$H$7$^$9!#$7$?$,$C$F!"5/F0D>8e0J30$NAH$_9~$_$O!"6u$-%a%b%j$NCGJR2=$N$?$a<:GT$9$k2DG=@-$,$"$j$^$9!#$^$?!"K\%I%i%$%P$KBP$9$k(B kerneld $B$NMxMQ$O$*$9$9$a$G$-$^$;$s!#(B

3.4 FreeBSD $BMQ%=%U%H%&%'%"$N%$%s%9%H!<%k(B

FreeBSD $BMQ%=%U%H%&%'%"$N%$%s%9%H!<%k$O!"2<$N Loadable Kernel Module $B$N7ABV$GDs6!$5$l$F$$$^$9$N$G!"%+!<%M%k%=!<%9$K%Q%C%A$rEv$F$kI,MW$O$J$/!"DL>o$O%+!<%M%k$r:F9=C[$9$kI,MW$b$"$j$^$;$s!#$J$*!"%P!<%8%g%s(B 2.1.0 $B$^$?$O(B 2.1.5 $B0J30$N%7%9%F%`$G$O!"K\%I%i%$%P$r;HMQ$7$J$$$G$/$@$5$$!#(B

  1. $BIUB0%G%#%9%/$+$i(B Linux $B$*$h$S(B FreeBSD $BMQ%=%U%H%&%'%"$N%"!<%+%$%V%U%!%$%k$r%3%T!<$7$^$9!#(B(*1)
  2. % mcopy a:\\acvc_121.tgz acvc-1.21.tar.gz
    Copying acvc_121.tgz
  3. $B%"!<%+%$%V%U%!%$%k$rE,Ev$J%G%#%l%/%H%j$KE83+$7$^$9!#(B
  4. % tar xvzf acvc-1.21.tar.gz 
    acvc-1.21/
    acvc-1.21/common/
    acvc-1.21/common/vctest.c
    acvc-1.21/common/xvctest.c
    acvc-1.21/common/xvctest2.c
    acvc-1.21/common/vctest2
    acvc-1.21/common/vctest2_.c
    acvc-1.21/common/stereo.c
    acvc-1.21/Linux-2.0.x/
    acvc-1.21/Linux-2.0.x/acvc.c
    acvc-1.21/Linux-2.0.x/acvc.h
    $B!JCfN,!K(B
    acvc-1.21/FreeBSD-2.1.x/xvctest2
    acvc-1.21/FreeBSD-2.1.x/xvctest3.o
    acvc-1.21/FreeBSD-2.1.x/xvctest3
  5. $B%+%l%s%H%G%#%l%/%H%j$r!"E83+$7$?%U%!%$%kCf$N(B FreeBSD $BMQ%G%#%l%/%H%j$K0\F0$7$^$9!#(B
  6. % cd acvc-1.21
    % cd FreeBSD-2.1.x
  7. xmkmf $B%3%^%s%I$r Makefile $B$r@8@.$7$^$9!#(B
  8. % xmkmf -a
    mv -f Makefile Makefile.bak
    imake -DUseInstalled -I/usr/X11R6/lib/X11/config
    make Makefiles
    make includes
    make depend
    gccmakedep  --   -I/usr/X11R6/include  -DCSRG_BASED  -DFUNCPROTO=15 -DNARROWPROTO    -- xvctest.c xvctest2.c xvctest3.c
    gccmakedep -I/usr/src/sys  -a -- -- acvc.c
    gccmakedep  -a -- -- vctest.c
    gccmakedep  -a -- -- vctest2_.c
    gccmakedep  -a -- -- stereo.c
  9. $B$O(B$B$8$a$+$i(B make $B:Q$_$N%P%$%J%j$,B8:_$7$^$9$,!"G0$N$?$a:F(B make $B$r9T$$$^$9!#(B(*2)
  10. % make clean
    rm -f acvc_mod.o vctest vctest2_ stereo xvctest xvctest2 xvctest3
    rm -f *.CKP *.ln *.BAK *.bak *.o core errs ,* *~ *.a .emacs_* tags TAGS make.log MakeOut *.core "#"*
    % make all
    rm -f acvc_mod.o
    gcc -I/usr/src/sys -O2 -Wall -c acvc.c
    acvc.c:844: warning: missing braces around initializer for `_module.lkm_dev'
    ld -r acvc.o -o acvc_mod.o
    rm -f vctest
    gcc -O2 -Wall vctest.c -o vctest
    rm -f vctest2_
    gcc -O2 -Wall vctest2_.c -o vctest2_
    rm -f stereo
    gcc -O2 -Wall stereo.c -o stereo
    gcc -O2 -Wall     -I/usr/X11R6/include  -DCSRG_BASED  -DFUNCPROTO=15 -DNARROWPROTO   -c xvctest.c
    rm -f xvctest
    gcc -o xvctest -O2 -Wall      -L/usr/X11R6/lib xvctest.o  -lXExExt -lXext -lX11    -lgnumalloc   
    gcc -O2 -Wall     -I/usr/X11R6/include  -DCSRG_BASED  -DFUNCPROTO=15 -DNARROWPROTO   -c xvctest2.c
    rm -f xvctest2
    gcc -o xvctest2 -O2 -Wall      -L/usr/X11R6/lib xvctest2.o  -lXaw -lXmu -L/usr/X11R6/lib -lXt -lX11 -lXt -lSM -lICE -lXExExt -lXext -lX11    -lgnumalloc   
    gcc -O2 -Wall     -I/usr/X11R6/include  -DCSRG_BASED  -DFUNCPROTO=15 -DNARROWPROTO   -c xvctest3.c
    rm -f xvctest3
    gcc -o xvctest3 -O2 -Wall      -L/usr/X11R6/lib xvctest3.o  -lXExExt -lXext -lX11    -lgnumalloc   
  11. $B%9!<%Q!<%f!<%6$K$J$C$F!"%$%s%9%H!<%k$H%G%P%$%9%U%!%$%k$N(B$B:n@.$r9T$$$^$9!#(B
  12. % su
    Password:
    # make install
    /usr/bin/install -c -s  xvctest /usr/X11R6/bin/xvctest
    /usr/bin/install -c -s  xvctest2 /usr/X11R6/bin/xvctest2
    /usr/bin/install -c -s  xvctest3 /usr/X11R6/bin/xvctest3
    /usr/bin/install -c -m 0444 acvc.h /usr/local/include/acvc.h
    /usr/bin/install -c acvc_mod.o /lkm/acvc_mod.o
    /usr/bin/install -c -s vctest /usr/local/bin/vctest
    /usr/bin/install -c vctest2 /usr/local/bin/vctest2
    /usr/bin/install -c -s vctest2_ /usr/local/bin/vctest2_
    /usr/bin/install -c -s stereo /usr/local/bin/stereo
    install in . done
    # make dev
    rm -f /dev/acvc /dev/acvc0 /dev/acvc1
    mknod /dev/acvc c 20 0
    mknod /dev/acvc0 c 20 1
    mknod /dev/acvc1 c 20 2
    chmod 666 /dev/acvc /dev/acvc0 /dev/acvc1
    # exit
    exit
  13. $BKh2s(B FreeBSD $B$N5/F0D>8e$K!"%9!<%Q!<%f!<%6$H$J$j(B modload $B%3%^%s%I$G%I%i%$%P$r(B$BAH$_9~$_$^$9!#(B(*3) (*4) (*5)
% su
Password:
# modload -e acvc_init /lkm/acvc_mod.o
Module loaded as ID 0
# exit
(*1)
$BIUB0%G%#%9%/$r$*;}$A$G$J$$J}$O!"(B $B%"%k%4%/%i%U%H$N%[!<%`%Z!<%8(B$B$+$i(BLinux $B$*$h$S(B FreeBSD $BMQ%=%U%H%&%'%"$N%"!<%+%$%V%U%!%$%k$rF~
(*2)
$BESCf(B$B0l%v=j(B Warning $B$,=PNO$5$l$^$9$,!"$3$l$O(B FreeBSD $B<+?H$N%+!<%M%k%=!<%9$KM3Mh$9$k$b$N$G!"
(*3)
$BB?$/$N%7%9%F%`$G$O=i4|2=%9%/%j%W%H$N5-=R$K$h$C$F!"<+F0E*$KAH$_9~$_$r9T$&$3$H$,$G$-$^$9!#DL>o$O(B /etc/rc $B$K$*$$$F!V(Bmount -a -t nonfs$B!W$H=q$+$l$?ItJ,$N
if [ -x /lkm/acvc_mod.o ]; then
        /sbin/modload -e acvc_init /lkm/acvc_mod.o
fi
(*4)
$BK\%I%i%$%P$O!"%U%l!<%`%P%C%U%!$H$7$FBgNL$NO"B3$7$?J*M}%a%b%j$rI,MW$H$7$^$9!#$7$?$,$C$F!"5/F0D>8e0J30$NAH$_9~$_$O!"6u$-%a%b%j$NCGJR2=$N$?$a<:GT$9$k2DG=@-$,$"$j$^$9!#(B
(*5)
FreeBSD 2.1.0 $B$*$h$S(B 2.1.5 $B$N%+!<%M%k$O%a%b%j4IM}$KLdBj$,$"$k$?$a!"0lEY%m!<%I$7$?%b%8%e!<%k$r%"%s%m!<%I$7$?$j!"(B2 $B2s0J>e%m!<%I$7$?$j$7$J$$$G$/$@$5$$!#(B


$BA0$N%Z!<%8(B $B $BL\