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*)0x0001c028
 

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, =0x0003a2f4\n"
65 " movs r6, #0\n"
66 " ldr r5, =0x0000bd10\n"
67 "loc_fc0f24b2:\n"
68 " movs r2, #0\n"
69 " mov r1, sp\n"
70 " ldr r0, [r5, #4]\n"
71 " blx sub_fc2a1610\n" // j_ReceiveMessageQueue
72 " lsls r0, r0, #0x1f\n"
73 " beq loc_fc0f24d4\n"
74 " movw r2, #0x4d9\n"
75 " ldr r1, =0xfc0f20e8\n" // *"SsShootTask.c"
76 " movs r0, #0\n"
77 " blx sub_fc2a16b0\n" // j_DebugAssert
78 " blx sub_fc2a1630\n" // -> ExitTask
79 " pop {r3, r4, r5, r6, r7, pc}\n"
80 "loc_fc0f24d4:\n"
81 " ldr r0, [sp]\n"
82 " ldr r0, [r0]\n"
83 " cmp r0, #1\n"
84 " beq loc_fc0f24ec\n"
85 " cmp r0, #0x22\n"
86 " beq loc_fc0f24ec\n"
87 " cmp r0, #0x2b\n"
88 " beq loc_fc0f24ec\n"
89 " cmp r0, #0x1e\n"
90 " beq loc_fc0f24ec\n"
91 " bl sub_fc1d5544\n"
92 "loc_fc0f24ec:\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_fc0f25d6\n"
103 " tbb [pc, r1]\n" // (jumptable r1 46 elements)
104 "branchtable_fc0f24f8:\n"
105 " .byte((loc_fc0f2526 - branchtable_fc0f24f8) / 2)\n" // (case 0) **
106 " .byte((loc_fc0f2544 - branchtable_fc0f24f8) / 2)\n" // (case 1) **
107 " .byte((loc_fc0f254c - branchtable_fc0f24f8) / 2)\n" // (case 2)
108 " .byte((loc_fc0f255a - branchtable_fc0f24f8) / 2)\n" // (case 3) **
109 " .byte((loc_fc0f2554 - branchtable_fc0f24f8) / 2)\n" // (case 4) **
110 " .byte((loc_fc0f2562 - branchtable_fc0f24f8) / 2)\n" // (case 5)
111 " .byte((loc_fc0f2568 - branchtable_fc0f24f8) / 2)\n" // (case 6)
112 " .byte((loc_fc0f256e - branchtable_fc0f24f8) / 2)\n" // (case 7)
113 " .byte((loc_fc0f2576 - branchtable_fc0f24f8) / 2)\n" // (case 8)
114 " .byte((loc_fc0f25a8 - branchtable_fc0f24f8) / 2)\n" // (case 9)
115 " .byte((loc_fc0f2580 - branchtable_fc0f24f8) / 2)\n" // (case 10)
116 " .byte((loc_fc0f2588 - branchtable_fc0f24f8) / 2)\n" // (case 11)
117 " .byte((loc_fc0f258e - branchtable_fc0f24f8) / 2)\n" // (case 12)
118 " .byte((loc_fc0f2596 - branchtable_fc0f24f8) / 2)\n" // (case 13)
119 " .byte((loc_fc0f259c - branchtable_fc0f24f8) / 2)\n" // (case 14)
120 " .byte((loc_fc0f25a2 - branchtable_fc0f24f8) / 2)\n" // (case 15)
121 " .byte((loc_fc0f25ae - branchtable_fc0f24f8) / 2)\n" // (case 16)
122 " .byte((loc_fc0f25b4 - branchtable_fc0f24f8) / 2)\n" // (case 17)
123 " .byte((loc_fc0f25ba - branchtable_fc0f24f8) / 2)\n" // (case 18)
124 " .byte((loc_fc0f25c0 - branchtable_fc0f24f8) / 2)\n" // (case 19)
125 " .byte((loc_fc0f25c6 - branchtable_fc0f24f8) / 2)\n" // (case 20)
126 " .byte((loc_fc0f25cc - branchtable_fc0f24f8) / 2)\n" // (case 21)
127 " .byte((loc_fc0f25d0 - branchtable_fc0f24f8) / 2)\n" // (case 22)
128 " .byte((loc_fc0f25d8 - branchtable_fc0f24f8) / 2)\n" // (case 23)
129 " .byte((loc_fc0f25de - branchtable_fc0f24f8) / 2)\n" // (case 24)
130 " .byte((loc_fc0f25e4 - branchtable_fc0f24f8) / 2)\n" // (case 25)
131 " .byte((loc_fc0f25ea - branchtable_fc0f24f8) / 2)\n" // (case 26)
132 " .byte((loc_fc0f25f0 - branchtable_fc0f24f8) / 2)\n" // (case 27)
133 " .byte((loc_fc0f25f8 - branchtable_fc0f24f8) / 2)\n" // (case 28)
134 " .byte((loc_fc0f25fe - branchtable_fc0f24f8) / 2)\n" // (case 29)
135 " .byte((loc_fc0f2602 - branchtable_fc0f24f8) / 2)\n" // (case 30)
136 " .byte((loc_fc0f260a - branchtable_fc0f24f8) / 2)\n" // (case 31) **
137 " .byte((loc_fc0f2610 - branchtable_fc0f24f8) / 2)\n" // (case 32)
138 " .byte((loc_fc0f263a - branchtable_fc0f24f8) / 2)\n" // (case 33)
139 " .byte((loc_fc0f2640 - branchtable_fc0f24f8) / 2)\n" // (case 34)
140 " .byte((loc_fc0f2646 - branchtable_fc0f24f8) / 2)\n" // (case 35)
141 " .byte((loc_fc0f264c - branchtable_fc0f24f8) / 2)\n" // (case 36)
142 " .byte((loc_fc0f2652 - branchtable_fc0f24f8) / 2)\n" // (case 37)
143 " .byte((loc_fc0f2658 - branchtable_fc0f24f8) / 2)\n" // (case 38)
144 " .byte((loc_fc0f2660 - branchtable_fc0f24f8) / 2)\n" // (case 39)
145 " .byte((loc_fc0f2666 - branchtable_fc0f24f8) / 2)\n" // (case 40) **
146 " .byte((loc_fc0f2670 - branchtable_fc0f24f8) / 2)\n" // (case 41)
147 " .byte((loc_fc0f26a8 - branchtable_fc0f24f8) / 2)\n" // (case 42)
148 " .byte((loc_fc0f26ae - branchtable_fc0f24f8) / 2)\n" // (case 43) **
149 " .byte((loc_fc0f269c - branchtable_fc0f24f8) / 2)\n" // (case 44)
150 " .byte((loc_fc0f26c8 - branchtable_fc0f24f8) / 2)\n" // (case 45) **
151 ".align 1\n"
152 "loc_fc0f2526:\n" // case 0 : Half Press ?
153 " bl sub_fc15321c\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_fc151b06\n"
159 " ldr r0, [r4, #0x28]\n"
160 " cmp r0, #0\n"
161 " beq loc_fc0f2538\n"
162 " bl sub_fc1d447a_my\n" // ---->> SUB1
163 "loc_fc0f2538:\n"
164 " b loc_fc0f26c8\n"
165 ".ltorg\n"
166 
167 /* literal pool removed */
168 
169 "loc_fc0f2544:\n" // case 1 : Normal Shoot
170 " ldr r0, [r0, #0x10]\n"
171 " bl sub_fc1d4286_my\n" // ---->> SUB2
172 " b loc_fc0f26c8\n"
173 
174 "loc_fc0f254c:\n" // case 2
175 " movs r0, #1\n"
176 " bl sub_fc1534ea\n"
177 " b loc_fc0f26c8\n"
178 
179 "loc_fc0f2554:\n" // case 4
180 " bl sub_fc152fde\n"
181 " b loc_fc0f255e\n"
182 "loc_fc0f255a:\n" // case 3
183 " bl sub_fc153208\n"
184 "loc_fc0f255e:\n"
185 " str r6, [r4, #0x28]\n"
186 " b loc_fc0f26c8\n"
187 
188 "loc_fc0f2562:\n"
189 " bl sub_fc15320c\n"
190 " b loc_fc0f26c8\n"
191 "loc_fc0f2568:\n"
192 " bl sub_fc1533c4\n"
193 " b loc_fc0f257a\n"
194 "loc_fc0f256e:\n"
195 " ldr r0, [r0, #0x10]\n"
196 " bl sub_fc1d44ee\n"
197 " b loc_fc0f26c8\n"
198 "loc_fc0f2576:\n"
199 " bl sub_fc153474\n"
200 "loc_fc0f257a:\n"
201 " bl sub_fc151b06\n"
202 " b loc_fc0f26c8\n"
203 "loc_fc0f2580:\n"
204 " ldr r0, [r4, #0x58]\n"
205 " bl sub_fc153a98\n"
206 " b loc_fc0f26c8\n"
207 "loc_fc0f2588:\n"
208 " bl sub_fc153d2e\n"
209 " b loc_fc0f26c8\n"
210 "loc_fc0f258e:\n"
211 " ldr r0, [r0, #0xc]\n"
212 " bl sub_fc153d7a\n"
213 " b loc_fc0f26c8\n"
214 "loc_fc0f2596:\n"
215 " bl sub_fc153f7e\n"
216 " b loc_fc0f26c8\n"
217 "loc_fc0f259c:\n"
218 " bl sub_fc15441a\n"
219 " b loc_fc0f26c8\n"
220 "loc_fc0f25a2:\n"
221 " bl sub_fc1544aa\n"
222 " b loc_fc0f26c8\n"
223 "loc_fc0f25a8:\n"
224 " bl sub_fc153208\n"
225 " b loc_fc0f26c8\n"
226 "loc_fc0f25ae:\n"
227 " bl sub_fc1d2ed4\n"
228 " b loc_fc0f26c8\n"
229 "loc_fc0f25b4:\n"
230 " bl sub_fc1d30a4\n"
231 " b loc_fc0f26c8\n"
232 "loc_fc0f25ba:\n"
233 " bl sub_fc1d311e\n"
234 " b loc_fc0f26c8\n"
235 "loc_fc0f25c0:\n"
236 " bl sub_fc1d31b0\n"
237 " b loc_fc0f26c8\n"
238 "loc_fc0f25c6:\n"
239 " bl sub_fc1d3264\n"
240 " b loc_fc0f26c8\n"
241 "loc_fc0f25cc:\n"
242 " movs r0, #0\n"
243 " b loc_fc0f25f2\n"
244 "loc_fc0f25d0:\n"
245 " bl sub_fc1d362a\n"
246 " b loc_fc0f26c8\n"
247 "loc_fc0f25d6:\n"
248 " b loc_fc0f26ba\n"
249 "loc_fc0f25d8:\n"
250 " bl sub_fc1d3688\n"
251 " b loc_fc0f26c8\n"
252 "loc_fc0f25de:\n"
253 " bl sub_fc1d368c\n"
254 " b loc_fc0f26c8\n"
255 "loc_fc0f25e4:\n"
256 " bl sub_fc1d369c\n"
257 " b loc_fc0f26c8\n"
258 "loc_fc0f25ea:\n"
259 " bl sub_fc1d3718\n"
260 " b loc_fc0f26c8\n"
261 "loc_fc0f25f0:\n"
262 " movs r0, #1\n"
263 "loc_fc0f25f2:\n"
264 " bl sub_fc1d351c\n"
265 " b loc_fc0f26c8\n"
266 "loc_fc0f25f8:\n"
267 " bl sub_fc153622\n"
268 " b loc_fc0f26c8\n"
269 "loc_fc0f25fe:\n"
270 " movs r0, #0\n"
271 " b loc_fc0f2604\n"
272 "loc_fc0f2602:\n"
273 " ldr r0, [r0, #0xc]\n"
274 "loc_fc0f2604:\n"
275 " bl sub_fc153680\n"
276 " b loc_fc0f26c8\n"
277 "loc_fc0f260a:\n"
278 " bl sub_fc1d341e\n"
279 " b loc_fc0f26c8\n"
280 "loc_fc0f2610:\n"
281 " ldr r1, =0x0003a356\n"
282 " movs r2, #2\n"
283 " movs r0, #0x6f\n"
284 " bl _GetPropertyCase\n"
285 " lsls r0, r0, #0x1f\n"
286 " beq loc_fc0f262c\n"
287 " movw r2, #0x5ed\n"
288 " ldr r1, =0xfc0f20e8\n" // *"SsShootTask.c"
289 " movs r0, #0\n"
290 " blx sub_fc2a16b0\n" // j_DebugAssert
291 "loc_fc0f262c:\n"
292 " ldrh.w r0, [r4, #0x62]\n"
293 " cmp r0, #1\n"
294 " bne loc_fc0f26c8\n"
295 " bl sub_fc1d3418\n"
296 " b loc_fc0f26c8\n"
297 "loc_fc0f263a:\n"
298 " bl sub_fc1d34b4\n"
299 " b loc_fc0f26c8\n"
300 "loc_fc0f2640:\n"
301 " bl sub_fc1d4f1e\n"
302 " b loc_fc0f26c8\n"
303 "loc_fc0f2646:\n"
304 " bl sub_fc152510\n"
305 " b loc_fc0f26c8\n"
306 "loc_fc0f264c:\n"
307 " bl sub_fc1563f2\n"
308 " b loc_fc0f26c8\n"
309 "loc_fc0f2652:\n"
310 " bl sub_fc1564a6\n"
311 " b loc_fc0f26c8\n"
312 "loc_fc0f2658:\n"
313 " ldr r0, [r0, #0xc]\n"
314 " bl sub_fc1d37d8\n"
315 " b loc_fc0f26c8\n"
316 "loc_fc0f2660:\n"
317 " bl sub_fc1d383a\n"
318 " b loc_fc0f26c8\n"
319 "loc_fc0f2666:\n"
320 " bl sub_fc1565a2\n"
321 " bl sub_fc1564e8\n"
322 " b loc_fc0f26c8\n"
323 "loc_fc0f2670:\n"
324 " movs r0, #1\n"
325 " bl sub_fc1d4b60\n"
326 " movs r0, #1\n"
327 " bl sub_fc1d4c2a\n"
328 " ldrh.w r0, [r4, #0x1b0]\n"
329 " cmp r0, #4\n"
330 " beq loc_fc0f268e\n"
331 " ldrh r0, [r4]\n"
332 " sub.w r1, r0, #0x4200\n"
333 " subs r1, #0x30\n"
334 " bne loc_fc0f26c8\n"
335 "loc_fc0f268e:\n"
336 " bl sub_fc1564a6\n"
337 " bl sub_fc1569ac\n"
338 " bl sub_fc1567cc\n"
339 " b loc_fc0f26c8\n"
340 "loc_fc0f269c:\n"
341 " bl sub_fc15469e\n"
342 " movs r0, #1\n"
343 " bl sub_fc156110\n"
344 " b loc_fc0f26c8\n"
345 "loc_fc0f26a8:\n"
346 " movs r2, #0\n"
347 " movs r1, #0x10\n"
348 " b loc_fc0f26b2\n"
349 "loc_fc0f26ae:\n"
350 " movs r2, #0\n"
351 " movs r1, #0xf\n"
352 "loc_fc0f26b2:\n"
353 " movs r0, #0\n"
354 " bl sub_fc15272a\n"
355 " b loc_fc0f26c8\n"
356 "loc_fc0f26ba:\n"
357 " movw r2, #0x65f\n"
358 " ldr r1, =0xfc0f20e8\n" // *"SsShootTask.c"
359 " movs r0, #0\n"
360 " blx sub_fc2a16b0\n" // j_DebugAssert
361 "loc_fc0f26c8:\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_fc2a1530\n" // j_SetEventFlag
374 " ldr r7, [sp]\n"
375 " ldr r0, [r7, #8]\n"
376 " cbnz r0, loc_fc0f26e6\n"
377 " movw r2, #0x127\n"
378 " ldr r1, =0xfc0f20e8\n" // *"SsShootTask.c"
379 " movs r0, #0\n"
380 " blx sub_fc2a16b0\n" // j_DebugAssert
381 "loc_fc0f26e6:\n"
382 " str r6, [r7, #8]\n"
383 " b loc_fc0f24b2\n"
384 
385 ".ltorg\n"
386  );
387 }

Variablen-Dokumentation

long* nrflag = (long*)0x0001c028
static

Definiert in Zeile 10 der Datei capt_seq.c.