CHDK_DE Vorschauversion  Trunk Rev. 5218
 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

Funktionen

void __attribute__ ((naked, noinline))
 *-------------------------------------------------------------------— Mehr ...
 

Variablen

static long * nrflag = (long*)(0x1cc20 + 4)
 

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 13 der Datei capt_seq.c.

13  {
14  asm volatile (
15 " push {r3, r4, r5, r6, r7, lr}\n"
16 " ldr r4, =0x322f0\n"
17 " movs r5, #0\n"
18 " ldr r6, =0x9ffc\n"
19 "loc_fc0cdba6:\n"
20 " movs r2, #0\n"
21 " mov r1, sp\n"
22 " ldr r0, [r6, #4]\n"
23 " blx sub_fc251bfc\n"
24 " lsls r0, r0, #31\n"
25 " beq.n loc_fc0cdbc8\n"
26 " movw r2, #0x479\n"
27 " ldr r1, =0xfc0cd89c\n" // "SsShootTask.c"
28 " movs r0, #0\n"
29 " blx sub_fc251d14\n"
30 " blx sub_fc251c1c\n"
31 " pop {r3, r4, r5, r6, r7, pc}\n"
32 "loc_fc0cdbc8:\n"
33 " ldr r0, [sp, #0]\n"
34 " ldr r1, [r0, #0]\n"
35 " cmp r1, #41\n"
36 " bcs.n loc_fc0cdcb0\n"
37 " tbb [pc, r1]\n" // (jumptable: r1, 41 elements)
38 "branchtable_fc0cdbd4:\n"
39 " .byte ((loc_fc0cdbfe - branchtable_fc0cdbd4) / 2)\n" // (case 0)
40 " .byte ((loc_fc0cdc12 - branchtable_fc0cdbd4) / 2)\n" // (case 1)
41 " .byte ((loc_fc0cdc1a - branchtable_fc0cdbd4) / 2)\n" // (case 2)
42 " .byte ((loc_fc0cdc28 - branchtable_fc0cdbd4) / 2)\n" // (case 3)
43 " .byte ((loc_fc0cdc22 - branchtable_fc0cdbd4) / 2)\n" // (case 4)
44 " .byte ((loc_fc0cdc30 - branchtable_fc0cdbd4) / 2)\n" // (case 5)
45 " .byte ((loc_fc0cdc36 - branchtable_fc0cdbd4) / 2)\n" // (case 6)
46 " .byte ((loc_fc0cdc3c - branchtable_fc0cdbd4) / 2)\n" // (case 7)
47 " .byte ((loc_fc0cdc44 - branchtable_fc0cdbd4) / 2)\n" // (case 8)
48 " .byte ((loc_fc0cdc8c - branchtable_fc0cdbd4) / 2)\n" // (case 9)
49 " .byte ((loc_fc0cdc4e - branchtable_fc0cdbd4) / 2)\n" // (case 10)
50 " .byte ((loc_fc0cdc56 - branchtable_fc0cdbd4) / 2)\n" // (case 11)
51 " .byte ((loc_fc0cdc5c - branchtable_fc0cdbd4) / 2)\n" // (case 12)
52 " .byte ((loc_fc0cdc7a - branchtable_fc0cdbd4) / 2)\n" // (case 13)
53 " .byte ((loc_fc0cdc80 - branchtable_fc0cdbd4) / 2)\n" // (case 14)
54 " .byte ((loc_fc0cdc86 - branchtable_fc0cdbd4) / 2)\n" // (case 15)
55 " .byte ((loc_fc0cdc92 - branchtable_fc0cdbd4) / 2)\n" // (case 16)
56 " .byte ((loc_fc0cdc98 - branchtable_fc0cdbd4) / 2)\n" // (case 17)
57 " .byte ((loc_fc0cdc9e - branchtable_fc0cdbd4) / 2)\n" // (case 18)
58 " .byte ((loc_fc0cdca4 - branchtable_fc0cdbd4) / 2)\n" // (case 19)
59 " .byte ((loc_fc0cdcaa - branchtable_fc0cdbd4) / 2)\n" // (case 20)
60 " .byte ((loc_fc0cdcb2 - branchtable_fc0cdbd4) / 2)\n" // (case 21)
61 " .byte ((loc_fc0cdcb6 - branchtable_fc0cdbd4) / 2)\n" // (case 22)
62 " .byte ((loc_fc0cdcbc - branchtable_fc0cdbd4) / 2)\n" // (case 23)
63 " .byte ((loc_fc0cdcc2 - branchtable_fc0cdbd4) / 2)\n" // (case 24)
64 " .byte ((loc_fc0cdcc8 - branchtable_fc0cdbd4) / 2)\n" // (case 25)
65 " .byte ((loc_fc0cdcd0 - branchtable_fc0cdbd4) / 2)\n" // (case 26)
66 " .byte ((loc_fc0cdcd6 - branchtable_fc0cdbd4) / 2)\n" // (case 27)
67 " .byte ((loc_fc0cdce0 - branchtable_fc0cdbd4) / 2)\n" // (case 28)
68 " .byte ((loc_fc0cdce6 - branchtable_fc0cdbd4) / 2)\n" // (case 29)
69 " .byte ((loc_fc0cdcec - branchtable_fc0cdbd4) / 2)\n" // (case 30)
70 " .byte ((loc_fc0cdcfc - branchtable_fc0cdbd4) / 2)\n" // (case 31)
71 " .byte ((loc_fc0cdd02 - branchtable_fc0cdbd4) / 2)\n" // (case 32)
72 " .byte ((loc_fc0cdd08 - branchtable_fc0cdbd4) / 2)\n" // (case 33)
73 " .byte ((loc_fc0cdd0e - branchtable_fc0cdbd4) / 2)\n" // (case 34)
74 " .byte ((loc_fc0cdd16 - branchtable_fc0cdbd4) / 2)\n" // (case 35)
75 " .byte ((loc_fc0cdd1c - branchtable_fc0cdbd4) / 2)\n" // (case 36)
76 " .byte ((loc_fc0cdd26 - branchtable_fc0cdbd4) / 2)\n" // (case 37)
77 " .byte ((loc_fc0cdd52 - branchtable_fc0cdbd4) / 2)\n" // (case 38)
78 " .byte ((loc_fc0cdd58 - branchtable_fc0cdbd4) / 2)\n" // (case 39)
79 " .byte ((loc_fc0cdd72 - branchtable_fc0cdbd4) / 2)\n" // (case 40)
80 ".align 1\n" // dumb assembler would happily continue with unaligned instructions...
81 "loc_fc0cdbfe:\n"
82 " bl sub_fc0ce0c2\n"
83 " BL shooting_expo_param_override\n" // +
84 " bl sub_fc0cbf1e\n"
85 " ldr r0, [r4, #40]\n"
86 " cmp r0, #0\n"
87 " beq.n loc_fc0cdc10\n"
88 " bl sub_fc1a9b00_my\n" // -> (only if the short press workaround is not needed)
89 "loc_fc0cdc10:\n"
90 " b.n loc_fc0cdd72\n"
91 "loc_fc0cdc12:\n"
92 " ldr r0, [r0, #16]\n"
93 " bl sub_fc1a996e_my\n" // ->
94 " b.n loc_fc0cdd72\n"
95 "loc_fc0cdc1a:\n"
96 " movs r0, #1\n"
97 " bl sub_fc0ce34e\n"
98 " b.n loc_fc0cdd72\n"
99 "loc_fc0cdc22:\n"
100 " bl sub_fc0cde76\n"
101 " b.n loc_fc0cdc2c\n"
102 "loc_fc0cdc28:\n"
103 " bl sub_fc0ce0ae\n"
104 "loc_fc0cdc2c:\n"
105 " str r5, [r4, #40]\n"
106 " b.n loc_fc0cdd72\n"
107 "loc_fc0cdc30:\n"
108 " bl sub_fc0ce0b2\n"
109 " b.n loc_fc0cdd72\n"
110 "loc_fc0cdc36:\n"
111 " bl sub_fc0ce246\n"
112 " b.n loc_fc0cdc48\n"
113 "loc_fc0cdc3c:\n"
114 " ldr r0, [r0, #16]\n"
115 " bl sub_fc1a9b6c\n"
116 " b.n loc_fc0cdd72\n"
117 "loc_fc0cdc44:\n"
118 " bl sub_fc0ce2da\n"
119 "loc_fc0cdc48:\n"
120 " bl sub_fc0cbf1e\n"
121 " b.n loc_fc0cdd72\n"
122 "loc_fc0cdc4e:\n"
123 " ldr r0, [r4, #88]\n"
124 " bl sub_fc13dd62\n"
125 " b.n loc_fc0cdd72\n"
126 "loc_fc0cdc56:\n"
127 " bl sub_fc13e002\n"
128 " b.n loc_fc0cdd72\n"
129 "loc_fc0cdc5c:\n"
130 " ldrh r0, [r4, #0]\n"
131 " sub.w r1, r0, #0x8200\n"
132 " subs r1, #0x3b\n"
133 " beq.n loc_fc0cdc6e\n"
134 " sub.w r1, r0, #0x8000\n"
135 " subs r1, #0x10\n"
136 " bne.n loc_fc0cdc72\n"
137 "loc_fc0cdc6e:\n"
138 " movs r0, #1\n"
139 " b.n loc_fc0cdc74\n"
140 "loc_fc0cdc72:\n"
141 " movs r0, #0\n"
142 "loc_fc0cdc74:\n"
143 " bl sub_fc13e04e\n"
144 " b.n loc_fc0cdd72\n"
145 "loc_fc0cdc7a:\n"
146 " bl sub_fc13e1c6\n"
147 " b.n loc_fc0cdd72\n"
148 "loc_fc0cdc80:\n"
149 " bl sub_fc13e5ec\n"
150 " b.n loc_fc0cdd72\n"
151 "loc_fc0cdc86:\n"
152 " bl sub_fc13e67c\n"
153 " b.n loc_fc0cdd72\n"
154 "loc_fc0cdc8c:\n"
155 " bl sub_fc0ce0ae\n"
156 " b.n loc_fc0cdd72\n"
157 "loc_fc0cdc92:\n"
158 " bl sub_fc1a9220\n"
159 " b.n loc_fc0cdd72\n"
160 "loc_fc0cdc98:\n"
161 " bl sub_fc1a93ae\n"
162 " b.n loc_fc0cdd72\n"
163 "loc_fc0cdc9e:\n"
164 " bl sub_fc1a9422\n"
165 " b.n loc_fc0cdd72\n"
166 "loc_fc0cdca4:\n"
167 " bl sub_fc1a94b4\n"
168 " b.n loc_fc0cdd72\n"
169 "loc_fc0cdcaa:\n"
170 " bl sub_fc1a9550\n"
171 " b.n loc_fc0cdd72\n"
172 "loc_fc0cdcb0:\n"
173 " b.n loc_fc0cdd64\n"
174 "loc_fc0cdcb2:\n"
175 " movs r0, #0\n"
176 " b.n loc_fc0cdcca\n"
177 "loc_fc0cdcb6:\n"
178 " bl sub_fc1a96f6\n"
179 " b.n loc_fc0cdd72\n"
180 "loc_fc0cdcbc:\n"
181 " bl sub_fc1a9760\n"
182 " b.n loc_fc0cdd72\n"
183 "loc_fc0cdcc2:\n"
184 " bl sub_fc1a97d8\n"
185 " b.n loc_fc0cdd72\n"
186 "loc_fc0cdcc8:\n"
187 " movs r0, #1\n"
188 "loc_fc0cdcca:\n"
189 " bl sub_fc1a95e8\n"
190 " b.n loc_fc0cdd72\n"
191 "loc_fc0cdcd0:\n"
192 " bl sub_fc0ce482\n"
193 " b.n loc_fc0cdd72\n"
194 "loc_fc0cdcd6:\n"
195 " bl sub_fc0ce4a4\n"
196 " bl sub_fc1aa512\n"
197 " b.n loc_fc0cdd72\n"
198 "loc_fc0cdce0:\n"
199 " bl sub_fc0ce692\n"
200 " b.n loc_fc0cdd72\n"
201 "loc_fc0cdce6:\n"
202 " bl sub_fc0ce75e\n"
203 " b.n loc_fc0cdd72\n"
204 "loc_fc0cdcec:\n"
205 " bl sub_fc1aa5a8\n"
206 " b.n loc_fc0cdd72\n"
207 " movs r0, r0\n"
208 " movs r2, #0xf0\n"
209 " movs r3, r0\n"
210 " ldr r7, [sp, #0x3f0]\n"
211 " movs r0, r0\n"
212 "loc_fc0cdcfc:\n"
213 " bl sub_fc0cc74c\n"
214 " b.n loc_fc0cdd72\n"
215 "loc_fc0cdd02:\n"
216 " bl sub_fc254a34\n"
217 " b.n loc_fc0cdd72\n"
218 "loc_fc0cdd08:\n"
219 " bl sub_fc254af0\n"
220 " b.n loc_fc0cdd72\n"
221 "loc_fc0cdd0e:\n"
222 " ldr r0, [r0, #12]\n"
223 " bl sub_fc1a9898\n"
224 " b.n loc_fc0cdd72\n"
225 "loc_fc0cdd16:\n"
226 " bl sub_fc1a98ec\n"
227 " b.n loc_fc0cdd72\n"
228 "loc_fc0cdd1c:\n"
229 " bl sub_fc254bec\n"
230 " bl sub_fc254b32\n"
231 " b.n loc_fc0cdd72\n"
232 "loc_fc0cdd26:\n"
233 " movs r0, #1\n"
234 " bl sub_fc1aa1e8\n"
235 " movs r0, #1\n"
236 " bl sub_fc1aa2ba\n"
237 " ldrh.w r0, [r4, #404]\n"
238 " cmp r0, #4\n"
239 " beq.n loc_fc0cdd44\n"
240 " ldrh r0, [r4, #0]\n"
241 " sub.w r1, r0, #0x4200\n"
242 " subs r1, #0x30\n"
243 " bne.n loc_fc0cdd72\n"
244 "loc_fc0cdd44:\n"
245 " bl sub_fc254af0\n"
246 " bl sub_fc254fb2\n"
247 " bl sub_fc254e06\n"
248 " b.n loc_fc0cdd72\n"
249 "loc_fc0cdd52:\n"
250 " movs r2, #0\n"
251 " movs r1, #13\n"
252 " b.n loc_fc0cdd5c\n"
253 "loc_fc0cdd58:\n"
254 " movs r2, #0\n"
255 " movs r1, #12\n"
256 "loc_fc0cdd5c:\n"
257 " movs r0, #0\n"
258 " bl sub_fc0cc8dc\n"
259 " b.n loc_fc0cdd72\n"
260 "loc_fc0cdd64:\n"
261 " movw r2, #0x5de\n"
262 " ldr r1, =0xfc0cd89c\n" // "SsShootTask.c"
263 " movs r0, #0\n"
264 " blx sub_fc251d14\n"
265 "loc_fc0cdd72:\n"
266 " ldr r0, [sp, #0]\n"
267 " ldr r1, [r0, #4]\n"
268 " ldr r0, [r6, #0]\n"
269 " blx sub_fc251c14\n"
270 " ldr r7, [sp, #0]\n"
271 " ldr r0, [r7, #8]\n"
272 " cbnz r0, loc_fc0cdd90\n"
273 " movw r2, #0x116\n"
274 " ldr r1, =0xfc0cd89c\n" // "SsShootTask.c"
275 " movs r0, #0\n"
276 " blx sub_fc251d14\n"
277 "loc_fc0cdd90:\n"
278 " str r5, [r7, #8]\n"
279 " b.n loc_fc0cdba6\n"
280 ".ltorg\n"
281  );
282 }

Variablen-Dokumentation

long* nrflag = (long*)(0x1cc20 + 4)
static

Definiert in Zeile 6 der Datei capt_seq.c.