LXDC V0.32
Controlling the Kodak DC20 digital camera from the 100LX/200LX
Copyright (C) 1996 by Eiichiroh Itoh
(mailto:GHC02331@niftyserve.or.jp)


   ===== Copyright, Distribution Policy and Disclaimer =====
   This program is a copyrighted freeware. Its copyright is
   owned by its author Eiichiroh Itoh. You may use it freely,
   but you are not permitted to use it for any commercial
   purpose. If you want to post this program to any other BBS,
   ftp site or network, or if you want to bundle it to another
   program or publication, you should receive prior
   permission from its author. The author is in no way
   liable to any damage, which may be caused by the use of
   or inability to use this software.
   =========================================================


1.Introduction

LXDC is a program to control the Kodak DC20 digital camera from
the 100LX/200LX.  With a small form factor, the DC20 is a good
companion to the 100LX/200LX.  However it has an internal
storage capacity of only 8 frames (or 16 frames in "snap" mode).
Sometimes this quantity is not sufficient.  The goal of LXDC is 
to transfer the pictures you have taken from the DC20 to your
100LX/200LX for storage, so you can take more than 8 pictures.

Notes:
  (1) This version of LXDC cannot create BMP or TIFF files.
      You can convert to such formats on your PCs or MACs
      running software bundled with the DC20 or ES-1000.
      A 100LX/200LX connected to such PCs will transfer full
      color images via its serial interface.
  (2) The Kodak DC20 and the Chinon ES-1000 are almost 
      identical products with small differences.  One 
      difference is that the ES-1000 has a unique Camera ID and 
      thus its bundled software does not connect to LXDC in the 
      DC-20 Server mode. In this case you should specify which 
      Camera you are using in the configuration file.  Please 
      refer to 3.Installation.


2.Interconnection cable

You need a cable to connect the 100LX/200LX to the DC20.  You
can make one yourself relatively easily (see Appendix).

You do not need to make a cable yourself, if you combine
the following cables and adapters.
  - A F1015A cable (10 pin to 9 pin) from HP
  - A 9-pin male to 9-pin male null modem adapter, supplied in
    the Connectivity Pack from HP (the black adaptor)
  - A DC20-to-PC cable, supplied with the DC20
It is bulky but it works.  Even if you use a self-made cable,
I recommend you to test first with this bulky combination.


3.Installation

Decompress the archive, place LXDC.EXM to your preferred 
directory and register it to MoreEXM or System Manager.  Place 
LXDC.INI to A:\_DAT or C:\_DAT.

You need to create a directory for LXDC to store images
(example: A:\LXDC).  One image consumes approximately 125 KB.
You may prefer A: drive to C: as generally A: (flash disk)
provide more unused disk space.

Edit LXDC.INI on A:\_DAT or C:\_DAT and make an entry to define
the image storage directory (which you have just created) by 
the following line:

     D=A:\LXDC

Just add the directory name after "D=".

    Note:  If LXDC does not find LXDC.INI, it assumes that the
           storage directory is C:\ and creates LXDC.INI on 
           C:\_DAT when it is closed.  You can edit it by using 
           the build-in Memo editor.  You can move it from 
           C:\_DAT to A:\_DAT.

If there is a file LXDC.INI on C:\_DAT and on A:\_DAT, LXDC 
uses the one on A:\_DAT.

If your camera is the Chinon ES-1000, additional modification
of LXDC.INI is necessary.  Below "d=..." line, you should add
one line which reads:

     e=1

It makes the software bundled with the ES-1000 to recognize LXDC.

Now you can start LXDC by pressing the start key you selected
at the installation.


4. Connecting a Camera

After start-up LXDC displays 8 frames on screen.  These are the 
areas displaying the pictures stored in the DC20.  Since the 
pictures are not acquired yet, all the frames are vacant at 
start-up.

Connect the DC20 camera to the 100LX/200LX by a cable and then 
switch the DC20 on.  Press {F1}.  A progress indicator appears 
for a while, disappears and the screen then displays the number 
of frames you have taken and the number of vacant (unexposed) 
frames you now have on your Camera.  (The status line 
indicator, at the upper left area of the display, "Version ---- 
Taken/Rest --/--" at the startup, now shows the actual values 
after pressing {F1}.)

If the progress indicator screen does not disappear after 10 
seconds, it indicates that the DC20 is not powered up or the 
cable connection is not correct.  Check the camera, cable and 
connector.

    Note:  Key input is disabled while the progress indicator 
           is displayed.  You can exit from this status by 
           pressing {ESC} key and wait for a while.

After the connection is established, press {F2} to transfer the 
thumbnail images from the camera.  An error message will be 
displayed if there are no pictures in the DC20.

Move the cursor (the frame surrounding a thumbnail image) with 
the arrow keys to select the picture you like to store as full 
color image data.  Press {F4}.  The progress of the data 
transfer is shown.  After completion, a file name "IMGxx" is 
displayed below the thumbnail image, where xx is a frame 
number.  The file IMGxx.IMG contains the data transferred from 
the Camera.

You should rename an image file, if you do not want it to be 
overwritten or deleted when a new image is transferred.  Move 
the cursor to the picture you want to rename, press {Menu} f r
(Menu-File-Rename) and then enter a name into the "Rename" 
dialog box.  (Do not use a file name starting with "IMG".  It 
would confuse LXDC and would give you a risk of accidental loss 
of stored images.)

    Notes:
        (1) If the transfer rate is too slow, you can increase
            it to 19200, 38400 or 57600, by pressing {Menu} o
            (Menu-Option).  Selecting 115200 may cause too much
            errors and retries, making the overall rate slower.
            If you are lucky, 115200 will give you a 
            satisfactory transfer anyway.
        (2) LXDC does NOT check the available disk space by 
            itself.  You should check the free space on your 
            flash disk (or RAM disk) before downloading new 
            thumbnail images or full color images.  A full 
            color image occupies 130048 bytes.  A CMT file is 
            125056 bytes.

The image data transfer from the Camera, as explained above,
can be summarized as follows:

  1. Connect with the camera with {F1}
  2. Get the thumbnail images with {F2}
  3. Select an image with a cursor
  4. Get the full image with {F4}
  5. Rename the image filename with {F5}

    Note:  The last step "Rename the image filename with {F5}"
           can be substituted by "Save the image file in CMT 
           format with {F7}", if you are using the ES-1000.  Do 
           not forget that CMT file cannot be transferred to 
           you PC or Mac with LXDC running in Server Mode (see 
           below).

Display of thumbnail pictures can be controlled by the
following keys.
   {TAB} ...... Expanded (double size) view.  The thumbnail
                picture is expanded by a factor of 2.
   + - * / .... Adjust brightness of expanded view
   {F8} ....... Save the expanded picture in PCX format.  It
                should be pressed while the catalogue of
                thumbnail pictures are on screen.


5. Operation modes (Camera mode and Local mode)

After start-up LXDC operates in "Camera mode".  When LXDC is in 
this mode, it displays only the 8 image files in the storage 
directory, with filenames IMG00.IMG to IMG07.IMG.  They 
correspond exactly to the 8 internal images in the Camera.

If you switch to "Local mode", you can view all the images in 
the storage directory, including IMG00.IMG to IMG08.IMG.  
However, you cannot control the operation of the Camera 
remotely any more.  Images can be saved (in PCX or CMT format) 
or renamed in this mode.

The images viewable in Local mode can be sent to your PC or
MAC, when LXDC operates in Server mode (See below).

{f9} switches between Camera mode and Local mode.


    Note:  Please switch back to Camera mode, if you are going
           to use a function listed under Camera Menu.


6. Transfer your data to your PC or MAC (LXDC in Server mode)

Connect your 100LX/200LX with your PC or MAC with a serial 
cable.  Press {F10} or {Menu} s s (Menu-Special-Server).  Run 
the graphic software that came bundled with the camera on your 
PC or MAC and activate a function for getting data from the 
Camera.  Then LXDC simulates the behavior of the DC20 and start 
talking with the bundled software.

In the same manner as when connected to the DC20, you can get 
camera images from the full color image files on the 
100LX/200LX.

If you have the ES-1000 bundled software, you can use the CMT 
format files created on your 100LX/200LX directly.  In LXDC, 
move the cursor to the thumbnail image for which you want to 
save a full color image data and press {Menu}f s (Menu-File-
Save as CMT).  You should then enter a file name (with 
extension .CMT) to the input dialog box.  A file in CMT format 
is created and can be copied to your PC or MAC e.g.using the 
connectivity pack and can be directly loaded by the ES-1000 
software. 


    Troubles and solutions:

    The most problematic area of operation with LXDC is the 
    file transfer to your PC or MAC.  The main cause of failure 
    is that the receiving speed on the serial port of the 100LX/
    200LX is not fast enough to cope with the speed of your PC 
    or MAC.Some of the bundled software seems to have too short 
    a response time limit and thus tends to create instability 
    in transfer.

     Currently, troubles are seen when you use the following
     hardware:
       1. If your 100LX/200LX has normal speed crystal.
       2. If your 100LX/200LX is connected to Macintosh.

     If you encounter instability with the 100LX/200LX with a 
     normal speed crystal, a reduction of the communication 
     speed on your PC will most probably solve the problem.  
     Reduce the baud rate of the TWAIN driver running on your 
     PC (This is NOT the baud rate setting on your 
     100LX/200LX).  If you use PhotoEnhancer, you should select 
     "Acquire image by TWAIN" and then select "Acquire" menu 
     and "User setting"item to get to the baud rate setting.

     If you encounter problems on the Macintosh, a simple reduction
     of baud rate may not work.  First solution is to adjust
     the timing value on the 200LX by modifying the "c=" setting
     on LXDC.INI to a value larger than 10.  I received a
     report that too large a value does not work, but c=2275
     works fine.  Another solution is to use Kai's Power Goo,
     instead of PhotoEnhancer.  The problem here is that Kai's
     Power Goo has a PowerMac version only.

The other functions, such as camera remote control, are self-
explanatory.   Please play with them.

Following is a menu tree of LXDC with a concise description of
each function.

     File
       Save as CMT  ... Save to a file in CMT format.
       Save as PCX  ... Save to a file in PCX format (thumbnail).
       Delete       ... Delete a file.
       Rename       ... Rename a file.
       Exit         ... Exit from LXDC
     Camera
       All
         Full       ... Get all the images and then rename.
         Save as CMT... Get all the images and save to files in
                        CMT format.
         Rename     ... Rename all the acquired images
       Info         ... Get status information of the Camera
       Table        ... Get all the thumbnail images of the
                        Camera.
       Take         ... Take a picture (shutter)
       Timer        ... Take a picture with a timer
       Erase        ... Erase all pictures in the Camera
       Image        ... Get thumbnail image of the frame
                        selected by the cursor.
       Full         ... Get full image of the frame selected by
                        the cursor
     Special
       Redraw       ... Redraw the screen
       Local        ... Go to Local mode
       Camera       ... Go to Camera mode
       Server       ... Go to Server mode
       2x Image     ... Display double sized (expanded) image
     Option
       Setup        ... set various parameters
       9600         ... set baud rates
       19200
       38400
       57600
       115200
     Quit           ... Quit.
     Help
       About        ... Show copyright information.

7. Limitation and Version History

Following are the limitations of the current version.

   o LXDC cannot create BMP or TIFF files directly on
     100LX/200LX.
   o Snap mode (taking pictures and transferring images) is not
     supported.
   o Maximum number of images to be displayed is 120 in local
     mode.
   o Maximum number of imaged to be transferred to PC (or MAC)
     is 120 in Server mode.
   o Available disk space is NOT checked.  Loss of images can
     happen if disk is full.

Version History is as follows:

  V0.01 1996/08/21  First version
  V0.26 1996/09/10  Released first beta.

  V0.27 1996/09/14  Made the sleep time adjustable before
                    receiving data in Server mode (for MAC).

  V0.28 1996/09/14  Added a function of getting all the images
                    and renaming all the files in one action.

  V0.31 1996/09/23  Added option for ES-1000.
                    Removed bug from progress indicator.

  V0.32 1996/09/27  Removed unused message area.


8. Acknowledgement

I am happy to have this software finally released, based of my 
analysis of the DC20 I started some time ago.

I would like to thank the following people, who read my 
Analysis Diary on my home page and encouraged me by e-mail:

   o Mr Tamotsu Aoki (aoki@geocities.com)              
   o Mr Hideki Yoshida (hideki@yk.rim.or.jp)

I would also thank to Mr Yoshida and the following people who
helped my by testing with the ES-1000.

   o Mr Taiden (HGG02660@niftyserve.or.jp)
   o Mr Yoboruda (PFA03106@niftyserve.or.jp)           
   o Mr Akinobu Yamada (GFC01252@niftyserve.or.jp)

Also I would like to thank

   o Mr Hidemichi Yuasa (MXE05064@niftyserve.or.jp)

for doing tests on Mac repeatedly.

I extend my thanks to members of the forums FHPPC and FJAMEP of 
NIFTY-Serve who welcome this program with warm messages, when I 
first released it.

And finally, many thanks to my wife, who always encourages me 
in creating free software.


9. Miscelaneous

Requests and bug reports are always welcome.  This software is
not complete,since the analysis of full image is not finished
yet.  However, I suppose it reached the level of practical
usage.

If you are interested, please refer to my home page
(http://www.asahi-net.or.jp/~HL1E-ITU) for stories involving
the analysis of DC20 (in Japanese).

This program is supported on Section 7, Forum FHPPC, NIFTY-
Serve or by e-mail.

Source code is not released since it is still in beta.  If you
need it, please contact me by email.  I plan to release the
source code of the official release.


10. Important notice

o The copyright of the program in this package is owned by its
  author Eiichiroh Itoh (GHC02331@niftyserve.or.jp).
o The author is in no way responsible for any damage, which may
  be caused by the use of, or inability to use, the program in
  this archive.  The author has no obligations for fixing any
  defects, which may be found in the program in this package.
o Please send your bug reports or requests by posting a message
  on Section 7, Forum FHPPC, NIFTY-Serve or by e-mail to the
  author.
o No redistribution is permitted.
o No modification is permitted on the EXM file.
o If you would like to redistribute or report this program,
  first contact the author.
o If you would like to describe about this software in
  publications other than periodicals, you should first contact
  the author.





Appendix:  How to make a cable


Cable connection is as follows (this cable is compatible with
the cable supplied with the camera).

Please do not simply copy everything below.  Check by yourself!!
The author is not responsible if you damage your PC or DC20 by 
the cable you have made.


A cable for PC (D-SUB 9-pin)

       PC Serial                  3pin Plug
                                    +--+
      pin 2 (RxD)  =============>   |  |
                                    |--|
      pin 3 (TxD)  =============>   |  |
                                    |--|
      pin 5 (GND)  =============>   |  |
                                 +--+--+--+
                                 |        |

     The following pins can be connected together on its
     connector side.  (If it is directly connected to
     the 100LX/200LX, you do not need to connect them 
     together).
       o pin 1 (CD)
       o pin 6 (DSR)
       o pin 7 (RTS)
       o pin 8 (CTS)

I have gotten a stereo mini plug from an earphone (made by
Sony), connected it to DSUB 9-pin male connector and thus made
a cable assembly with a length of 10 cm (4 inches).  It is used
together with a self made cable (DSUB 9-pin female and 10-pin
female for 200LX).  Entire length is approximately 15 cm (6
inches).

If you are going to make a cable to connect the DC20 directly 
to a 100LX/200LX with a 10-pin connector, please refer to the 
pin assignment described in the user's guide of the 100LX/200LX.

    Note:  Mr Yoshida reported that connecting of these pins 1,
           6, 7 and 8 is not necessary, if it is directly
           connected to 100LX/200LX via 10-pin connector.

If you have difficulties to find a 10 pin connector for the 
100LX/200LX, you can use the serial cable F1015A.   However, 
the above connection will not work, since F1015A is a null 
modem cable.  You should connect it as follows.

Again, please do not simply copy everything below.  Check by 
yourself!!  The author is not responsible if you damage your PC 
or DC20 by the cable you have made.

A cable for use with F1015A (D-SUB 9- pin male)

       F1015A                    3pin Plug
                                    +--+
      pin 3 (TxD) =============>    |  |
                                    |--|
      pin 2 (RxD) =============>    |  |
                                    |--|
      pin 5 (GND) =============>    |  |
                                 +--+--+--+
                                 |        |

Following pins should be connected together on connector side.
       o 1pin 1 (CD)
       o 4pin 4 (DTR)
       o 7pin 7 (RTS)
       o 8pin 8 (CTS)


LXDC Copyright (C) 1996, Eiichiroh Itoh


                            [  Translated from Japanese by:  ]
                            [  Toshiki Sasabe (Janbe)        ]
                            [  73560.524@compuserve.com      ]


Note from the translator:

   I would like to thank to Mr. Jerome Marot-Lassauzaie and 
   Mr.Beverly Howard who kindly pointed out errors in my first 
   translation and kindly rewrite the whole thing.  
