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 NR_AUTO   (0)
 

Funktionen

void __attribute__ ((naked, noinline))
 

Variablen

static long * nrflag = (long*)0x0001C020
 

Makro-Dokumentation

#define NR_AUTO   (0)

Definiert in Zeile 9 der Datei capt_seq.c.

Dokumentation der Funktionen

void __attribute__ ( (naked, noinline)  )

!!

Definiert in Zeile 61 der Datei capt_seq.c.

61  {
62  asm volatile (
63 " push {r3, r4, r5, r6, r7, lr}\n"
64 " ldr r4, =0x0003a2ec\n"
65 " movs r6, #0\n"
66 " ldr r5, =0x0000bd10\n"
67 "loc_fc0f24aa:\n"
68 " movs r2, #0\n"
69 " mov r1, sp\n"
70 " ldr r0, [r5, #4]\n"
71 " blx sub_fc2a15a8\n" // j_ReceiveMessageQueue
72 " lsls r0, r0, #0x1f\n"
73 " beq loc_fc0f24cc\n"
74 " movw r2, #0x4d6\n"
75 " ldr r1, =0xfc0f20e8\n" // *"SsShootTask.c"
76 " movs r0, #0\n"
77 " blx sub_fc2a1648\n" // j_DebugAssert
78 " blx sub_fc2a15c8\n" // -> ExitTask
79 " pop {r3, r4, r5, r6, r7, pc}\n"
80 "loc_fc0f24cc:\n"
81 " ldr r0, [sp]\n"
82 " ldr r0, [r0]\n"
83 " cmp r0, #1\n"
84 " beq loc_fc0f24e4\n"
85 " cmp r0, #0x22\n"
86 " beq loc_fc0f24e4\n"
87 " cmp r0, #0x2b\n"
88 " beq loc_fc0f24e4\n"
89 " cmp r0, #0x1e\n"
90 " beq loc_fc0f24e4\n"
91 " bl sub_fc1d54dc\n"
92 "loc_fc0f24e4:\n"
93 #ifdef CAPT_SEQ_DEBUG
94 // debug message
95 "ldr r0, [sp]\n"
96 "ldr r0, [r0]\n"
97 "bl log_capt_seq1\n"
98 #endif
99 " ldr r0, [sp]\n"
100 " ldr r1, [r0]\n"
101 " cmp r1, #0x2e\n"
102 " bhs loc_fc0f25ce\n"
103 " tbb [pc, r1]\n" // (jumptable r1 46 elements)
104 "branchtable_fc0f24f0:\n"
105 " .byte((loc_fc0f251e - branchtable_fc0f24f0) / 2)\n" // (case 0)
106 " .byte((loc_fc0f2532 - branchtable_fc0f24f0) / 2)\n" // (case 1)
107 " .byte((loc_fc0f2544 - branchtable_fc0f24f0) / 2)\n" // (case 2)
108 " .byte((loc_fc0f2552 - branchtable_fc0f24f0) / 2)\n" // (case 3)
109 " .byte((loc_fc0f254c - branchtable_fc0f24f0) / 2)\n" // (case 4)
110 " .byte((loc_fc0f255a - branchtable_fc0f24f0) / 2)\n" // (case 5)
111 " .byte((loc_fc0f2560 - branchtable_fc0f24f0) / 2)\n" // (case 6)
112 " .byte((loc_fc0f2566 - branchtable_fc0f24f0) / 2)\n" // (case 7)
113 " .byte((loc_fc0f256e - branchtable_fc0f24f0) / 2)\n" // (case 8)
114 " .byte((loc_fc0f25a0 - branchtable_fc0f24f0) / 2)\n" // (case 9)
115 " .byte((loc_fc0f2578 - branchtable_fc0f24f0) / 2)\n" // (case 10)
116 " .byte((loc_fc0f2580 - branchtable_fc0f24f0) / 2)\n" // (case 11)
117 " .byte((loc_fc0f2586 - branchtable_fc0f24f0) / 2)\n" // (case 12)
118 " .byte((loc_fc0f258e - branchtable_fc0f24f0) / 2)\n" // (case 13)
119 " .byte((loc_fc0f2594 - branchtable_fc0f24f0) / 2)\n" // (case 14)
120 " .byte((loc_fc0f259a - branchtable_fc0f24f0) / 2)\n" // (case 15)
121 " .byte((loc_fc0f25a6 - branchtable_fc0f24f0) / 2)\n" // (case 16)
122 " .byte((loc_fc0f25ac - branchtable_fc0f24f0) / 2)\n" // (case 17)
123 " .byte((loc_fc0f25b2 - branchtable_fc0f24f0) / 2)\n" // (case 18)
124 " .byte((loc_fc0f25b8 - branchtable_fc0f24f0) / 2)\n" // (case 19)
125 " .byte((loc_fc0f25be - branchtable_fc0f24f0) / 2)\n" // (case 20)
126 " .byte((loc_fc0f25c4 - branchtable_fc0f24f0) / 2)\n" // (case 21)
127 " .byte((loc_fc0f25c8 - branchtable_fc0f24f0) / 2)\n" // (case 22)
128 " .byte((loc_fc0f25d0 - branchtable_fc0f24f0) / 2)\n" // (case 23)
129 " .byte((loc_fc0f25d6 - branchtable_fc0f24f0) / 2)\n" // (case 24)
130 " .byte((loc_fc0f25dc - branchtable_fc0f24f0) / 2)\n" // (case 25)
131 " .byte((loc_fc0f25e2 - branchtable_fc0f24f0) / 2)\n" // (case 26)
132 " .byte((loc_fc0f25e8 - branchtable_fc0f24f0) / 2)\n" // (case 27)
133 " .byte((loc_fc0f25f0 - branchtable_fc0f24f0) / 2)\n" // (case 28)
134 " .byte((loc_fc0f25f6 - branchtable_fc0f24f0) / 2)\n" // (case 29)
135 " .byte((loc_fc0f25fa - branchtable_fc0f24f0) / 2)\n" // (case 30)
136 " .byte((loc_fc0f2602 - branchtable_fc0f24f0) / 2)\n" // (case 31)
137 " .byte((loc_fc0f2608 - branchtable_fc0f24f0) / 2)\n" // (case 32)
138 " .byte((loc_fc0f2632 - branchtable_fc0f24f0) / 2)\n" // (case 33)
139 " .byte((loc_fc0f2638 - branchtable_fc0f24f0) / 2)\n" // (case 34)
140 " .byte((loc_fc0f263e - branchtable_fc0f24f0) / 2)\n" // (case 35)
141 " .byte((loc_fc0f2644 - branchtable_fc0f24f0) / 2)\n" // (case 36)
142 " .byte((loc_fc0f264a - branchtable_fc0f24f0) / 2)\n" // (case 37)
143 " .byte((loc_fc0f2650 - branchtable_fc0f24f0) / 2)\n" // (case 38)
144 " .byte((loc_fc0f2658 - branchtable_fc0f24f0) / 2)\n" // (case 39)
145 " .byte((loc_fc0f265e - branchtable_fc0f24f0) / 2)\n" // (case 40)
146 " .byte((loc_fc0f2668 - branchtable_fc0f24f0) / 2)\n" // (case 41)
147 " .byte((loc_fc0f26a0 - branchtable_fc0f24f0) / 2)\n" // (case 42)
148 " .byte((loc_fc0f26a6 - branchtable_fc0f24f0) / 2)\n" // (case 43)
149 " .byte((loc_fc0f2694 - branchtable_fc0f24f0) / 2)\n" // (case 44)
150 " .byte((loc_fc0f26c0 - branchtable_fc0f24f0) / 2)\n" // (case 45)
151 ".align 1\n"
152 "loc_fc0f251e:\n" // Half Press ?
153 " bl sub_fc1531e4\n"
154 #ifdef CAPT_SEQ_DEBUG
155 "bl log_capt_seq3\n"
156 #endif
157 " BL shooting_expo_param_override\n" // ---->> added
158 " bl sub_fc151ace\n"
159 " ldr r0, [r4, #0x28]\n"
160 " cmp r0, #0\n"
161 " beq loc_fc0f2530\n"
162 " bl sub_fc1d4412_my\n" // ---->> SUB1
163 "loc_fc0f2530:\n"
164 " b loc_fc0f26c0\n"
165 ".ltorg\n"
166 
167 /* literal pool removed */
168 
169 "loc_fc0f2532:\n" // case 1 : Normal Shoot
170 " ldr r0, [r0, #0x10]\n"
171 " bl sub_fc1d421e_my\n" // ---->> SUB2
172 " b loc_fc0f26c0\n"
173 
174 "loc_fc0f2544:\n" // case 2
175 " movs r0, #1\n"
176 " bl sub_fc1534b2\n"
177 " b loc_fc0f26c0\n"
178 
179 "loc_fc0f254c:\n" // case 4
180 " bl sub_fc152fa6\n"
181 " b loc_fc0f2556\n"
182 "loc_fc0f2552:\n" // case 3
183 " bl sub_fc1531d0\n"
184 "loc_fc0f2556:\n"
185 " str r6, [r4, #0x28]\n"
186 " b loc_fc0f26c0\n"
187 
188 "loc_fc0f255a:\n"
189 " bl sub_fc1531d4\n"
190 " b loc_fc0f26c0\n"
191 "loc_fc0f2560:\n"
192 " bl sub_fc15338c\n"
193 " b loc_fc0f2572\n"
194 "loc_fc0f2566:\n"
195 " ldr r0, [r0, #0x10]\n"
196 " bl sub_fc1d4486\n"
197 " b loc_fc0f26c0\n"
198 "loc_fc0f256e:\n"
199 " bl sub_fc15343c\n"
200 "loc_fc0f2572:\n"
201 " bl sub_fc151ace\n"
202 " b loc_fc0f26c0\n"
203 "loc_fc0f2578:\n"
204 " ldr r0, [r4, #0x58]\n"
205 " bl sub_fc153a60\n"
206 " b loc_fc0f26c0\n"
207 "loc_fc0f2580:\n"
208 " bl sub_fc153cf6\n"
209 " b loc_fc0f26c0\n"
210 "loc_fc0f2586:\n"
211 " ldr r0, [r0, #0xc]\n"
212 " bl sub_fc153d42\n"
213 " b loc_fc0f26c0\n"
214 "loc_fc0f258e:\n"
215 " bl sub_fc153f46\n"
216 " b loc_fc0f26c0\n"
217 "loc_fc0f2594:\n"
218 " bl sub_fc1543e2\n"
219 " b loc_fc0f26c0\n"
220 "loc_fc0f259a:\n"
221 " bl sub_fc154472\n"
222 " b loc_fc0f26c0\n"
223 "loc_fc0f25a0:\n"
224 " bl sub_fc1531d0\n"
225 " b loc_fc0f26c0\n"
226 "loc_fc0f25a6:\n"
227 " bl sub_fc1d2e6c\n"
228 " b loc_fc0f26c0\n"
229 "loc_fc0f25ac:\n"
230 " bl sub_fc1d303c\n"
231 " b loc_fc0f26c0\n"
232 "loc_fc0f25b2:\n"
233 " bl sub_fc1d30b6\n"
234 " b loc_fc0f26c0\n"
235 "loc_fc0f25b8:\n"
236 " bl sub_fc1d3148\n"
237 " b loc_fc0f26c0\n"
238 "loc_fc0f25be:\n"
239 " bl sub_fc1d31fc\n"
240 " b loc_fc0f26c0\n"
241 "loc_fc0f25c4:\n"
242 " movs r0, #0\n"
243 " b loc_fc0f25ea\n"
244 "loc_fc0f25c8:\n"
245 " bl sub_fc1d35c2\n"
246 " b loc_fc0f26c0\n"
247 "loc_fc0f25ce:\n"
248 " b loc_fc0f26b2\n"
249 "loc_fc0f25d0:\n"
250 " bl sub_fc1d3620\n"
251 " b loc_fc0f26c0\n"
252 "loc_fc0f25d6:\n"
253 " bl sub_fc1d3624\n"
254 " b loc_fc0f26c0\n"
255 "loc_fc0f25dc:\n"
256 " bl sub_fc1d3634\n"
257 " b loc_fc0f26c0\n"
258 "loc_fc0f25e2:\n"
259 " bl sub_fc1d36b0\n"
260 " b loc_fc0f26c0\n"
261 "loc_fc0f25e8:\n"
262 " movs r0, #1\n"
263 "loc_fc0f25ea:\n"
264 " bl sub_fc1d34b4\n"
265 " b loc_fc0f26c0\n"
266 "loc_fc0f25f0:\n"
267 " bl sub_fc1535ea\n"
268 " b loc_fc0f26c0\n"
269 "loc_fc0f25f6:\n"
270 " movs r0, #0\n"
271 " b loc_fc0f25fc\n"
272 "loc_fc0f25fa:\n"
273 " ldr r0, [r0, #0xc]\n"
274 "loc_fc0f25fc:\n"
275 " bl sub_fc153648\n"
276 " b loc_fc0f26c0\n"
277 "loc_fc0f2602:\n"
278 " bl sub_fc1d33b6\n"
279 " b loc_fc0f26c0\n"
280 "loc_fc0f2608:\n"
281 " ldr r1, =0x0003a34e\n"
282 " movs r2, #2\n"
283 " movs r0, #0x6f\n"
284 " bl _GetPropertyCase\n"
285 " lsls r0, r0, #0x1f\n"
286 " beq loc_fc0f2624\n"
287 " movw r2, #0x5ea\n"
288 " ldr r1, =0xfc0f20e8\n" // *"SsShootTask.c"
289 " movs r0, #0\n"
290 " blx sub_fc2a1648\n" // j_DebugAssert
291 "loc_fc0f2624:\n"
292 " ldrh.w r0, [r4, #0x62]\n"
293 " cmp r0, #1\n"
294 " bne loc_fc0f26c0\n"
295 " bl sub_fc1d33b0\n"
296 " b loc_fc0f26c0\n"
297 "loc_fc0f2632:\n"
298 " bl sub_fc1d344c\n"
299 " b loc_fc0f26c0\n"
300 "loc_fc0f2638:\n"
301 " bl sub_fc1d4eb6\n"
302 " b loc_fc0f26c0\n"
303 "loc_fc0f263e:\n"
304 " bl sub_fc1524dc\n"
305 " b loc_fc0f26c0\n"
306 "loc_fc0f2644:\n"
307 " bl sub_fc1563ba\n"
308 " b loc_fc0f26c0\n"
309 "loc_fc0f264a:\n"
310 " bl sub_fc15646e\n"
311 " b loc_fc0f26c0\n"
312 "loc_fc0f2650:\n"
313 " ldr r0, [r0, #0xc]\n"
314 " bl sub_fc1d3770\n"
315 " b loc_fc0f26c0\n"
316 "loc_fc0f2658:\n"
317 " bl sub_fc1d37d2\n"
318 " b loc_fc0f26c0\n"
319 "loc_fc0f265e:\n"
320 " bl sub_fc15656a\n"
321 " bl sub_fc1564b0\n"
322 " b loc_fc0f26c0\n"
323 "loc_fc0f2668:\n"
324 " movs r0, #1\n"
325 " bl sub_fc1d4af8\n"
326 " movs r0, #1\n"
327 " bl sub_fc1d4bc2\n"
328 " ldrh.w r0, [r4, #0x1b0]\n"
329 " cmp r0, #4\n"
330 " beq loc_fc0f2686\n"
331 " ldrh r0, [r4]\n"
332 " sub.w r1, r0, #0x4200\n"
333 " subs r1, #0x30\n"
334 " bne loc_fc0f26c0\n"
335 "loc_fc0f2686:\n"
336 " bl sub_fc15646e\n"
337 " bl sub_fc156974\n"
338 " bl sub_fc156794\n"
339 " b loc_fc0f26c0\n"
340 "loc_fc0f2694:\n"
341 " bl sub_fc154666\n"
342 " movs r0, #1\n"
343 " bl sub_fc1560d8\n"
344 " b loc_fc0f26c0\n"
345 "loc_fc0f26a0:\n"
346 " movs r2, #0\n"
347 " movs r1, #0x10\n"
348 " b loc_fc0f26aa\n"
349 "loc_fc0f26a6:\n"
350 " movs r2, #0\n"
351 " movs r1, #0xf\n"
352 "loc_fc0f26aa:\n"
353 " movs r0, #0\n"
354 " bl sub_fc1526f4\n"
355 " b loc_fc0f26c0\n"
356 "loc_fc0f26b2:\n"
357 " movw r2, #0x65c\n"
358 " ldr r1, =0xfc0f20e8\n" // *"SsShootTask.c"
359 " movs r0, #0\n"
360 " blx sub_fc2a1648\n" // j_DebugAssert
361 "loc_fc0f26c0:\n"
362 
363 #ifdef CAPT_SEQ_DEBUG
364 // debug after message handled
365 " ldr r0, [sp]\n"
366 " ldr r0, [r0]\n"
367 " bl log_capt_seq2\n"
368 #endif
369 " bl capt_seq_hook_set_nr\n" // ---->> dark frame control
370 " ldr r0, [sp]\n"
371 " ldr r1, [r0, #4]\n"
372 " ldr r0, [r5]\n"
373 " blx sub_fc2a14c8\n" // j_SetEventFlag
374 " ldr r7, [sp]\n"
375 " ldr r0, [r7, #8]\n"
376 " cbnz r0, loc_fc0f26de\n"
377 " movw r2, #0x126\n"
378 " ldr r1, =0xfc0f20e8\n" // *"SsShootTask.c"
379 " movs r0, #0\n"
380 " blx sub_fc2a1648\n" // j_DebugAssert
381 "loc_fc0f26de:\n"
382 " str r6, [r7, #8]\n"
383 " b loc_fc0f24aa\n"
384 
385 ".ltorg\n"
386  );
387 }

Variablen-Dokumentation

long* nrflag = (long*)0x0001C020
static

Definiert in Zeile 10 der Datei capt_seq.c.