AV apex96 value11.31 672 190310.08 640 1791 8.98 608 1671 8.00 576 1541 7.13 544 1400 6.35 512 1277 5.66 480 1128 5.04 448 993 4.49 416 852 4.00 384 731 3.56 352 599 3.17 320 488 2.87 292 340
int av_ext(int av_cam_x, int av_cam){ short av_set_x; short av_set; av_set= shooting_get_av96(); av_set_x=(av_set*4.1132)-(861.0421); if (av_set_x < 0) av_set_x=0; if (av_cam!=av_set) return av_set_x; else return av_cam_x;}
In addition to poking around the TV limitations, I found the aperture was getting limited to 2.8-11.0.I tracked through the code and found that the firmware was clipping the set values between these ranges (oddly enough, the FW limits it 2.8-11.0 even though the camera gui only allows 2.8-8.0).I was able to successfully extend the aperture range by overriding some of the values. With the overrides, the aperture is still limited at 2.8 for the lower AV, but I am able to get up to 16.0 now on the upper AV (tried and tested exposures).I found that the firmware is converting the AV value to another related number (similar to TV to microseconds), however, I'm not sure what this value represents (possibly just a value representing the iris mechanical setting). The values seem to get looked up on a table within the FW and are semi-linear (slighty scattered along the linear progression):Code: [Select]AV apex96 value11.31 672 190310.08 640 1791 8.98 608 1671 8.00 576 1541 7.13 544 1400 6.35 512 1277 5.66 480 1128 5.04 448 993 4.49 416 852 4.00 384 731 3.56 352 599 3.17 320 488 2.87 292 340For AV values within this range, I use the lookup value. Outside this range, I calculate it using the approximate linear progression (passing through the upper and lower values): x=(av*4.1132)-(861.0421)I have added the followwing function to generic/wrappers.c:Code: [Select]int av_ext(int av_cam_x, int av_cam){ short av_set_x; short av_set; av_set= shooting_get_av96(); av_set_x=(av_set*4.1132)-(861.0421); if (av_set_x < 0) av_set_x=0; if (av_cam!=av_set) return av_set_x; else return av_cam_x;}I have also made modifications to platform/SX10/sub/103a/capt_seq.c (attached).This modification is only valid for SX10 103a so far as that is the model I have. When I get a chance, I will look into the other version to see if it works directly or needs to modified.
I would be very cautious with this. It is possible that the limit exists to prevent the hardware from damaging itself.
It is giving me referral addresses within the code (FFF6B4DC-FFF6B6E4)
I don't see offhand what is happening in those functions. My suggestion would be to record the values the APEX96 value gets converted to, stuff them in a table and see if some obvious pattern appears.
QuoteIt is giving me referral addresses within the code (FFF6B4DC-FFF6B6E4) Where exactly are you seeing these references ?
A couple other random thoughts:One thing I notice is that sub_FF93B440 is referenced in a lot of places, so you may find your override is intermittent (or perhaps the camera will just be confused about what was used in some other calculation)
You've also broken it up into two functions, which is slightly confusing. The BEQ just a branch, not a function call.
I set up a monitor of the function and pulled the values out (rather tediously I may add...)
There must be some reason they impose this limit. Maybe it's because the very small apertures affect visual quality too much. I'm not trying to discourage you from trying it out, but I want to be sure that others stumbling on this thread that
Huh ? I don't understand what you are trying to say here at all. You believe FFF6B4DC-FFF6B6E4 are the addresses of something (which they aren't BTW, for the reason you suggested).What is the address of the instruction that you believe refers to these addresses ? If you don't have such an address, where do the above values come from ? Be specific.
ffa568b0: e59f0150 ldr r0, [pc, #336] ; ffa56a08: (0000d100)ffa568b4: e1a04001 mov r4, r1ffa568b8: e5900004 ldr r0, [r0, #4]
ffa568c0: e1a0c000 mov ip, r0
ffa568c4: e08c1102 add r1, ip, r2, lsl #2
ffa568c8: e1d130f0 ldrsh r3, [r1]ffa568cc: e1530004 cmp r3, r4
ffa568d0: aa000003 bge ffa568e4
ffa568d4: e2822001 add r2, r2, #1 ; 0x1
ffa568d8: e3520084 cmp r2, #132 ; 0x84
ffa568dc: e1a00001 mov r0, r1ffa568e0: 3afffff7 bcc ffa568c4
ffa568e4: e1510000 cmp r1, r0ffa568e8: 11d120f0 ldrshne r2, [r1]ffa568ec: 11520004 cmpne r2, r4
ffa568f0: 01d100f2 ldrsheq r0, [r1, #2]ffa568f4: 01d110b0 ldrheq r1, [r1]ffa568f8: 01c510b0 strheq r1, [r5]ffa568fc: 08bd8070 popeq {r4, r5, r6, pc}
HalloPlease take a look at the SX1 Firmware (201a) so we can test it on the SX1.Smartkiller
Started by polishruben « 1 2 » General Discussion and Assistance
Started by zeljan DSLR Hack development
Started by PhyrePhoX Feature Requests
Started by mlietchnyipout General Discussion and Assistance
Started by barberofcivil « 1 2 3 4 » General Discussion and Assistance