Kodak DC260/DC290

Scripts

Since www.digitacamera.com seems no longer to contain anything Digita-related, here are my scripts which used to reside there. Except as noted, they work on Kodak DC260/265/290 and should work on the other Digita-based cameras as well (Minolta EX1500, etc.).
  1. Camera Information
    Some info about your camera's internals.
    This script appears in the "Add-On Scripts" menu in Play mode.
  2. Picture Details
    More info than you ever wanted to know about the conditions under which a picture was taken.
    This script appears in the "Add-On Scripts" menu in Play mode.
  3. Manual Focus
    Manual focusing with more control. This script provides many more distance settings, and can automatically compensate for add-on lenses like teleconverters, wide-angle converters, and close-up (macro) lenses.
    This script appears in the "Advanced Focus Modes" menu in Capture mode.
  4. Quick Bracketer
    A better version of the Exposure Bracketing script, which allows asymmetric brackets and takes all three (two on the DC260) pictures with a single shutter press, instead of requiring lots of interaction.
    This script appears in the "Advanced Exposure Modes" menu in Capture mode.
  5. Shutter Speed
    Similar to Kodak's "Special Exposure" script, but with more settings, including finer control of exposure times between 1/10 and 2.0 seconds.
    This script appears in the "Advanced Exposure Modes" menu in Capture mode.
  6. Startup Defaults
    Make various settings that the camera forgets on powerdown permanent, and create quick-reconfiguration menu entries.
    This script appears in the "Startup Options" menu in Capture mode.
  7. Storage Status
    How many pictures are already on your memory card? This script answers that question.
    This script appears in the "Add-On Scripts" menu in Capture mode.
  8. Translucency
    (DC290 and newer cameras only) Allows your watermarks to have a translucent background instead of a solid color or transparent background.
    This script appears in the "Add-On Scripts" menu in Capture mode.

Hints

The following apply to the DC290 except as noted, and should also apply to the DC220, DC260, and DC265:
  1. The "Record" button is active any time that the image is displayed -- that includes during QuickView. So there's no need to switch to Review mode in order to record an audio comment, if you add it immediately after capturing the image. You can record for up to two minutes on the DC290, 45 seconds on the DC260 (firmware 1.0.4 allows at least 66 seconds when started from QuickView, but v1.0.6 enforces the 45 second limit in all cases).

  2. The "External Flash" mode is really an aperture-priority mode -- you select the aperture and the camera selects the shutter speed (with a maximum exposure time of 1/37s at full wide angle and 1/74s at full tele [1/88s on the DC290]). In good lighting, you can use this mode even without an external flash to control depth of field.

    For the DC290, the following exposure times have been seen at varying zoom levels:
    Zoom Exposure AAGC
    1.00 1/31, 1/37 1191
    1.15 1/37, 1/57 1419
    1.30 1/37, 1/57 1419
    1.70 1/57 2014
    2.00 1/62
    2.60 1/68, 1/80 1549
    3.00 1/74, 1/88 1191, 2191
    Effects of Varying Zoom

  3. The camera is less likely to mis-focus if you use Single-Spot focusing instead of the default Multi-Spot focusing. The drawback is that you are much more likely to encounter situations where the camera can't find anything to focus on (orange light next to viewfinder). In that case, you will need to aim the central box in the viewfinder at something near your subject that has a strong vertical contrast line, press the shutter half-way, recompose, and then take the picture. You can make Single-Spot focus the startup default using my Startup Defaults script.

  4. Together with Mike Kaplan's LensMate adapter and a 49mm->46mm stepdown ring, the Olympus TC-14 teleconverter works flawlessly[*] with the DC260, giving you a maximum 35mm-equivalent zoom of 160mm without any loss of light sensitivity (i.e. no exposure compensation needed). This teleconverter is marketed for use with the Olympus D500L and D600L cameras. Because the TC-14 partially blocks the view of the autofocus windows, you will need to use manual focusing; remember to set the manual focus distance to ~2/3 of the actual distance -- or use my Manual Focus script, which automatically adjusts the distance.

    Presumably, the TC-14 would work just as well with the Xtend-a-Lens.

    [*] It does vignette at equivalent DC260 focal lengths of less than 65mm (1.7x zoom), but we don't care about that, do we? :-)

  5. Documentation Error: The DC260's autoexposure will use exposure times of up to 1/2 second, not the 1/4 second stated in the documentation.

  6. The DC260 (firmware 1.0.6 and 1.0.7) slows down quite noticeably in the time it takes for the QuickView image to appear when there are a lot of pictures in albums -- I suppose it must be searching the subdirectories. This is a shame, since it makes albums less attractive for large-capacity flash cards, which is precisely where they are most needed....

  7. Even though the autofocus will go down to 12 inches (30cm), manual focus can only be set to 18 inches (50cm) or further -- even with a script! My workaround is to use autofocus and to hold a high-contrast object such as a white pen or narrow strip of paper just in front of the subject if the autofocus fails.
220/260 owners: If you haven't yet done so, you will want to upgrade to firmware v1.0.6 (220 or 260) or v1.0.7 (260 only), which is a free download from Kodak. This update significantly speeds up processing and adds new features.

It is now possible to extend the valid ranges for some camera parameters via a firmware patch (download the firmware from Kodak, patch it with my program -- available from the file vault at egroups -- and install the patched firmware). Unfortunately, the DC260 v1.0.7 firmware contains a hardwired limit to manual focus and manual shutter (50cm and 0.2s, respectively) that can't be overcome by this simple ROM patch. Too bad on the manual focus, considering that autofocus goes down to 30cm....

Kodak DC290

The DC290 now stores various settings at power-down which the 260/265 forgot about and reset back to factory defaults (unless using a startup script such as generated by my Set Startup Defaults). White Balance, Exposure Mode (AE, Long Time, External Flash), flash mode (Off as well as Auto and Fill), and current album are now remembered, but focus method (Multi-Spot vs. Single-Spot) still isn't....

In addition to the improvements visible in the user interface, there are a number of enhancements to DigitaScript.

New variables available with GetCameraState/SetCameraState

  1. aagc: Analog Automatic Gain Control, aka ISO Sensitivity.
    A range variable with valid values from 100 to 100 (yep, can't change this one, which is too bad since on flash pictures the camera will automatically increase ISO to as high as 220). Maybe after the next firmware update... (v1.0.3 update -- still no adjustable ISO, even after patching the limits on the variable)
  2. ALBM: Album Name.
    DOS name for the current in-camera album.
  3. deft: Date Entry Format.
    Valid values: (this variable was present but inactive in the DC260 firmware)
  4. hint: Hint Mode.
    Tell the camera under what conditions you are taking a picture. This variable is also supported by the Minolta EX 1500, which allows settings of 1, 2, 3, 6, 7, and 8. [Thanks to Bart Olfers for providing a description of the functioning on the Minolta.]
    Valid values for DC290 v1.0.0-1.0.2 (effects not yet determined); DC290 v1.0.3 removes all but Auto and Panorama:
  5. isam: Image Sharpening (Unsharp Mask) Amount.
    Valid values are -25 to 100 (zero disables sharpening, negative values soften image).
  6. isra: Image Sharpening (Unsharp Mask) Radius.
    (Fixed-point ["f"] variable)
    Valid values are 6553 to 655360 (corresponding to 0.1 to 10 pixels).
    Bug: in firmware 1.0.0, the default value at startup is 6144 -- outside the range of valid values!
  7. isth: Image Sharpening (Unsharp Mask) Threshold.
    Valid values are 0 to 25 (default 4).
  8. issz: Image Storage Size.
    Valid values are 0 to 640 (default 0). Undocumented
  9. mcro: Macro Mode.
    Now supported, as it was on the DC220 and Minolta EX 1500, but the only valid value is
  10. pasw: User Password.
    String, used to lock out functions in scripts.
  11. RSHT: Remote Shutter.
    Valid values:
  12. scmp: Strobe Compensation.
    (Documented as "not supported".) Valid values are -200 to +200, presumably giving a compensation of +/- 2EV. This variable was present but inactive in the DC260 firmware.
    Unfortunately, initial testing showed no visible difference in the image and no differences in the reported exposure settings between values of -200 and +200, for either built-in or external flash....
  13. ssiz: (updated) Still Capture Size.
    1=High, 2=Medium, 3=Standard, 4=Ultra.
  14. tsiz: (updated) Timelapse Capture Size.
    1=High, 2=Medium, 3=Standard, 4=Ultra.
  15. ucpt: User Copyright Notice.
    This string parameter replaces "cprt" which was present on the DC220/260/265.
  16. wsts/wtts: Watermark Text/Time Font Size.
    Valid values are 9, 10, 12, 14, 16, 18, 24, 36, and 48, setting the corresponding "effective" point size. These two variables were present but inactive in the DC260 firmware (where 48 points was indicated as appropriate for High Resolution pictures, 36 points for Medium Resolution, and 24 points for Standard). The effective point size is documented as assuming a 4x6 inch print.
    Bug: DC290 fw 1.0.0 through 1.0.3 force the font size back to the default (as listed above, and 48 points for Ultra) on half-pressing the shutter -- even if no picture is actually taken. As a result, setting these variables has no effect....
  17. zmod: Zoom Mode.
    Valid values: This parameter has no effect on either optical or digital zoom on the DC290; the camera acts as if it is set to 2 regardless of the actual setting.
  18. zspd: Zoom Speed.
    Valid values are 100 to 100 (i.e. can't change), and select the zoom speed when "zmod" is set to 2. This variable was present but inactive in the DC260 firmware.

New values available via GetProductInfo()

  1. cpus: Processor Speed.
    CPU clock speed in Hz / 10000 (for DC290, 6600 = 66 MHz).
    Incorrectly documented as readable via GetCameraState.
  2. cput: Processor Type.
    CPU type, which may be 1 for MPC823 (Motorola 823) and 2 for DCAM 101/103.
    Incorrectly documented as readable via GetCameraState.
  3. exsa: Expansion Slots Available.
    Newly-supported by the Kodak line. An unsigned integer with the value 1. Incorrectly documented as readable via GetCameraState.
  4. fwrd: Digita Release Date.
    A range variable (all 32-bit values are valid), currently set to 0. Incorrectly documented as readable via GetCameraState.
  5. oerv: Digita OE Version.
    The presence of this parameter is used to check whether the camera is compliant with Digita Script Language v1.5 or higher. The format is 0xAABBCCDD for version AA.BB.CC.DD.
    Incorrectly documented as readable via GetCameraState.

New/changed values for existing GetCameraState() variables

  1. bcpn: Burst Capture Image Compression.
    Adds
  2. bsiz: Burst Capture Image Size.
    Adds
  3. crst: Image Counter Reset Mode
    Values renamed to
  4. flty: File Type.
    Values changed to
  5. mcap: Capture Mode.
    Values changed from 0/1/2 for Still/Burst/Timelapse to 1/2/3.
  6. rmod: Auto Rotate Image.
    Values changed to (changing from 1/2 to 0/1 makes no sense to me, as it just breaks scripts with no compensating advantage)
    Note that the Scripting SDK v1.5 incorrectly documents this variable as unsupported on the DC220/260/265.
  7. tfmt: Time Format.
    Bug: If you select 24H/M/S, the 290 fw 1.0.0 will display an image's time in review mode (on both filmstrip and full-screen view) in am/pm mode without the am or pm.
  8. tldy: Timelapse Capture Interval.
    Units changed from seconds to ticks (1/100s), so valid range of values is now 6000 to 8640000 instead of 60 to 86400.
  9. wsbc/wsfc: Watermark Text Background/Foreground Color.
    Instead of eight predefined colors 0-7, settings are now a 32-bit color value, with any 32-bit number allowed as a valid setting. The predefined values used by the built-in menu are: The four bytes of the color value break down as Y Cr Y Cb (luminance and red/blue chrominance), where Cr/Cb seem to be offset-128 values (0x00 = -128, 0x80 = 0, and 0xFF = +127). I haven't figured out yet just what the camera does if the two "Y" bytes differ.
  10. wsop/wtop: Watermark Text/Time Operation Mode.
    Values changed to The background for the watermark text or timestamp becomes opaque, translucent (image still partially visible through background area), or transparent depending on the setting of these parameters. Only Opaque and Transparent are available from the built-in menus, which display Transparent for both Translucent and Transparent.
  11. wtbc/wtfc: Watermark Time Background/Foreground Color.
    Instead of eight predefined colors 0-7, settings now seem to be a 32-bit color value, with any 32-bit number allowed as a valid setting. The default value for the foreground is 0xFF80FF80.

Image Tags, available via GetFileTag()

  1. aper: (new) Aperture (F Number).
    This tag replaces "fnum" (see below) and contains 100 times the F Number.
  2. bsfd: (removed) Image Group Folder Name.
    Replaced by "cngn" (see below).
  3. cmpn: (updated) Image Compression Level.
    New value added: 7=lossless.
  4. cmrc: (removed) Camera Region Code.
    Replaced by "rgnc" (see below).
  5. cmty: (new) Image Compression Type.
    1=none, 2=JPEG.
  6. cngn: (new) Image Natural Group Name.
    This variable contains a DOS filename without an extension. It replaces "bsfd" (see above).
  7. cpgn: (new) Image Group Folder Name.
    This DOS filename replaces the old "grfd" tag (see below).
  8. fdst: (fixed) Focus Distance.
    The focus distance is now correctly reported when using manual focus (on the DC260, this tag contains garbage when using manual focus).
  9. flty: (new) File Type.
    2=EXIF, 4=TIFF.
  10. fmod: (updated) Focus Mode.
    Documentation claims new value of 2=Programmed in addition to 1=auto-focus and 3=manual focus.
  11. fnum: (removed) F Number.
    Replaced by "aper".
  12. grfd: (removed) Capture Group Folder Name
    Replaced by "cpgn" (see above).
  13. hint: (new) Hint Mode
    Same values as "hint" camera parameter (see above).
  14. icts: (new) Image Capture Tone
    Always 0 on the DC290 fw 1.0.0.
  15. iirv: (replaces "imiv") Image Info Version
    Now 0x01000100 for version 1.0.1.
  16. imcn: (removed) Image File Type
    This tag has been replaced by "flty" (see above).
  17. uptd: (newly-supported) User Protected.
    If non-zero, image has been protected from deletion.

New script functions

  1. FileOpen
    New open modes: 2=open at start of file, 3=delete and create new empty file.
  2. FindString(source, start, findstring, foundlocation)
  3. MarkedImage(?)
  4. MakeFolder(drive, path)
  5. MarkImage(drive, path, filename)
  6. MarkAllImages()
  7. NumberToString(number, string)
  8. Random(intvar)
  9. Read(filehandle, variable)
  10. ReadLine(filehandle, variable)
  11. SetDelimiter(comma|whitespace|tab|none)
  12. SetTitle(string)
    Set the current title bar on the display to string. The string may be either a string variable or a string literal.
  13. SubString(source, start, count, destination)
    Extract count characters from source starting at the indicated position (0-origin), and place the result in destination.
  14. StringToNumber(stringvar, intvar)
    intvar may be of type "i", "u", "f", or "b"; the string (which may be a literal) may be decimal or hex (with a leading "0x" or "0X").
  15. UnmarkImage(drive, path, filename)
    Unmark the specified image. Drive=2 for removable media.
  16. UnmarkAllImages()
    Unmark all images on memory card.

Bugs in the DC290 firmware v1.0.0 that break existing scripts

  1. GetCameraStatus: shutter button presses are not reported, and the camera claims that the user has activated the zoom control whether or not zooming is actually in progress. In firmware 1.0.3, the reported shutter button status seems to vary randomly.
  2. SetCameraState("smod"): This function does not seem to execute correctly from a startup script executed automatically at startup; it does, however, function correctly if the startup script is started manually from the menu.
  3. Wait(1) seems to cause various weird behavior that is fixed by using Wait(50) instead.
  4. StartCapture turns off the LCD and leaves it off until the script terminates, at which point it can be manually turned on again by pressing the Menu button. Fixed in firmware v1.0.2.
  5. RunScript causes strange behavior in the script it is told to run, followed by a hang of the OS when the script exits.
  6. EraseFile can prematurely terminate the script after erasing the file. Still present in v1.0.2.
  7. GetPowerMode always returns 0 even with a freshly-charged set of batteries. Reportedly fixed in v1.0.4.

Additional discrepancies/errors in Scripting SDK v1.5:

  1. Image Tag "isam" (Image Sharpness Amount): Incorrectly documented as always returning 0 on the DC290.
  2. Parameter "spre" (Strobe Precount) would appear to support up to three preflashes if one reads the documentation, but the camera supports a maximum of one pre-flash.
  3. Parameter "tfmt" (Time Format) documented as supporting only values 1 and 2, instead of 1 through 4.

Disabled variables

These are present in the v1.0.3 firmware for the DC290, but are not accessible either through GetCameraState() or GetProductInfo():
  1. camc: UNKNOWN - TBD (yep, that's what the firmware says!)
    An unsigned integer with the value 0.
    Undocumented.
  2. camt: Camera Type. An unsigned integer with the default value 1.
    Undocumented.
  3. impm: UNKNOWN - TBD (yep, that's what the firmware says!)
    An unsigned integer with the default value 0.
    Undocumented.
  4. impn: UNKNOWN - TBD (yep, that's what the firmware says!)
    An unsigned integer with the default value 1.
    Undocumented.
  5. rdsz: Ramdisk Size.
    An unsigned integer with the value 0.
  6. teft: Text Entry Format.
    An unsigned integer with the value 0. Undocumented.
  7. usd1 to usd8: User Defined Data 1-8
    Unsigned integers. Undocumented.

Resources

DC260 FAQ

This page is Bobby Approved
[Home] [Files] [Papers] [Books] [DigiCams] [Privacy] [TV] [PGP]
(Last updated 20-Nov-01)