CHDK Wiki
Advertisement

The Canon Digital IXUS 870 IS is known as PowerShot SD880 in America and as IXY DIGITAL 920 IS in Japan.

Attention

The IXUS 870 IS port is pre-BETA; download available in forum thread

Sd880is all

Powershot SD880 Color Options

20080917 loRes sd880is silver front

Powershot SD880 IS Front

20080917 loRes sd880is silver back

Powershot SD880 IS Back

Reviews: DPReview review, Steve's DigiCams, DCRP, Photographyblog Review

Technical data

  • DryOS operating system
  • Digic IV image processor.
  • 10.0 effective Megapixel CCD
  • 4X optical zoom lens, equivalent to 28-112 mm, F2.8-5.8
  • Optical image stabilization
  • 3-inch LCD display, 230,000 pixels, no optical viewfinder
  • NB-5L lithium-ion battery, 310 shots per charge (CIPA standard)

Firmware info

The information below by putting a ver.req file in the root of your SD card. Press FUNCSET and DISP simultaneously to display the information. Repeated presses of DISP give additional information.

The number after "CV:" is the (Canon) version the firmware itself reports when doing the above without ver.req (or when doing a firmware update).

Version 1.02b

Canon PowerShot SD880 IS
P-ID: 3196 NT D

Firmware Ver GM1.02B
NoError
Jan 9 2009 14:55:54
Adj Ver.008.002
IS Firm Ver. 2.09
IS Param Ver. 2.07

Version 1.01a (CV: 1.0.1.0)

Canon DIGITAL IXUS 870 IS
P-ID:3196  PAL D

Firmware Ver GM1.01A
NoError
Oct 15 2008   18:36:07
Adj. Ver.008.001
Adj. Ver.008.001
IS Firm Ver.   2.09
IS Param Ver.  2.07

Version 1.00e

Canon DIGITAL IXUS 870 IS
P-ID:3196     PAL D

Firmware Ver GM1.00E
NoError
Aug 22 2008 10:57:30

Known Issues

The latest version of this port has the following known issues. Note that some items may indicate that a problem is solved; this means that the fix will be in the next version.

  • Powering on via on/off button results in playback mode (instead of the shooting mode that you get without CHDK).
  • ND-filter state: usage causes crash. Fixed.
  • Optical zoom in video mode: only works when digital zoom is enabled, but once you use the maximal optical zoom you can no longer change optical zoom (just digital zoom). Partially fixed; optical zoom now also works if digital zoom is disabled.
  • badpixel script: always says "Try this script again..." Could be caused by incorrect defines in include/camera.h.

For developers

Porting

Porting thread: http://chdk.setepontos.com/index.php/topic,3309.0.html

The port for the IXUS 870 IS is based on the one for SX10 (1.01a).

Offset of firmware dump is 0xFF810000. The "DryOS singlerun" scripts for IDA can be used but they leave a few function tables untouched and related strings are often not recognised correctly. This is correctable by selecting the relevant lines, right-clicking and selecting "Analyze selected area".

Below are some lists of what still needs to be done.

Important:

  • core/kbd.c:
    • Check that used nTxtbl is right
  • include/camera.h:
    • Check all defines that have a XXX behind them
  • platform/ixus870_sd880/lib.c
    • Check ubasic_set_led
    • Check JogDial_CW and JogDial_CCW
  • platform/ixus870_sd880/main.c
    • Fix mode_get; playrec_mode does not change when recording (and neither does physw_status)
    • Check fl_tbl
    • Check CF_EFL
    • Check zoom_points
    • Find correct values for get_vbatt_min and get_vbatt_max (observed so far: min 3205, max 3875)
  • platform/ixus870_sd880/shooting.c
    • Check PARAM_FILE_COUNTER
    • Check PARAM_EXPOSURE_COUNTER
    • Check aperture_sizes_table
    • Check shutter_speeds_tables
    • Check iso_table
    • Check circle_of_confusion
  • platform/ixus870_sd880/sub/1.01a/lib.c
    • Check values used in:
      • vid_get_bitmap_screen_width
      • vid_get_bitmap_screen_height
      • vid_get_viewport_height
      • vid_get_bitmap_buffer_width
      • vid_get_bitmap_buffer_height
    • Check to see if we have a better implementation for vid_get_viewport_width than the generic one
  • platform/ixus870_sd880/sub/1.01a/movie_rec.c
    • Check change_video_tables
    • Check set_quality
  • platform/ixus870_sd880/sub/1.01a/stubs_min.S
    • Check recreview_hold
  • platform/ixus870_sd880/sub/1.01a/stubs_entry_2.S
    • Check that entries with null sub behind them really should be this way
    • Check kbd_pwd_off


Other:

  • loader/ixus870_sd880/entry.S
    • Find out what SD-Card power trick is for and if it is really needed (seems to work without)
  • platform/ixus870_sd880/kbd.c
    • Check that DELAY_TIMEOUT is ok
  • Check all entries in stubs_entry.S that are not preceded by "Best match". They should be ok, but you never know.


Special addresses

#define LED_DP   0xC02200D4    // direct-print (blue)
#define LED_IO_G 0xC0220136    // IO indicator LED (green state)
#define LED_IO_R 0xC0220133    // IO indicator LED (red state)
#define LED_AF   0xC0223030    // Auto-focus LED (very bright...)
#define POWER    0xC022001C    // use to turn off power

N.B.: Turning both LED_IO_G and LED_IO_R on gives orange.


Firmware Dump

Saveas64

Download location for firmware dumps:
P&S firmware dumps mirror

Official Canon Firmware Update

Canon has released a official firmware update on February 5, 2009 for the SD880 camera (Canon Version 1.0.1.0).

The firmware update and support information can be found in the links below:

Advertisement