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
 

Funktionen

void __attribute__ ((naked, noinline))
 

Makro-Dokumentation

#define USE_STUBS_NRFLAG   1

Definiert in Zeile 8 der Datei capt_seq.c.

Dokumentation der Funktionen

void __attribute__ ( (naked, noinline)  )

!!

Definiert in Zeile 14 der Datei capt_seq.c.

14  {
15 asm volatile (
16 " STMFD SP!, {R3-R9,LR} \n"
17 " LDR R6, =0x551C \n"
18 " LDR R4, =0x1BBD8 \n"
19 " MOV R9, #1 \n"
20 " MOV R7, #0 \n"
21 
22 "loc_FF866C10:\n"
23 " LDR R0, [R6, #0x14] \n"
24 " MOV R2, #0 \n"
25 " MOV R1, SP \n"
26 " BL sub_FF827D30 /*_ReceiveMessageQueue*/ \n"
27 " TST R0, #1 \n"
28 " BEQ loc_FF866C3C \n"
29 " LDR R1, =0x539 \n"
30 " LDR R0, =0xFF8663C4 /*'SsShootTask.c'*/ \n"
31 " BL _DebugAssert \n"
32 " BL _ExitTask \n"
33 " LDMFD SP!, {R3-R9,PC} \n"
34 
35 "loc_FF866C3C:\n"
36 " LDR R0, [SP] \n"
37 " LDR R1, [R0] \n"
38 " CMP R1, #0x24 \n"
39 " ADDLS PC, PC, R1, LSL#2 \n"
40 " B loc_FF866F0C \n"
41 " B loc_FF866CE4 \n"
42 " B loc_FF866D50 \n"
43 " B loc_FF866D58 \n"
44 " B loc_FF866D70 \n"
45 " B loc_FF866D64 \n"
46 " B loc_FF866D78 \n"
47 " B loc_FF866D80 \n"
48 " B loc_FF866D88 \n"
49 " B loc_FF866DE0 \n"
50 " B loc_FF866E08 \n"
51 " B loc_FF866DEC \n"
52 " B loc_FF866DF8 \n"
53 " B loc_FF866E00 \n"
54 " B loc_FF866E10 \n"
55 " B loc_FF866E18 \n"
56 " B loc_FF866E20 \n"
57 " B loc_FF866E28 \n"
58 " B loc_FF866E30 \n"
59 " B loc_FF866E38 \n"
60 " B loc_FF866E40 \n"
61 " B loc_FF866E48 \n"
62 " B loc_FF866E50 \n"
63 " B loc_FF866E58 \n"
64 " B loc_FF866E60 \n"
65 " B loc_FF866E68 \n"
66 " B loc_FF866E74 \n"
67 " B loc_FF866E7C \n"
68 " B loc_FF866E88 \n"
69 " B loc_FF866E90 \n"
70 " B loc_FF866EC0 \n"
71 " B loc_FF866EC8 \n"
72 " B loc_FF866ED0 \n"
73 " B loc_FF866ED8 \n"
74 " B loc_FF866EE0 \n"
75 " B loc_FF866EE8 \n"
76 " B loc_FF866EF4 \n"
77 " B loc_FF866F18 \n"
78 
79 "loc_FF866CE4:\n"
80 " BL sub_FF867518 \n"
81 " BL shooting_expo_param_override\n" // added
82 " BL sub_FF864874 \n"
83 " MOV R0, #0\n" // added
84 " STR R0, [R4,#0x24]\n" // added, fixes overrides behavior at short shutter press (from S95)
85 " LDR R0, [R4, #0x24] \n"
86 " CMP R0, #0 \n"
87 " BEQ loc_FF866F18 \n"
88 " BL sub_FF866094 \n"
89 " MOV R5, R0 \n"
90 " LDR R0, [R4, #0x24] \n"
91 " CMP R0, #0 \n"
92 " BEQ loc_FF866D2C \n"
93 " MOV R0, #0xC \n"
94 " BL sub_FF86B23C \n"
95 " TST R0, #1 \n"
96 " STRNE R9, [R6, #4] \n"
97 " LDRNE R0, [R5, #8] \n"
98 " ORRNE R0, R0, #0x40000000 \n"
99 " STRNE R0, [R5, #8] \n"
100 " BNE loc_FF866F18 \n"
101 
102 "loc_FF866D2C:\n"
103 " MOV R0, R5 \n"
104 " BL sub_FF948AF8 \n"
105 " MOV R0, R5 \n"
106 " BL sub_FF866474 \n"
107 " MOV R0, R5 \n"
108 " BL sub_FF9491D0_my \n" // --> Patched. Old value = 0xFF9491D0.
109 " BL capt_seq_hook_raw_here\n"
110 " TST R0, #1 \n"
111 " STRNE R9, [R6, #4] \n"
112 " B loc_FF866F18 \n"
113 
114 "loc_FF866D50:\n"
115 " BL sub_FF8664EC_my \n" // --> Patched. Old value = 0xFF8664EC.
116 " B loc_FF866D68 \n"
117 
118 "loc_FF866D58:\n"
119 " MOV R0, #1 \n"
120 " BL sub_FF86778C \n"
121 " B loc_FF866F18 \n"
122 
123 "loc_FF866D64:\n"
124 " BL sub_FF8671E4 \n"
125 
126 "loc_FF866D68:\n"
127 " STR R7, [R4, #0x24] \n"
128 " B loc_FF866F18 \n"
129 
130 "loc_FF866D70:\n"
131 " BL sub_FF8674F8 \n"
132 " B loc_FF866D68 \n"
133 
134 "loc_FF866D78:\n"
135 " BL sub_FF867500 \n"
136 " B loc_FF866F18 \n"
137 
138 "loc_FF866D80:\n"
139 " BL sub_FF86767C \n"
140 " B loc_FF866DE4 \n"
141 
142 "loc_FF866D88:\n"
143 " LDR R5, [R0, #0xC] \n"
144 " BL sub_FF867508 \n"
145 " MOV R0, R5 \n"
146 " BL sub_FF947B20 \n"
147 " TST R0, #1 \n"
148 " MOV R8, R0 \n"
149 " BNE loc_FF866DC8 \n"
150 " BL sub_FF87795C \n"
151 " STR R0, [R5, #0x18] \n"
152 " MOV R0, R5 \n"
153 " BL sub_FF94908C \n"
154 " MOV R0, R5 \n"
155 " BL sub_FF949498 \n"
156 " MOV R8, R0 \n"
157 " LDR R0, [R5, #0x18] \n"
158 " BL sub_FF877B70 \n"
159 
160 "loc_FF866DC8:\n"
161 " BL sub_FF8674F8 \n"
162 " MOV R2, R5 \n"
163 " MOV R1, #9 \n"
164 " MOV R0, R8 \n"
165 " BL sub_FF864D30 \n"
166 " B loc_FF866F18 \n"
167 
168 "loc_FF866DE0:\n"
169 " BL sub_FF86770C \n"
170 
171 "loc_FF866DE4:\n"
172 " BL sub_FF864874 \n"
173 " B loc_FF866F18 \n"
174 
175 "loc_FF866DEC:\n"
176 " LDR R0, [R4, #0x54] \n"
177 " BL sub_FF867DA4 \n"
178 " B loc_FF866F18 \n"
179 
180 "loc_FF866DF8:\n"
181 " BL sub_FF868054 \n"
182 " B loc_FF866F18 \n"
183 
184 "loc_FF866E00:\n"
185 " BL sub_FF8680E4 \n"
186 " B loc_FF866F18 \n"
187 
188 "loc_FF866E08:\n"
189 " BL sub_FF8674F8 \n"
190 " B loc_FF866F18 \n"
191 
192 "loc_FF866E10:\n"
193 " BL sub_FF947D58 \n"
194 " B loc_FF866F18 \n"
195 
196 "loc_FF866E18:\n"
197 " BL sub_FF947F84 \n"
198 " B loc_FF866F18 \n"
199 
200 "loc_FF866E20:\n"
201 " BL sub_FF948018 \n"
202 " B loc_FF866F18 \n"
203 
204 "loc_FF866E28:\n"
205 " BL sub_FF948140 \n"
206 " B loc_FF866F18 \n"
207 
208 "loc_FF866E30:\n"
209 " BL sub_FF948218 \n"
210 " B loc_FF866F18 \n"
211 
212 "loc_FF866E38:\n"
213 " BL sub_FF94863C \n"
214 " B loc_FF866F18 \n"
215 
216 "loc_FF866E40:\n"
217 " BL sub_FF948694 \n"
218 " B loc_FF866F18 \n"
219 
220 "loc_FF866E48:\n"
221 " MOV R0, #0 \n"
222 " B loc_FF866E6C \n"
223 
224 "loc_FF866E50:\n"
225 " BL sub_FF94883C \n"
226 " B loc_FF866F18 \n"
227 
228 "loc_FF866E58:\n"
229 " BL sub_FF9488CC \n"
230 " B loc_FF866F18 \n"
231 
232 "loc_FF866E60:\n"
233 " BL sub_FF94898C \n"
234 " B loc_FF866F18 \n"
235 
236 "loc_FF866E68:\n"
237 " MOV R0, #1 \n"
238 
239 "loc_FF866E6C:\n"
240 " BL sub_FF948704 \n"
241 " B loc_FF866F18 \n"
242 
243 "loc_FF866E74:\n"
244 " BL sub_FF8679C4 \n"
245 " B loc_FF866F18 \n"
246 
247 "loc_FF866E7C:\n"
248 " BL sub_FF867A64 \n"
249 " BL sub_FF867040 \n"
250 " B loc_FF866F18 \n"
251 
252 "loc_FF866E88:\n"
253 " BL sub_FF9484C8 \n"
254 " B loc_FF866F18 \n"
255 
256 "loc_FF866E90:\n"
257 " MOV R2, #2 \n"
258 " ADD R1, R4, #0x60 \n"
259 " MOV R0, #0x6F \n"
260 " BL _GetPropertyCase \n"
261 " TST R0, #1 \n"
262 " LDRNE R1, =0x61C \n"
263 " LDRNE R0, =0xFF8663C4 /*'SsShootTask.c'*/ \n"
264 " BLNE _DebugAssert \n"
265 " LDRH R0, [R4, #0x60] \n"
266 " CMP R0, #1 \n"
267 " BLEQ sub_FF9484BC \n"
268 " B loc_FF866F18 \n"
269 
270 "loc_FF866EC0:\n"
271 " BL sub_FF948590 \n"
272 " B loc_FF866F18 \n"
273 
274 "loc_FF866EC8:\n"
275 " BL sub_FF866354 \n"
276 " B loc_FF866F18 \n"
277 
278 "loc_FF866ED0:\n"
279 " BL sub_FF824FB0 \n"
280 " B loc_FF866F18 \n"
281 
282 "loc_FF866ED8:\n"
283 " BL sub_FF869A4C \n"
284 " B loc_FF866F18 \n"
285 
286 "loc_FF866EE0:\n"
287 " BL sub_FF869AC0 \n"
288 " B loc_FF866F18 \n"
289 
290 "loc_FF866EE8:\n"
291 " BL sub_FF869B1C \n"
292 " BL sub_FF869ADC \n"
293 " B loc_FF866F18 \n"
294 
295 "loc_FF866EF4:\n"
296 " MOV R0, #1 \n"
297 " BL sub_FF949C9C \n"
298 " LDRH R0, [R4, #0x8C] \n"
299 " CMP R0, #3 \n"
300 " BLNE sub_FF869CD8 \n"
301 " B loc_FF866F18 \n"
302 
303 "loc_FF866F0C:\n"
304 " LDR R1, =0x65E \n"
305 " LDR R0, =0xFF8663C4 /*'SsShootTask.c'*/ \n"
306 " BL _DebugAssert \n"
307 
308 "loc_FF866F18:\n"
309 " LDR R0, [SP] \n"
310 " LDR R1, [R0, #4] \n"
311 " LDR R0, [R6, #0x10] \n"
312 " BL sub_FF86F4F8 /*_SetEventFlag*/ \n"
313 " LDR R5, [SP] \n"
314 " LDR R0, [R5, #8] \n"
315 " CMP R0, #0 \n"
316 " LDREQ R1, =0x11D \n"
317 " LDREQ R0, =0xFF8663C4 /*'SsShootTask.c'*/ \n"
318 " BLEQ _DebugAssert \n"
319 " STR R7, [R5, #8] \n"
320 " B loc_FF866C10 \n"
321 );
322 }