changeset 2111 - General Discussion and Assistance - CHDK Forum  

changeset 2111

  • 2 Replies
  • 1465 Views
*

Offline rudi

  • ***
  • 126
  • A590IS_101B, SX260HS_100B
changeset 2111
« on: 10 / September / 2012, 07:07:22 »
Advertisements
Hi,
I would write the main.c part for using focus_len_table in SX1, SX10, SX20. But I think singfinders addresses are wrong. NUM_FL=6 is in any case to small.
How we detect the count of zoom points?

My favorite values are here:
Code: [Select]
sx20_102b
----------
5.0-100.0 = [KB]28mm-560mm, zoom points in main.c = 129
range: 0x1388( 5.000d) - 0x186A0(100.000d)
focus_len_table at:
0xFFFE6ED0: 0x1388
..
0xFFFE70D0: 0x186A0

201 values, 1 int

sx10_100c
----------
5.0-100.0 = [KB]28mm-560mm, zoom points in main.c = 129
range: 0x1388(5.000d) - 0x186A0(100.000d)
focus_len_table at:
0xFFFE6ED0: 0x1388
..
0xFFFE70D0: 0x186A0

201 values, 1 int

sx1_200h
----------
5.0-100.0 = [KB]28mm-560mm, in main.c = wrong part!
range: 0x1388(5.000d) - 0x186A0(100.000d)
focus_len_table at:
0xFFFE6FD0: 0x1388
..
0xFFFE71D0: 0x186A0

201 values, 1 int

Re: changeset 2111
« Reply #1 on: 10 / September / 2012, 07:30:07 »
I would write the main.c part for using focus_len_table in SX1, SX10, SX20. But I think singfinders addresses are wrong. NUM_FL=6 is in any case to small.
Its possible the sigfinder identified a different and wrong table. It looks for memory patterns that look like the zoom table rather than finding it through a reference from the code.  Its possible that some cameras may have too many zoom steps so Canon does not use the same table ?

Quote
How we detect the count of zoom points?
On the cameras I have used - the number of zoom points are equal to the number of steps you get when clicking the zoom lever and moving the lens from its widest position to the max telephoto position (not including digital zoom).
Ported :   A1200    SD940   G10    Powershot N    G16

*

Offline rudi

  • ***
  • 126
  • A590IS_101B, SX260HS_100B
Re: changeset 2111
« Reply #2 on: 12 / September / 2012, 14:10:42 »
Werner_O from german forum checked zoom vales on his sx20_102d. On max. zoom returns get_zoom()=128 (result from _GetZoomLensCurrentPoint()). In this case is zoom points in main.c = 129 okay.
Now I recalculated addresses from first post:
Code: [Select]
sx20_102d

0x1388(5.000d) on 0xFFFE6ED0
0x186A0(100.000d) on 0xFFFE70D0
from 0xFFFE6ED0 to 0xFFFE70D3 = 0x204 byte = 0x81(129d) int values
I think the focus_len_table for sx20_102d locate on 0xFFFE6ED0. For sx1 and sx10 are also wrong calculated in first post, the addresses are right.


 

Related Topics