Ixus 40 / SD300 v1.00k - beta version available :) - page 6 - General Discussion and Assistance - CHDK Forum

Ixus 40 / SD300 v1.00k - beta version available :)

  • 102 Replies
  • 60253 Views
*

Offline fe50

  • ******
  • 3152
  • IXUS50 & 860, SX10 Star WARs-Star RAWs
    • fe50
Re: Ixus 40 / SD300 v1.00k - beta version available :)
« Reply #50 on: 29 / August / 2008, 15:39:34 »
Advertisements
...Now I just need to work out why paintshop pro only shows the image as 256 x 192!

I think that's only a preview / thumb, most programs has a setting / short key to view the whole RAW pic...it also seems that the RAW support of earlier PSP versions is bad.

You can also view DNGs with Faststone Image Viewer or XNView, both great, free-for-non-commercial-use apps...

The GIMP with the UFRaw plugin works great with DNGs, also Paint.NET (Windows only).

Re: Ixus 40 / SD300 v1.00k - beta version available :)
« Reply #51 on: 02 / September / 2008, 19:13:02 »
hi - great efforts here!

but how do i get a 1.00k firmware for my ixus 40?!?  i have been surfing now for 6 hours and have not come close to an idea!  my camera came with 1.00j installed.

thanks,
fred.

Re: Ixus 40 / SD300 v1.00k - beta version available :)
« Reply #52 on: 04 / September / 2008, 09:37:33 »

Re: Ixus 40 / SD300 v1.00k - beta version available :)
« Reply #53 on: 04 / September / 2008, 17:52:29 »
thanks - but the code there is for firmware 1.00k.  i have 1.00j.  anyway - i took the code from trunk and fixed it up for firmware 1.00j.

everything seems to work as described in this thread.

i noticed though, that in sub_ff9432b8_my() in capt_seq.c some of the assembler seems wrong to me:

ff943300:    e59f0174    ldr   r0, [pc, #372]   ; ff94347c: (ff9431dc)

is coded as:

   "LDR     R0, =0xff94347c\n" //debug string loc


instead of

   "LDR     R0, =0xff9431dc\n" //debug string loc


or am i missing the point?  there are a couple of these in there.

too bad bracketing doesn't work - yet.

find attached my 100j directory (belongs in sub).

ciao,
fred.


Re: Ixus 40 / SD300 v1.00k - beta version available :)
« Reply #54 on: 05 / September / 2008, 17:32:10 »
ok - after a lot of fiddling about i got bracketing working as well (juhuu!) - the problem was not bracketing but acutally shooting a series.

moving the calls for fixing nr and exposure further up made it work.  otherwise some memory locations (registers?) seem to get overwritten and the thing crashes.

thus:
"loc_FF94334C:\n"
  "BL      capt_seq_hook_set_nr\n" // + do noise reduction set

  "BL      shooting_expo_param_override\n"  // + seems to be working :)


the attachment incorporates this change + the firmware binaries.

enjoy,
fred.

p.s. try the motion detection scripts!

*

Offline whoever

  • ****
  • 280
  • IXUS950
Re: Ixus 40 / SD300 v1.00k - beta version available :)
« Reply #55 on: 06 / September / 2008, 03:08:19 »
otherwise some memory locations (registers?) seem to get overwritten and the thing crashes.
When brutally inserting a function call in the middle of canon code, one should at least save/restore R0. It should've been standard practice -- I don't really understand how it worked at all the way it has been done. A simple modification (example) that does the trick is instead of

void capt_seq_hook_set_nr(void)
{
   ...
}

say

int capt_seq_hook_set_nr(int R0)
{
   ...
   return R0;
}

for every such function.

*

Offline ewavr

  • ****
  • 1057
  • A710IS
Re: Ixus 40 / SD300 v1.00k - beta version available :)
« Reply #56 on: 06 / September / 2008, 05:01:19 »
When brutally inserting a function call in the middle of canon code, one should at least save/restore R0. It should've been standard practice -- I don't really understand how it worked at all the way it has been done.

It worked if next code does not use old R0-R3, LR register values. For example, for IXUS950  (same thing for other cameras):
Code: [Select]
capt_seq.c:capt_seq_task():
                "BL      shooting_expo_param_override\n"   // + <- ADDED !!!!!
"                BL      sub_FFB0BA04\n"
"                LDR     R3, =0xAAB80\n"
"                LDR     R2, [R3,#0x24]\n"
"                CMP     R2, #0\n"

sub_FFB0BA04 does not use any arguments - here is all correct.

capt_seq.c:sub_FFB0D80C_my:

                "BL      sub_FFB10B64_my\n"  //---------> ESCAPE to My !!!!!
                "BL      capt_seq_hook_raw_here\n"  // + <- ADDED !!!!!
"                B       loc_FFB0D8B8\n"
....
"loc_FFB0D8B8:\n"
"                MOV     R1, #1\n"
"                MOV     R2, R4\n"
"                BL      sub_FFB0BF7C\n"

sub_FFB0BF7C requires R0 as argument - here is error, as you know.

capt_seq.c:sub_FFB10B64_my:

               "BL      capt_seq_hook_set_nr\n"  // + <- ADDED !!!!!
" LDR R3, =0xED48\n"
" LDR R0, [R3]\n"
                        BL      sub_FFA42780

sub_FFA42780 requires only R0 - here is no error.

mount.c:sub_FFAA1DC8_my:

                "STMFD   SP!, {R4-R11,LR}\n" // +
                "BL      mbr_read\n"    //----------->
                "LDMFD   SP!, {R4-R11,LR}\n" // +
We save lot of registers, here is no error.

movie_rec.c:movie_record_task():

"loc_FFB928A0:\n"
                "BL      unlock_optical_zoom\n"
"                BL      sub_FFB92B50\n"

sub_FFB92B50 does not require any arguments, here is no error.

A710:movie_rec.c:sub_FFD52C2C_my:

                "BL      mute_on_zoom\n"     // +
                "LDMFD   SP!, {R4-R7,PC}\n"

int mute_on_zoom(int x){
.....
 }
 return x;

Here is no error, R0 is saved.
« Last Edit: 06 / September / 2008, 05:03:29 by ewavr »

*

Offline whoever

  • ****
  • 280
  • IXUS950
Re: Ixus 40 / SD300 v1.00k - beta version available :)
« Reply #57 on: 06 / September / 2008, 14:10:36 »
Of course, but it's just sheer luck rather than good programming practice. Why not advise the hackers to enclose their functions in "naked,noinline" wrappers with at least push/pop R0-R3:

   STMFD SP!, {R0-R3,LR}
   ...
   LDMFD SP!, {R0-R3,PC}

Perhaps could save some hassle...


Re: Ixus 40 / SD300 v1.00k - beta version available :)
« Reply #58 on: 06 / September / 2008, 15:34:30 »
Of course, but it's just sheer luck rather than good programming practice. Why not advise the hackers to enclose their functions in "naked,noinline" wrappers with at least push/pop R0-R3:

   STMFD SP!, {R0-R3,LR}
   ...
   LDMFD SP!, {R0-R3,PC}

Perhaps could save some hassle...


would save a lot of hassle!

i this particular case though, the BL was inserted before a BEQ command - which, of course, screwed up as soon as anything happened in the called routine.

Re: Ixus 40 / SD300 v1.00k - beta version available :)
« Reply #59 on: 09 / September / 2008, 05:41:08 »
Sounds great, but I have 1.00k and the 1.00j files don't work with it.  Can someone produce this for 1.00k, or tell me where I can get the 1.00j firmware so that I can downgrade my camera?

 

Related Topics


SimplePortal 2.3.6 © 2008-2014, SimplePortal