Changeset 838 for trunk


Ignore:
Timestamp:
11/13/09 08:12:21 (4 years ago)
Author:
reyalp
Message:

More work for http://chdk.kernreaktor.org/mantis/view.php?id=64

  • add playrec_mode for ixus40_sd300 ixus50_sd400 ixus700_sd500
  • use s2is style playrec_mode check on ixus50_sd400 ixus700_sd500
  • use normal playrec_mode check on a560
Location:
trunk
Files:
10 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/lolevel.h

    r835 r838  
    158158 
    159159/*used to detect play or record mode without relying on physical switch positions 
    160  values: 
     160 values on most cameras: 
    161161  0 = startup in play 
    162162  1 = unknown, appears to happen in first play<->rec transition 
     
    165165  3 = play after being in record mode at least once 
    166166  5 = transitioning between some record modes, such as movie 
    167  address can be found with strings "MenuIn", "MenuOut" 
     167 values on very old vxworks cameras (ixus50_sd400, ixus700_sd500, s2is) 
     168  0 = startup in play 
     169  1 = rec 
     170  2 = play 
     171  3 = maybe transition ? 
     172 address in all cases can be found with strings "MenuIn", "MenuOut" 
    168173*/ 
    169174extern long playrec_mode;  
  • trunk/platform/a560/main.c

    r515 r838  
    6060int mode_get() { 
    6161    int mode, i, t=0xFF; 
    62     mode = (playrec_mode==1 || playrec_mode==2) ? MODE_REC : MODE_PLAY; 
     62//    mode = (playrec_mode==1 || playrec_mode==2) ? MODE_REC : MODE_PLAY; 
     63    mode = (playrec_mode==2 || playrec_mode==4 || playrec_mode==5)?MODE_REC:MODE_PLAY; 
     64 
    6365    _GetPropertyCase(PROPCASE_SHOOTING_MODE, &t, 4); 
    6466    for (i=0; i<MODESCNT; ++i) { 
  • trunk/platform/ixus40_sd300/sub/100j/stubs_min.S

    r826 r838  
    2121 
    2222DEF(levent_table,0xFF9514F0) 
     23DEF(playrec_mode,0x598C) // "MenuIn" 
  • trunk/platform/ixus40_sd300/sub/100k/stubs_min.S

    r826 r838  
    1919DEF(recreview_hold, 0x117A8) //WRONG 
    2020 
    21  
    2221DEF(levent_table,0xFF9514F0) 
     22DEF(playrec_mode, 0x598C) // "MenuIn" 
  • trunk/platform/ixus50_sd400/main.c

    r515 r838  
    204204int mode_get() { 
    205205    int mode, i, t=0xFF; 
    206     //mode  = (physw_status[0]&0x0F)==0x0C ?  MODE_PLAY : MODE_REC; 
    207         mode  = (physw_status[0]&0x07)==0x01 ?  MODE_PLAY : MODE_REC; 
    208         //mode  = (physw_status[1] & 0x2)?MODE_REC:MODE_PLAY;  
    209     t=0xFF; 
     206        // play/rec without overrides 
     207        // mode  = (physw_status[0]&0x07)==0x01 ?  MODE_PLAY : MODE_REC; 
     208 
     209    mode = (playrec_mode==1)?MODE_REC:MODE_PLAY; 
     210 
    210211    _GetPropertyCase(PROPCASE_SHOOTING_MODE, &t, 4); 
    211212    for (i=0; i<MODESCNT; ++i) { 
  • trunk/platform/ixus50_sd400/sub/101a/stubs_min.S

    r826 r838  
    1414DEF(movie_status, 0x6F95C) 
    1515DEF(levent_table,0xFF96C750) 
     16DEF(playrec_mode,0x56EC) // "MenuIn" 
  • trunk/platform/ixus50_sd400/sub/101b/stubs_min.S

    r826 r838  
    11#include "stubs_asm.h" 
    22 
    3 //DEF(physw_status, 0xFB20) 
    43DEF(physw_status, 0xFBB0) // from wrap_kbd_p1_f + 0x10 OK! 
    54DEF(led_table, 0xFDC8) // In aLedcon Data section OK! 
     
    1413DEF(movie_status, 0x6F95C) 
    1514DEF(levent_table,0xFF96C7A4) 
     15DEF(playrec_mode,0x56EC) 
  • trunk/platform/ixus700_sd500/main.c

    r835 r838  
    208208    int mode, i, t=0xFF; 
    209209// play/rec without override 
    210     mode  = (physw_status[0]&0x0F)==0x0B ?  MODE_PLAY : MODE_REC; 
    211  
    212 // not found 
    213 //    mode = (playrec_mode==2 || playrec_mode==4 || playrec_mode==5)?MODE_REC:MODE_PLAY; 
     210//    mode  = (physw_status[0]&0x0F)==0x0B ?  MODE_PLAY : MODE_REC; 
     211 
     212// note: different from later cams 
     213    mode = (playrec_mode==1)?MODE_REC:MODE_PLAY; 
    214214 
    215215    _GetPropertyCase(PROPCASE_SHOOTING_MODE, &t, 4); 
  • trunk/platform/ixus700_sd500/sub/101a/stubs_min.S

    r826 r838  
    1717DEF(second_ext_for_dng, 0x8030) 
    1818DEF(levent_table,0xFF962594) 
     19DEF(playrec_mode,0x5378) // "MenuIn" 
  • trunk/platform/ixus700_sd500/sub/101b/stubs_min.S

    r826 r838  
    1616DEF(second_ext_for_dng, 0x8030) 
    1717DEF(levent_table,0xFF9625E4) 
     18DEF(playrec_mode,0x5378) // "MenuIn" 
Note: See TracChangeset for help on using the changeset viewer.