extra long exposures (split from: Hardcore modding on a A530, thanks to CHDK!

  • 184 Replies

I own an ixus 850is, and i'm obviously interested in that long exposure feature.

What can be done to port that feature on the 850is? - so that the 850is will be part of the club as well :-)
Do you need testers / code reviewers... ?


Offline Tarch

  • *
  • 3
  • S5IS + CHDK
I have tried some of the new exposures up to 203 secs on the s5is (1.01b)
and it works.
Thanks for this cool feature.
Maybe in the next days I will try more exposures.



Offline veti

  • *
  • 3
  • A630
ooh this looks interesting ... is there a port for the a630 yet and if not can I request one please (I saw a620 was mentioned) ?

It would be interesting to see how the "purple monster" in the corner expands with exposure and if shorter dark frames could be used on longer exposures. 


Offline PhyrePhoX

  • *****
  • 2254
  • make RAW not WAR
    • PhyreWorX
it is a matter of time and motivation of someone to include the requested cameras into "the long exposure club". i know i can't do it, and if you don't know the assembler language, y'all can't do it either, sorry folks. eventually all cameras will be included, but we cannot promise anything.

I've tried 128 sec exposure on my S5 1.01B and it worked fine but there was no dark frame substraction afterwards (dark frame setting set to auto). Is it a bug or a feature? The amp light is already pretty bad at this exposure.

And it's working ok with dark frame set "on" in RAW options.

I've just tried on my S5IS 1.01b up to 1200 seg.
It worked! :)

Thank you very much!


Offline fudgey

  • *****
  • 1705
  • a570is
The firmware of my Ixus950 (and I believe all other cameras with the same sensor -- A720, S5, Ixus80 to name a few) contains an interesting piece of code VsubCont.c, called from ImageSensorTask. The name immediately raises suspicion, as it reminds the mnemonics of Substrate Voltage Control in some CCD chips. The function (located at FF9B9C3C in my case) writes to three hardware ports (CCD voltage control??), 0xC022009C, 0xC0F18010, and 0xC0220090. Calling it with allowed parameters 1,2,4,8 doesn't produce anything spectacular -- just changing the live image brightness a bit. But does it actually change CCD voltages, and if so, which ones? The best way to find out would be to hook up a voltmeter to the sensor pins while writing to these ports -- but this requires opening up the cam, which I don't like. I thought you might have already taken one apart.

Now this sounds pretty interesting... ewavr's schematic snippet doesn't show connection for IC2001 pins 5 and 8, but from a quick glance at at the ROHM BD3916FVM datasheet and your quote above one would think they could be tied to the digic in one way or another as they indeed look like CCD negative and positive supply level control pins.

I took a look at a570 100e disassembly, looks like a similar function to your FF9B9C3C can be found starting at ffd666d8. It has only two choices of operation for r0 range 0...17: it either writes 0b100 to 0xc022007c and 0b110 to 0xc0220088 or it writes 0b100 to both ports. In subroutines starting from ffd664ec the same ports get values 0,4,6 each in a few combinations.

Haven't tried what they do yet, but they could very well be 3-bit controls for each voltage. Bit 4 of 0xc022007c appears to be involved too, though.


Offline whoever

  • ****
  • 280
  • IXUS950
Now this sounds pretty interesting...
I thought it did too, but now sort of lost enthusiasm. Yes, BD3916FVM pins 5 & 8 could 've been connected to DiGiC, although it's much more likely that newer cams use a whole different chip for the purpose. They sure enough use different CCD chips, which may or may not support such or similar functions. It seems that, e.g., A710 doesn't have VsubCont (what a pity, cannot call ewavr for help)... Nice that we have at least this Ixus65 schematics. Ancient as it is, but still useful...

Now back to the subject. As ewavr suggested above, perhaps every (significant) regulated voltage in the cam is connected to ADC for monitoring by OS. The VsubCont (if it controls a voltage at all) is not -- I didn't see a change in GetAdChValue() for any channel. I then tried to blindly write random/successive numbers to the ports -- to no avail, I only could see that same small change of live view brightness as with a legitimate call to VsubCont() (i.e. only a couple of bits of the ports are actually connected to something). I'm thus getting an impression that this voltage control (if it is a voltage control) is only for trimming purpose rather than for full-fledged regulation, and thus uninteresting for the original purpose of choking the pre-amp. Of course I may be wrong -- and hopefully I am.

The actual functioning of the code is well over my head though. Why three ports, of which one is clearly a bitmap (configuration port?) Is perhaps the writing order important? What do they control in the first place? And when will Canon, Inc. finally leak the freakin' service/hacking manual? Otherwise, meditating over the disasm doesn't often precipitate useful ideas...


Offline ewavr

  • ****
  • 1057
  • A710IS
It seems that, e.g., A710 doesn't have VsubCont (what a pity, cannot call ewavr for help)...

It seems that sub_FFCC7D6C in a710 is equal to sub_FF9B9C3C in ixus950, but I cannot see visible image changes when I call it  :(.


Related Topics