Changeset 957


Ignore:
Timestamp:
10/17/10 05:42:36 (4 years ago)
Author:
reyalp
Message:

ptp support based on mweerden's proposal in http://chdk.setepontos.com/index.php/topic,4338.msg52984.html#msg52984
this is currently disabled by default. See http://chdk.setepontos.com/index.php/topic,4338.msg55942.html#msg55942 for additional information

Location:
trunk
Files:
2 added
121 edited

Legend:

Unmodified
Added
Removed
  • trunk/buildconf.inc

    r864 r957  
    1212OPT_EDGEOVERLAY=1 
    1313OPT_LUA_STRLIB=1 
     14# experimental PTP/USB interface 
     15#OPT_PTP=1 
    1416#allow Lua to call arbitrary ROM functions and eventprocs 
    1517# WARNING: This is DANGEROUS. e.g. call_event_proc("EraseSectorOfRom",...) 
  • trunk/core/Makefile

    r928 r957  
    5656CFLAGS+=-DOPT_LUA_CALL_NATIVE 
    5757endif  
     58ifdef OPT_PTP 
     59# in top level 
     60#CFLAGS+=-DOPT_PTP 
     61OPT_OBJS+=ptp.o  
     62endif  
    5863 
    5964OBJS=entry.o nothumb.o main.o gui_draw.o gui_menu.o gui_palette.o gui_mbox.o \ 
  • trunk/core/kbd.c

    r925 r957  
    219219 
    220220static lua_State* L, *Lt; 
     221static int lua_keep_result; 
    221222 
    222223static int is_lua() 
     
    240241void lua_script_reset() 
    241242{ 
     243  if ( !lua_keep_result ) 
     244  { 
    242245    lua_close( L ); 
    243246    L = 0; 
    244     Lt = 0; 
     247  } 
     248  Lt = 0; 
    245249} 
    246250 
    247251static int lua_script_start( char const* script ) 
    248252{ 
     253  lua_keep_result = 0; 
    249254  L = lua_open(); 
    250255  luaL_openlibs( L ); 
     
    261266  return 1; 
    262267} 
     268 
     269void lua_script_exec( char *script , int keep_result ) 
     270{ 
     271  lua_script_start(script); 
     272  lua_keep_result = keep_result; 
     273  state_lua_kbd_first_call_to_resume = 1; 
     274  state_kbd_script_run = 1; 
     275  kbd_blocked = 1; 
     276  auto_started = 0; 
     277} 
     278 
     279void lua_script_wait() 
     280{ 
     281  while ( state_kbd_script_run ) 
     282  { 
     283    msleep(100); 
     284  } 
     285} 
     286 
     287void *lua_get_result() 
     288{ 
     289  lua_State* r = L; 
     290  L = 0; 
     291  return r; 
     292} 
     293 
    263294 
    264295static void wait_and_end(void) 
  • trunk/core/luascript.c

    r944 r957  
    554554} 
    555555 
     556// optional parameter is 0 for soft shutdown (default) or 1 for hard/immediate 
    556557static int luaCB_shut_down( lua_State* L ) 
    557558{ 
     559  if ( luaL_optnumber(L,1,0) == 1 ) 
     560  { 
     561    shutdown(); 
     562  } else { 
    558563  camera_shutdown_in_a_second(); 
     564  } 
    559565  return 0; 
    560566} 
     
    11711177  } 
    11721178  return 0; 
     1179} 
     1180 
     1181// switch mode (0 = playback, 1 = record) 
     1182// only for when USB is connected 
     1183static int luaCB_switch_mode_usb( lua_State* L ) 
     1184{ 
     1185  int mode = luaL_checknumber(L,1); 
     1186 
     1187  if ( mode != 0 && mode != 1 ) 
     1188  { 
     1189    return 0; 
     1190  } 
     1191 
     1192  return switch_mode_usb(mode); 
    11731193} 
    11741194 
     
    14661486   FUNC(set_record); 
    14671487 
     1488   FUNC(switch_mode_usb); 
     1489 
    14681490#ifdef OPT_LUA_CALL_NATIVE 
    14691491   FUNC(call_event_proc); 
  • trunk/core/main.c

    r852 r957  
    7979    spytask_can_start=0; 
    8080 
     81#ifdef CAM_CHDK_PTP 
     82        init_chdk_ptp_task(); 
     83#endif 
     84 
    8185    while((i++<400) && !spytask_can_start) msleep(10); 
    8286 
  • trunk/include/camera.h

    r954 r957  
    5656    #undef  CAM_BRACKETING                // Cameras that have bracketing (focus & ev) in original firmware already, most likely s- & g-series (propcase for digic III not found yet!) 
    5757    #undef  CAM_EXT_TV_RANGE             // CHDK can make exposure time longer than 64s 
     58    #undef  CAM_CHDK_PTP                 // include CHDK PTP support 
    5859 
    5960    #define CAM_UNCACHED_BIT    0x10000000 // bit indicating the uncached memory 
     
    462463 
    463464    #define CAM_EXT_TV_RANGE            1 
     465 
     466    #define  CAM_CHDK_PTP               1 // include CHDK PTP support 
     467 
    464468//---------------------------------------------------------- 
    465469 
     
    10771081 
    10781082    #define CAM_ZEBRA_ASPECT_ADJUST 1 
     1083 
     1084    #define  CAM_CHDK_PTP               1 // include CHDK PTP support 
    10791085 
    10801086//---------------------------------------------------------- 
     
    16611667    #define CAM_MULTIPART               1 
    16621668    #define CAM_REMOTE                  1 
    1663     #define CAM_SYNCH                   1   // XXX 
     1669    #define CAM_SYNCH                   1 
     1670    #define CAM_CHDK_PTP                1 
    16641671    #undef CAM_UNCACHED_BIT 
    16651672    #define CAM_UNCACHED_BIT            0x40000000  // 0xFF874198 (via ExMem.FreeCacheable 
     
    30143021#endif 
    30153022 
     3023#ifndef OPT_PTP 
     3024#undef CAM_CHDK_PTP 
     3025#endif 
     3026 
    30163027#endif /* CAMERA_H */ 
  • trunk/include/lolevel.h

    r944 r957  
    284284// 3 skips one function call on some cameras, but does restart 
    285285void _Restart(unsigned option); 
    286 #endif 
     286 
     287// boot an fir/fi2 file 
     288void _reboot_fw_update(const char* bootfile); 
     289#ifdef CAM_CHDK_PTP 
     290extern int _add_ptp_handler(int, void*, int); 
     291#endif 
     292 
     293#endif 
  • trunk/include/platform.h

    r944 r957  
    486486 
    487487/* 
    488  shut down the display and reboot the camera.  
    489  bootfile is the name of the file to boot. 
    490   Must be an unencoded ARM binary, will be loaded at 0x1900 
    491   For cameras which use encoded diskboot, loader/<camera>/main.bin may be used 
    492   For cameras which do not use encoded diskboot, DISKBOOT.BIN may be used 
    493   No sanity checking is performed on the binary, except that the size is >= 4 bytes 
    494  If bootfile is NULL, camera firmware is rebooted. DISKBOOT.BIN will be loaded or not according to normal rules 
    495  returns 0 on failure, does not return on success 
    496  does NOT save camera settings to flash 
    497  does NOT retract lens before rebooting 
    498  calling from playback mode is recommended 
     488 reboot, optionally loading a different binary 
     489 see lib/armutil/reboot.c for documentation 
    499490*/ 
    500491int reboot(const char *bootfile); 
     
    503494#define finished() debug_led(0) 
    504495 
     496 
     497#ifdef CAM_CHDK_PTP 
     498 
     499typedef struct { 
     500    int code; 
     501    int sess_id; 
     502    int trans_id; 
     503    int num_param; 
     504    int param1; 
     505    int param2; 
     506    int param3; 
     507    int param4; 
     508    int param5; 
     509} PTPContainer; 
     510 
     511typedef struct { 
     512    int handle; 
     513    int (*send_data)(int handle, const char *buf, int part_size, int total_size, int, int, int); // (0xFF9F525C), total_size should be 0 except for the first call 
     514    int (*recv_data)(int handle, char *buf, int size, int, int); // (0xFF9F5500) 
     515    int (*send_resp)(int handle, PTPContainer *resp); // (0xFF9F5688) 
     516    int (*get_data_size)(int handle); // (0xFF9F5830) 
     517    int (*send_err_resp)(int handle, PTPContainer *resp); // (0xFF9F5784) 
     518    int unknown1; // ??? 
     519    int (*f2)(); // ??? (0xFF8D5B24) 
     520    int (*f3)(); // ??? (0xFF8D5B5C) 
     521    // more?? 
     522} ptp_data; 
     523 
     524typedef int (*ptp_handler)(int, ptp_data*, int, int, int, int, int, int, int, int); 
     525 
     526int add_ptp_handler(int opcode, ptp_handler handler, int unknown); 
     527 
     528void init_chdk_ptp(); 
     529void init_chdk_ptp_task(); 
     530 
     531#endif // CAM_CHDK_PTP 
     532 
     533int switch_mode_usb(int mode); // 0 = playback, 1 = record; return indicates success 
     534                               // N.B.: switch_mode only supported when USB is connected 
     535 
     536void ExitTask(); 
     537 
    505538#endif 
  • trunk/include/script.h

    r899 r957  
    2929extern void script_console_redraw(); 
    3030//------------------------------------------------------------------- 
     31 
     32extern void lua_script_exec(char *script, int keep_result); 
     33extern void lua_script_wait(); 
     34extern void *lua_get_result(); 
    3135#endif 
  • trunk/lib/armutil/reboot.c

    r944 r957  
    66 shut down the display and reboot the camera.  
    77 bootfile is the name of the file to boot. 
    8   Must be an unencoded ARM binary, will be loaded at 0x1900 
     8  If the filename ends in .FI*, load with _reboot_fw_update if implemented 
     9  Otherwise must be an unencoded ARM binary, will be loaded at 0x1900 
    910  For cameras which use encoded diskboot, loader/<camera>/main.bin may be used 
    1011  For cameras which do not use encoded diskboot, DISKBOOT.BIN may be used 
     
    2526                } 
    2627                _Restart(0); 
     28        } 
     29 
     30        int namelen=strlen(bootfile); 
     31        if(namelen > 3 && (strncmp(bootfile + namelen - 4,".FI",3) == 0)) { 
     32                _reboot_fw_update(bootfile); 
     33                // if _reboot_fw_update returns, it failed or is not implemented 
     34                return 0; 
    2735        } 
    2836 
  • trunk/makefile.inc

    r938 r957  
    395395endif 
    396396 
     397ifdef OPT_PTP 
     398CFLAGS+=-DOPT_PTP 
     399endif 
     400 
    397401ifdef OPT_WARNINGS 
    398402     ifeq ($(GCC_VERSION_MAJOR),3) 
  • trunk/platform/a2000/sub/100c/stubs_entry.S

    r944 r957  
    113113NSTUB(_pow, 0xffe72740) 
    114114NSTUB(_sqrt, 0xffe749f4) 
     115NSTUB(add_ptp_handler, 0xffdac444) 
    115116NSTUB(close, 0xffc09f50) 
    116117NSTUB(closedir, 0xffddcf4c) 
     
    147148NSTUB(read, 0xffc0a138) 
    148149NSTUB(readfastdir, 0xffddce7c) 
     150// Best match: 86% 
     151NSTUB(reboot_fw_update, 0xffde1750) 
    149152NSTUB(rename, 0xffc13418) 
    150153// Best match: 95% 
  • trunk/platform/a450/sub/100d/stubs_entry.S

    r944 r957  
    110110NSTUB(_sqrt, 0xffcbee54) 
    111111// ALT: NSTUB(_sqrt, 0xffcbee54) // 24/0 
     112// Best match: 96% 
     113NSTUB(add_ptp_handler, 0xffd7c07c) 
    112114NSTUB(chdir, 0xffcc9ddc) 
    113115// ALT: NSTUB(chdir, 0xffcc9ddc) // 27/0 
  • trunk/platform/a460/sub/100d/stubs_entry.S

    r944 r957  
    110110NSTUB(_sqrt, 0xffcbee4c) 
    111111// ALT: NSTUB(_sqrt, 0xffcbee4c) // 24/0 
     112// Best match: 96% 
     113NSTUB(add_ptp_handler, 0xffd7c06c) 
    112114NSTUB(chdir, 0xffcc9dd4) 
    113115// ALT: NSTUB(chdir, 0xffcc9dd4) // 27/0 
  • trunk/platform/a470/sub/100e/stubs_entry.S

    r944 r957  
    102102NSTUB(_pow, 0xffe4e5d4) 
    103103NSTUB(_sqrt, 0xffe50888) 
     104NSTUB(add_ptp_handler, 0xffd960e4) 
    104105NSTUB(close, 0xffc09f74) 
    105106NSTUB(closedir, 0xffdc4230) 
     
    135136NSTUB(read, 0xffc0a15c) 
    136137NSTUB(readfastdir, 0xffdc4160) 
     138// Best match: 93% 
     139NSTUB(reboot_fw_update, 0xffdc8a34) 
    137140NSTUB(rename, 0xffc13c30) 
    138141// Best match: 95% 
  • trunk/platform/a470/sub/101b/stubs_entry.S

    r944 r957  
    102102NSTUB(_pow, 0xffe4e5d0) 
    103103NSTUB(_sqrt, 0xffe50884) 
     104NSTUB(add_ptp_handler, 0xffd960e0) 
    104105NSTUB(close, 0xffc09f74) 
    105106NSTUB(closedir, 0xffdc422c) 
     
    135136NSTUB(read, 0xffc0a15c) 
    136137NSTUB(readfastdir, 0xffdc415c) 
     138// Best match: 93% 
     139NSTUB(reboot_fw_update, 0xffdc8a30) 
    137140NSTUB(rename, 0xffc13c30) 
    138141// Best match: 95% 
  • trunk/platform/a470/sub/102c/stubs_entry.S

    r944 r957  
    102102NSTUB(_pow, 0xffe4f010) 
    103103NSTUB(_sqrt, 0xffe512c4) 
     104NSTUB(add_ptp_handler, 0xffd96b20) 
    104105NSTUB(close, 0xffc09f74) 
    105106NSTUB(closedir, 0xffdc4c6c) 
     
    135136NSTUB(read, 0xffc0a15c) 
    136137NSTUB(readfastdir, 0xffdc4b9c) 
     138// Best match: 93% 
     139NSTUB(reboot_fw_update, 0xffdc9470) 
    137140NSTUB(rename, 0xffc13c30) 
    138141// Best match: 95% 
  • trunk/platform/a480/sub/100b/stubs_entry.S

    r944 r957  
    101101NSTUB(_pow, 0xffe31958) 
    102102NSTUB(_sqrt, 0xffe33c0c) 
     103NSTUB(add_ptp_handler, 0xffd8a108) 
    103104NSTUB(close, 0xffc0a034) 
    104105NSTUB(closedir, 0xffdb0114) 
     
    134135NSTUB(read, 0xffc0a21c) 
    135136NSTUB(readfastdir, 0xffdb0044) 
     137// Best match: 86% 
     138NSTUB(reboot_fw_update, 0xffdb3b28) 
    136139NSTUB(rename, 0xffc13300) 
    137140// Best match: 95% 
  • trunk/platform/a530/sub/100a/stubs_entry.S

    r944 r957  
    103103NSTUB(_sqrt, 0xffebbd30) 
    104104// ALT: NSTUB(_sqrt, 0xffebbd30) // 24/0 
     105// Best match: 96% 
     106NSTUB(add_ptp_handler, 0xffe35eac) 
    105107NSTUB(chdir, 0xffec8bb0) 
    106108// ALT: NSTUB(chdir, 0xffec8bb0) // 27/0 
  • trunk/platform/a540/sub/100b/stubs_entry.S

    r944 r957  
    108108NSTUB(_sqrt, 0xffed1718) 
    109109// ALT: NSTUB(_sqrt, 0xffed1718) // 24/0 
     110// Best match: 96% 
     111NSTUB(add_ptp_handler, 0xffe46ddc) 
    110112NSTUB(chdir, 0xffede5e4) 
    111113// ALT: NSTUB(chdir, 0xffede5e4) // 27/0 
  • trunk/platform/a550/sub/100c/stubs_entry.S

    r944 r957  
    111111NSTUB(_sqrt, 0xffcba840) 
    112112// ALT: NSTUB(_sqrt, 0xffcba840) // 24/0 
     113// Best match: 96% 
     114NSTUB(add_ptp_handler, 0xffd7dff8) 
    113115NSTUB(chdir, 0xffcc57c8) 
    114116// ALT: NSTUB(chdir, 0xffcc57c8) // 27/0 
  • trunk/platform/a560/sub/100a/stubs_entry.S

    r944 r957  
    109109NSTUB(_sqrt, 0xffcc3df0) 
    110110// ALT: NSTUB(_sqrt, 0xffcc3df0) // 24/0 
     111// Best match: 96% 
     112NSTUB(add_ptp_handler, 0xffd915d0) 
    111113NSTUB(chdir, 0xffcced78) 
    112114// ALT: NSTUB(chdir, 0xffcced78) // 27/0 
  • trunk/platform/a570/sub/100e/stubs_entry.S

    r944 r957  
    110110NSTUB(_sqrt, 0xffccc270) 
    111111// ALT: NSTUB(_sqrt, 0xffccc270) // 24/0 
     112// Best match: 96% 
     113NSTUB(add_ptp_handler, 0xffd9b9d8) 
    112114NSTUB(chdir, 0xffcd71f8) 
    113115// ALT: NSTUB(chdir, 0xffcd71f8) // 27/0 
  • trunk/platform/a570/sub/101a/stubs_entry.S

    r944 r957  
    110110NSTUB(_sqrt, 0xffccc270) 
    111111// ALT: NSTUB(_sqrt, 0xffccc270) // 24/0 
     112// Best match: 96% 
     113NSTUB(add_ptp_handler, 0xffd9ba4c) 
    112114NSTUB(chdir, 0xffcd71f8) 
    113115// ALT: NSTUB(chdir, 0xffcd71f8) // 27/0 
  • trunk/platform/a590/sub/100e/stubs_entry.S

    r944 r957  
    106106NSTUB(_pow, 0xffe66e90) 
    107107NSTUB(_sqrt, 0xffe69144) 
     108NSTUB(add_ptp_handler, 0xffdaa4e8) 
    108109NSTUB(close, 0xffc09f74) 
    109110NSTUB(closedir, 0xffdd9790) 
     
    140141NSTUB(read, 0xffc0a15c) 
    141142NSTUB(readfastdir, 0xffdd96c0) 
     143// Best match: 93% 
     144NSTUB(reboot_fw_update, 0xffdddf94) 
    142145NSTUB(rename, 0xffc13c5c) 
    143146// Best match: 95% 
  • trunk/platform/a590/sub/101b/stubs_entry.S

    r944 r957  
    106106NSTUB(_pow, 0xffe66e8c) 
    107107NSTUB(_sqrt, 0xffe69140) 
     108NSTUB(add_ptp_handler, 0xffdaa4e4) 
    108109NSTUB(close, 0xffc09f74) 
    109110NSTUB(closedir, 0xffdd978c) 
     
    140141NSTUB(read, 0xffc0a15c) 
    141142NSTUB(readfastdir, 0xffdd96bc) 
     143// Best match: 93% 
     144NSTUB(reboot_fw_update, 0xffdddf90) 
    142145NSTUB(rename, 0xffc13c5c) 
    143146// Best match: 95% 
  • trunk/platform/a610/sub/100e/stubs_entry.S

    r944 r957  
    7979NSTUB(_sqrt, 0xffead2c0) 
    8080// ALT: NSTUB(_sqrt, 0xffead2c0) // 24/0 
     81NSTUB(add_ptp_handler, 0xffe222d0) 
    8182NSTUB(chdir, 0xffebc51c) 
    8283// ALT: NSTUB(chdir, 0xffebc51c) // 27/0 
  • trunk/platform/a610/sub/100f/stubs_entry.S

    r944 r957  
    7979NSTUB(_sqrt, 0xffead648) 
    8080// ALT: NSTUB(_sqrt, 0xffead648) // 24/0 
     81NSTUB(add_ptp_handler, 0xffe22658) 
    8182NSTUB(chdir, 0xffebc8a4) 
    8283// ALT: NSTUB(chdir, 0xffebc8a4) // 27/0 
  • trunk/platform/a620/sub/100f/stubs_entry.S

    r944 r957  
    104104NSTUB(_sqrt, 0xffeb3fe4) 
    105105// ALT: NSTUB(_sqrt, 0xffeb3fe4) // 24/0 
     106// Best match: 96% 
     107NSTUB(add_ptp_handler, 0xffe24154) 
    106108NSTUB(chdir, 0xffec3240) 
    107109// ALT: NSTUB(chdir, 0xffec3240) // 27/0 
  • trunk/platform/a630/sub/100c/stubs_entry.S

    r944 r957  
    9797NSTUB(_sqrt, 0xffee40ec) 
    9898// ALT: NSTUB(_sqrt, 0xffee40ec) // 24/0 
     99// Best match: 96% 
     100NSTUB(add_ptp_handler, 0xffe5291c) 
    99101NSTUB(chdir, 0xffef08f8) 
    100102// ALT: NSTUB(chdir, 0xffef08f8) // 27/0 
  • trunk/platform/a640/sub/100b/stubs_entry.S

    r944 r957  
    9898NSTUB(_sqrt, 0xffeee014) 
    9999// ALT: NSTUB(_sqrt, 0xffeee014) // 24/0 
     100// Best match: 96% 
     101NSTUB(add_ptp_handler, 0xffe57464) 
    100102NSTUB(chdir, 0xffefa820) 
    101103// ALT: NSTUB(chdir, 0xffefa820) // 27/0 
  • trunk/platform/a650/sub/100d/stubs_entry.S

    r944 r957  
    8989NSTUB(_pow, 0xffe4aaf4) 
    9090NSTUB(_sqrt, 0xffe4cda8) 
     91NSTUB(add_ptp_handler, 0xffcb0674) 
    9192NSTUB(close, 0xffc0a190) 
    9293NSTUB(closedir, 0xffdd0710) 
     
    118119NSTUB(read, 0xffc0a378) 
    119120NSTUB(readfastdir, 0xffdd0640) 
     121NSTUB(reboot_fw_update, 0xffdd4fe0) 
    120122NSTUB(rename, 0xffc14ff4) 
    121123NSTUB(srand, 0xffc0e91c) 
  • trunk/platform/a700/sub/100b/stubs_entry.S

    r944 r957  
    108108NSTUB(_sqrt, 0xffed92e4) 
    109109// ALT: NSTUB(_sqrt, 0xffed92e4) // 24/0 
     110// Best match: 96% 
     111NSTUB(add_ptp_handler, 0xffe4e284) 
    110112NSTUB(chdir, 0xffee5b3c) 
    111113// ALT: NSTUB(chdir, 0xffee5b3c) // 27/0 
  • trunk/platform/a710/sub/100a/stubs_entry.S

    r944 r957  
    8282NSTUB(_sqrt, 0xffef18e8) 
    8383// ALT: NSTUB(_sqrt, 0xffef18e8) // 24/0 
     84// Best match: 96% 
     85NSTUB(add_ptp_handler, 0xffe59fe4) 
    8486NSTUB(chdir, 0xffefe140) 
    8587// ALT: NSTUB(chdir, 0xffefe140) // 27/0 
  • trunk/platform/a720/sub/100c/stubs_entry.S

    r944 r957  
    7878NSTUB(_pow, 0xffe3b990) 
    7979NSTUB(_sqrt, 0xffe3dc44) 
     80NSTUB(add_ptp_handler, 0xffcad7d0) 
    8081NSTUB(close, 0xffc0a260) 
    8182NSTUB(closedir, 0xffdc1c68) 
     
    104105NSTUB(read, 0xffc0a448) 
    105106NSTUB(readfastdir, 0xffdc1b98) 
     107NSTUB(reboot_fw_update, 0xffdc6538) 
    106108NSTUB(rename, 0xffc15100) 
    107109NSTUB(srand, 0xffc0e9ec) 
  • trunk/platform/d10/sub/100a/stubs_entry.S

    r944 r957  
    105105NSTUB(_pow, 0xffacc43c) 
    106106NSTUB(_sqrt, 0xffacf1e4) 
     107NSTUB(add_ptp_handler, 0xff9f4f54) 
    107108NSTUB(close, 0xff8198fc) 
    108109NSTUB(closedir, 0xffa2a544) 
     
    137138NSTUB(read, 0xff819ae4) 
    138139NSTUB(readfastdir, 0xffa2a474) 
     140// Best match: 86% 
     141NSTUB(reboot_fw_update, 0xffa31b24) 
    139142NSTUB(rename, 0xff823d84) 
    140143// Best match: 95% 
  • trunk/platform/g11/sub/100f/stubs_entry.S

    r944 r957  
    104104NSTUB(_pow, 0xffb3ce3c) 
    105105NSTUB(_sqrt, 0xffb3f0f0) 
     106NSTUB(add_ptp_handler, 0xffa4dd8c) 
    106107NSTUB(close, 0xff81a990) 
    107108NSTUB(closedir, 0xffa83ff4) 
     
    139140NSTUB(read, 0xff81ab78) 
    140141// ERROR: readfastdir is not found! 
     142// Best match: 82% 
     143NSTUB(reboot_fw_update, 0xffa8967c) 
    141144// ERROR: rename is not found! 
    142145// Best match: 95% 
  • trunk/platform/g11/sub/100j/stubs_entry.S

    r944 r957  
    104104NSTUB(_pow, 0xffb3cf40) 
    105105NSTUB(_sqrt, 0xffb3f1f4) 
     106NSTUB(add_ptp_handler, 0xffa4de90) 
    106107NSTUB(close, 0xff81a990) 
    107108NSTUB(closedir, 0xffa840f8) 
     
    139140NSTUB(read, 0xff81ab78) 
    140141// ERROR: readfastdir is not found! 
     142// Best match: 82% 
     143NSTUB(reboot_fw_update, 0xffa89780) 
    141144// ERROR: rename is not found! 
    142145// Best match: 95% 
  • trunk/platform/g11/sub/100l/stubs_entry.S

    r944 r957  
    104104NSTUB(_pow, 0xffb3d0fc) 
    105105NSTUB(_sqrt, 0xffb3f3b0) 
     106NSTUB(add_ptp_handler, 0xffa4e04c) 
    106107NSTUB(close, 0xff81a990) 
    107108NSTUB(closedir, 0xffa842b4) 
     
    139140NSTUB(read, 0xff81ab78) 
    140141// ERROR: readfastdir is not found! 
     142// Best match: 82% 
     143NSTUB(reboot_fw_update, 0xffa8993c) 
    141144// ERROR: rename is not found! 
    142145// Best match: 95% 
  • trunk/platform/g7/sub/100e/stubs_entry.S

    r944 r957  
    104104NSTUB(_sqrt, 0xffb8f098) 
    105105// ALT: NSTUB(_sqrt, 0xffb8f098) // 24/0 
     106// Best match: 96% 
     107NSTUB(add_ptp_handler, 0xffaef02c) 
    106108NSTUB(chdir, 0xffb9c0e0) 
    107109// ALT: NSTUB(chdir, 0xffb9c0e0) // 27/0 
  • trunk/platform/g7/sub/100g/stubs_entry.S

    r944 r957  
    104104NSTUB(_sqrt, 0xffb8f220) 
    105105// ALT: NSTUB(_sqrt, 0xffb8f220) // 24/0 
     106// Best match: 96% 
     107NSTUB(add_ptp_handler, 0xffaef0d4) 
    106108NSTUB(chdir, 0xffb9c268) 
    107109// ALT: NSTUB(chdir, 0xffb9c268) // 27/0 
  • trunk/platform/g7/sub/100i/stubs_entry.S

    r944 r957  
    104104NSTUB(_sqrt, 0xffb8f270) 
    105105// ALT: NSTUB(_sqrt, 0xffb8f270) // 24/0 
     106// Best match: 96% 
     107NSTUB(add_ptp_handler, 0xffaef0d4) 
    106108NSTUB(chdir, 0xffb9c2b8) 
    107109// ALT: NSTUB(chdir, 0xffb9c2b8) // 27/0 
  • trunk/platform/g7/sub/100j/stubs_entry.S

    r944 r957  
    104104NSTUB(_sqrt, 0xffb8f2f8) 
    105105// ALT: NSTUB(_sqrt, 0xffb8f2f8) // 24/0 
     106// Best match: 96% 
     107NSTUB(add_ptp_handler, 0xffaef0d4) 
    106108NSTUB(chdir, 0xffb9c340) 
    107109// ALT: NSTUB(chdir, 0xffb9c340) // 27/0 
  • trunk/platform/g9/sub/100d/stubs_entry.S

    r944 r957  
    9090NSTUB(_pow, 0xffabd6f8) 
    9191NSTUB(_sqrt, 0xffabf9ac) 
     92NSTUB(add_ptp_handler, 0xff8d897c) 
    9293NSTUB(close, 0xff81a190) 
    9394NSTUB(closedir, 0xffa2cc0c) 
     
    123124NSTUB(read, 0xff81a378) 
    124125NSTUB(readfastdir, 0xffa2cb3c) 
     126NSTUB(reboot_fw_update, 0xffa34500) 
    125127NSTUB(rename, 0xff825600) 
    126128NSTUB(srand, 0xff81e930) 
  • trunk/platform/g9/sub/100g/stubs_entry.S

    r944 r957  
    9090NSTUB(_pow, 0xffabd768) 
    9191NSTUB(_sqrt, 0xffabfa1c) 
     92NSTUB(add_ptp_handler, 0xff8d897c) 
    9293NSTUB(close, 0xff81a190) 
    9394NSTUB(closedir, 0xffa2cc7c) 
     
    123124NSTUB(read, 0xff81a378) 
    124125NSTUB(readfastdir, 0xffa2cbac) 
     126NSTUB(reboot_fw_update, 0xffa34570) 
    125127NSTUB(rename, 0xff825600) 
    126128NSTUB(srand, 0xff81e930) 
  • trunk/platform/g9/sub/100i/stubs_entry.S

    r944 r957  
    9090NSTUB(_pow, 0xffabd790) 
    9191NSTUB(_sqrt, 0xffabfa44) 
     92NSTUB(add_ptp_handler, 0xff8d897c) 
    9293NSTUB(close, 0xff81a190) 
    9394NSTUB(closedir, 0xffa2cca4) 
     
    123124NSTUB(read, 0xff81a378) 
    124125NSTUB(readfastdir, 0xffa2cbd4) 
     126NSTUB(reboot_fw_update, 0xffa34598) 
    125127NSTUB(rename, 0xff825600) 
    126128NSTUB(srand, 0xff81e930) 
  • trunk/platform/generic/wrappers.c

    r944 r957  
    949949#endif 
    950950 
     951#ifdef CAM_CHDK_PTP 
     952int add_ptp_handler(int opcode, ptp_handler handler, int unknown) 
     953{ 
     954  return _add_ptp_handler(opcode,handler,unknown); 
     955} 
     956 
     957// this would make more sense in generic/main.c but not all a cameras use it 
     958void init_chdk_ptp_task() { 
     959  _CreateTask("InitCHDKPTP", 0x19, 0x2000, init_chdk_ptp, 0); 
     960}; 
     961 
     962#endif 
     963 
     964void ExitTask() 
     965{ 
     966  _ExitTask(); 
     967} 
     968 
     969// TODO not in sigs for vx yet 
     970#ifndef CAM_DRYOS 
     971void __attribute__((weak)) _reboot_fw_update(const char *fw_update) 
     972{ 
     973        return; 
     974} 
     975#endif 
     976 
     977int __attribute__((weak)) switch_mode_usb(int mode) 
     978{ 
     979  return 0; 
     980} 
    951981/* 
    952982// this wrapper isn't currently needed 
  • trunk/platform/ixus100_sd780/sub/100c/stubs_entry.S

    r944 r957  
    103103NSTUB(_pow, 0xffac837c) 
    104104NSTUB(_sqrt, 0xffacb124) 
     105NSTUB(add_ptp_handler, 0xff9eabdc) 
    105106NSTUB(close, 0xff8198fc) 
    106107NSTUB(closedir, 0xffa1fe64) 
     
    135136NSTUB(read, 0xff819ae4) 
    136137NSTUB(readfastdir, 0xffa1fd94) 
     138// Best match: 86% 
     139NSTUB(reboot_fw_update, 0xffa27444) 
    137140NSTUB(rename, 0xff823d6c) 
    138141// Best match: 95% 
  • trunk/platform/ixus40_sd300/sub/100j/stubs_entry.S

    r944 r957  
    136136// ALT: NSTUB(_sqrt, 0xfff45834) // 24/0 
    137137// ALT: NSTUB(_sqrt, 0xfff45834) // 24/0 
     138// Best match: 96% 
     139NSTUB(add_ptp_handler, 0xffa13b10) 
    138140NSTUB(chdir, 0xffac2f4c) 
    139141// ALT: NSTUB(chdir, 0xffac2f4c) // 27/0 
  • trunk/platform/ixus40_sd300/sub/100k/stubs_entry.S

    r944 r957  
    108108NSTUB(_sqrt, 0xffab3aec) 
    109109// ALT: NSTUB(_sqrt, 0xffab3aec) // 24/0 
     110// Best match: 96% 
     111NSTUB(add_ptp_handler, 0xffa13b10) 
    110112NSTUB(chdir, 0xffac2f74) 
    111113// ALT: NSTUB(chdir, 0xffac2f74) // 27/0 
  • trunk/platform/ixus50_sd400/sub/101a/stubs_entry.S

    r944 r957  
    111111NSTUB(_sqrt, 0xffaad004) 
    112112// ALT: NSTUB(_sqrt, 0xffaad004) // 24/0 
     113// Best match: 96% 
     114NSTUB(add_ptp_handler, 0xffa24f64) 
    113115NSTUB(chdir, 0xffabc260) 
    114116// ALT: NSTUB(chdir, 0xffabc260) // 27/0 
  • trunk/platform/ixus50_sd400/sub/101b/stubs_entry.S

    r944 r957  
    111111NSTUB(_sqrt, 0xffaad058) 
    112112// ALT: NSTUB(_sqrt, 0xffaad058) // 24/0 
     113// Best match: 96% 
     114NSTUB(add_ptp_handler, 0xffa24fb8) 
    113115NSTUB(chdir, 0xffabc2b4) 
    114116// ALT: NSTUB(chdir, 0xffabc2b4) // 27/0 
  • trunk/platform/ixus55_sd450/sub/100b/stubs_entry.S

    r944 r957  
    102102NSTUB(_sqrt, 0xffac4f90) 
    103103// ALT: NSTUB(_sqrt, 0xffac4f90) // 24/0 
     104// Best match: 96% 
     105NSTUB(add_ptp_handler, 0xffa3d270) 
    104106NSTUB(chdir, 0xffad41ec) 
    105107// ALT: NSTUB(chdir, 0xffad41ec) // 27/0 
  • trunk/platform/ixus55_sd450/sub/100c/stubs_entry.S

    r944 r957  
    102102NSTUB(_sqrt, 0xffac4ebc) 
    103103// ALT: NSTUB(_sqrt, 0xffac4ebc) // 24/0 
     104// Best match: 96% 
     105NSTUB(add_ptp_handler, 0xffa3d19c) 
    104106NSTUB(chdir, 0xffad4118) 
    105107// ALT: NSTUB(chdir, 0xffad4118) // 27/0 
  • trunk/platform/ixus55_sd450/sub/100d/stubs_entry.S

    r944 r957  
    102102NSTUB(_sqrt, 0xffac5244) 
    103103// ALT: NSTUB(_sqrt, 0xffac5244) // 24/0 
     104// Best match: 96% 
     105NSTUB(add_ptp_handler, 0xffa3d524) 
    104106NSTUB(chdir, 0xffad44a0) 
    105107// ALT: NSTUB(chdir, 0xffad44a0) // 27/0 
  • trunk/platform/ixus60_sd600/sub/100a/stubs_entry.S

    r944 r957  
    102102NSTUB(_sqrt, 0xffafc7a4) 
    103103// ALT: NSTUB(_sqrt, 0xffafc7a4) // 24/0 
     104// Best match: 96% 
     105NSTUB(add_ptp_handler, 0xffa7509c) 
    104106NSTUB(chdir, 0xffb08ecc) 
    105107// ALT: NSTUB(chdir, 0xffb08ecc) // 27/0 
  • trunk/platform/ixus60_sd600/sub/100d/stubs_entry.S

    r944 r957  
    102102NSTUB(_sqrt, 0xffafd384) 
    103103// ALT: NSTUB(_sqrt, 0xffafd384) // 24/0 
     104// Best match: 96% 
     105NSTUB(add_ptp_handler, 0xffa75b94) 
    104106NSTUB(chdir, 0xffb09aac) 
    105107// ALT: NSTUB(chdir, 0xffb09aac) // 27/0 
  • trunk/platform/ixus65_sd630/sub/100a/stubs_entry.S

    r944 r957  
    102102NSTUB(_sqrt, 0xffb05df4) 
    103103// ALT: NSTUB(_sqrt, 0xffb05df4) // 24/0 
     104// Best match: 96% 
     105NSTUB(add_ptp_handler, 0xffa7e780) 
    104106NSTUB(chdir, 0xffb12b90) 
    105107// ALT: NSTUB(chdir, 0xffb12b90) // 27/0 
  • trunk/platform/ixus700_sd500/sub/101a/stubs_entry.S

    r944 r957  
    112112NSTUB(_sqrt, 0xffaab040) 
    113113// ALT: NSTUB(_sqrt, 0xffaab040) // 24/0 
     114// Best match: 96% 
     115NSTUB(add_ptp_handler, 0xffa1918c) 
    114116NSTUB(chdir, 0xffaba29c) 
    115117// ALT: NSTUB(chdir, 0xffaba29c) // 27/0 
  • trunk/platform/ixus700_sd500/sub/101b/stubs_entry.S

    r944 r957  
    112112NSTUB(_sqrt, 0xffaab090) 
    113113// ALT: NSTUB(_sqrt, 0xffaab090) // 24/0 
     114// Best match: 96% 
     115NSTUB(add_ptp_handler, 0xffa191dc) 
    114116NSTUB(chdir, 0xffaba2ec) 
    115117// ALT: NSTUB(chdir, 0xffaba2ec) // 27/0 
  • trunk/platform/ixus70_sd1000/sub/100c/stubs_entry.S

    r944 r957  
    109109NSTUB(_sqrt, 0xff911b9c) 
    110110// ALT: NSTUB(_sqrt, 0xff911b9c) // 24/0 
     111// Best match: 96% 
     112NSTUB(add_ptp_handler, 0xff9e4628) 
    111113NSTUB(chdir, 0xff91d840) 
    112114// ALT: NSTUB(chdir, 0xff91d840) // 27/0 
  • trunk/platform/ixus70_sd1000/sub/101b/stubs_entry.S

    r944 r957  
    109109NSTUB(_sqrt, 0xff911b9c) 
    110110// ALT: NSTUB(_sqrt, 0xff911b9c) // 24/0 
     111// Best match: 96% 
     112NSTUB(add_ptp_handler, 0xff9e469c) 
    111113NSTUB(chdir, 0xff91d840) 
    112114// ALT: NSTUB(chdir, 0xff91d840) // 27/0 
  • trunk/platform/ixus70_sd1000/sub/102a/stubs_entry.S

    r944 r957  
    109109NSTUB(_sqrt, 0xff911b9c) 
    110110// ALT: NSTUB(_sqrt, 0xff911b9c) // 24/0 
     111// Best match: 96% 
     112NSTUB(add_ptp_handler, 0xff9e469c) 
    111113NSTUB(chdir, 0xff91d840) 
    112114// ALT: NSTUB(chdir, 0xff91d840) // 27/0 
  • trunk/platform/ixus750_sd550/sub/100f/stubs_entry.S

    r944 r957  
    105105NSTUB(_sqrt, 0xffac4a98) 
    106106// ALT: NSTUB(_sqrt, 0xffac4a98) // 24/0 
     107// Best match: 96% 
     108NSTUB(add_ptp_handler, 0xffa3d17c) 
    107109NSTUB(chdir, 0xffad3cf4) 
    108110// ALT: NSTUB(chdir, 0xffad3cf4) // 27/0 
  • trunk/platform/ixus750_sd550/sub/100g/stubs_entry.S

    r944 r957  
    105105NSTUB(_sqrt, 0xffac4a98) 
    106106// ALT: NSTUB(_sqrt, 0xffac4a98) // 24/0 
     107// Best match: 96% 
     108NSTUB(add_ptp_handler, 0xffa3d17c) 
    107109NSTUB(chdir, 0xffad3cf4) 
    108110// ALT: NSTUB(chdir, 0xffad3cf4) // 27/0 
  • trunk/platform/ixus75_sd750/sub/100b/stubs_entry.S

    r944 r957  
    109109NSTUB(_sqrt, 0xff91bf80) 
    110110// ALT: NSTUB(_sqrt, 0xff91bf80) // 24/0 
     111// Best match: 96% 
     112NSTUB(add_ptp_handler, 0xff9eea88) 
    111113NSTUB(chdir, 0xff927c24) 
    112114// ALT: NSTUB(chdir, 0xff927c24) // 27/0 
  • trunk/platform/ixus75_sd750/sub/101a/stubs_entry.S

    r944 r957  
    109109NSTUB(_sqrt, 0xff91bf80) 
    110110// ALT: NSTUB(_sqrt, 0xff91bf80) // 24/0 
     111// Best match: 96% 
     112NSTUB(add_ptp_handler, 0xff9eeafc) 
    111113NSTUB(chdir, 0xff927c24) 
    112114// ALT: NSTUB(chdir, 0xff927c24) // 27/0 
  • trunk/platform/ixus75_sd750/sub/102a/stubs_entry.S

    r944 r957  
    109109NSTUB(_sqrt, 0xff91bf80) 
    110110// ALT: NSTUB(_sqrt, 0xff91bf80) // 24/0 
     111// Best match: 96% 
     112NSTUB(add_ptp_handler, 0xff9eeafc) 
    111113NSTUB(chdir, 0xff927c24) 
    112114// ALT: NSTUB(chdir, 0xff927c24) // 27/0 
  • trunk/platform/ixus800_sd700/sub/100b/stubs_entry.S

    r944 r957  
    103103NSTUB(_sqrt, 0xffafff30) 
    104104// ALT: NSTUB(_sqrt, 0xffafff30) // 24/0 
     105// Best match: 96% 
     106NSTUB(add_ptp_handler, 0xffa74c74) 
    105107NSTUB(chdir, 0xffb0c658) 
    106108// ALT: NSTUB(chdir, 0xffb0c658) // 27/0 
  • trunk/platform/ixus800_sd700/sub/101b/stubs_entry.S

    r944 r957  
    103103NSTUB(_sqrt, 0xffafff28) 
    104104// ALT: NSTUB(_sqrt, 0xffafff28) // 24/0 
     105// Best match: 96% 
     106NSTUB(add_ptp_handler, 0xffa74c78) 
    105107NSTUB(chdir, 0xffb0c650) 
    106108// ALT: NSTUB(chdir, 0xffb0c650) // 27/0 
  • trunk/platform/ixus80_sd1100/sub/100c/stubs_entry.S

    r944 r957  
    9797NSTUB(_pow, 0xffaa50fc) 
    9898NSTUB(_sqrt, 0xffaa7468) 
     99NSTUB(add_ptp_handler, 0xff9dab04) 
    99100NSTUB(close, 0xff819f74) 
    100101NSTUB(closedir, 0xffa0c20c) 
     
    129130NSTUB(read, 0xff81a15c) 
    130131NSTUB(readfastdir, 0xffa0c13c) 
     132// Best match: 93% 
     133NSTUB(reboot_fw_update, 0xffa13b3c) 
    131134NSTUB(rename, 0xff823f28) 
    132135// Best match: 95% 
  • trunk/platform/ixus80_sd1100/sub/101a/stubs_entry.S

    r944 r957  
    9797NSTUB(_pow, 0xffaa50f8) 
    9898NSTUB(_sqrt, 0xffaa7464) 
     99NSTUB(add_ptp_handler, 0xff9dab00) 
    99100NSTUB(close, 0xff819f74) 
    100101NSTUB(closedir, 0xffa0c208) 
     
    129130NSTUB(read, 0xff81a15c) 
    130131NSTUB(readfastdir, 0xffa0c138) 
     132// Best match: 93% 
     133NSTUB(reboot_fw_update, 0xffa13b38) 
    131134NSTUB(rename, 0xff823f28) 
    132135// Best match: 95% 
  • trunk/platform/ixus850_sd800/sub/100e/stubs_entry.S

    r944 r957  
    102102NSTUB(_sqrt, 0xffb51f68) 
    103103// ALT: NSTUB(_sqrt, 0xffb51f68) // 24/0 
     104// Best match: 96% 
     105NSTUB(add_ptp_handler, 0xffabd06c) 
    104106NSTUB(chdir, 0xffb5ee34) 
    105107// ALT: NSTUB(chdir, 0xffb5ee34) // 27/0 
  • trunk/platform/ixus85_sd770/sub/100a/stubs_entry.S

    r944 r957  
    9797NSTUB(_pow, 0xffaa731c) 
    9898NSTUB(_sqrt, 0xffaa9688) 
     99NSTUB(add_ptp_handler, 0xff9dc8cc) 
    99100NSTUB(close, 0xff819eac) 
    100101NSTUB(closedir, 0xffa0e370) 
     
    129130NSTUB(read, 0xff81a094) 
    130131NSTUB(readfastdir, 0xffa0e2a0) 
     132// Best match: 93% 
     133NSTUB(reboot_fw_update, 0xffa15ca0) 
    131134NSTUB(rename, 0xff823e60) 
    132135// Best match: 95% 
  • trunk/platform/ixus860_sd870/sub/100c/stubs_entry.S

    r944 r957  
    8888NSTUB(_pow, 0xffa8c3cc) 
    8989NSTUB(_sqrt, 0xffa8e680) 
     90NSTUB(add_ptp_handler, 0xff8caa9c) 
    9091NSTUB(close, 0xff81a258) 
    9192NSTUB(closedir, 0xffa041a4) 
     
    118119NSTUB(read, 0xff81a440) 
    119120NSTUB(readfastdir, 0xffa040d4) 
     121NSTUB(reboot_fw_update, 0xffa0ba98) 
    120122NSTUB(rename, 0xff825100) 
    121123NSTUB(srand, 0xff81e9f0) 
  • trunk/platform/ixus870_sd880/lib.c

    r769 r957  
    9595  _RefreshPhysicalScreen(1); 
    9696} 
     97 
     98extern void _set_control_event(int); 
     99extern void _PB2Rec(); 
     100extern void _Rec2PB(); 
     101int switch_mode_usb(int mode) 
     102{ 
     103  if ( mode == 0 ) 
     104  { 
     105    _Rec2PB(); 
     106    _set_control_event(0x80000902); // 0x10A5 ConnectUSBCable 
     107  } else if ( mode == 1 ) 
     108  { 
     109    _set_control_event(0x902); // 0x10A6 DisconnectUSBCable 
     110    _PB2Rec(); 
     111  } else { 
     112    return 0; 
     113  } 
     114 
     115  return 1; 
     116} 
  • trunk/platform/ixus870_sd880/sub/100e/stubs_entry.S

    r944 r957  
    114114NSTUB(_pow, 0xffad1f44) 
    115115NSTUB(_sqrt, 0xffad4da4) 
     116NSTUB(add_ptp_handler, 0xff9ef734) 
    116117NSTUB(close, 0xff819864) 
    117118NSTUB(closedir, 0xffa21d60) 
     
    147148NSTUB(read, 0xff819a4c) 
    148149NSTUB(readfastdir, 0xffa21c90) 
     150// Best match: 86% 
     151NSTUB(reboot_fw_update, 0xffa29690) 
    149152NSTUB(rename, 0xff823bc8) 
    150153// Best match: 95% 
  • trunk/platform/ixus870_sd880/sub/100e/stubs_entry_2.S

    r944 r957  
    3434NHSTUB(MakeAFScan,  0xFF933E50)  // via aSsprepareseqba (function with most uses) 
    3535NHSTUB(ExpCtrlTool_StartContiAE, 0xFF830D00)  // via aStartcontiae 
     36NHSTUB(set_control_event, 0xFF878894) // via eventproc_export_IsControlEventActive (last call) 
     37NHSTUB(PB2Rec, 0xFF87BF0C) // via aAcPb2rec 
     38NHSTUB(Rec2PB, 0xFF87A8A4) // via aAcRec2pb 
    3639 
    3740 
  • trunk/platform/ixus870_sd880/sub/101a/stubs_entry.S

    r944 r957  
    114114NSTUB(_pow, 0xffad1f54) 
    115115NSTUB(_sqrt, 0xffad4db4) 
     116NSTUB(add_ptp_handler, 0xff9ef744) 
    116117NSTUB(close, 0xff819864) 
    117118NSTUB(closedir, 0xffa21d70) 
     
    147148NSTUB(read, 0xff819a4c) 
    148149NSTUB(readfastdir, 0xffa21ca0) 
     150// Best match: 86% 
     151NSTUB(reboot_fw_update, 0xffa296a0) 
    149152NSTUB(rename, 0xff823bc8) 
    150153// Best match: 95% 
  • trunk/platform/ixus870_sd880/sub/101a/stubs_entry_2.S

    r944 r957  
    3737NHSTUB(MakeAFScan,  0xFF933E54)  // via aSsprepareseqba (function with most uses) 
    3838NHSTUB(ExpCtrlTool_StartContiAE, 0xFF830D00)  // via aStartcontiae 
     39NHSTUB(set_control_event, 0xFF878894) // via eventproc_export_IsControlEventActive (last call) 
     40NHSTUB(PB2Rec, 0xFF87BF0C) // via aAcPb2rec 
     41NHSTUB(Rec2PB, 0xFF87A8A4) // via aAcRec2pb 
    3942 
    4043 
  • trunk/platform/ixus870_sd880/sub/102b/stubs_entry.S

    r944 r957  
    114114NSTUB(_pow, 0xffad1f84) 
    115115NSTUB(_sqrt, 0xffad4de4) 
     116NSTUB(add_ptp_handler, 0xff9ef744) 
    116117NSTUB(close, 0xff819864) 
    117118NSTUB(closedir, 0xffa21d70) 
     
    147148NSTUB(read, 0xff819a4c) 
    148149NSTUB(readfastdir, 0xffa21ca0) 
     150// Best match: 86% 
     151NSTUB(reboot_fw_update, 0xffa296a0) 
    149152NSTUB(rename, 0xff823bc8) 
    150153// Best match: 95% 
  • trunk/platform/ixus870_sd880/sub/102b/stubs_entry_2.S

    r944 r957  
    3737NHSTUB(MakeAFScan,  0xFF933E54)  // via aSsprepareseqba (function with most uses) 
    3838NHSTUB(ExpCtrlTool_StartContiAE, 0xFF830D00)  // via aStartcontiae 
     39NHSTUB(set_control_event, 0xFF878894) // via eventproc_export_IsControlEventActive (last call) 
     40NHSTUB(PB2Rec, 0xFF87BF0C) // via aAcPb2rec 
     41NHSTUB(Rec2PB, 0xFF87A8A4) // via aAcRec2pb 
    3942 
    4043 
  • trunk/platform/ixus90_sd790/sub/100c/stubs_entry.S

    r944 r957  
    9898NSTUB(_pow, 0xffaacdcc) 
    9999NSTUB(_sqrt, 0xffaaf138) 
     100NSTUB(add_ptp_handler, 0xff9e0928) 
    100101NSTUB(close, 0xff819eac) 
    101102NSTUB(closedir, 0xffa123bc) 
     
    130131NSTUB(read, 0xff81a094) 
    131132NSTUB(readfastdir, 0xffa122ec) 
     133// Best match: 93% 
     134NSTUB(reboot_fw_update, 0xffa19cec) 
    132135NSTUB(rename, 0xff823e74) 
    133136// Best match: 95% 
  • trunk/platform/ixus90_sd790/sub/100d/stubs_entry.S

    r944 r957  
    9898NSTUB(_pow, 0xffaacdc8) 
    9999NSTUB(_sqrt, 0xffaaf134) 
     100NSTUB(add_ptp_handler, 0xff9e0924) 
    100101NSTUB(close, 0xff819eac) 
    101102NSTUB(closedir, 0xffa123b8) 
     
    130131NSTUB(read, 0xff81a094) 
    131132NSTUB(readfastdir, 0xffa122e8) 
     133// Best match: 93% 
     134NSTUB(reboot_fw_update, 0xffa19ce8) 
    132135NSTUB(rename, 0xff823e74) 
    133136// Best match: 95% 
  • trunk/platform/ixus950_sd850/sub/100c/stubs_entry.S

    r944 r957  
    111111NSTUB(_sqrt, 0xff91d3dc) 
    112112// ALT: NSTUB(_sqrt, 0xff91d3dc) // 24/0 
     113// Best match: 96% 
     114NSTUB(add_ptp_handler, 0xff9ec59c) 
    113115NSTUB(chdir, 0xff929080) 
    114116// ALT: NSTUB(chdir, 0xff929080) // 27/0 
  • trunk/platform/ixus960_sd950/sub/100d/stubs_entry.S

    r944 r957  
    8787NSTUB(_pow, 0xffa91f8c) 
    8888NSTUB(_sqrt, 0xffa94240) 
     89NSTUB(add_ptp_handler, 0xff8cc2b0) 
    8990NSTUB(close, 0xff81a190) 
    9091NSTUB(closedir, 0xffa0a28c) 
     
    117118NSTUB(read, 0xff81a378) 
    118119NSTUB(readfastdir, 0xffa0a1bc) 
     120NSTUB(reboot_fw_update, 0xffa11b80) 
    119121NSTUB(rename, 0xff82509c) 
    120122NSTUB(srand, 0xff81e928) 
  • trunk/platform/ixus970_sd890/sub/100b/stubs_entry.S

    r944 r957  
    100100NSTUB(_pow, 0xffaadc6c) 
    101101NSTUB(_sqrt, 0xffaaffd8) 
     102NSTUB(add_ptp_handler, 0xff9e1b24) 
    102103NSTUB(close, 0xff819eac) 
    103104NSTUB(closedir, 0xffa135d0) 
     
    132133NSTUB(read, 0xff81a094) 
    133134NSTUB(readfastdir, 0xffa13500) 
     135// Best match: 93% 
     136NSTUB(reboot_fw_update, 0xffa1af00) 
    134137NSTUB(rename, 0xff823e64) 
    135138// Best match: 95% 
  • trunk/platform/ixus970_sd890/sub/100c/stubs_entry.S

    r944 r957  
    100100NSTUB(_pow, 0xffaadd40) 
    101101NSTUB(_sqrt, 0xffab00ac) 
     102NSTUB(add_ptp_handler, 0xff9e1b24) 
    102103NSTUB(close, 0xff819eac) 
    103104NSTUB(closedir, 0xffa135d0) 
     
    132133NSTUB(read, 0xff81a094) 
    133134NSTUB(readfastdir, 0xffa13500) 
     135// Best match: 93% 
     136NSTUB(reboot_fw_update, 0xffa1af00) 
    134137NSTUB(rename, 0xff823e64) 
    135138// Best match: 95% 
  • trunk/platform/ixus970_sd890/sub/100f/stubs_entry.S

    r944 r957  
    100100NSTUB(_pow, 0xffaadd24) 
    101101NSTUB(_sqrt, 0xffab0090) 
     102NSTUB(add_ptp_handler, 0xff9e1a94) 
    102103NSTUB(close, 0xff819eac) 
    103104NSTUB(closedir, 0xffa13540) 
     
    132133NSTUB(read, 0xff81a094) 
    133134NSTUB(readfastdir, 0xffa13470) 
     135// Best match: 93% 
     136NSTUB(reboot_fw_update, 0xffa1ae70) 
    134137NSTUB(rename, 0xff823e64) 
    135138// Best match: 95% 
  • trunk/platform/ixus980_sd990/sub/100e/stubs_entry.S

    r944 r957  
    114114NSTUB(_pow, 0xffade8b8) 
    115115NSTUB(_sqrt, 0xffae1718) 
     116NSTUB(add_ptp_handler, 0xff9fbed8) 
    116117NSTUB(close, 0xff819864) 
    117118NSTUB(closedir, 0xffa2ec50) 
     
    147148NSTUB(read, 0xff819a4c) 
    148149NSTUB(readfastdir, 0xffa2eb80) 
     150// Best match: 86% 
     151NSTUB(reboot_fw_update, 0xffa36580) 
    149152NSTUB(rename, 0xff823c48) 
    150153// Best match: 95% 
  • trunk/platform/ixus980_sd990/sub/101b/stubs_entry.S

    r944 r957  
    114114NSTUB(_pow, 0xffade8e8) 
    115115NSTUB(_sqrt, 0xffae1748) 
     116NSTUB(add_ptp_handler, 0xff9fbed8) 
    116117NSTUB(close, 0xff819864) 
    117118NSTUB(closedir, 0xffa2ec50) 
     
    147148NSTUB(read, 0xff819a4c) 
    148149NSTUB(readfastdir, 0xffa2eb80) 
     150// Best match: 86% 
     151NSTUB(reboot_fw_update, 0xffa36580) 
    149152NSTUB(rename, 0xff823c48) 
    150153// Best match: 95% 
  • trunk/platform/ixusizoom_sd30/sub/100g/stubs_entry.S

    r944 r957  
    108108NSTUB(_sqrt, 0xffac1a84) 
    109109// ALT: NSTUB(_sqrt, 0xffac1a84) // 24/0 
     110// Best match: 96% 
     111NSTUB(add_ptp_handler, 0xffa3990c) 
    110112NSTUB(chdir, 0xffad0ce0) 
    111113// ALT: NSTUB(chdir, 0xffad0ce0) // 27/0 
  • trunk/platform/s2is/sub/100e/stubs_entry.S

    r944 r957  
    105105NSTUB(_sqrt, 0xffae5924) 
    106106// ALT: NSTUB(_sqrt, 0xffae5924) // 24/0 
     107// Best match: 96% 
     108NSTUB(add_ptp_handler, 0xffa4bc48) 
    107109NSTUB(chdir, 0xffaf4b80) 
    108110// ALT: NSTUB(chdir, 0xffaf4b80) // 27/0 
  • trunk/platform/s2is/sub/100f/stubs_entry.S

    r944 r957  
    114114NSTUB(_sqrt, 0xffae59a4) 
    115115// ALT: NSTUB(_sqrt, 0xffae59a4) // 24/0 
     116// Best match: 96% 
     117NSTUB(add_ptp_handler, 0xffa4bc20) 
    116118NSTUB(chdir, 0xffaf4c00) 
    117119// ALT: NSTUB(chdir, 0xffaf4c00) // 27/0 
  • trunk/platform/s2is/sub/100g/stubs_entry.S

    r944 r957  
    114114NSTUB(_sqrt, 0xffae5730) 
    115115// ALT: NSTUB(_sqrt, 0xffae5730) // 24/0 
     116// Best match: 96% 
     117NSTUB(add_ptp_handler, 0xffa4b9ac) 
    116118NSTUB(chdir, 0xffaf498c) 
    117119// ALT: NSTUB(chdir, 0xffaf498c) // 27/0 
  • trunk/platform/s3is/sub/100a/stubs_entry.S

    r944 r957  
    106106NSTUB(_sqrt, 0xffb47abc) 
    107107// ALT: NSTUB(_sqrt, 0xffb47abc) // 24/0 
     108// Best match: 96% 
     109NSTUB(add_ptp_handler, 0xffab0098) 
    108110NSTUB(chdir, 0xffb54858) 
    109111// ALT: NSTUB(chdir, 0xffb54858) // 27/0 
  • trunk/platform/s5is/sub/101a/stubs_entry.S

    r944 r957  
    9999NSTUB(_pow, 0xffa93074) 
    100100NSTUB(_sqrt, 0xffa95328) 
     101NSTUB(add_ptp_handler, 0xff8f048c) 
    101102NSTUB(close, 0xff81a0e0) 
    102103NSTUB(closedir, 0xffa27a98) 
     
    130131NSTUB(read, 0xff81a2c8) 
    131132NSTUB(readfastdir, 0xffa279c8) 
     133NSTUB(reboot_fw_update, 0xffa2f824) 
    132134NSTUB(rename, 0xff825e60) 
    133135// Best match: 95% 
  • trunk/platform/s5is/sub/101b/stubs_entry.S

    r944 r957  
    9999NSTUB(_pow, 0xffa92f80) 
    100100NSTUB(_sqrt, 0xffa95234) 
     101NSTUB(add_ptp_handler, 0xff8f03c4) 
    101102NSTUB(close, 0xff81a018) 
    102103NSTUB(closedir, 0xffa279d0) 
     
    130131NSTUB(read, 0xff81a200) 
    131132NSTUB(readfastdir, 0xffa27900) 
     133NSTUB(reboot_fw_update, 0xffa2f75c) 
    132134NSTUB(rename, 0xff825d98) 
    133135// Best match: 95% 
  • trunk/platform/s90/sub/100c/stubs_entry.S

    r944 r957  
    103103NSTUB(_pow, 0xffb353f4) 
    104104NSTUB(_sqrt, 0xffb3819c) 
     105NSTUB(add_ptp_handler, 0xffa46fc0) 
    105106NSTUB(close, 0xff81a990) 
    106107NSTUB(closedir, 0xffa7d5d0) 
     
    134135NSTUB(read, 0xff81ab78) 
    135136// ERROR: readfastdir is not found! 
     137// Best match: 82% 
     138NSTUB(reboot_fw_update, 0xffa82c58) 
    136139// ERROR: rename is not found! 
    137140// Best match: 95% 
  • trunk/platform/s90/sub/101a/stubs_entry.S

    r944 r957  
    103103NSTUB(_pow, 0xffb35448) 
    104104NSTUB(_sqrt, 0xffb381f0) 
     105NSTUB(add_ptp_handler, 0xffa47014) 
    105106NSTUB(close, 0xff81a990) 
    106107NSTUB(closedir, 0xffa7d624) 
     
    134135NSTUB(read, 0xff81ab78) 
    135136// ERROR: readfastdir is not found! 
     137// Best match: 82% 
     138NSTUB(reboot_fw_update, 0xffa82cac) 
    136139// ERROR: rename is not found! 
    137140// Best match: 95% 
  • trunk/platform/s90/sub/101c/stubs_entry.S

    r944 r957  
    103103NSTUB(_pow, 0xffb35604) 
    104104NSTUB(_sqrt, 0xffb383ac) 
     105NSTUB(add_ptp_handler, 0xffa471d0) 
    105106NSTUB(close, 0xff81a990) 
    106107NSTUB(closedir, 0xffa7d7e0) 
     
    134135NSTUB(read, 0xff81ab78) 
    135136// ERROR: readfastdir is not found! 
     137// Best match: 82% 
     138NSTUB(reboot_fw_update, 0xffa82e68) 
    136139// ERROR: rename is not found! 
    137140// Best match: 95% 
  • trunk/platform/sx1/sub/200h/stubs_entry.S

    r944 r957  
    116116NSTUB(_pow, 0xffb27140) 
    117117NSTUB(_sqrt, 0xffb29fa0) 
     118NSTUB(add_ptp_handler, 0xffa3afbc) 
    118119NSTUB(close, 0xff819864) 
    119120NSTUB(closedir, 0xffa6ff34) 
     
    148149NSTUB(read, 0xff819a4c) 
    149150NSTUB(readfastdir, 0xffa6fe64) 
     151// Best match: 86% 
     152NSTUB(reboot_fw_update, 0xffa77864) 
    150153NSTUB(rename, 0xff823b18) 
    151154// Best match: 95% 
  • trunk/platform/sx1/sub/201a/stubs_entry.S

    r944 r957  
    116116NSTUB(_pow, 0xffb27154) 
    117117NSTUB(_sqrt, 0xffb29fb4) 
     118NSTUB(add_ptp_handler, 0xffa3afd0) 
    118119NSTUB(close, 0xff819864) 
    119120NSTUB(closedir, 0xffa6ff48) 
     
    148149NSTUB(read, 0xff819a4c) 
    149150NSTUB(readfastdir, 0xffa6fe78) 
     151// Best match: 86% 
     152NSTUB(reboot_fw_update, 0xffa77878) 
    150153NSTUB(rename, 0xff823b18) 
    151154// Best match: 95% 
  • trunk/platform/sx10/sub/100c/stubs_entry.S

    r944 r957  
    117117NSTUB(_pow, 0xffb006d0) 
    118118NSTUB(_sqrt, 0xffb03530) 
     119NSTUB(add_ptp_handler, 0xffa1726c) 
    119120NSTUB(close, 0xff819864) 
    120121NSTUB(closedir, 0xffa491e4) 
     
    150151NSTUB(read, 0xff819a4c) 
    151152NSTUB(readfastdir, 0xffa49114) 
     153// Best match: 86% 
     154NSTUB(reboot_fw_update, 0xffa50b14) 
    152155NSTUB(rename, 0xff823b38) 
    153156// Best match: 95% 
  • trunk/platform/sx10/sub/101a/stubs_entry.S

    r944 r957  
    117117NSTUB(_pow, 0xffb006e0) 
    118118NSTUB(_sqrt, 0xffb03540) 
     119NSTUB(add_ptp_handler, 0xffa1727c) 
    119120NSTUB(close, 0xff819864) 
    120121NSTUB(closedir, 0xffa491f4) 
     
    150151NSTUB(read, 0xff819a4c) 
    151152NSTUB(readfastdir, 0xffa49124) 
     153// Best match: 86% 
     154NSTUB(reboot_fw_update, 0xffa50b24) 
    152155NSTUB(rename, 0xff823b38) 
    153156// Best match: 95% 
  • trunk/platform/sx10/sub/101b/stubs_entry.S

    r944 r957  
    117117NSTUB(_pow, 0xffb0080c) 
    118118NSTUB(_sqrt, 0xffb0366c) 
     119NSTUB(add_ptp_handler, 0xffa1731c) 
    119120NSTUB(close, 0xff819864) 
    120121NSTUB(closedir, 0xffa49294) 
     
    150151NSTUB(read, 0xff819a4c) 
    151152NSTUB(readfastdir, 0xffa491c4) 
     153// Best match: 86% 
     154NSTUB(reboot_fw_update, 0xffa50bc4) 
    152155NSTUB(rename, 0xff823b38) 
    153156// Best match: 95% 
  • trunk/platform/sx10/sub/102b/stubs_entry.S

    r944 r957  
    117117NSTUB(_pow, 0xffb0083c) 
    118118NSTUB(_sqrt, 0xffb0369c) 
     119NSTUB(add_ptp_handler, 0xffa1731c) 
    119120NSTUB(close, 0xff819864) 
    120121NSTUB(closedir, 0xffa49294) 
     
    150151NSTUB(read, 0xff819a4c) 
    151152NSTUB(readfastdir, 0xffa491c4) 
     153// Best match: 86% 
     154NSTUB(reboot_fw_update, 0xffa50bc4) 
    152155NSTUB(rename, 0xff823b38) 
    153156// Best match: 95% 
  • trunk/platform/sx10/sub/103a/stubs_entry.S

    r944 r957  
    117117NSTUB(_pow, 0xffb00850) 
    118118NSTUB(_sqrt, 0xffb036b0) 
     119NSTUB(add_ptp_handler, 0xffa17330) 
    119120NSTUB(close, 0xff819864) 
    120121NSTUB(closedir, 0xffa492a8) 
     
    150151NSTUB(read, 0xff819a4c) 
    151152NSTUB(readfastdir, 0xffa491d8) 
     153// Best match: 86% 
     154NSTUB(reboot_fw_update, 0xffa50bd8) 
    152155NSTUB(rename, 0xff823b38) 
    153156// Best match: 95% 
  • trunk/platform/sx100is/sub/100b/stubs_entry.S

    r944 r957  
    8888NSTUB(_pow, 0xffe570a4) 
    8989NSTUB(_sqrt, 0xffe59358) 
     90NSTUB(add_ptp_handler, 0xffcb53a4) 
    9091NSTUB(close, 0xffc0a258) 
    9192NSTUB(closedir, 0xffddc74c) 
     
    121122NSTUB(read, 0xffc0a440) 
    122123NSTUB(readfastdir, 0xffddc67c) 
     124NSTUB(reboot_fw_update, 0xffde101c) 
    123125NSTUB(rename, 0xffc15120) 
    124126NSTUB(srand, 0xffc0e9ec) 
  • trunk/platform/sx100is/sub/100c/stubs_entry.S

    r944 r957  
    8888NSTUB(_pow, 0xffe570d8) 
    8989NSTUB(_sqrt, 0xffe5938c) 
     90NSTUB(add_ptp_handler, 0xffcb53d8) 
    9091NSTUB(close, 0xffc0a258) 
    9192NSTUB(closedir, 0xffddc780) 
     
    121122NSTUB(read, 0xffc0a440) 
    122123NSTUB(readfastdir, 0xffddc6b0) 
     124NSTUB(reboot_fw_update, 0xffde1050) 
    123125NSTUB(rename, 0xffc15120) 
    124126NSTUB(srand, 0xffc0e9ec) 
  • trunk/platform/sx110is/sub/100b/stubs_entry.S

    r944 r957  
    114114NSTUB(_pow, 0xffe8f4c4) 
    115115NSTUB(_sqrt, 0xffe91778) 
     116NSTUB(add_ptp_handler, 0xffdc1104) 
    116117NSTUB(close, 0xffc09f50) 
    117118NSTUB(closedir, 0xffdf3688) 
     
    147148NSTUB(read, 0xffc0a138) 
    148149NSTUB(readfastdir, 0xffdf35b8) 
     150// Best match: 86% 
     151NSTUB(reboot_fw_update, 0xffdf7e8c) 
    149152NSTUB(rename, 0xffc1341c) 
    150153// Best match: 95% 
  • trunk/platform/sx20/sub/102b/stubs_entry.S

    r944 r957  
    107107NSTUB(_pow, 0xffb36dd0) 
    108108NSTUB(_sqrt, 0xffb39084) 
     109NSTUB(add_ptp_handler, 0xffa49164) 
    109110NSTUB(close, 0xff81a990) 
    110111NSTUB(closedir, 0xffa7d3a0) 
     
    140141NSTUB(read, 0xff81ab78) 
    141142// ERROR: readfastdir is not found! 
     143// Best match: 82% 
     144NSTUB(reboot_fw_update, 0xffa82a28) 
    142145// ERROR: rename is not found! 
    143146// Best match: 95% 
  • trunk/platform/sx20/sub/102d/stubs_entry.S

    r944 r957  
    107107NSTUB(_pow, 0xffb36f8c) 
    108108NSTUB(_sqrt, 0xffb39240) 
     109NSTUB(add_ptp_handler, 0xffa49320) 
    109110NSTUB(close, 0xff81a990) 
    110111NSTUB(closedir, 0xffa7d55c) 
     
    140141NSTUB(read, 0xff81ab78) 
    141142// ERROR: readfastdir is not found! 
     143// Best match: 82% 
     144NSTUB(reboot_fw_update, 0xffa82be4) 
    142145// ERROR: rename is not found! 
    143146// Best match: 95% 
  • trunk/platform/sx200is/sub/100c/stubs_entry.S

    r944 r957  
    106106NSTUB(_pow, 0xffaf91bc) 
    107107NSTUB(_sqrt, 0xffafbf64) 
     108NSTUB(add_ptp_handler, 0xffa125d4) 
    108109NSTUB(close, 0xff8198fc) 
    109110NSTUB(closedir, 0xffa47a1c) 
     
    139140NSTUB(read, 0xff819ae4) 
    140141NSTUB(readfastdir, 0xffa4794c) 
     142// Best match: 86% 
     143NSTUB(reboot_fw_update, 0xffa4effc) 
    141144NSTUB(rename, 0xff823dc4) 
    142145// Best match: 95% 
  • trunk/platform/tx1/sub/100g/stubs_entry.S

    r944 r957  
    106106NSTUB(_sqrt, 0xff91ccdc) 
    107107// ALT: NSTUB(_sqrt, 0xff91ccdc) // 24/0 
     108// Best match: 96% 
     109NSTUB(add_ptp_handler, 0xff9f6390) 
    108110NSTUB(chdir, 0xff928afc) 
    109111// ALT: NSTUB(chdir, 0xff928afc) // 27/0 
  • trunk/platform/tx1/sub/101b/stubs_entry.S

    r944 r957  
    106106NSTUB(_sqrt, 0xff91ccdc) 
    107107// ALT: NSTUB(_sqrt, 0xff91ccdc) // 24/0 
     108// Best match: 96% 
     109NSTUB(add_ptp_handler, 0xff9f6410) 
    108110NSTUB(chdir, 0xff928afc) 
    109111// ALT: NSTUB(chdir, 0xff928afc) // 27/0 
  • trunk/tools/sig_ref_dryos_1.txt

    r944 r957  
    106106strtolx 0xFFC1FA10 
    107107Restart 0xFFC1B8A4 
     108add_ptp_handler 0xFFCAD7D0 
     109reboot_fw_update 0xFFDC6538 
  • trunk/tools/sig_ref_dryos_3.txt

    r944 r957  
    2828GetFocusLensSubjectDistanceFromLens 0xFF9430E8 22 
    2929Restart 0xFF83A130 
     30add_ptp_handler 0xFFA3F97C 
  • trunk/tools/sig_ref_vxworks_1.txt

    r944 r957  
    138138strtoul 0xFFEB5814 
    139139Restart 0xFFC12800 
     140add_ptp_handler 0xFFE222D0 
  • trunk/tools/signatures_dryos.h

    r944 r957  
    31973197}; 
    31983198 
     3199static FuncSig func_sig_add_ptp_handler_1[] = { 
     3200        {   1, 0xe1a07000, 0xfdffffff }, // mov:6:0xE1A07000 
     3201        {   2, 0xe59f00c0, 0xfdffffff }, // ldr:4:0xE59F00C0 
     3202        {   3, 0xe1a08002, 0xfdffffff }, // mov:6:0xE1A08002 
     3203        {   4, 0xe5900000, 0xfdffffff }, // ldr:4:0xE5900000 
     3204        {   5, 0xe1a05001, 0xfdffffff }, // mov:6:0xE1A05001 
     3205        {   6, 0xe1500000, 0xfdffffff }, // cmp:7:0xE3500000 
     3206        {   7, 0x01a00017, 0xfdffffff }, // mov:6:0x03A00017 
     3207        {   9, 0xe1550000, 0xfdffffff }, // cmp:7:0xE3550000 
     3208        {  10, 0x01a00003, 0xfdffffff }, // mov:6:0x03A00003 
     3209        {  12, 0xe5909000, 0xfdffffff }, // ldr:4:0xE5909000 
     3210        {  13, 0xe0804004, 0xfdffffff }, // add:6:0xE2804004 
     3211        {  14, 0xe1a00009, 0xfdffffff }, // mov:6:0xE1A00009 
     3212        {  15, 0xe1a01000, 0xfdffffff }, // mov:6:0xE3A01000 
     3213        {  16, 0xeb000000, 0xff000000 }, // b, bl:3:0xEBFD7891 
     3214        {  17, 0xe1100001, 0xfdffffff }, // tst:7:0xE3100001 
     3215        {  18, 0x11a06001, 0xfdffffff }, // mov:6:0x13A06001 
     3216        {  19, 0x1a000000, 0xff000000 }, // b, bl:3:0x1A000018 
     3217        {  20, 0xe1a01007, 0xfdffffff }, // mov:6:0xE1A01007 
     3218        {  21, 0xe1a00004, 0xfdffffff }, // mov:6:0xE1A00004 
     3219        {  22, 0xeb000000, 0xff000000 }, // b, bl:3:0xEB00016F 
     3220        {  23, 0xe1500000, 0xfdffffff }, // cmp:7:0xE3500000 
     3221        {  24, 0x0a000000, 0xff000000 }, // b, bl:3:0x0A000004 
     3222        {  25, 0xe580500c, 0xfdffffff }, // str:4:0xE580500C 
     3223        {  26, 0xe1a00009, 0xfdffffff }, // mov:6:0xE1A00009 
     3224        {  27, 0xeb000000, 0xff000000 }, // b, bl:3:0xEBFD78BA 
     3225        {  28, 0xe1a06013, 0xfdffffff }, // mov:6:0xE3A06013 
     3226        {  29, 0xea000000, 0xff000000 }, // b, bl:3:0xEA00000E 
     3227        {  30, 0xe1a00010, 0xfdffffff }, // mov:6:0xE3A00010 
     3228        {  31, 0xeb000000, 0xff000000 }, // b, bl:3:0xEBFDAFD3 
     3229        { -1, -1, -1 }, 
     3230        /* 29/32 */ 
     3231}; 
     3232 
     3233static FuncSig func_sig_reboot_fw_update_1[] = { 
     3234        {   1, 0xe1a04000, 0xfdffffff }, // mov:6:0xE1A04000 
     3235        {   2, 0xe1a01000, 0xfdffffff }, // mov:6:0xE1A01000 
     3236        {   3, 0xe59f0114, 0xfdffffff }, // ldr:4:0xE59F0114 
     3237        {   4, 0xe1a02020, 0xfdffffff }, // mov:6:0xE3A02020 
     3238        {   5, 0xeb000000, 0xff000000 }, // b, bl:3:0xEB01D39C 
     3239        {   6, 0xe1a02000, 0xfdffffff }, // mov:6:0xE3A02000 
     3240        {   7, 0xe1a01000, 0xfdffffff }, // mov:6:0xE3A01000 
     3241        {   8, 0xe1a00004, 0xfdffffff }, // mov:6:0xE1A00004 
     3242        {   9, 0xeb000000, 0xff000000 }, // b, bl:3:0xEBF93AA8 
     3243        {  11, 0xe1a06000, 0xfdffffff }, // mov:6:0xE1A06000 
     3244        {  12, 0x059f10f4, 0xfdffffff }, // ldr:4:0x059F10F4 
     3245        {  13, 0x008f00f4, 0xfdffffff }, // add:6:0x028F00F4 
     3246        {  14, 0x0b000000, 0xff000000 }, // b, bl:3:0x0BF916C8 
     3247        {  15, 0xe59f70e0, 0xfdffffff }, // ldr:4:0xE59F70E0 
     3248        {  16, 0xe5970004, 0xfdffffff }, // ldr:4:0xE5970004 
     3249        {  17, 0xe1500000, 0xfdffffff }, // cmp:7:0xE3500000 
     3250        {  18, 0x1a000000, 0xff000000 }, // b, bl:3:0x1A000008 
     3251        {  19, 0xe5970000, 0xfdffffff }, // ldr:4:0xE5970000 
     3252        {  21, 0xe1a04000, 0xfdffffff }, // mov:6:0xE1A04000 
     3253        {  22, 0xe1a000b0, 0xfdffffff }, // mov:6:0xE3A000B0 
     3254        {  23, 0xeb000000, 0xff000000 }, // b, bl:3:0xEBF94C81 
     3255        {  24, 0xe1a01000, 0xfdffffff }, // mov:6:0xE1A01000 
     3256        {  25, 0xe5870004, 0xfdffffff }, // str:4:0xE5870004 
     3257        {  26, 0xe1a00004, 0xfdffffff }, // mov:6:0xE1A00004 
     3258        {  27, 0xeb000000, 0xff000000 }, // b, bl:3:0xEB012804 
     3259        {  28, 0xe5971004, 0xfdffffff }, // ldr:4:0xE5971004 
     3260        {  29, 0xe1a00006, 0xfdffffff }, // mov:6:0xE1A00006 
     3261        {  30, 0xeb000000, 0xff000000 }, // b, bl:3:0xEB01990F 
     3262        {  31, 0xe1b04000, 0xfdffffff }, // mov:6:0xE1B04000 
     3263        { -1, -1, -1 }, 
     3264        /* 29/32 */ 
     3265}; 
     3266 
    31993267static FuncSig func_sig_AllocateMemory_2[] = { 
    32003268        {   0, 0xe5900000, 0xfdffffff }, // ldr:4:0xE5900000 
     
    47064774        { -1, -1, -1 }, 
    47074775        /* 26/32 */ 
     4776}; 
     4777 
     4778static FuncSig func_sig_add_ptp_handler_3[] = { 
     4779        {   1, 0xe51f4030, 0xfdffffff }, // ldr:4:0xE51F4030 
     4780        {   2, 0xe1a07000, 0xfdffffff }, // mov:6:0xE1A07000 
     4781        {   3, 0xe5940000, 0xfdffffff }, // ldr:4:0xE5940000 
     4782        {   4, 0xe1a08002, 0xfdffffff }, // mov:6:0xE1A08002 
     4783        {   5, 0xe1500000, 0xfdffffff }, // cmp:7:0xE3500000 
     4784        {   6, 0x01a00017, 0xfdffffff }, // mov:6:0x03A00017 
     4785        {   7, 0xe1a05001, 0xfdffffff }, // mov:6:0xE1A05001 
     4786        {   9, 0xe1550000, 0xfdffffff }, // cmp:7:0xE3550000 
     4787        {  10, 0x01a00003, 0xfdffffff }, // mov:6:0x03A00003 
     4788        {  12, 0xeb000000, 0xff000000 }, // b, bl:3:0xEBF87F0F 
     4789        {  13, 0xe1500000, 0xfdffffff }, // cmp:7:0xE3500000 
     4790        {  14, 0x0a000000, 0xff000000 }, // b, bl:3:0x0A000004 
     4791        {  15, 0xe1a00007, 0xfdffffff }, // mov:6:0xE1A00007 
     4792        {  16, 0xeb000000, 0xff000000 }, // b, bl:3:0xEBFFFFB5 
     4793        {  17, 0xe1100001, 0xfdffffff }, // tst:7:0xE3100001 
     4794        {  18, 0x11a00000, 0xfdffffff }, // mov:6:0x13A00000 
     4795        {  20, 0xe5940000, 0xfdffffff }, // ldr:4:0xE5940000 
     4796        {  21, 0xe1a01000, 0xfdffffff }, // mov:6:0xE3A01000 
     4797        {  22, 0xe5909000, 0xfdffffff }, // ldr:4:0xE5909000 
     4798        {  23, 0xe0804004, 0xfdffffff }, // add:6:0xE2804004 
     4799        {  24, 0xe1a00009, 0xfdffffff }, // mov:6:0xE1A00009 
     4800        {  25, 0xeb000000, 0xff000000 }, // b, bl:3:0xEBF7E24F 
     4801        {  26, 0xe1100001, 0xfdffffff }, // tst:7:0xE3100001 
     4802        {  27, 0x11a06001, 0xfdffffff }, // mov:6:0x13A06001 
     4803        {  28, 0x1a000000, 0xff000000 }, // b, bl:3:0x1A000018 
     4804        {  29, 0xe1a01007, 0xfdffffff }, // mov:6:0xE1A01007 
     4805        {  30, 0xe1a00004, 0xfdffffff }, // mov:6:0xE1A00004 
     4806        {  31, 0xeb000000, 0xff000000 }, // b, bl:3:0xEB000133 
     4807        { -1, -1, -1 }, 
     4808        /* 28/32 */ 
    47084809}; 
    47094810 
     
    48044905        { "_pow", func_sig__pow_1 }, 
    48054906        { "_sqrt", func_sig__sqrt_1 }, 
     4907        { "add_ptp_handler", func_sig_add_ptp_handler_1 }, 
     4908        { "add_ptp_handler", func_sig_add_ptp_handler_3 }, 
    48064909        { "close", func_sig_close_1 }, 
    48074910        { "closedir", func_sig_closedir_1 }, 
     
    48414944        { "read", func_sig_read_1 }, 
    48424945        { "readfastdir", func_sig_readfastdir_1 }, 
     4946        { "reboot_fw_update", func_sig_reboot_fw_update_1 }, 
    48434947        { "rename", func_sig_rename_1 }, 
    48444948        { "srand", func_sig_srand_1 }, 
  • trunk/tools/signatures_vxworks.h

    r944 r957  
    36823682        { -1, -1, -1 }, 
    36833683        /* 26/32 */ 
     3684}; 
     3685 
     3686static FuncSig func_sig_add_ptp_handler_1[] = { 
     3687        {   1, 0xe59f3070, 0xfdffffff }, // ldr:4:0xE59F3070 
     3688        {   2, 0xe5933000, 0xfdffffff }, // ldr:4:0xE5933000 
     3689        {   3, 0xe1a0c800, 0xfdffffff }, // mov:6:0xE1A0C800 
     3690        {   4, 0xe1530000, 0xfdffffff }, // cmp:7:0xE3530000 
     3691        {   5, 0xe1a0e001, 0xfdffffff }, // mov:6:0xE1A0E001 
     3692        {   6, 0xe1a00017, 0xfdffffff }, // mov:6:0xE3A00017 
     3693        {   7, 0xe1a05002, 0xfdffffff }, // mov:6:0xE1A05002 
     3694        {   8, 0xe1a0184c, 0xfdffffff }, // mov:6:0xE1A0184C 
     3695        {  10, 0xe15e0000, 0xfdffffff }, // cmp:7:0xE35E0000 
     3696        {  11, 0xe1a01801, 0xfdffffff }, // mov:6:0xE1A01801 
     3697        {  12, 0xe1a0200e, 0xfdffffff }, // mov:6:0xE1A0200E 
     3698        {  13, 0xe0830004, 0xfdffffff }, // add:6:0xE2830004 
     3699        {  14, 0x01a00003, 0xfdffffff }, // mov:6:0x03A00003 
     3700        {  16, 0xe5933000, 0xfdffffff }, // ldr:4:0xE5933000 
     3701        {  17, 0xe1a01821, 0xfdffffff }, // mov:6:0xE1A01821 
     3702        {  18, 0xeb000000, 0xff000000 }, // b, bl:3:0xEB00020A 
     3703        {  19, 0xe1a04000, 0xfdffffff }, // mov:6:0xE1A04000 
     3704        {  20, 0xe1540013, 0xfdffffff }, // cmp:7:0xE3540013 
     3705        {  22, 0x10033001, 0xfdffffff }, // and:6:0x12033001 
     3706        {  23, 0x01a03001, 0xfdffffff }, // mov:6:0x03A03001 
     3707        {  24, 0xe1530000, 0xfdffffff }, // cmp:7:0xE3530000 
     3708        {  25, 0x0a000000, 0xff000000 }, // b, bl:3:0x0A000002 
     3709        {  26, 0xe1550000, 0xfdffffff }, // cmp:7:0xE3550000 
     3710        {  27, 0x0a000000, 0xff000000 }, // b, bl:3:0x0A000000 
     3711        {  28, 0xeb000000, 0xff000000 }, // b, bl:3:0xEBFFFF8D 
     3712        {  29, 0xe1a00004, 0xfdffffff }, // mov:6:0xE1A00004 
     3713        {  31, 0x00009ea4, 0xfdffffff }, // and:6:0x00009EA4 
     3714        { -1, -1, -1 }, 
     3715        /* 27/32 */ 
    36843716}; 
    36853717 
     
    55095541        { "_sqrt", func_sig__sqrt_1 }, 
    55105542        { "_sqrt", func_sig__sqrt_2 }, 
     5543        { "add_ptp_handler", func_sig_add_ptp_handler_1 }, 
    55115544        { "chdir", func_sig_chdir_1 }, 
    55125545        { "chdir", func_sig_chdir_2 }, 
Note: See TracChangeset for help on using the changeset viewer.