- Timestamp:
- 03/13/11 21:33:29 (2 years ago)
- Location:
- trunk
- Files:
-
- 18 edited
-
include/camera.h (modified) (2 diffs)
-
platform/g12/sub/100c/boot.c (modified) (3 diffs)
-
platform/g12/sub/100c/lib.c (modified) (2 diffs)
-
platform/g12/sub/100c/stubs_entry_2.S (modified) (2 diffs)
-
platform/g12/sub/100e/boot.c (modified) (3 diffs)
-
platform/g12/sub/100e/lib.c (modified) (2 diffs)
-
platform/g12/sub/100e/stubs_entry_2.S (modified) (2 diffs)
-
platform/generic/shooting.c (modified) (1 diff)
-
platform/sx30/sub/100e/boot.c (modified) (2 diffs)
-
platform/sx30/sub/100e/lib.c (modified) (1 diff)
-
platform/sx30/sub/100e/stubs_entry_2.S (modified) (1 diff)
-
platform/sx30/sub/100h/boot.c (modified) (1 diff)
-
platform/sx30/sub/100h/lib.c (modified) (1 diff)
-
platform/sx30/sub/100h/stubs_entry_2.S (modified) (1 diff)
-
platform/sx30/sub/100l/boot.c (modified) (1 diff)
-
platform/sx30/sub/100l/capt_seq.c (modified) (1 diff)
-
platform/sx30/sub/100l/lib.c (modified) (1 diff)
-
platform/sx30/sub/100l/stubs_entry_2.S (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/camera.h
r1081 r1086 3123 3123 // todo - we may need this to save memory 3124 3124 //#define CAM_ZEBRA_NOBUF 1 3125 //========================================================== 3126 // END of Camera-dependent settings 3127 //========================================================== 3128 3125 3126 //---------------------------------------------------------- 3129 3127 #elif defined (CAMERA_sx30) 3130 3128 #define CAM_PROPSET 4 … … 3253 3251 #define CAM_HAS_JOGDIAL 1 3254 3252 #undef CAM_USE_ZOOM_FOR_MF 3253 #define CAM_HAS_ND_FILTER 1 3255 3254 #undef CAM_CONSOLE_LOG_ENABLED // Development: internal camera stdout -> A/stdout.txt 3256 3255 #define CAM_BRACKETING 1 -
trunk/platform/g12/sub/100c/boot.c
r1070 r1086 33 33 //} 34 34 35 extern void task_CaptSeq(); 36 extern void task_InitFileModules(); 37 extern void task_RotaryEncoder(); 38 extern void task_MovieRecord(); 39 extern void task_ExpDrv(); 40 35 41 void taskHook(context_t **context) 36 42 { 37 43 task_t *tcb=(task_t*)((char*)context-offsetof(task_t, context)); 38 39 extern void task_CaptSeq();40 extern void task_InitFileModules();41 extern void task_RotaryEncoder();42 extern void task_MovieRecord();43 extern void task_ExpDrv();44 44 45 45 // Replace firmware task addresses with ours … … 49 49 if(tcb->entry == (void*)task_MovieRecord) tcb->entry = (void*)movie_record_task; 50 50 if(tcb->entry == (void*)task_ExpDrv) tcb->entry = (void*)exp_drv_task; 51 } 52 53 void taskHook2(context_t **context) 54 { 55 task_t *tcb=(task_t*)((char*)context-offsetof(task_t, context)); 56 57 // Replace firmware task addresses with ours 58 if(tcb->entry == (void*)task_InitFileModules) tcb->entry = (void*)init_file_modules_task; 51 59 } 52 60 … … 174 182 //http://chdk.setepontos.com/index.php/topic,4194.0.html 175 183 *(int*)0x1938=(int)taskHook; 184 *(int*)0x193C=(int)taskHook2; // setting this to an empty function seems to fix startup crash in movie mode ??? 176 185 177 186 // replacement of sub_FF864BE0 for correct power-on. -
trunk/platform/g12/sub/100c/lib.c
r1017 r1086 55 55 56 56 57 // TODO - ??? Is this needed ???58 57 void *vid_get_viewport_live_fb() 59 58 { 60 return 0x0; 59 return (void*)(*(int*)(0x21F8)); // Found by searching RAM locations that referenced 0x40587700 (viewport buffer) 60 // and also changed to the other buffer addresses over time. Then used each here 61 // and selected value that gave the fastest Motion Detect response using http://dataghost.com/chdk/md_meter.html. 61 62 } 62 63 … … 66 67 } 67 68 68 // TODO - check that this works69 69 void *vid_get_viewport_fb_d() 70 70 { -
trunk/platform/g12/sub/100c/stubs_entry_2.S
r1028 r1086 38 38 NHSTUB(MoveZoomLensWithPoint, 0xffb05008) // ok (comp sx30) 39 39 NHSTUB(NewTaskShell, 0xff894f0c) // ok (comp sx30) 40 NHSTUB(Open, 0xFF8 73BFC) // ok (comp sx30)40 NHSTUB(Open, 0xFF81AADC) // update 5/3/2011 to fix crash startup 41 41 NHSTUB(PostLogicalEventForNotPowerType, 0xff899b70) // ok (comp sx30) 42 42 NHSTUB(PostLogicalEventToUI, 0xff899bbc) // ok (comp sx30) … … 88 88 NHSTUB(UpdateMBROnFlash, 0xFF8767C8) // Search for 'BOOTDISK', function branches to this at end (after setting up R0,R1,R2) 89 89 NHSTUB(exmem_alloc, 0xFF88FFD8) // search for ExMem.AllocCacheable (from reyalp) 90 NHSTUB(PutInNdFilter, 0xFFB04E6C) 91 NHSTUB(PutOutNdFilter, 0xFFB04E90) 90 92 91 93 # From stubs_entry_ida.s -
trunk/platform/g12/sub/100e/boot.c
r1070 r1086 33 33 //} 34 34 35 extern void task_CaptSeq(); 36 extern void task_InitFileModules(); 37 extern void task_RotaryEncoder(); 38 extern void task_MovieRecord(); 39 extern void task_ExpDrv(); 40 35 41 void taskHook(context_t **context) 36 42 { 37 43 task_t *tcb=(task_t*)((char*)context-offsetof(task_t, context)); 38 39 extern void task_CaptSeq();40 extern void task_InitFileModules();41 extern void task_RotaryEncoder();42 extern void task_MovieRecord();43 extern void task_ExpDrv();44 44 45 45 // Replace firmware task addresses with ours … … 49 49 if(tcb->entry == (void*)task_MovieRecord) tcb->entry = (void*)movie_record_task; 50 50 if(tcb->entry == (void*)task_ExpDrv) tcb->entry = (void*)exp_drv_task; 51 } 52 53 void taskHook2(context_t **context) 54 { 51 55 } 52 56 … … 173 177 //http://chdk.setepontos.com/index.php/topic,4194.0.html 174 178 *(int*)0x1938=(int)taskHook; 179 *(int*)0x193C=(int)taskHook2; // setting this to an empty function seems to fix startup crash in movie mode ??? 175 180 176 181 // replacement of sub_FF864BE0 for correct power-on. -
trunk/platform/g12/sub/100e/lib.c
r1019 r1086 55 55 56 56 57 // TODO - ??? Is this needed ???58 57 void *vid_get_viewport_live_fb() 59 58 { 60 return 0x0; 59 return (void*)(*(int*)(0x21F8)); // Found by searching RAM locations that referenced 0x40587700 (viewport buffer) 60 // and also changed to the other buffer addresses over time. Then used each here 61 // and selected value that gave the fastest Motion Detect response using http://dataghost.com/chdk/md_meter.html. 61 62 } 62 63 … … 66 67 } 67 68 68 // TODO - check that this works69 69 void *vid_get_viewport_fb_d() 70 70 { -
trunk/platform/g12/sub/100e/stubs_entry_2.S
r1028 r1086 38 38 NHSTUB(MoveZoomLensWithPoint, 0xFFB051B8) // ok (comp 1.00c) 39 39 NHSTUB(NewTaskShell, 0xff894f0c) // ok (comp 1.00c) 40 NHSTUB(Open, 0xFF8 73BFC) // ok (comp 1.00c)40 NHSTUB(Open, 0xFF81AADC) // update 5/3/2011 to fix crash startup 41 41 NHSTUB(PostLogicalEventForNotPowerType, 0xff899b70) // ok (comp 1.00c) 42 42 NHSTUB(PostLogicalEventToUI, 0xff899bbc) // ok (comp 1.00c) … … 88 88 NHSTUB(UpdateMBROnFlash, 0xFF8767C8) // Search for 'BOOTDISK', function branches to this at end (after setting up R0,R1,R2) 89 89 NHSTUB(exmem_alloc, 0xFF88FFD8) // search for ExMem.AllocCacheable (from reyalp) 90 NHSTUB(PutInNdFilter, 0xFFB0501C) 91 NHSTUB(PutOutNdFilter, 0xFFB05040) 90 92 91 93 # From stubs_entry_ida.s -
trunk/platform/generic/shooting.c
r1075 r1086 738 738 defined (CAMERA_sx20) || \ 739 739 defined (CAMERA_d10) || \ 740 defined (CAMERA_s95) 740 defined (CAMERA_s95) || \ 741 defined (CAMERA_g12) || defined (CAMERA_sx30) 741 742 short n; 742 743 // unlike other cameras, sx200 does set PROPCASE_DRIVE_MODE when in custom timer mode -
trunk/platform/sx30/sub/100e/boot.c
r1068 r1086 33 33 //} 34 34 35 extern void task_CaptSeq(); 36 extern void task_InitFileModules(); 37 extern void task_RotaryEncoder(); 38 extern void task_MovieRecord(); 39 extern void task_ExpDrv(); 40 35 41 void taskHook(context_t **context) 36 42 { 37 43 task_t *tcb=(task_t*)((char*)context-offsetof(task_t, context)); 38 39 extern void task_CaptSeq();40 extern void task_InitFileModules();41 extern void task_RotaryEncoder();42 extern void task_MovieRecord();43 extern void task_ExpDrv();44 44 45 45 // Replace firmware task addresses with ours … … 424 424 "BL sub_FF89A2C0_my\n" // patched 425 425 426 "BL core_spytask_can_start\n" // CHDK: Set "it's-sa ve-to-start"-Flag for spytask426 "BL core_spytask_can_start\n" // CHDK: Set "it's-safe-to-start" flag for spytask 427 427 428 428 "B sub_FF8A3B6C\n" // Continue in firmware -
trunk/platform/sx30/sub/100e/lib.c
r1024 r1086 54 54 55 55 56 void *vid_get_viewport_live_fb() // ???56 void *vid_get_viewport_live_fb() 57 57 { 58 return 0x0; 58 // Values below found by searching firmware for references & usage of viewport buffer address 0x40587700 59 // then experimenting to see what gave best Motion Detector speed results using http://dataghost.com/chdk/md_meter.html. 60 long* t = (long*)0xFFB96808; // Table of viewport buffer addresses (@FF853F24 in _sub_FF853DC0__LiveImage.c__10) 61 unsigned char i = *((unsigned char*)(0x20a8)); // Index value (byte) stored here (@FF853F50 in _sub_FF853DC0__LiveImage.c__10) 62 return (void*)t[(i-1)&3]; // Appears to be 4 buffers, current index - 1 seems best 59 63 } 60 64 -
trunk/platform/sx30/sub/100e/stubs_entry_2.S
r1028 r1086 38 38 NHSTUB(MoveZoomLensWithPoint, 0xFFAE9450) // ok (comp 1.00h) (from function table @FFC4EFF0) 39 39 NHSTUB(NewTaskShell, 0xff8993e4) // ok (comp 1.00h) 40 NHSTUB(Open, 0x ff874500) // ok (comp 1.00h)40 NHSTUB(Open, 0xFF81AADC) // update 5/3/2011 to fix crash startup 41 41 NHSTUB(PostLogicalEventForNotPowerType, 0xff89e028) // ok (comp 1.00h) 42 42 NHSTUB(PostLogicalEventToUI, 0xff89e074) // ok (comp 1.00h) -
trunk/platform/sx30/sub/100h/boot.c
r1068 r1086 33 33 //} 34 34 35 extern void task_CaptSeq(); 36 extern void task_InitFileModules(); 37 extern void task_RotaryEncoder(); 38 extern void task_MovieRecord(); 39 extern void task_ExpDrv(); 40 35 41 void taskHook(context_t **context) 36 42 { 37 43 task_t *tcb=(task_t*)((char*)context-offsetof(task_t, context)); 38 39 extern void task_CaptSeq();40 extern void task_InitFileModules();41 extern void task_RotaryEncoder();42 extern void task_MovieRecord();43 extern void task_ExpDrv();44 44 45 45 // Replace firmware task addresses with ours -
trunk/platform/sx30/sub/100h/lib.c
r1024 r1086 54 54 55 55 56 void *vid_get_viewport_live_fb() // ???56 void *vid_get_viewport_live_fb() 57 57 { 58 return 0x0; 58 // Values below found by searching firmware for references & usage of viewport buffer address 0x40587700 59 // then experimenting to see what gave best Motion Detector speed results using http://dataghost.com/chdk/md_meter.html. 60 long* t = (long*)0xFFB968C4; // Table of viewport buffer addresses (@FF853F24 in _sub_FF853DC0__LiveImage.c__10) 61 unsigned char i = *((unsigned char*)(0x20a8)); // Index value (byte) stored here (@FF853F50 in _sub_FF853DC0__LiveImage.c__10) 62 return (void*)t[(i-1)&3]; // Appears to be 4 buffers, current index - 1 seems best 59 63 } 60 64 -
trunk/platform/sx30/sub/100h/stubs_entry_2.S
r1028 r1086 38 38 NHSTUB(MoveZoomLensWithPoint, 0xffae950c) // ok (from function table @FFC4F0AC) 39 39 NHSTUB(NewTaskShell, 0xff8993e4) // ok (comp sx20) 40 NHSTUB(Open, 0x ff874500) // ok40 NHSTUB(Open, 0xFF81AADC) // update 5/3/2011 to fix crash startup 41 41 NHSTUB(PostLogicalEventForNotPowerType, 0xff89e028) // ok (comp sx20) 42 42 NHSTUB(PostLogicalEventToUI, 0xff89e074) // ok -
trunk/platform/sx30/sub/100l/boot.c
r1068 r1086 33 33 //} 34 34 35 extern void task_CaptSeq(); 36 extern void task_InitFileModules(); 37 extern void task_RotaryEncoder(); 38 extern void task_MovieRecord(); 39 extern void task_ExpDrv(); 40 35 41 void taskHook(context_t **context) 36 42 { 37 43 task_t *tcb=(task_t*)((char*)context-offsetof(task_t, context)); 38 39 extern void task_CaptSeq();40 extern void task_InitFileModules();41 extern void task_RotaryEncoder();42 extern void task_MovieRecord();43 extern void task_ExpDrv();44 44 45 45 // Replace firmware task addresses with ours -
trunk/platform/sx30/sub/100l/capt_seq.c
r1065 r1086 4 4 5 5 // TODO ???? 6 static long *nrflag = (long*)0xE15C; // probably wrong FFAEC840 (comp s95)6 static long *nrflag = (long*)0xE15C; // in sub_FFAEC6E8 (comp D10) 7 7 8 8 #include "../../../generic/capt_seq.c" -
trunk/platform/sx30/sub/100l/lib.c
r1024 r1086 54 54 55 55 56 void *vid_get_viewport_live_fb() // ???56 void *vid_get_viewport_live_fb() 57 57 { 58 return 0x0; 58 // Values below found by searching firmware for references & usage of viewport buffer address 0x40587700 59 // then experimenting to see what gave best Motion Detector speed results using http://dataghost.com/chdk/md_meter.html. 60 long* t = (long*)0xFFB96A6C; // Table of viewport buffer addresses (@FF853F24 in _sub_FF853DC0__LiveImage.c__10) 61 unsigned char i = *((unsigned char*)(0x20a8)); // Index value (byte) stored here (@FF853F50 in _sub_FF853DC0__LiveImage.c__10) 62 return (void*)t[(i-1)&3]; // Appears to be 4 buffers, current index - 1 seems best 59 63 } 60 64 -
trunk/platform/sx30/sub/100l/stubs_entry_2.S
r1028 r1086 38 38 NHSTUB(MoveZoomLensWithPoint, 0xFFAE96B4) // ok (comp 1.00h) 39 39 NHSTUB(NewTaskShell, 0xff8993e8) // ok (comp 1.00h) 40 NHSTUB(Open, 0x ff874500) // ok (comp 1.00h)40 NHSTUB(Open, 0xFF81AADC) // update 5/3/2011 to fix crash startup 41 41 NHSTUB(PostLogicalEventForNotPowerType, 0xff89e02c) // ok (comp 1.00h) 42 42 NHSTUB(PostLogicalEventToUI, 0xff89e078) // ok (comp 1.00h)
Note: See TracChangeset
for help on using the changeset viewer.