CHDK_DE Vorschauversion  Trunk Rev. 6014
 Alle Datenstrukturen Dateien Funktionen Variablen Typdefinitionen Aufzählungen Aufzählungswerte Makrodefinitionen
capt_seq.c-Dateireferenz
#include "lolevel.h"
#include "platform.h"
#include "core.h"
#include "../../../generic/capt_seq.c"
+ Include-Abhängigkeitsdiagramm für capt_seq.c:

gehe zum Quellcode dieser Datei

Makrodefinitionen

#define USE_STUBS_NRFLAG   1
 
#define NR_AUTO   (0)
 

Funktionen

void _LogCameraEvent (int id, const char *fmt,...)
 
char * hook_raw_image_addr (void)
 
void __attribute__ ((naked, noinline))
 *-------------------------------------------------------------------— Mehr ...
 

Variablen

int active_raw_buffer
 

Makro-Dokumentation

#define NR_AUTO   (0)

Definiert in Zeile 9 der Datei capt_seq.c.

#define USE_STUBS_NRFLAG   1

Definiert in Zeile 8 der Datei capt_seq.c.

Dokumentation der Funktionen

void __attribute__ ( (naked, noinline)  )

*-------------------------------------------------------------------—

!!

IS_ERROR( hSoundHandle )

IS_ERROR( RetCode )

IS_ERROR( RetCode )

IS_ERROR( RetCode )

IS_ERROR( RetCode )

"MOV R3, #0\n" "STR R3, [R9]\n"

TODO! below is from sd400

"MOV R3, #0\n" "STR R3, [R9]\n"

TODO! below is from sd400

__MovieRecorder_c__100

__MovieRecorder_c__100

Definiert in Zeile 54 der Datei capt_seq.c.

54  {
55  asm volatile (
56 // task_CaptSeqTask 0xfc0bce67
57 " push {r3, r4, r5, r6, r7, lr}\n"
58 " ldr r4, =0x0005dd60\n"
59 " movs r6, #0\n"
60 " ldr r5, =0x0000b1f8\n"
61 "loc_fc0bce6e:\n"
62 " movs r2, #0\n"
63 " mov r1, sp\n"
64 " ldr r0, [r5, #8]\n"
65 " blx sub_fc314c7c\n" // j_ReceiveMessageQueue
66 " lsls r0, r0, #0x1f\n"
67 " beq loc_fc0bce90\n"
68 " movw r2, #0x455\n"
69 " ldr r1, =0xfc0bca88\n" // *"SsShootTask.c"
70 " movs r0, #0\n"
71 " blx sub_fc314dec\n" // j_DebugAssert
72 " blx sub_fc314ca4\n" // -> ExitTask_FW
73 " pop {r3, r4, r5, r6, r7, pc}\n"
74 "loc_fc0bce90:\n"
75 " ldr r0, [sp]\n"
76 " ldr r0, [r0]\n"
77 " cmp r0, #1\n"
78 " beq loc_fc0bcea8\n"
79 " cmp r0, #0x27\n"
80 " beq loc_fc0bcea8\n"
81 " cmp r0, #0x1c\n"
82 " beq loc_fc0bcea8\n"
83 " cmp r0, #0x1f\n"
84 " beq loc_fc0bcea8\n"
85 " bl sub_fc18c164\n"
86 "loc_fc0bcea8:\n"
87 #ifdef CAPTSEQ_DEBUG
88 "ldr r0, [sp]\n"
89 "ldr r0, [r0]\n"
90 "bl log_capt_seq\n"
91 #endif
92 " ldr r0, [sp]\n"
93 " ldr r1, [r0]\n"
94 " cmp r1, #0x2e\n"
95 " bhs loc_fc0bcf6a\n"
96 " tbb [pc, r1]\n" // (jumptable r1 46 elements)
97 "branchtable_fc0bceb4:\n"
98 " .byte((loc_fc0bcee2 - branchtable_fc0bceb4) / 2)\n" // (case 0)
99 " .byte((loc_fc0bcef8 - branchtable_fc0bceb4) / 2)\n" // (case 1)
100 " .byte((loc_fc0bcf00 - branchtable_fc0bceb4) / 2)\n" // (case 2)
101 " .byte((loc_fc0bcf0e - branchtable_fc0bceb4) / 2)\n" // (case 3)
102 " .byte((loc_fc0bcf08 - branchtable_fc0bceb4) / 2)\n" // (case 4)
103 " .byte((loc_fc0bcf18 - branchtable_fc0bceb4) / 2)\n" // (case 5)
104 " .byte((loc_fc0bcf1e - branchtable_fc0bceb4) / 2)\n" // (case 6)
105 " .byte((loc_fc0bcf5c - branchtable_fc0bceb4) / 2)\n" // (case 7)
106 " .byte((loc_fc0bcf2e - branchtable_fc0bceb4) / 2)\n" // (case 8)
107 " .byte((loc_fc0bcf36 - branchtable_fc0bceb4) / 2)\n" // (case 9)
108 " .byte((loc_fc0bcf3c - branchtable_fc0bceb4) / 2)\n" // (case 10)
109 " .byte((loc_fc0bcf44 - branchtable_fc0bceb4) / 2)\n" // (case 11)
110 " .byte((loc_fc0bcf4a - branchtable_fc0bceb4) / 2)\n" // (case 12)
111 " .byte((loc_fc0bcf50 - branchtable_fc0bceb4) / 2)\n" // (case 13)
112 " .byte((loc_fc0bcf56 - branchtable_fc0bceb4) / 2)\n" // (case 14)
113 " .byte((loc_fc0bcf64 - branchtable_fc0bceb4) / 2)\n" // (case 15)
114 " .byte((loc_fc0bcf78 - branchtable_fc0bceb4) / 2)\n" // (case 16)
115 " .byte((loc_fc0bcf7e - branchtable_fc0bceb4) / 2)\n" // (case 17)
116 " .byte((loc_fc0bcf84 - branchtable_fc0bceb4) / 2)\n" // (case 18)
117 " .byte((loc_fc0bcf8a - branchtable_fc0bceb4) / 2)\n" // (case 19)
118 " .byte((loc_fc0bcf8e - branchtable_fc0bceb4) / 2)\n" // (case 20)
119 " .byte((loc_fc0bcf94 - branchtable_fc0bceb4) / 2)\n" // (case 21)
120 " .byte((loc_fc0bcf9a - branchtable_fc0bceb4) / 2)\n" // (case 22)
121 " .byte((loc_fc0bcfa0 - branchtable_fc0bceb4) / 2)\n" // (case 23)
122 " .byte((loc_fc0bcfa6 - branchtable_fc0bceb4) / 2)\n" // (case 24)
123 " .byte((loc_fc0bcfac - branchtable_fc0bceb4) / 2)\n" // (case 25)
124 " .byte((loc_fc0bcfb4 - branchtable_fc0bceb4) / 2)\n" // (case 26)
125 " .byte((loc_fc0bcfba - branchtable_fc0bceb4) / 2)\n" // (case 27)
126 " .byte((loc_fc0bcfbe - branchtable_fc0bceb4) / 2)\n" // (case 28)
127 " .byte((loc_fc0bcfc6 - branchtable_fc0bceb4) / 2)\n" // (case 29)
128 " .byte((loc_fc0bcfcc - branchtable_fc0bceb4) / 2)\n" // (case 30)
129 " .byte((loc_fc0bcfd2 - branchtable_fc0bceb4) / 2)\n" // (case 31)
130 " .byte((loc_fc0bcfd8 - branchtable_fc0bceb4) / 2)\n" // (case 32)
131 " .byte((loc_fc0bcfde - branchtable_fc0bceb4) / 2)\n" // (case 33)
132 " .byte((loc_fc0bcfe4 - branchtable_fc0bceb4) / 2)\n" // (case 34)
133 " .byte((loc_fc0bcfea - branchtable_fc0bceb4) / 2)\n" // (case 35)
134 " .byte((loc_fc0bcff2 - branchtable_fc0bceb4) / 2)\n" // (case 36)
135 " .byte((loc_fc0bcff8 - branchtable_fc0bceb4) / 2)\n" // (case 37)
136 " .byte((loc_fc0bd01c - branchtable_fc0bceb4) / 2)\n" // (case 38)
137 " .byte((loc_fc0bd022 - branchtable_fc0bceb4) / 2)\n" // (case 39)
138 " .byte((loc_fc0bd05a - branchtable_fc0bceb4) / 2)\n" // (case 40)
139 " .byte((loc_fc0bd02e - branchtable_fc0bceb4) / 2)\n" // (case 41)
140 " .byte((loc_fc0bd034 - branchtable_fc0bceb4) / 2)\n" // (case 42)
141 " .byte((loc_fc0bd03a - branchtable_fc0bceb4) / 2)\n" // (case 43)
142 " .byte((loc_fc0bd040 - branchtable_fc0bceb4) / 2)\n" // (case 44)
143 " .byte((loc_fc0bd046 - branchtable_fc0bceb4) / 2)\n" // (case 45)
144 ".align 1\n"
145 "loc_fc0bcee2:\n"
146 " ldr r0, [r0, #0xc]\n"
147 " bl sub_fc0d4f20\n"
148 #ifdef CAPTSEQ_DEBUG
149 "bl log_capt_seq_override\n" // debug
150 #endif
151 " bl shooting_expo_param_override\n" // +
152 " bl sub_fc101d70\n"
153 " ldr r0, [r4, #0x28]\n"
154 " cmp r0, #0\n"
155 " beq loc_fc0bcef6\n"
156 " bl sub_fc0dd248_my\n" // ->
157 "loc_fc0bcef6:\n"
158 " b loc_fc0bd05a\n"
159 "loc_fc0bcef8:\n"
160 " ldr r0, [r0, #0x10]\n"
161 " bl sub_fc0dd0dc_my\n" // ->
162 " b loc_fc0bd05a\n"
163 "loc_fc0bcf00:\n"
164 " movs r0, #1\n"
165 " bl sub_fc0d51b0\n"
166 " b loc_fc0bd05a\n"
167 "loc_fc0bcf08:\n"
168 " bl sub_fc0d4c64\n"
169 " b loc_fc0bcf14\n"
170 "loc_fc0bcf0e:\n"
171 " ldr r0, [r0, #0xc]\n"
172 " bl sub_fc0d4f08\n"
173 "loc_fc0bcf14:\n"
174 " str r6, [r4, #0x28]\n"
175 " b loc_fc0bd05a\n"
176 "loc_fc0bcf18:\n"
177 " bl sub_fc0d4f0e\n"
178 " b loc_fc0bd05a\n"
179 "loc_fc0bcf1e:\n"
180 " bl sub_fc0d5152\n"
181 " bl sub_fc101d70\n"
182 " movs r0, #0\n"
183 " bl sub_fc2a5046\n"
184 " b loc_fc0bd05a\n"
185 "loc_fc0bcf2e:\n"
186 " ldr r0, [r4, #0x54]\n"
187 " bl sub_fc0d5756\n"
188 " b loc_fc0bd05a\n"
189 "loc_fc0bcf36:\n"
190 " bl sub_fc0d59e2\n"
191 " b loc_fc0bd05a\n"
192 "loc_fc0bcf3c:\n"
193 " ldr r0, [r0, #0xc]\n"
194 " bl sub_fc0d5a2e\n"
195 " b loc_fc0bd05a\n"
196 "loc_fc0bcf44:\n"
197 " bl sub_fc0d5bf4\n"
198 " b loc_fc0bd05a\n"
199 "loc_fc0bcf4a:\n"
200 " bl sub_fc0d5c52\n"
201 " b loc_fc0bd05a\n"
202 "loc_fc0bcf50:\n"
203 " bl sub_fc0d6008\n"
204 " b loc_fc0bd05a\n"
205 "loc_fc0bcf56:\n"
206 " bl sub_fc0d609e\n"
207 " b loc_fc0bd05a\n"
208 "loc_fc0bcf5c:\n"
209 " ldr r0, [r0, #0xc]\n"
210 " bl sub_fc0d4f08\n"
211 " b loc_fc0bd05a\n"
212 "loc_fc0bcf64:\n"
213 " bl sub_fc0dc83c\n"
214 " b loc_fc0bd05a\n"
215 "loc_fc0bcf6a:\n"
216 " b loc_fc0bd04c\n"
217 // - literal pool removed
218 ".ltorg\n"
219 "loc_fc0bcf78:\n"
220 " bl sub_fc0dc9f4\n"
221 " b loc_fc0bd05a\n"
222 "loc_fc0bcf7e:\n"
223 " bl sub_fc0dca98\n"
224 " b loc_fc0bd05a\n"
225 "loc_fc0bcf84:\n"
226 " bl sub_fc0dcb2a\n"
227 " b loc_fc0bd05a\n"
228 "loc_fc0bcf8a:\n"
229 " movs r0, #0\n"
230 " b loc_fc0bcfae\n"
231 "loc_fc0bcf8e:\n"
232 " bl sub_fc0dce20\n"
233 " b loc_fc0bd05a\n"
234 "loc_fc0bcf94:\n"
235 " bl sub_fc0dce80\n"
236 " b loc_fc0bd05a\n"
237 "loc_fc0bcf9a:\n"
238 " bl sub_fc0dce84\n"
239 " b loc_fc0bd05a\n"
240 "loc_fc0bcfa0:\n"
241 " bl sub_fc0dce94\n"
242 " b loc_fc0bd05a\n"
243 "loc_fc0bcfa6:\n"
244 " bl sub_fc0dcf28\n"
245 " b loc_fc0bd05a\n"
246 "loc_fc0bcfac:\n"
247 " movs r0, #1\n"
248 "loc_fc0bcfae:\n"
249 " bl sub_fc0dcd00\n"
250 " b loc_fc0bd05a\n"
251 "loc_fc0bcfb4:\n"
252 " bl sub_fc0d5276\n"
253 " b loc_fc0bd05a\n"
254 "loc_fc0bcfba:\n"
255 " movs r0, #0\n"
256 " b loc_fc0bcfc0\n"
257 "loc_fc0bcfbe:\n"
258 " ldr r0, [r0, #0xc]\n"
259 "loc_fc0bcfc0:\n"
260 " bl sub_fc0d52a8\n"
261 " b loc_fc0bd05a\n"
262 "loc_fc0bcfc6:\n"
263 " bl sub_fc0dcc46\n"
264 " b loc_fc0bd05a\n"
265 "loc_fc0bcfcc:\n"
266 " bl sub_fc0dccb2\n"
267 " b loc_fc0bd05a\n"
268 "loc_fc0bcfd2:\n"
269 " bl sub_fc10fd1c\n"
270 " b loc_fc0bd05a\n"
271 "loc_fc0bcfd8:\n"
272 " bl sub_fc10256c\n"
273 " b loc_fc0bd05a\n"
274 "loc_fc0bcfde:\n"
275 " bl sub_fc0d67ca\n"
276 " b loc_fc0bd05a\n"
277 "loc_fc0bcfe4:\n"
278 " bl sub_fc0d6884\n"
279 " b loc_fc0bd05a\n"
280 "loc_fc0bcfea:\n"
281 " ldr r0, [r0, #0xc]\n"
282 " bl sub_fc0dd008\n"
283 " b loc_fc0bd05a\n"
284 "loc_fc0bcff2:\n"
285 " bl sub_fc0dd05a\n"
286 " b loc_fc0bd05a\n"
287 "loc_fc0bcff8:\n"
288 " bl sub_fc0d71b8\n"
289 " bl sub_fc0d7ffe\n"
290 " ldrh.w r0, [r4, #0x1a4]\n"
291 " cmp r0, #4\n"
292 " beq loc_fc0bd012\n"
293 " ldrh r0, [r4]\n"
294 " sub.w r1, r0, #0x8200\n"
295 " subs r1, #0x36\n"
296 " bne loc_fc0bd05a\n"
297 "loc_fc0bd012:\n"
298 " bl sub_fc0d6884\n"
299 " bl sub_fc0d6c06\n"
300 " b loc_fc0bd05a\n"
301 "loc_fc0bd01c:\n"
302 " movs r2, #0\n"
303 " movs r1, #0x11\n"
304 " b loc_fc0bd026\n"
305 "loc_fc0bd022:\n"
306 " movs r2, #0\n"
307 " movs r1, #0x10\n"
308 "loc_fc0bd026:\n"
309 " movs r0, #0\n"
310 " bl sub_fc1026fa\n"
311 " b loc_fc0bd05a\n"
312 "loc_fc0bd02e:\n"
313 " bl sub_fc110468\n"
314 " b loc_fc0bd05a\n"
315 "loc_fc0bd034:\n"
316 " bl sub_fc1104e4\n"
317 " b loc_fc0bd05a\n"
318 "loc_fc0bd03a:\n"
319 " bl sub_fc110524\n"
320 " b loc_fc0bd05a\n"
321 "loc_fc0bd040:\n"
322 " bl sub_fc1103ac\n"
323 " b loc_fc0bd05a\n"
324 "loc_fc0bd046:\n"
325 " bl sub_fc1103ae\n"
326 " b loc_fc0bd05a\n"
327 "loc_fc0bd04c:\n"
328 " movw r2, #0x588\n"
329 " ldr r1, =0xfc0bca88\n" // *"SsShootTask.c"
330 " movs r0, #0\n"
331 " blx sub_fc314dec\n" // j_DebugAssert
332 "loc_fc0bd05a:\n"
333 #ifdef CAPTSEQ_DEBUG
334 // debug after message handled
335 "ldr r0, [sp]\n"
336 "ldr r0, [r0]\n"
337 "bl log_capt_seq2\n"
338 #endif
339 " ldr r0, [sp]\n"
340 " ldr r1, [r0, #4]\n"
341 " ldr r0, [r5, #4]\n"
342 " blx sub_fc314c94\n" // j_SetEventFlag
343 " ldr r7, [sp]\n"
344 " ldr r0, [r7, #8]\n"
345 " cbnz r0, loc_fc0bd078\n"
346 " movw r2, #0x12b\n"
347 " ldr r1, =0xfc0bca88\n" // *"SsShootTask.c"
348 " movs r0, #0\n"
349 " blx sub_fc314dec\n" // j_DebugAssert
350 "loc_fc0bd078:\n"
351 " str r6, [r7, #8]\n"
352 " b loc_fc0bce6e\n"
353 ".ltorg\n"
354  );
355 }
void _LogCameraEvent ( int  id,
const char *  fmt,
  ... 
)
char* hook_raw_image_addr ( void  )

Definiert in Zeile 3 der Datei lib.c.

4 {
5  // Found 0x11B96B80 at ROM:FFC377A0
6  // Found 0x107D58E0 at ROM:FFC756CC
7  // 0x51C0 + 0x18 found at ROM:FFC4C504
8  return (char*) (*(int*)(0x51C0+0x18) ? 0x11B96B80 : 0x107D58E0);
9 }

Variablen-Dokumentation

int active_raw_buffer