$B!|(BQV-10$B$NDL?.%W%m%H%3%k(B             1996.4.16 ken-ichi HAYASHI

$B0J2<$K=q$+$l$F$$$k>pJs$ONS$,FH<+$KD4::$7$?$b$N$G$9!#(B
$B$3$N>pJs$K4X$7$F(BCASIO$B$5$s$KLd$$9g$o$;Ey$r9T$J$&$3$H$O(B
$B!V@dBP$K!W$7$J$$$G$/$@$5$$!#(B

$B0J2<$K=q$+$l$F$$$k>pJs$OBg13$+$bCN$l$^$;$s!#(B
$B$3$N>pJs$K$7$?$,$C$?$;$$$G(BQV-10$B$d$=$NCf$N2hA|$,GK2u$5$l$?$j!"(B
$B@:?@E*!"J*<AE*B;32$rHo$C$?$H$7$F$bNS$O0l@Z@UG$$r$H$j$^$;$s!#(B

$B0J2<$K=q$+$l$F$$$k>pJs$OM=9p$J$/=$@5$5$l$^$9!#(B

QV-10$B$H%[%9%H%3%s%T%e!<%?$H$O@lMQ$N@\B3%1!<%V%k$G(B
$B@\B3$7$^$9$,!"$3$l$r(BRS-232C$B%3%M%/%?B&(B($B%[%9%H%3%s%T%e!<%?B&(B)
$B$+$iD/$a$?>l9g!"0J2<$N$h$&$J%W%m%H%3%k$GDL?.$7$F$$$k$h$&$G$9!#(B

9600baud 8 bit stop bit 1 Non parity
$B%U%m!<@)8f(B $B0l@Z$J$7(B

RTS$B$,(BOFF$B$G$J$$$H(BQV10$B$+$i$N%G!<%?$ON.$l$FMh$^$;$s(B
CTS$B$O>o$K(BON$B$K$J$C$F$k$_$?$$$G$9$,!"4X78$J$$$G$7$g$&(B
(RTS$B$K$D$$$F$O(Bqvplay$B$N(BREADME$B$b;2>H$7$F$/$@$5$$!#(B)

DTR$B$b>o$K(BON$B$N$h$&$G$9!#(B

QV-10$B$r%Q%o!<%*%s$7$?D>8e$NDL?.B.EY$O(B9600baud$B$G$9$,!"(B
$B8e=R$N(B"CB"$B%3%^%s%I$K$h$jDL?.B.EY$rJQ99$7$^$9!#(B
$BJQ99$5$l$?DL?.B.EY$O%Q%o!<%*%s$7$J$*$5$l$k$+!"(B
"CB"$B%3%^%s%I$G:FJQ99$5$l$k$^$GM-8z$G$9!#(B

$B4pK\E*$K(BQV-10$B$rA`:n$9$k$?$a$K(BQV-10$B$XAw$k%3%^%s%I$O(B
$B0J2<$N$h$&$J$b$N$G$9!#(B

0x05 0xXX 0xXX ... 0x06
$B$N(B05$B$G;O$^$C$F?t%P%$%H$N%3%^%s%I$rAw$C$F(B0x06$B$GJD$8$k(B
$B$H$$$&7A<0!":G8e$N(B0x06$B$G%3%^%s%IBT5!%b!<%I$XI|5"!#(B
$B!t<B:]$O:G=i$N(B0x05$B$OI,MW$J$$$H;W$$$^$9!#(B

$B!|%3%^%s%I0lMw(B
  QV$B$XAw$k%G!<%?(B
  ---------------------------------------
  QV$B$N1~Ez%G!<%?(B

  $B#27e$N?tCM$O#1#6?JI=5-!"(B'QR'$B$N$h$&$K(B'$B$G$/$/$C$F$"$k$N$O(B
 $B$=$NJ8;z$N%"%9%-!<CM$rAw$k$H$$$&0UL#$G$9!#(B'QR'$B$J$i(B0x51 0x52
 $B$N#2%P%$%H$rAw$C$F$$$k$H$$$&$3$H$G$9!#(B

$B!&%j%;%C%H(B
  05  'QR' 06
  ------------     QV10$B$r%j%;%C%H>uBV$K$7$^$9!#(B
    06   5c        $B$3$N%3%^%s%I$O$$$+$J$k>uBV$G$b$&$1$D$1$k(B
                   $B$h$&$G$9(B
                   QV10$B$+$i$NJV;v(B5c$B$N0UL#$O$h$/$o$+$j$^$;$s!#(B

$B!&%j%;%C%H$=$N#2(B
  05  'QE' 06
  ------------     QV10$B$r%j%;%C%H>uBV$K$7$^$9$,!"(B
    06   69        QV10$B$N2hLL$r%/%j%"$7$^$;$s!#(B
                   QV10$B$+$i$NJV;v(B69$B$N0UL#$O$h$/$o$+$j$^$;$s!#(B

$B!&2?Kg$N2hA|$r$b$C$F$$$k$+!)(B
  05  'MP' 06
  --------------   QV10$B$K2?Kg$N2hA|$,5-O?$5$l$F$$$k$+$rLd$$9g$o$;(B
    06   62  XX    $B$^$9!#(B
                   XX$B$KKg?t$,JV$j$^$9!#(B
                   QV10$B$+$i$NJV;v(B62$B$N0UL#$O$h$/$o$+$j$^$;$s!#(B

$B!&(BQV10$B$N(BLCD$B$N2hLL$r@ZBX$($k(B
  05  'DA' XX  06
  ---------------- QV10$B$N(BLCD$B$KI=<($9$k2hLL$r(BXX$BHVL\$N2hA|$K(B
    06       YY    $B@ZBX$($^$9!#(B
                   QV10$B$+$i$NJV;v(BYY$B$O(B(7a - XX)$B$K$J$k$_$?$$$G$9!#(B

$B!&%a%$%s2hA|$r(BJPEG$B7A<0$G$r<h$j=P$9(B
  05  'DA' XX  06 05  'MG'  06 12            06          
  ---------------------------------------------------------
    06       YY     06    ZZ     [$B2hA|%G!<%?(B]  [$B2hA|%G!<%?(B]

  06            06                  06
  ----------------------------......----------------
    [$B2hA|%G!<%?(B]  [$B2hA|%G!<%?(B]        02 00 00 03 FC
                                      $B%(%s%I%^!<%/!)(B

  XX$B$O2hA|HV9f$r;XDj$7$^$9!#(B
  QV10$B$+$i$NJV;v(BYY$B$O(B(0x7a - XX)$B$N$h$&$G$9!#(B
  QV10$B$+$i$NJV;v(BZZ$B$O$h$/$o$+$j$^$;$s!#(B

  $B2hA|%G!<%?$N>\:Y(B
  02 WW WW JJ JJ JJ JJ JJ ........ 17 SS
        
  WW WW: $B%G!<%?%5%$%:(B($B#2%P%$%H(B)$B!"DL>o(B00 80(128$B%P%$%H(B)$B!"(B
      $B%(%s%I%^!<%/D>A0$N:G8e$N%G!<%?$O$=$N%5%$%:(B(00 80$B0J2<(B)
  JJ: $B%G!<%?%5%$%:J,$N2hA|%G!<%?(B(cam$B7A<0$N(BJPEG$B$b$I$-ItJ,(B)
      $B>\$7$/$O4d4V$5$s$N2r@O;qNA$r;2>H$7$F$/$@$5$$!#(B
  SS: $B%A%'%C%/%5%`(B
      2$B%P%$%HL\(B($B@hF,$N(B02$B$ND>8e(B)$B$+$i(BSS$B$ND>A0(B(17)$B$^$G$NAmOB(B
      $B$N#1$NJd?t(B

$B!&(BJPEG$B7A<0$N2hA|$r(BQV-10$B$X=q$-$3$`(B
  05  'MH'   06   [$B2hA|%G!<%?(B]  [$B2hA|%G!<%?(B]
  ---------------------------------------------------------
    06    YY    12            06            06
                  
    [$B2hA|%G!<%?(B]  [$B2hA|%G!<%?(B]        02 00 00 03 FC
  ----------------------------......----------------
  06            06                  06

  05  'DJ'   06 
  --------------
    06    ZZ    

  QV10$B$+$i$NJV;v(BYY$B$O$h$/$o$+$j$^$;$s!#(B
  QV10$B$+$i$NJV;v(BZZ$B$O$h$/$o$+$j$^$;$s!#(B

  $B2hA|%G!<%?$N>\:Y$OA0=P$N(BJPEG$B7A<0$N2hA|<h$j=P$7$G(B
  $B@bL@$7$F$$$k$b$N$HF1$8$G$9!#(B

$B!&(Bthumbnail$B2hA|$r(BYCC$B7A<0$G<h$j=P$9(B
  05  'DH' XX  06 05  'MK'  06 12            06          
  ---------------------------------------------------------
    06       YY     06    ZZ     [$B2hA|%G!<%?(B]  [$B2hA|%G!<%?(B]

  06            06                  06
  ----------------------------......----------------
    [$B2hA|%G!<%?(B]  [$B2hA|%G!<%?(B]        02 00 00 03 FC
                                      $B%(%s%I%^!<%/!)(B

  XX$B$O2hA|HV9f$r;XDj$7$^$9!#(B
  QV10$B$+$i$NJV;v(BYY$B$O(B(0x73 - XX)$B$N$h$&$G$9!#(B
  QV10$B$+$i$NJV;v(BZZ$B$O$h$/$o$+$j$^$;$s!#(B

  $B2hA|%G!<%?$N>\:Y(B
  02 WW WW TT TT TT TT TT ........ 17 SS
        
  WW WW:  $B%G!<%?%5%$%:(B($B#2%P%$%H(B)$B!"DL>o(B00 80(128$B%P%$%H(B)$B!"(B
      $B%(%s%I%^!<%/D>A0$N:G8e$N%G!<%?$O$=$N%5%$%:(B(00 80$B0J2<(B)
  TT: $B%G!<%?%5%$%:J,$N2hA|%G!<%?(B(cam$B7A<0$N(Bthumbnail$BItJ,(B)
  SS: $B%A%'%C%/%5%`(B
      2$B%P%$%HL\(B($B@hF,$N(B02$B$ND>8e(B)$B$+$i(BSS$B$ND>A0(B(17)$B$^$G$NAmOB(B
      $B$N#1$NJd?t(B

  $B!v(Bcam$B7A<0$N(Bthumbnail$BItJ,$O#5#2!_#3#6!_#3!a#5#6#1#6%P%$%H(B
    $B$"$j$^$9$,!"$3$l$GF@$i$l$k%G!<%?$O$=$NH>J,$N#2#8#0#8(B
    $B%P%$%H$7$+$"$j$^$;$s!#(B
  $B!v#2#8#0#8%P%$%H$N$&$A(B
    $B@hF,$+$i#1#8#7#2%P%$%H$O#5#2!_#3#6%I%C%HJ,$N51EY(B(Y)$B>pJs(B(0$B!A(B255)$B!"(B
        $B<!$N#4#6#8%P%$%H$,#2#6!_#1#8%I%C%HJ,$N(BCb$B>pJs(B(-128$B!A(B127)
    $B$=$N<!$N#4#6#8%P%$%H$,#2#6!_#1#8%I%C%HJ,$N(BCr$B>pJs(B(-128$B!A(B127)
    $B$G$9!#(B
    Y$B$O(Bunsigned char$B!"(BCb$B!"(BCr$B$OId9g$D$-(Bchar$B$GI=8=$5$l$F$$$k$h$&$G$9!#(B
    RGB$B$X$NJQ49$O(Bppm.c$B$r;2>H$7$F$/$@$5$$!#(BY$B$H(BCC$B$N?<$_$OE,Ev$K(B
    $B$D$1$F$$$^$9!#$=$N$?$a!"(Bcam$B7A<0$+$iCj=P$5$l$k%G!<%?$H40A4$K(B
    $B$O0lCW$7$^$;$s!#(B

$B!&%a%$%s2hA|$r(BYCC$B7A<0$G$r<h$j=P$9(B
  05  'DA' XX  06 05  'ML'  06 12            06          
  ---------------------------------------------------------
    06       YY     06    ZZ     [$B2hA|%G!<%?(B]  [$B2hA|%G!<%?(B]

  06            06                  06
  ----------------------------......----------------
    [$B2hA|%G!<%?(B]  [$B2hA|%G!<%?(B]        02 00 00 03 FC
                                      $B%(%s%I%^!<%/!)(B

  XX$B$O2hA|HV9f$r;XDj$7$^$9!#(B
  QV10$B$+$i$NJV;v(BYY$B$O(B(0x7a - XX)$B$N$h$&$G$9!#(B
  QV10$B$+$i$NJV;v(BZZ$B$O$h$/$o$+$j$^$;$s!#(B

  $B2hA|%G!<%?$N>\:Y(B
  02 WW WW JJ JJ JJ JJ JJ ........ 17 SS
        
  WW WW: $B%G!<%?%5%$%:(B($B#2%P%$%H(B)$B!"DL>o(B00 80(128$B%P%$%H(B)$B!"(B
      $B%(%s%I%^!<%/D>A0$N:G8e$N%G!<%?$O$=$N%5%$%:(B(00 80$B0J2<(B)
  JJ: $B%G!<%?%5%$%:J,$N2hA|%G!<%?(B(cam$B7A<0$N(BJPEG$B$b$I$-ItJ,(B)
      $B>\$7$/$O4d4V$5$s$N2r@O;qNA$r;2>H$7$F$/$@$5$$!#(B
  SS: $B%A%'%C%/%5%`(B
      2$B%P%$%HL\(B($B@hF,$N(B02$B$ND>8e(B)$B$+$i(BSS$B$ND>A0(B(17)$B$^$G$NAmOB(B
      $B$N#1$NJd?t(B

  $B!v%G!<%?7A<0$O(Bthumbnail$B2hA|$N(BYCC$B7A<0$H$[$H$s$IF1$8$G$9$,!"(B
    $BAm%G!<%?%5%$%:(B153600$B%P%$%H$N$&$A!"(B
    $B@hF,$+$i(B153600$B%P%$%H$O(B480$B!_(B240$B%I%C%HJ,$N51EY(B(Y)$B>pJs(B(0$B!A(B255)$B!"(B
        $B<!$N(B19200$B%P%$%H$,(B160$B!_(B120$B%I%C%HJ,$N(BCb$B>pJs(B(-128$B!A(B127)
    $B$=$N<!$N(B19200$B%P%$%H$,(B160$B!_(B120$B%I%C%HJ,$N(BCr$B>pJs(B(-128$B!A(B127)
    $B$G$9!#(B
    Y$B$O(Bunsigned char$B!"(BCb$B!"(BCr$B$OId9g$D$-(Bchar$B$GI=8=$5$l$F$$$k$h$&$G$9!#(B
    RGB$B$X$NJQ49$O(Bppm.c$B$r;2>H$7$F$/$@$5$$!#(BY$B$H(BCC$B$N?<$_$OE,Ev$K(B
    $B$D$1$F$$$^$9!#$=$N$?$a!"(Bjpeg$B7A<0$GI=8=$5$l$k%G!<%?$H$O40A4$K(B
    $B$O0lCW$7$^$;$s!#(B

$B!&(BYCC$B7A<0$N%a%$%s2hA|$r(BQV-10$B$X=q$-$3$`(B
  05  'MM'   06   [$B2hA|%G!<%?(B]  [$B2hA|%G!<%?(B]
  ---------------------------------------------------------
    06    XX    12            06            06
                  
    [$B2hA|%G!<%?(B]  [$B2hA|%G!<%?(B]        02 00 00 03 FC
  ----------------------------......----------------
  06            06                  06

  05  'DN'   06   05  'DJ'   06 
  -----------------------------
    06    YY        06    ZZ    

  QV10$B$+$i$NJV;v(BXX$B$O$h$/$o$+$j$^$;$s!#(B
  QV10$B$+$i$NJV;v(BYY$B$O$h$/$o$+$j$^$;$s!#(B
  QV10$B$+$i$NJV;v(BZZ$B$O$h$/$o$+$j$^$;$s!#(B

  [$B2hA|%G!<%?(B]$B$N%G!<%?7A<0$O(BYCC$B7A<0$N%a%$%s2hA|=q$-9~$_$G(B
  $B@bL@$7$F$$$k$b$N$H$*$J$8$G$9!#(B


$B!&(BQV-10$B$K5-O?$5$l$F$$$k2hA|$r:o=|$9$k(B
  05  'DF' XX  ff  06 
  -------------------   XX$B$O2hA|HV9f$r;XDj$7$^$9!#(B
    06           YY     QV10$B$+$i$NJV;v(BYY$B$O(B(0x76 - XX)$B$N$h$&$G$9!#(B

$B!&;#1F$9$k(B
  05  'DR' 06 
  -------------         $B;#1F$7$^$9!#(B
    06       YY         QV10$B$+$i$NJV;v(BYY$B$O$h$/$o$+$j$^$;$s!#(B

$B!&(BQV-10$B$NDL?.B.EY$rJQ$($k(B
  05  'CB' XX  06
  ----------------      QV10$B$NDL?.B.EY$rJQ99$7$^$9!#(B
    06       YY         XX$B$O(BQV10$BFbIt$N(BSerialControler$B$KM?$($k(B
                        $B%Q%i%a!<%?$N$h$&$G$9!#(B
                        XX$B$NCM$HDL?.B.EY$N4X78$O0J2<$N$H$*$j$G$9!#(B
                           XX :   baud
                           46 :   9600
                           22 :  19200
                           11 :  38400
                            7 :  57600
                            3 : 115200
                        (115200$B0J>e$O;n$7$F$$$^$;$s!#(B(^^;)
                        QV10$B$+$i$NJV;v(BYY$B$O$h$/$o$+$j$^$;$s!#(B

$B!&(BQV-10$B$K5-O?$5$l$F$$$k2hA|$N=gHV$rF~$l49$($k(B
  ($B$3$N5!G=$O%a%b%j$N=q$-49$($rH<$$!"$+$D%F%9%H$,IT==J,$G$9!#(B
   $B:G0-!"(BFATAL ERROR$B$K$J$k$+$b$7$l$^$;$s!#(B)

  05  'DI' XX  06  05  'DY' 02 XX  06  05  'DF' XX ff  06  05  'Dj' VV  06
  ------------------------------------------------------------------------
    06       YY      06          ZZ      06          WW      06       UU

                                  XX$B!'0\F0$9$k85$N2hA|$N2hA|HV9f(B
                                  YY$B!'(B(0x72 - XX) $B$@$H;W$$$^$9(B
                                  ZZ$B!'$h$/$o$+$j$^$;$s!#(B
                                  WW$B!'(B(0x76 - XX) $B$@$H;W$$$^$9(B
                                  VV$B!'0\F0$9$k@h$N2hA|$N2hA|HV9f(B
                                  UU$B!'(B(0x51 - XX) $B$@$H;W$$$^$9(B
   ($B",>iD9$JItJ,$,$"$k$h$&$J5$$,$7$^$9!#(B)

   $B7k2L$H$7$F$O(BXX$BHVL\$N2hA|$r:o=|$7$?8e$K!"F,$+$i?t$($F(B
   VV$BHVL\$K2hA|$rA^F~$7$?$h$&$JF0:n$K$J$j$^$9!#(B

   $BNc!'(BXX = 5 VV =2
       $B0\F0A0(B 1 2 3 4 5 6 ...
       $B0\F08e(B 1 5 2 3 4 6 ...

$B!&$=$NB>:Y$+$$ItJ,$O(Bcommand.c/command1.c/command2.c$B$r(B
  $B;2>H$7$F$/$@$5$$!#(B($B$r$$$r$$(B) (^^)

$B!|JaB*(B

$B%3%^%s%I$K@h$@$C$F9T$J$o$l$k(B05$BAw$C$F(B06$BJV;v$O#12s$@$1$G$J$/!"(B
$B2?2s9T$J$C$F$b$$$$$h$&$G$9!#C1=c$K!V@8$-$H$k$+!)!W!V$O$$$J!W(B
$B$@$H;W$$$^$9!#(B

itojun$B$5$s$+$i$N;XE&$G$9$,!"(B
16$B?J(B  ASCII$B%3!<%I(B $B0UL#(B
  02  STX        $BE>Aw$O$8$a$^$C$;(B
  03  ETX        $BE>Aw=*$o$j$^$9$@(B
  05  ENQ        $B855$!)(B 
  06  ACK        $B$*$C$1$#(B $B$^$?$O(B $B$&$1$H$j$^$7$?(B
  12  DC2        $B!)!)!)!)!)(B
  17  ETB        $B%V%m%C%/$*$7$^$$(B

$B$@$+$i!"$=$l$J$j$K0UL#$"$k$s$8$c!)(B $B$H$N$3$H$G$9!#(B
$B3N$+$K$$$o$l$F$_$l$P$=$l$C$]$$$G$9$M!#(B
$B$^$?!"2hA|%G!<%?$NFI$_$@$7$O(Bxmodem$B$N%W%m%H%3%k$K;w$F$$$k$h$&$@!"(B
$B$H$N$4;XE&$b$"$j$^$7$?!#$5$i$K$=$l$K$b$H$E$-!"(Bqvplay$B$N2hA|%G!<%?(B
$BFI$_$@$7ItJ,$N%(%i!<%j%+%P%jItJ,$r<BAu$7$F$/$@$5$$$^$7$?!#(B
($B$"$j$,$H$&$4$6$$$^$9!d(Bitojun$B$5$s(B)

$B%A%'%C%/%5%`$N;;=PJ}K!!"DL?.B.EYJQ99$K$D$$$F$O(BBrahma$B$5$s$h$j(B
$BHs>o$KM-1W$J>pJs$r$$$?$@$-$^$7$?!#%A%'%C%/%5%`$O%G!<%?$@$1(B
$B$8$c$J$/$F%G!<%?%5%$%:$H(B0x17$B$bB-$79~$`$H$$$&$N$,LUE@$G$7$?!#(B
$BDL?.B.EY$K$D$$$F$O(B115200baud$B0J>e$O<j;}$A$N(BI/O$B%+!<%I$,(B
$BBP1~$7$F$J$$$N$G<B83$G$-$^$;$s$G$7$?!#(BBrahma$B$5$s$N(BQVCOM$B$N(B
$B%I%-%e%a%s%H$K$O(Bover 57600$B$O%(%i!<$,B?$/$F$@$a$@!"$H$"$j(B
$B$^$7$?$,!"(B100LX$B$h$j$OBNNO$KM>M5$N$"$k!)%G%9%/%H%C%W%^%7%s(B
$B$@$H(B115200$B$G$bBg>fIW$G$7$?!#(B

$B!|$=$NB>(B
Windows$BHG$N%Q%=%3%s%j%s%/%=%U%H$NF0:n8+$F$$$k$H(B
$B2?EY$+(B05$B$rAw$C$F(B06$B$r<u$1<h$k$H$$$&F0:n$,L/$KB?$$!#(B
$BL5BL$H$b;W$($kFf$N%3%^%s%I$bAw=P$5$l$F$k!#(B
Windows$BHG$N%Q%=%3%s%j%s%/%=%U%H$O!"4pK\$O(B9600baud
$B$G%3%^%s%I$rAw$C$F$*$j!"2hA|%G!<%?$NFI$_9~$_$N;~$@$1(B
19200baud$B$d(B38400baud$B$KJQ99$7$F$$$k!#(B

$B!|L$2rL@$NFf%3%^%s%I(B
'DI' 'DY' 'RB' 'MH' 'DK' 'DM'
