Ignore:
Timestamp:
03/27/11 02:40:18 (2 years ago)
Author:
reyalP
Message:

G12 & SX30 to fix overrides not working if shutter pressed quickly - from philmoz in http://chdk.setepontos.com/index.php?topic=650.msg63483#msg63483

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/platform/sx30/sub/100l/capt_seq.c

    r1106 r1108  
    8686 
    8787"               BL      sub_FF8840C0 \n" 
    88 "               LDR     R0, [R4,#0x24] \n" 
    89 "               CMP     R0, #0 \n" 
    90  
    91 //"             BLNE    sub_FF992F54 \n" 
    92 "               BLNE    sub_FF992F54_my \n" 
     88 
     89"               MOV     R0, #0\n"                                                       // added 
     90"               STR     R0, [R4,#0x24]\n"                                       // added, fixes overrides  behavior at short shutter press (from S95) 
     91 
     92//"             LDR     R0, [R4,#0x24] \n"                                              // above two lines make this code redundant 
     93//"             CMP     R0, #0 \n"                                                              // above two lines make this code redundant 
     94 
     95//"             BLNE    sub_FF992F54 \n"                                        // above two lines make this code redundant 
     96//"             BLNE    sub_FF992F54_my \n"                                     // patched (above two lines make this patch redundant) 
    9397 
    9498"               B       loc_FF886B60 \n" 
     
    442446} 
    443447 
    444 void __attribute__((naked,noinline)) sub_FF992F54_my(){ 
    445  asm volatile( 
    446 "               STMFD   SP!, {R4-R6,LR} \n" 
    447 "               BL      sub_FF886084 \n" 
    448 "               MOV     R4, R0 \n" 
    449 "               LDR     R0, =0x3BC24 \n" 
    450 "               LDR     R5, =0x85AC \n" 
    451 "               LDR     R0, [R0,#0x24] \n" 
    452 "               MOV     R6, #1 \n" 
    453 "               CMP     R0, #0 \n" 
    454 "               BEQ     loc_FF992F98 \n" 
    455 "               MOV     R0, #0xC \n" 
    456 "               BL      sub_FF88C64C \n" 
    457 "               TST     R0, #1 \n" 
    458 "               STRNE   R6, [R5] \n" 
    459 "               LDRNE   R0, [R4,#8] \n" 
    460 "               ORRNE   R0, R0, #0x40000000 \n" 
    461 "               STRNE   R0, [R4,#8] \n" 
    462 "               LDMNEFD SP!, {R4-R6,PC} \n" 
    463 "loc_FF992F98: \n" 
    464 "               MOV     R0, R4 \n" 
    465 "               BL      sub_FF992B58 \n" 
    466 "               MOV     R0, R4 \n" 
    467 "               BL      sub_FFAEC318 \n" 
    468 "               MOV     R0, R4 \n" 
    469  
    470 //"             BL      sub_FFAECCA0 \n" 
    471 "               BL      sub_FFAECCA0_my \n" 
    472  
    473 "               TST     R0, #1 \n" 
    474 "               STRNE   R6, [R5] \n" 
    475 "               LDMFD   SP!, {R4-R6,PC} \n" 
    476  ); 
    477 } 
     448//void __attribute__((naked,noinline)) sub_FF992F54_my(){ 
     449// asm volatile( 
     450//"             STMFD   SP!, {R4-R6,LR} \n" 
     451//"             BL      sub_FF886084 \n" 
     452//"             MOV     R4, R0 \n" 
     453//"             LDR     R0, =0x3BC24 \n" 
     454//"             LDR     R5, =0x85AC \n" 
     455//"             LDR     R0, [R0,#0x24] \n" 
     456//"             MOV     R6, #1 \n" 
     457//"             CMP     R0, #0 \n" 
     458//"             BEQ     loc_FF992F98 \n" 
     459//"             MOV     R0, #0xC \n" 
     460//"             BL      sub_FF88C64C \n" 
     461//"             TST     R0, #1 \n" 
     462//"             STRNE   R6, [R5] \n" 
     463//"             LDRNE   R0, [R4,#8] \n" 
     464//"             ORRNE   R0, R0, #0x40000000 \n" 
     465//"             STRNE   R0, [R4,#8] \n" 
     466//"             LDMNEFD SP!, {R4-R6,PC} \n" 
     467//"loc_FF992F98: \n" 
     468//"             MOV     R0, R4 \n" 
     469//"             BL      sub_FF992B58 \n" 
     470//"             MOV     R0, R4 \n" 
     471//"             BL      sub_FFAEC318 \n" 
     472//"             MOV     R0, R4 \n" 
     473// 
     474////"           BL      sub_FFAECCA0 \n" 
     475//"             BL      sub_FFAECCA0_my \n" 
     476// 
     477//"             TST     R0, #1 \n" 
     478//"             STRNE   R6, [R5] \n" 
     479//"             LDMFD   SP!, {R4-R6,PC} \n" 
     480// ); 
     481//} 
    478482 
    479483void __attribute__((naked,noinline)) sub_FFAECCA0_my(){ 
Note: See TracChangeset for help on using the changeset viewer.