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 __attribute__ ((naked, noinline))
 *-------------------------------------------------------------------— Mehr ...
 

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

ASM1989 -> In sx200:FF857190 //"Mounter.c"

ASM1989 -> In sx200:FF81B284 // DebugAssert

Definiert in Zeile 63 der Datei capt_seq.c.

63  {
64  asm volatile (
65 " push {r3, r4, r5, r6, r7, lr}\n"
66 " ldr r4, =0x00037518\n"
67 " movs r6, #0\n"
68 " ldr r5, =0x0000ba6c\n"
69 "loc_fc12de10:\n"
70 " movs r2, #0\n"
71 " mov r1, sp\n"
72 " ldr r0, [r5, #4]\n"
73 " blx sub_fc29b34c\n" // j_ReceiveMessageQueue
74 " lsls r0, r0, #0x1f\n"
75 " beq loc_fc12de32\n"
76 " movw r2, #0x429\n"
77 " ldr r1, =0xfc12da98\n" // *"SsShootTask.c"
78 " movs r0, #0\n"
79 " blx sub_fc29b444\n" // j_DebugAssert
80 " blx sub_fc29b364\n" // -> ExitTask
81 " pop {r3, r4, r5, r6, r7, pc}\n"
82 "loc_fc12de32:\n"
83 " ldr r0, [sp]\n"
84 " ldr r0, [r0]\n"
85 " cmp r0, #1\n"
86 " beq loc_fc12de4a\n"
87 " cmp r0, #0x2a\n"
88 " beq loc_fc12de4a\n"
89 " cmp r0, #0x1e\n"
90 " beq loc_fc12de4a\n"
91 " cmp r0, #0x21\n"
92 " beq loc_fc12de4a\n"
93 " bl sub_fc1ba46c\n"
94 "loc_fc12de4a:\n"
95 #ifdef CAPTSEQ_DEBUG_LOG
96 // debug message
97 "ldr r0, [sp]\n"
98 "ldr r0, [r0]\n"
99 "bl log_capt_seq1\n"
100 #endif
101 " ldr r0, [sp]\n"
102 " ldr r1, [r0]\n"
103 " cmp r1, #0x2c\n"
104 " bhs loc_fc12df32\n"
105 " tbb [pc, r1]\n" // (jumptable r1 44 elements)
106 "branchtable_fc12de56:\n"
107 " .byte((loc_fc12de82 - branchtable_fc12de56) / 2)\n" // (case 0)
108 " .byte((loc_fc12de96 - branchtable_fc12de56) / 2)\n" // (case 1)
109 " .byte((loc_fc12de9e - branchtable_fc12de56) / 2)\n" // (case 2)
110 " .byte((loc_fc12deac - branchtable_fc12de56) / 2)\n" // (case 3)
111 " .byte((loc_fc12dea6 - branchtable_fc12de56) / 2)\n" // (case 4)
112 " .byte((loc_fc12deb4 - branchtable_fc12de56) / 2)\n" // (case 5)
113 " .byte((loc_fc12deba - branchtable_fc12de56) / 2)\n" // (case 6)
114 " .byte((loc_fc12dec0 - branchtable_fc12de56) / 2)\n" // (case 7)
115 " .byte((loc_fc12dec8 - branchtable_fc12de56) / 2)\n" // (case 8)
116 " .byte((loc_fc12df04 - branchtable_fc12de56) / 2)\n" // (case 9)
117 " .byte((loc_fc12ded2 - branchtable_fc12de56) / 2)\n" // (case 10)
118 " .byte((loc_fc12deda - branchtable_fc12de56) / 2)\n" // (case 11)
119 " .byte((loc_fc12dee0 - branchtable_fc12de56) / 2)\n" // (case 12)
120 " .byte((loc_fc12dee8 - branchtable_fc12de56) / 2)\n" // (case 13)
121 " .byte((loc_fc12def8 - branchtable_fc12de56) / 2)\n" // (case 14)
122 " .byte((loc_fc12defe - branchtable_fc12de56) / 2)\n" // (case 15)
123 " .byte((loc_fc12df0a - branchtable_fc12de56) / 2)\n" // (case 16)
124 " .byte((loc_fc12df10 - branchtable_fc12de56) / 2)\n" // (case 17)
125 " .byte((loc_fc12df16 - branchtable_fc12de56) / 2)\n" // (case 18)
126 " .byte((loc_fc12df1c - branchtable_fc12de56) / 2)\n" // (case 19)
127 " .byte((loc_fc12df22 - branchtable_fc12de56) / 2)\n" // (case 20)
128 " .byte((loc_fc12df28 - branchtable_fc12de56) / 2)\n" // (case 21)
129 " .byte((loc_fc12df2c - branchtable_fc12de56) / 2)\n" // (case 22)
130 " .byte((loc_fc12df34 - branchtable_fc12de56) / 2)\n" // (case 23)
131 " .byte((loc_fc12df3a - branchtable_fc12de56) / 2)\n" // (case 24)
132 " .byte((loc_fc12df40 - branchtable_fc12de56) / 2)\n" // (case 25)
133 " .byte((loc_fc12df46 - branchtable_fc12de56) / 2)\n" // (case 26)
134 " .byte((loc_fc12df4c - branchtable_fc12de56) / 2)\n" // (case 27)
135 " .byte((loc_fc12df54 - branchtable_fc12de56) / 2)\n" // (case 28)
136 " .byte((loc_fc12df5a - branchtable_fc12de56) / 2)\n" // (case 29)
137 " .byte((loc_fc12df5e - branchtable_fc12de56) / 2)\n" // (case 30)
138 " .byte((loc_fc12df66 - branchtable_fc12de56) / 2)\n" // (case 31)
139 " .byte((loc_fc12df6c - branchtable_fc12de56) / 2)\n" // (case 32)
140 " .byte((loc_fc12df72 - branchtable_fc12de56) / 2)\n" // (case 33)
141 " .byte((loc_fc12df78 - branchtable_fc12de56) / 2)\n" // (case 34)
142 " .byte((loc_fc12df7e - branchtable_fc12de56) / 2)\n" // (case 35)
143 " .byte((loc_fc12df84 - branchtable_fc12de56) / 2)\n" // (case 36)
144 " .byte((loc_fc12df8a - branchtable_fc12de56) / 2)\n" // (case 37)
145 " .byte((loc_fc12df92 - branchtable_fc12de56) / 2)\n" // (case 38)
146 " .byte((loc_fc12df98 - branchtable_fc12de56) / 2)\n" // (case 39)
147 " .byte((loc_fc12dfa2 - branchtable_fc12de56) / 2)\n" // (case 40)
148 " .byte((loc_fc12dfce - branchtable_fc12de56) / 2)\n" // (case 41)
149 " .byte((loc_fc12dfd4 - branchtable_fc12de56) / 2)\n" // (case 42)
150 " .byte((loc_fc12dfee - branchtable_fc12de56) / 2)\n" // (case 43)
151 ".align 1\n"
152 "loc_fc12de82:\n" // case 0: preshoot, quick press shoot
153 " bl sub_fc12e326\n"
154 #ifdef CAPTSEQ_DEBUG_LOG
155 "bl log_capt_seq3\n"
156 #endif
157 " BL shooting_expo_param_override\n" // +
158 " bl sub_fc12bb2e\n"
159 " ldr r0, [r4, #0x28]\n"
160 " cmp r0, #0\n"
161 " beq loc_fc12de94\n"
162 //" bl sub_fc1b935a\n" // quick press
163 " bl sub_fc1b935a_my\n" // SUB1
164 "loc_fc12de94:\n"
165 " b loc_fc12dfee\n"
166 "loc_fc12de96:\n" // case 1: normal shoot
167 " ldr r0, [r0, #0x10]\n"
168 //" bl sub_fc1b91ce\n" // regular shoot
169 " bl sub_fc1b91ce_my\n" // SUB2
170 " b loc_fc12dfee\n"
171 "loc_fc12de9e:\n" // case 2
172 " movs r0, #1\n"
173 " bl sub_fc12e5a6\n"
174 " b loc_fc12dfee\n"
175 "loc_fc12dea6:\n" // case 4
176 " bl sub_fc12e0f2\n"
177 " b loc_fc12deb0\n"
178 "loc_fc12deac:\n" // case 3
179 " bl sub_fc12e312\n"
180 "loc_fc12deb0:\n"
181 " str r6, [r4, #0x28]\n"
182 " b loc_fc12dfee\n"
183 "loc_fc12deb4:\n"
184 " bl sub_fc12e316\n"
185 " b loc_fc12dfee\n"
186 "loc_fc12deba:\n"
187 " bl sub_fc12e4ae\n"
188 " b loc_fc12decc\n"
189 "loc_fc12dec0:\n"
190 " ldr r0, [r0, #0x10]\n"
191 " bl sub_fc1b93ce\n"
192 " b loc_fc12dfee\n"
193 "loc_fc12dec8:\n"
194 " bl sub_fc12e534\n"
195 "loc_fc12decc:\n"
196 " bl sub_fc12bb2e\n"
197 " b loc_fc12dfee\n"
198 "loc_fc12ded2:\n"
199 " ldr r0, [r4, #0x50]\n"
200 " bl sub_fc12eb0c\n"
201 " b loc_fc12dfee\n"
202 "loc_fc12deda:\n"
203 " bl sub_fc12eda0\n"
204 " b loc_fc12dfee\n"
205 "loc_fc12dee0:\n"
206 " ldr r0, [r0, #0xc]\n"
207 " bl sub_fc12edec\n"
208 " b loc_fc12dfee\n"
209 "loc_fc12dee8:\n"
210 " bl sub_fc12ef66\n"
211 " b loc_fc12dfee\n"
212 ".ltorg\n"
213 /* literal pool
214 " movs r0, r0\n"
215 " strb r0, [r3, #0x14]\n"
216 " movs r3, r0\n"
217 " rev16 r4, r5\n"
218 " movs r0, r0\n"
219 */
220 "loc_fc12def8:\n"
221 " bl sub_fc12f328\n"
222 " b loc_fc12dfee\n"
223 "loc_fc12defe:\n"
224 " bl sub_fc12f3b8\n"
225 " b loc_fc12dfee\n"
226 "loc_fc12df04:\n"
227 " bl sub_fc12e312\n"
228 " b loc_fc12dfee\n"
229 "loc_fc12df0a:\n"
230 " bl sub_fc1b87a8\n"
231 " b loc_fc12dfee\n"
232 "loc_fc12df10:\n"
233 " bl sub_fc1b8936\n"
234 " b loc_fc12dfee\n"
235 "loc_fc12df16:\n"
236 " bl sub_fc1b89aa\n"
237 " b loc_fc12dfee\n"
238 "loc_fc12df1c:\n"
239 " bl sub_fc1b8a3c\n"
240 " b loc_fc12dfee\n"
241 "loc_fc12df22:\n"
242 " bl sub_fc1b8ad8\n"
243 " b loc_fc12dfee\n"
244 "loc_fc12df28:\n"
245 " movs r0, #0\n"
246 " b loc_fc12df4e\n"
247 "loc_fc12df2c:\n"
248 " bl sub_fc1b8dcc\n"
249 " b loc_fc12dfee\n"
250 "loc_fc12df32:\n"
251 " b loc_fc12dfe0\n"
252 "loc_fc12df34:\n"
253 " bl sub_fc1b8e2a\n"
254 " b loc_fc12dfee\n"
255 "loc_fc12df3a:\n"
256 " bl sub_fc1b8e2e\n"
257 " b loc_fc12dfee\n"
258 "loc_fc12df40:\n"
259 " bl sub_fc1b8e40\n"
260 " b loc_fc12dfee\n"
261 "loc_fc12df46:\n"
262 " bl sub_fc1b8ebc\n"
263 " b loc_fc12dfee\n"
264 "loc_fc12df4c:\n"
265 " movs r0, #1\n"
266 "loc_fc12df4e:\n"
267 " bl sub_fc1b8cc0\n"
268 " b loc_fc12dfee\n"
269 "loc_fc12df54:\n"
270 " bl sub_fc12e6b2\n"
271 " b loc_fc12dfee\n"
272 "loc_fc12df5a:\n"
273 " movs r0, #0\n"
274 " b loc_fc12df60\n"
275 "loc_fc12df5e:\n"
276 " ldr r0, [r0, #0xc]\n"
277 "loc_fc12df60:\n"
278 " bl sub_fc12e702\n"
279 " b loc_fc12dfee\n"
280 "loc_fc12df66:\n"
281 " bl sub_fc1b8bf4\n"
282 " b loc_fc12dfee\n"
283 "loc_fc12df6c:\n"
284 " bl sub_fc1b8c56\n"
285 " b loc_fc12dfee\n"
286 "loc_fc12df72:\n"
287 " bl sub_fc1b9e2a\n"
288 " b loc_fc12dfee\n"
289 "loc_fc12df78:\n"
290 " bl sub_fc12c364\n"
291 " b loc_fc12dfee\n"
292 "loc_fc12df7e:\n"
293 " bl sub_fc1314b4\n"
294 " b loc_fc12dfee\n"
295 "loc_fc12df84:\n"
296 " bl sub_fc131564\n"
297 " b loc_fc12dfee\n"
298 "loc_fc12df8a:\n"
299 " ldr r0, [r0, #0xc]\n"
300 " bl sub_fc1b8f7c\n"
301 " b loc_fc12dfee\n"
302 "loc_fc12df92:\n"
303 " bl sub_fc1b8fde\n"
304 " b loc_fc12dfee\n"
305 "loc_fc12df98:\n"
306 " bl sub_fc131654\n"
307 " bl sub_fc1315a2\n"
308 " b loc_fc12dfee\n"
309 "loc_fc12dfa2:\n"
310 " movs r0, #1\n"
311 " bl sub_fc1b9a6c\n"
312 " movs r0, #1\n"
313 " bl sub_fc1b9b36\n"
314 " ldrh.w r0, [r4, #0x198]\n"
315 " cmp r0, #4\n"
316 " beq loc_fc12dfc0\n"
317 " ldrh r0, [r4]\n"
318 " sub.w r1, r0, #0x4200\n"
319 " subs r1, #0x31\n"
320 " bne loc_fc12dfee\n"
321 "loc_fc12dfc0:\n"
322 " bl sub_fc131564\n"
323 " bl sub_fc131a44\n"
324 " bl sub_fc13188c\n"
325 " b loc_fc12dfee\n"
326 "loc_fc12dfce:\n"
327 " movs r2, #0\n"
328 " movs r1, #0x10\n"
329 " b loc_fc12dfd8\n"
330 "loc_fc12dfd4:\n"
331 " movs r2, #0\n"
332 " movs r1, #0xf\n"
333 "loc_fc12dfd8:\n"
334 " movs r0, #0\n"
335 " bl sub_fc12c530\n"
336 " b loc_fc12dfee\n"
337 "loc_fc12dfe0:\n"
338 " movw r2, #0x54d\n"
339 " ldr r1, =0xfc12da98\n" // *"SsShootTask.c"
340 " movs r0, #0\n"
341 " blx sub_fc29b444\n" // j_DebugAssert
342 "loc_fc12dfee:\n"
343 // debug after message handled
344 #ifdef CAPTSEQ_DEBUG_LOG
345 "ldr r0, [sp]\n"
346 "ldr r0, [r0]\n"
347 "bl log_capt_seq2\n"
348 #endif
349 " bl capt_seq_hook_set_nr\n" // ---->> dark frame control
350 " ldr r0, [sp]\n"
351 " ldr r1, [r0, #4]\n"
352 " ldr r0, [r5]\n"
353 " blx sub_fc29b32c\n" // j_SetEventFlag
354 " ldr r7, [sp]\n"
355 " ldr r0, [r7, #8]\n"
356 " cbnz r0, loc_fc12e00c\n"
357 " movw r2, #0x11e\n"
358 " ldr r1, =0xfc12da98\n" // *"SsShootTask.c"
359 " movs r0, #0\n"
360 " blx sub_fc29b444\n" // j_DebugAssert
361 "loc_fc12e00c:\n"
362 " str r6, [r7, #8]\n"
363 " b loc_fc12de10\n"
364 ".ltorg\n"
365  );
366 }