CHDK Wiki
Register
(Added custom auto iso issue and updated todos)
 
(22 intermediate revisions by 6 users not shown)
Line 1: Line 1:
 
<big>The Canon Digital '''IXUS 870 IS''' is known as '''PowerShot SD880''' in America and as '''IXY DIGITAL 920 IS''' in Japan.</big>
 
<big>The Canon Digital '''IXUS 870 IS''' is known as '''PowerShot SD880''' in America and as '''IXY DIGITAL 920 IS''' in Japan.</big>
   
{{Attention|'''The IXUS 870 IS port is pre-BETA; download available in [http://chdk.setepontos.com/index.php/topic,3309.msg32617.html#msg32617 forum thread]'''}}
+
{{Notice|'''CHDK for IXUS 870 IS firmwares 100e, 101a and 101b is available for [http://chdk.wikia.com/wiki/Downloads download].'''}}
 
{| align="right" style="border-collapse:collapse; font-size: x-small;"
 
{| align="right" style="border-collapse:collapse; font-size: x-small;"
 
| __TOC__
 
| __TOC__
Line 13: Line 13:
 
==Technical data==
 
==Technical data==
 
*'''DryOS''' operating system
 
*'''DryOS''' operating system
*'''Digic IV''' image processor.<small>
+
*'''Digic IV''' image processor
* 10.0 effective Megapixel CCD
+
* <small>10.0 effective Megapixel sensor, 1/2.3 inch CCD type </small>
* 4X optical zoom lens, equivalent to 28-112 mm, F2.8-5.8
+
* <small>4X optical zoom lens, equivalent to 28-112 mm, F2.8-5.8 </small>
* Optical image stabilization
+
* <small>Optical image stabilization, lens shift type </small>
* 3-inch LCD display, 230,000 pixels, no optical viewfinder
+
* <small>3-inch LCD display, 230,000 pixels, no optical viewfinder </small>
  +
* <small>Video: 640x480@30fps / 320x240@30fps / 160x120@15fps </small>
* NB-5L lithium-ion battery, 310 shots per charge (CIPA standard)</small>
 
  +
* <small>Video Format: MOV (H.264 + Linear PCM) </small>
 
* <small>NB-5L lithium-ion battery, 310 shots per charge (CIPA standard) </small>
  +
* <small>Dimensions: 94 x 57 x 24 mm, Weight: 155g without batteries </small>
   
 
== Firmware info ==
 
== Firmware info ==
Line 63: Line 66:
 
NoError
 
NoError
 
Aug 22 2008 10:57:30
 
Aug 22 2008 10:57:30
  +
   
 
==Known Issues==
 
==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.
+
The latest version (revision 829) 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 likely be in the next version.
  +
 
* Colours in DNG files are slightly off. (See comment in [http://chdk.setepontos.com/index.php/topic,3309.msg32886.html#msg32886 this post].)
  +
  +
Issues that seem to be general CHDK issues (i.e. not specific to this port):
   
* Powering on via on/off button results in playback mode (instead of the shooting mode that you get without CHDK).
+
* Shortly pressing the ON/OFF button to turn on camera gives review/playback mode (which is not the case without CHDK loaded). Pressing the button a second or two avoids this.
  +
* Optical+digital zoom in video mode: when going from digital to optical zoom while zooming out you have to release the zoom lever in order to be able to zoom out optically.
* 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.
 
* Custom auto ISO: freeze on use (see [http://chdk.setepontos.com/index.php/topic,3309.msg32809.html#msg32809 details]). Fixed.
 
   
 
==For developers==
 
==For developers==
Line 89: Line 94:
 
* include/camera.h:
 
* include/camera.h:
 
** Check all defines that have a XXX behind them
 
** Check all defines that have a XXX behind them
* platform/ixus870_sd880/main.c
 
** Fix mode_get; playrec_mode does not change when recording (and neither does physw_status)
 
** Find correct values for get_vbatt_min and get_vbatt_max (observed so far: min 3205, max 4065)
 
* platform/ixus870_sd880/shooting.c
 
** 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
 
   
   
Line 121: Line 102:
 
* platform/ixus870_sd880/kbd.c
 
* platform/ixus870_sd880/kbd.c
 
** Check that DELAY_TIMEOUT is ok
 
** Check that DELAY_TIMEOUT is ok
 
* platform/ixus870_sd880/main.c
 
** Find correct values for get_vbatt_min and get_vbatt_max (observed so far: min 3205, max 4065)
 
* platform/ixus870_sd880/shooting.c
 
** Check shutter_speeds_tables
 
** Check circle_of_confusion
 
* platform/ixus870_sd880/sub/1.01a/movie_rec.c
  +
** Check implementation; ours is based on SX10 (and IXUS980), but IXUS860 has different implementation
  +
***The Ixus 870 comes with the new MOV (H.264 + Linear PCM) video format as the SX10/Ixus980, the older Ixus 860 has the "old" AVI MJPEG format with WAVE monaural innstead. <small><sub>''[[User:Fe50|Fe50]] 19:30, 24 April 2009 (UTC)''</sub></small>
 
* platform/ixus870_sd880/sub/1.01a/stubs_min.S
 
** Check recreview_hold
 
* Check all entries in stubs_entry.S that are not preceded by "Best match". They should be ok, but you never know.
 
* Check all entries in stubs_entry.S that are not preceded by "Best match". They should be ok, but you never know.
   
Line 133: Line 124:
 
N.B.: Turning both LED_IO_G and LED_IO_R on gives orange.
 
N.B.: Turning both LED_IO_G and LED_IO_R on gives orange.
   
 
===Firmware Dumps===
 
===Firmware Dump===
 
   
 
*Firmware 1.02B: [http://chdk.setepontos.com/index.php/topic,288.msg32723.html#msg32723 Forum], [http://eyesee.no/download/canon-powershot-sd880is-firmware-dump-1.02B.rar direct DL link]
 
*Firmware 1.02B: [http://chdk.setepontos.com/index.php/topic,288.msg32723.html#msg32723 Forum], [http://eyesee.no/download/canon-powershot-sd880is-firmware-dump-1.02B.rar direct DL link]
Line 140: Line 130:
 
*Firmware 1.01A: [http://chdk.setepontos.com/index.php/topic,288.msg25946.html#msg25946 Forum], [http://www.zshare.net/download/5266486943f57f47/ direct DL link]
 
*Firmware 1.01A: [http://chdk.setepontos.com/index.php/topic,288.msg25946.html#msg25946 Forum], [http://www.zshare.net/download/5266486943f57f47/ direct DL link]
   
*Firmware 1.00E: [http://chdk.setepontos.com/index.php/topic,288.msg21897.html#msg21897 Forum], [http://www.thickey.com/chdk/canon-ixus-870-is-firmware-dump.zip direct DL link], also available at [http://drop.io/chdkdumps2 drop.io]
+
*Firmware 1.00E: [http://chdk.setepontos.com/index.php/topic,288.msg21897.html#msg21897 Forum], [http://www.thickey.com/chdk/canon-ixus-870-is-firmware-dump.zip direct DL link]
   
 
{{DL_dumps}}
 
{{DL_dumps}}

Latest revision as of 23:53, 16 October 2011

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

Notice

CHDK for IXUS 870 IS firmwares 100e, 101a and 101b is available for download.

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 sensor, 1/2.3 inch CCD type
  • 4X optical zoom lens, equivalent to 28-112 mm, F2.8-5.8
  • Optical image stabilization, lens shift type
  • 3-inch LCD display, 230,000 pixels, no optical viewfinder
  • Video: 640x480@30fps / 320x240@30fps / 160x120@15fps
  • Video Format: MOV (H.264 + Linear PCM)
  • NB-5L lithium-ion battery, 310 shots per charge (CIPA standard)
  • Dimensions: 94 x 57 x 24 mm, Weight: 155g without batteries

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 (revision 829) 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 likely be in the next version.

  • Colours in DNG files are slightly off. (See comment in this post.)

Issues that seem to be general CHDK issues (i.e. not specific to this port):

  • Shortly pressing the ON/OFF button to turn on camera gives review/playback mode (which is not the case without CHDK loaded). Pressing the button a second or two avoids this.
  • Optical+digital zoom in video mode: when going from digital to optical zoom while zooming out you have to release the zoom lever in order to be able to zoom out optically.

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:

  • include/camera.h:
    • Check all defines that have a XXX behind them


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
  • platform/ixus870_sd880/main.c
    • Find correct values for get_vbatt_min and get_vbatt_max (observed so far: min 3205, max 4065)
  • platform/ixus870_sd880/shooting.c
    • Check shutter_speeds_tables
    • Check circle_of_confusion
  • platform/ixus870_sd880/sub/1.01a/movie_rec.c
    • Check implementation; ours is based on SX10 (and IXUS980), but IXUS860 has different implementation
      • The Ixus 870 comes with the new MOV (H.264 + Linear PCM) video format as the SX10/Ixus980, the older Ixus 860 has the "old" AVI MJPEG format with WAVE monaural innstead. Fe50 19:30, 24 April 2009 (UTC)
  • platform/ixus870_sd880/sub/1.01a/stubs_min.S
    • Check recreview_hold
  • 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 Dumps

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: