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 "conf.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*)(0x6cb8-0x08)
 

Dokumentation der Funktionen

void __attribute__ ( (naked, noinline)  )

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

!!

Definiert in Zeile 13 der Datei capt_seq.c.

13  {
14 asm volatile (
15 " STMFD SP!, {R3-R9,LR} \n"
16 " LDR R6, =0x2B04 \n"
17 " LDR R4, =0x4A5C8 \n"
18 " MOV R9, #1 \n"
19 " MOV R7, #0 \n"
20 "loc_FF876ED4:\n"
21 " LDR R0, [R6, #4] \n"
22 " MOV R2, #0 \n"
23 " MOV R1, SP \n"
24 " BL sub_FF837F08 \n"
25 " TST R0, #1 \n"
26 " BEQ loc_FF876F00 \n"
27 " LDR R1, =0x5B3 \n"
28 " LDR R0, =0xFF876A00 \n"
29 " BL sub_FF81E88C \n"
30 " BL sub_FF81E844 \n"
31 " LDMFD SP!, {R3-R9,PC} \n"
32 "loc_FF876F00:\n"
33 " LDR R0, [SP] \n"
34 " LDR R1, [R0] \n"
35 " CMP R1, #0x1F \n"
36 " ADDLS PC, PC, R1, LSL #2 \n"
37 " B loc_FF8771A4 \n"
38 " B loc_FF876F94 \n"
39 " B loc_FF876FF8 \n"
40 " B loc_FF877034 \n"
41 " B loc_FF877048 \n"
42 " B loc_FF877040 \n"
43 " B loc_FF877050 \n"
44 " B loc_FF877058 \n"
45 " B loc_FF877060 \n"
46 " B loc_FF8770B8 \n"
47 " B loc_FF8770E0 \n"
48 " B loc_FF8770C4 \n"
49 " B loc_FF8770D0 \n"
50 " B loc_FF8770D8 \n"
51 " B loc_FF8770E8 \n"
52 " B loc_FF8770F0 \n"
53 " B loc_FF8770F8 \n"
54 " B loc_FF877100 \n"
55 " B loc_FF877108 \n"
56 " B loc_FF877114 \n"
57 " B loc_FF87711C \n"
58 " B loc_FF877124 \n"
59 " B loc_FF87712C \n"
60 " B loc_FF877134 \n"
61 " B loc_FF877140 \n"
62 " B loc_FF877148 \n"
63 " B loc_FF877150 \n"
64 " B loc_FF877158 \n"
65 " B loc_FF877160 \n"
66 " B loc_FF877168 \n"
67 " B loc_FF877170 \n"
68 " B loc_FF87717C \n"
69 " B loc_FF8771B0 \n"
70 "loc_FF876F94:\n"
71 " BL sub_FF877844 \n"
72  " BL shooting_expo_param_override\n"
73 " BL sub_FF874CBC \n"
74 
75 // this code added to avoid some incorrect behavior if overrides are used.
76  // but it can cause some unexpected side effects. In this case, remove this code!
77  "MOV R0, #0\n"
78  "STR R0, [R4,#0x24]\n" // fixes overrides behavior at short shutter press
79 //end of modified code
80 
81 " LDR R0, [R4, #0x24] \n"
82 " CMP R0, #0 \n"
83 " BEQ loc_FF8771B0 \n"
84 " BL sub_FF8766DC \n"
85 " MOV R5, R0 \n"
86 " LDR R0, [R4, #0x24] \n"
87 " CMP R0, #0 \n"
88 " BEQ loc_FF876FDC \n"
89 " MOV R0, #0xC \n"
90 " BL sub_FF87BB64 \n"
91 " TST R0, #1 \n"
92 " STRNE R9, [R6, #0x10] \n"
93 " LDRNE R0, [R5, #8] \n"
94 " ORRNE R0, R0, #0x40000000 \n"
95 " STRNE R0, [R5, #8] \n"
96 " BNE loc_FF8771B0 \n"
97 "loc_FF876FDC:\n"
98 " MOV R0, R5 \n"
99 " BL sub_FF876980 \n"
100 " MOV R0, R5 \n"
101 " BL sub_FF950030_my \n" //----------------->
102 " BL capt_seq_hook_raw_here\n"
103 " TST R0, #1 \n"
104 " STRNE R9, [R6, #0x10] \n"
105 " B loc_FF8771B0 \n"
106 "loc_FF876FF8:\n"
107 " LDR R0, [R4, #0x24] \n"
108 " CMP R0, #0 \n"
109 " BNE loc_FF877024 \n"
110 " MOV R0, #0xC \n"
111 " BL sub_FF87BB64 \n"
112 " TST R0, #1 \n"
113 " LDRNE R0, [SP] \n"
114 " MOVNE R1, #1 \n"
115 " LDRNE R2, [R0, #0xC] \n"
116 " MOVNE R0, #1 \n"
117 " BNE loc_FF8770B0 \n"
118 "loc_FF877024:\n"
119 " LDR R0, [SP] \n"
120 " BL sub_FF8772C8_my \n" //----------------->
121 "loc_FF87702C:\n"
122 " STR R7, [R4, #0x24] \n"
123 " B loc_FF8771B0 \n"
124 "loc_FF877034:\n"
125 " MOV R0, #1 \n"
126 " BL sub_FF877AA0 \n"
127 " B loc_FF8771B0 \n"
128 "loc_FF877040:\n"
129 " BL sub_FF877480 \n"
130 " B loc_FF87702C \n"
131 "loc_FF877048:\n"
132 " BL sub_FF877824 \n"
133 " B loc_FF87702C \n"
134 "loc_FF877050:\n"
135 " BL sub_FF87782C \n"
136 " B loc_FF8771B0 \n"
137 "loc_FF877058:\n"
138 " BL sub_FF8779C0 \n"
139 " B loc_FF8770BC \n"
140 "loc_FF877060:\n"
141 " LDR R5, [R0, #0xC] \n"
142 " BL sub_FF877834 \n"
143 " MOV R0, R5 \n"
144 " BL sub_FF94ECEC \n"
145 " TST R0, #1 \n"
146 " MOV R8, R0 \n"
147 " BNE loc_FF8770A0 \n"
148 " BL sub_FF888D28 \n"
149 " STR R0, [R5, #0x18] \n"
150 " MOV R0, R5 \n"
151 " BL sub_FF94FF48 \n"
152 " MOV R0, R5 \n"
153 " BL sub_FF950348 \n"
154 " MOV R8, R0 \n"
155 " LDR R0, [R5, #0x18] \n"
156 " BL sub_FF888F3C \n"
157 "loc_FF8770A0:\n"
158 " BL sub_FF877824 \n"
159 " MOV R2, R5 \n"
160 " MOV R1, #9 \n"
161 " MOV R0, R8 \n"
162 "loc_FF8770B0:\n"
163 " BL sub_FF8751A8 \n"
164 " B loc_FF8771B0 \n"
165 "loc_FF8770B8:\n"
166 " BL sub_FF877A20 \n"
167 "loc_FF8770BC:\n"
168 " BL sub_FF874CBC \n"
169 " B loc_FF8771B0 \n"
170 "loc_FF8770C4:\n"
171 " LDR R0, [R4, #0x54] \n"
172 " BL sub_FF877E30 \n"
173 " B loc_FF8771B0 \n"
174 "loc_FF8770D0:\n"
175 " BL sub_FF8780E4 \n"
176 " B loc_FF8771B0 \n"
177 "loc_FF8770D8:\n"
178 " BL sub_FF878178 \n"
179 " B loc_FF8771B0 \n"
180 "loc_FF8770E0:\n"
181 " BL sub_FF877824 \n"
182 " B loc_FF8771B0 \n"
183 "loc_FF8770E8:\n"
184 " BL sub_FF94EF04 \n"
185 " B loc_FF8771B0 \n"
186 "loc_FF8770F0:\n"
187 " BL sub_FF94F118 \n"
188 " B loc_FF8771B0 \n"
189 "loc_FF8770F8:\n"
190 " BL sub_FF94F1B0 \n"
191 " B loc_FF8771B0 \n"
192 "loc_FF877100:\n"
193 " BL sub_FF94F280 \n"
194 " B loc_FF8771B0 \n"
195 "loc_FF877108:\n"
196 " MOV R0, #0 \n"
197 " BL sub_FF94F4D0 \n"
198 " B loc_FF8771B0 \n"
199 "loc_FF877114:\n"
200 " BL sub_FF94F62C \n"
201 " B loc_FF8771B0 \n"
202 "loc_FF87711C:\n"
203 " BL sub_FF94F6BC \n"
204 " B loc_FF8771B0 \n"
205 "loc_FF877124:\n"
206 " BL sub_FF94F77C \n"
207 " B loc_FF8771B0 \n"
208 "loc_FF87712C:\n"
209 " BL sub_FF877C1C \n"
210 " B loc_FF8771B0 \n"
211 "loc_FF877134:\n"
212 " BL sub_FF877CBC \n"
213 " BL sub_FF835F60 \n"
214 " B loc_FF8771B0 \n"
215 "loc_FF877140:\n"
216 " BL sub_FF94F34C \n"
217 " B loc_FF8771B0 \n"
218 "loc_FF877148:\n"
219 " BL sub_FF94F3B8 \n"
220 " B loc_FF8771B0 \n"
221 "loc_FF877150:\n"
222 " BL sub_FF87A238 \n"
223 " B loc_FF8771B0 \n"
224 "loc_FF877158:\n"
225 " BL sub_FF87A2A4 \n"
226 " B loc_FF8771B0 \n"
227 "loc_FF877160:\n"
228 " BL sub_FF94F8FC \n"
229 " B loc_FF8771B0 \n"
230 "loc_FF877168:\n"
231 " BL sub_FF94F968 \n"
232 " B loc_FF8771B0 \n"
233 "loc_FF877170:\n"
234 " BL sub_FF87A300 \n"
235 " BL sub_FF87A2C0 \n"
236 " B loc_FF8771B0 \n"
237 "loc_FF87717C:\n"
238 " MOV R0, #1 \n"
239 " BL sub_FF950BC0 \n"
240 " MOV R0, #1 \n"
241 " BL sub_FF950CD0 \n"
242 " LDRH R0, [R4, #0x98] \n"
243 " CMP R0, #4 \n"
244 " BNE loc_FF8771B0 \n"
245 " BL sub_FF87A2A4 \n"
246 " BL sub_FF87A778 \n"
247 " B loc_FF8771B0 \n"
248 "loc_FF8771A4:\n"
249 " LDR R1, =0x708 \n"
250 " LDR R0, =0xFF876A00 \n"
251 " BL sub_FF81E88C \n"
252 "loc_FF8771B0:\n"
253 " LDR R0, [SP] \n"
254 " LDR R1, [R0, #4] \n"
255 " LDR R0, [R6] \n"
256 " BL sub_FF880A14 \n"
257 " LDR R5, [SP] \n"
258 " LDR R0, [R5, #8] \n"
259 " CMP R0, #0 \n"
260 " LDREQ R1, =0x131 \n"
261 " LDREQ R0, =0xFF876A00 \n"
262 " BLEQ sub_FF81E88C \n"
263 " STR R7, [R5, #8] \n"
264 " B loc_FF876ED4 \n"
265 " STMFD SP!, {R3-R5,LR} \n"
266 " LDR R2, =0x4A514 \n"
267 " MOV R0, #0 \n"
268 " MOV R1, #0 \n"
269 "loc_FF8771F0:\n"
270 " ADD R3, R2, R0, LSL #4 \n"
271 " ADD R0, R0, #1 \n"
272 " CMP R0, #5 \n"
273 " STR R1, [R3, #8] \n"
274 " BCC loc_FF8771F0 \n"
275 " BL sub_FF877D6C \n"
276 " BL sub_FF950E6C \n"
277 " MOV R1, #5 \n"
278 " MOV R0, #0 \n"
279 " BL sub_FF838750 \n"
280 " LDR R4, =0x2B04 \n"
281 " LDR R1, =0x101DFF \n"
282 " STR R0, [R4, #4] \n"
283 " MOV R0, #0 \n"
284 " BL sub_FF838774 \n"
285 " STR R0, [R4] \n"
286  );
287 }

Variablen-Dokumentation

long* nrflag = (long*)(0x6cb8-0x08)
static

Definiert in Zeile 7 der Datei capt_seq.c.