IXUS 115 HS / ELPH 100 HS request

  • 535 Replies
  • 79010 Views
IXUS 115 HS / ELPH 100 HS request
« on: 15 / August / 2011, 02:49:41 »
Advertisements
UPDATE 2
This port has been released
Download here! http://mighty-hoernsche.de/
Or here
http://chdk.wikia.com/wiki/Downloads


NOTE: To enter <ALT> mode, press and hold the Play (or Review) button for a short while.

 The info below is just for archival purposes.

####################################
UPDATE

Download the latest release for IXUS 115 and ELPH100 at the following link:


Note: Make sure you select the correct firmware version

To enter ALT mode when CHDK is loaded on your camera, press ZOOM IN + FUNC./SET
Then press MENU to bring up the controls


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Original post:

The IXUS 115 HS (ELPH 100 HS) is the only DIGIC 4 camera that hasn't had any progress in porting.

I'm willing to provide time and assistance if there's a developer that can do this.
It's obviously a time-consuming task, but any response or starting guidelines would be greatly appreciated :)

Thanks!

EDIT: I can't get the ver.req (or vers.req) to work. I tried both 1GB and 16GB, ver and vers, holding the SET and DISP buttons, as well as the hold Zoom Out while turning on, and zooming out again. Nothing works.

It just needs CHDK for manual focus, and exposure lock for video.
(The Canon page says this camera has "AE Lock" but I can't find any exposure lock anywhere)


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
« Last Edit: 01 / September / 2012, 02:08:11 by kevdog32 »

Re: IXUS 115 HS / ELPH 100 HS request
« Reply #1 on: 24 / August / 2011, 07:05:32 »
Latest CHDK version:
1.00c - alpha #5
1.01a - alpha #5
1.01b - alpha #5

BUGLIST:
  • Issue: Video crashes camera
    Affected:1.01b (alpha4)
    Cause: wrong function addresses in <fwversion>/movie_rec.c
    Fix: alpha5

  • Issue: "SuperFine" quality doesn't make any sense.
    Affected: 1.00c, 1.01ab
    Cause: there is no "SuperFine" quality in elph100.
    Fix: no

  • Issue: RAW files have nothing in them.
    Affected: 1.01a,b
    Cause: Possibly wrong addresses of RAW buffer
    Fix: 1.00c - works properly (but I can't open RAW file, because of unknown format)
    1.01a,b - check alpha5 (fixed addresses a bit)

  • Issue:Won't take RAW passed the first picture
    Cause: our capt_seq_task() stops it's work after 1 photo
    Fix: no

  • Issue: getting zoom stuck in zoomed position while video recording
    Affected: 1.01ab
    Cause: look here
    Fix: 1.00c - zoom works properly
    1.01ab - no

  • Issue: digital zoom doesn't work while video recording
    Affected: 1.00c
    Cause: unknown (possible - wrong "zoom_unlock" or "af_lock/unlock" function position in <fwversion>/movie_rec.c)
    Fix: no

  • Issue:Scripts don't start every time, but I need to restart the camera to start them successfully.
    Affected:1.01b (tested), 1.00c+1.01a (possible)
    Cause: unknown
    Fix: no

  • Issue:Scripts sometimes don't stop themselves, but need to be stopped after execution.
    Affected:1.01b (tested), 1.00c+1.01a (possible)
    Cause:unknown
    Fix: no

  • Issue: Games screen sqeezed, sometimes no colours.
    Affected: 1.00c, 1.01ab
    Cause: Wrong ASPECT_GAMES_XCORRECTION value in <camera>/platform_camera.h
    Fix: no

  • Issue:
    Quote
    Colors of the palette for the menu background changes - not clear about correlations to going into sub-menus; done before: I changed the background color. Palettes in shooting and playback mode are not the same.
    Affected: 1.01b (tested), 1.00c+1.01a (possible)
    Cause: unknown
    Fix: no

  • Issue:
    Quote
    Zebra mode is working bad, it produces just blinking of red lines in bottom half of screen, not on places it should be.
    Affected: 1.00c (tested), 1.01ab (possible)
    Cause: unknown
    Fix: no

  • Issue: Generating of badpixel.bin doesn't work
    Affected: 1.00c (tested), 1.01ab (possible)
    Cause: unknown
    Fix: no

  • Issue: match values in <camera>/shooting.c
    Affected: general
    Cause: wrong values
    Fix: no


ORIGINAL MESSAGE:

Quote
Hello, kevdog32!

I've just started to analyze firmw dump, and I hope soon will be able to present something useful for this camera.
I can't get ver.req&vers.req to work too, but I've took fw version directly from firmware. Use cBasic udumper (Canon Basic description) and post fw here. We'll see what ver you have.

Stay tuned! =)

John.
« Last Edit: 26 / December / 2011, 06:30:36 by Just.J »

Re: IXUS 115 HS / ELPH 100 HS request
« Reply #2 on: 25 / August / 2011, 22:30:04 »
I can't get ver.req&vers.req to work too, but I've took fw version directly from firmware. Use cBasic udumper (Canon Basic description) and post fw here. We'll see what ver you have.
Thank you so much!! I was starting to lose hope :D

I had no idea the dumping was that easy, I thought it was only photo receptors :P

I'm having a go at running the script and I'll update how it went.

EDIT: I formatted the card and used EOScard, then put the script.req with the string inside it onto the card, as well as the extend.m dumping code, but it doesn't work. How should I activate the script? The FUNC./SET won't do it, nor the zoom lever.
The original simple dump doesn't work either.

The camera pauses slightly when booting up, but that's it.
« Last Edit: 26 / August / 2011, 04:35:33 by kevdog32 »

Re: IXUS 115 HS / ELPH 100 HS request
« Reply #3 on: 26 / August / 2011, 07:35:53 »
Check with a help of hex-editor (like HxD) string "SCRIPT" with 0x1F0 offset in sd card's boot sector. It's main thing to get scripts work.
Scripts on elph100 runs by FUNC./SET button

John.


Re: IXUS 115 HS / ELPH 100 HS request
« Reply #4 on: 26 / August / 2011, 08:30:00 »
Ah turns out I had to use a smaller card. The 1GB worked when the 16GB didn't, so I guess this camera isn't one of the newer ones that can use cards >4GB.

Here is my dump: http://dl.dropbox.com/u/15728808/PRIMARY.BIN

Re: IXUS 115 HS / ELPH 100 HS request
« Reply #5 on: 26 / August / 2011, 10:13:34 »
Your camera has 1.01A version... My - 1.00C so you can't directly test my work =(, but when I'll make working alpha for 1.00C I'll see your ver.

For now I've made a lot of stuff with lowlevel functions, so camera starts with all CHDK tasks, but I've some problems:

1) Camera still knows that card is locked. Could you show me where and what I need to change (in boot.c or somewhere else, I dunno..)
2) Logo and starting message appears, but not the way I want to. They're blinking and bad looking. In what files I need to make changes, to fix it?
3) Has this cam Jog_dial? And if yes what Jog_dial is?)
4) How to fill this file for my cam:
platform/<cam>/lib.c
Code: [Select]
int vid_get_viewport_width()
{
// viewport width table for each image size
// 0 = 4:3, 1 = 16:9, 2 = 3:2, 3 = 1:1
static long vp_w[4] = { ?, ?, ?, ? };
return vp_w[shooting_get_prop(PROPCASE_ASPECT_RATIO)];
}

int vid_get_viewport_xoffset()
{
// viewport width offset table for each image size
// 0 = 4:3, 1 = 16:9, 2 = 3:2, 3 = 1:1
static long vp_w[4] = { ?, ?, ?, ? }; // should all be even values for edge overlay
return vp_w[shooting_get_prop(PROPCASE_ASPECT_RATIO)];
}

long vid_get_viewport_height()
{
// viewport height table for each image size
// 0 = 4:3, 1 = 16:9, 2 = 3:2, 3 = 1:1
static long vp_h[4] = { ?, ?, ?, ? };
return vp_h[shooting_get_prop(PROPCASE_ASPECT_RATIO)];
}

int vid_get_viewport_yoffset()
{
// viewport height offset table for each image size
// 0 = 4:3, 1 = 16:9, 2 = 3:2, 3 = 1:1
static long vp_h[4] = { ?, ?, ?, ? };
return vp_h[shooting_get_prop(PROPCASE_ASPECT_RATIO)];
}

Thank in advance
John.

EDIT:
1 problem solved. That was my fault, I disabled for debugging purposes in boot.c "mykbd_task" and when I switched it on, it's became ok.. So now I need to ajust my screen, and then I can post alpha version for this cam.

John.
« Last Edit: 26 / August / 2011, 10:32:46 by Just.J »

*

Offline fe50

  • ******
  • 3038
  • IXUS50 & 860, SX10 Star WARs-Star RAWs
    • fe50

Re: IXUS 115 HS / ELPH 100 HS request
« Reply #7 on: 29 / August / 2011, 12:11:50 »
And finally first testable alpha-version for 1.00c version is ready.

If there someone who can test it - you're welcome!

Alt-mode is binded to (FUNC/SET+ZOOM_IN) buttons combination

For now main bug is strange "jumping" of output lines (like battery, menu items and other) in vertical axis (for about 5-7 lines down to its normal position), and time to time (for example after focusing) it returns to normal. Have anybody any ideas how to fix it?

EDIT: Added support to ver 1.01a, but I've no nesessary stuff to test, so pls someone try it and report about results...

John.
« Last Edit: 31 / August / 2011, 04:41:33 by Just.J »


Re: IXUS 115 HS / ELPH 100 HS request
« Reply #8 on: 31 / August / 2011, 06:56:35 »
I tested the 1.01a alpha build using the PS.FI2 method, and it loaded CHDK correctly.
The information appears on the main screen, but it does "jump" around like the 1.00c.

Also, the camera turns off when starting to record a video, leaving the lens fully open.

Here is a video: http://dl.dropbox.com/u/15728808/CHDK%20IXUS%20115%20ELPH100.mp4

Otherwise it seems operational :D

Here is a video link:

Re: IXUS 115 HS / ELPH 100 HS request
« Reply #9 on: 31 / August / 2011, 08:01:44 »
2Kevdog32
Ok, seems to me I fixed problem with video (forgot to change 1 func address when transferring from 1.00c), try this build, hope it'll be work properly.
Also pls try to use overrides like quality, image size, etc.

Next step for me in this port is:
1) Fix "jumping" problem, desribed before
2) Match modemap (it's very different comparing to sx220, that I used as base for this port)
3) Find more comfortable key combination for activation alt-mode
4) Unlock optical zoom for video (if it possible ofc. Can someone explain what I need to do?)

EDIT: "Jumping" problem solved! In "platform/<camera>/lib.c" I finally managed to pick right values:
Code: [Select]
long vid_get_bitmap_screen_width() { return 320; }
long vid_get_bitmap_screen_height() { return 240; }

long vid_get_bitmap_buffer_width() { return 960; }
long vid_get_bitmap_buffer_height() { return 270; } //this value cause "Jumping" problem if wrong (in alpha1 it was 360)

int vid_get_viewport_buffer_width() { return 960; }

Stay tuned!

John.
« Last Edit: 13 / September / 2011, 15:53:23 by Just.J »

 

Related Topics