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

Funktionen

void __attribute__ ((naked, noinline))
 

Variablen

static long * nrflag = (long*)0x7290
 

Dokumentation der Funktionen

void __attribute__ ( (naked, noinline)  )

!!

Definiert in Zeile 9 der Datei capt_seq.c.

9  {
10  asm volatile (
11  "STMFD SP!, {R3-R9,LR}\n"
12  "LDR R6, =0x2C64\n"
13  "LDR R4, =0x38A78\n"
14  "MOV R9, #1\n"
15  "MOV R7, #0\n"
16 
17  "loc_FF87B1A0:\n"
18  "LDR R0, [R6,#4]\n"
19  "MOV R2, #0\n"
20  "MOV R1, SP\n"
21  "BL sub_FF83894C\n"
22  "TST R0, #1\n"
23  "BEQ loc_FF87B1CC\n"
24  "LDR R1, =0x5B3\n"
25  "LDR R0, =0xFF87A988\n"
26  "BL sub_FF81E88C\n"
27  "BL sub_FF81E844\n"
28  "LDMFD SP!, {R3-R9,PC}\n"
29 "loc_FF87B1CC:\n"
30  "LDR R0, [SP]\n"
31  "LDR R1, [R0]\n"
32  "CMP R1, #0x22\n"
33  "ADDLS PC, PC, R1,LSL#2\n"
34  "B loc_FF87B4C4\n"
35 "loc_FF87B1E0:\n"
36  "B loc_FF87B26C\n"
37 "loc_FF87B1E4:\n"
38  "B loc_FF87B2D8\n"
39 "loc_FF87B1E8:\n"
40  "B loc_FF87B314\n"
41 "loc_FF87B1EC:\n"
42  "B loc_FF87B328\n"
43 "loc_FF87B1F0:\n"
44  "B loc_FF87B320\n"
45 "loc_FF87B1F4:\n"
46  "B loc_FF87B330\n"
47 "loc_FF87B1F8:\n"
48  "B loc_FF87B338\n"
49 "loc_FF87B1FC:\n"
50  "B loc_FF87B340\n"
51 "loc_FF87B200:\n"
52  "B loc_FF87B398\n"
53 "loc_FF87B204:\n"
54  "B loc_FF87B3C0\n"
55 "loc_FF87B208:\n"
56  "B loc_FF87B3A4\n"
57 "loc_FF87B20C:\n"
58  "B loc_FF87B3B0\n"
59 "loc_FF87B210:\n"
60  "B loc_FF87B3B8\n"
61 "loc_FF87B214:\n"
62  "B loc_FF87B3C8\n"
63 "loc_FF87B218:\n"
64  "B loc_FF87B3D0\n"
65 "loc_FF87B21C:\n"
66  "B loc_FF87B3D8\n"
67 "loc_FF87B220:\n"
68  "B loc_FF87B3E0\n"
69 "loc_FF87B224:\n"
70  "B loc_FF87B3E8\n"
71 "loc_FF87B228:\n"
72  "B loc_FF87B3F0\n"
73 "loc_FF87B22C:\n"
74  "B loc_FF87B3F8\n"
75 "loc_FF87B230:\n"
76  "B loc_FF87B400\n"
77 "loc_FF87B234:\n"
78  "B loc_FF87B408\n"
79 "loc_FF87B238:\n"
80  "B loc_FF87B410\n"
81 "loc_FF87B23C:\n"
82  "B loc_FF87B41C\n"
83 "loc_FF87B240:\n"
84  "B loc_FF87B424\n"
85 "loc_FF87B244:\n"
86  "B loc_FF87B430\n"
87 "loc_FF87B248:\n"
88  "B loc_FF87B438\n"
89 "loc_FF87B24C:\n"
90  "B loc_FF87B468\n"
91 "loc_FF87B250:\n"
92  "B loc_FF87B470\n"
93 "loc_FF87B254:\n"
94  "B loc_FF87B478\n"
95 "loc_FF87B258:\n"
96  "B loc_FF87B480\n"
97 "loc_FF87B25C:\n"
98  "B loc_FF87B488\n"
99 "loc_FF87B260:\n"
100  "B loc_FF87B490\n"
101 "loc_FF87B264:\n"
102  "B loc_FF87B49C\n"
103 "loc_FF87B268:\n"
104  "B loc_FF87B4D0\n"
105 "loc_FF87B26C:\n"
106 // ; jumptable FF8"B1D8 entry 0 ; LOCATION: SsPrepareSeq.c:0
107 
108  "BL sub_FF87BADC\n"
109  "BL shooting_expo_param_override\n" // +
110  "BL sub_FF878B68\n"
111 
112 // copied over from SX10 don't know if we need it yet
113 // this code added to avoid some incorrect behavior if overrides are used.
114 // but it can cause some unexpected side effects. In this case, remove this code!
115  "MOV R0, #0\n"
116  "STR R0, [R4,#0x24]\n" // fixes overrides behavior at short shutter press
117 // end of my code
118 
119  "LDR R0, [R4,#0x24]\n"
120  "CMP R0, #0\n"
121  "BEQ loc_FF87B4D0\n"
122  "BL sub_FF87A65C\n"
123  "MOV R5, R0\n"
124  "LDR R0, [R4,#0x24]\n"
125  "CMP R0, #0\n"
126  "BEQ loc_FF87B2B4\n"
127  "MOV R0, #0xC\n"
128  "BL sub_FF8804D8\n"
129  "TST R0, #1\n"
130  "STRNE R9, [R6,#0x10]\n"
131  "LDRNE R0, [R5,#8]\n"
132  "ORRNE R0, R0, #0x40000000\n"
133  "STRNE R0, [R5,#8]\n"
134  "BNE loc_FF87B4D0\n"
135 
136 "loc_FF87B2B4:\n"
137  "MOV R0, R5\n"
138  "BL sub_FF9680AC\n"
139  "MOV R0, R5\n"
140  "BL sub_FF87AA3C\n"
141  "MOV R0, R5\n"
142 
143  //"BL sub_FF968948\n"
144  "BL sub_FF968948_my\n" //-------->
145  "BL capt_seq_hook_raw_here\n" // +
146 
147  "TST R0, #1\n"
148  "STRNE R9, [R6,#0x10]\n"
149  "B loc_FF87B4D0\n"
150 
151 "loc_FF87B2D8:\n"
152 // ; jumptable FF8"B1D8 entry 1
153  "LDR R0, [R4,#0x24]\n"
154  "CMP R0, #0\n"
155  "BNE loc_FF87B304\n"
156  "MOV R0, #0xC\n"
157  "BL sub_FF8804D8\n"
158  "TST R0, #1\n"
159  "LDRNE R0, [SP]\n"
160  "MOVNE R1, #1\n"
161  "LDRNE R2, [R0,#0xC]\n"
162  "MOVNE R0, #1\n"
163  "BNE loc_FF87B390\n"
164 
165 "loc_FF87B304:\n"
166  "LDR R0, [SP]\n"
167  // "BL sub_FF87AAB4\n" // - capt_seq_hook ist called in this subroutine
168  "BL sub_FF87AAB4_my\n"
169 "loc_FF87B30C:\n"
170  "STR R7, [R4,#0x24]\n"
171  "B loc_FF87B4D0\n"
172 "loc_FF87B314:\n"
173 // ; jumptable FF8"B1D8 entry 2
174  "MOV R0, #1\n"
175  "BL sub_FF87BD8C\n"
176  "B loc_FF87B4D0\n"
177 "loc_FF87B320:\n"
178  //; jumptable FF8"B1D8 entry 4
179  "BL sub_FF87B78C\n"
180  "B loc_FF87B30C\n"
181  "loc_FF87B328:\n"
182  //; jumptable FF8"B1D8 entry 3
183  "BL sub_FF87BABC\n"
184  "B loc_FF87B30C\n"
185 "loc_FF87B330:\n"
186  //; jumptable FF8"B1D8 entry 5
187  "BL sub_FF87BAC4\n"
188  "B loc_FF87B4D0\n"
189 "loc_FF87B338:\n"
190  //; jumptable FF8"B1D8 entry 6 ; LOCATION: SsPrepareSeq.c:984
191  "BL sub_FF87BC7C\n"
192  "B loc_FF87B39C\n"
193 "loc_FF87B340:\n"
194  //; jumptable FF8"B1D8 entry 7
195  "LDR R5, [R0,#0xC]\n"
196  "BL sub_FF87BACC\n"
197  "MOV R0, R5\n"
198  "BL sub_FF967128\n"
199  "TST R0, #1\n"
200  "MOV R8, R0\n"
201  "BNE loc_FF87B380\n"
202  "BL sub_FF88D890\n"
203  "STR R0, [R5,#0x18]\n"
204  "MOV R0, R5\n"
205  "BL sub_FF968860\n"
206  "MOV R0, R5\n"
207  "BL sub_FF968C60\n"
208  "MOV R8, R0\n"
209  "LDR R0, [R5,#0x18]\n"
210  "BL sub_FF88DAA4\n"
211 
212 "loc_FF87B380:\n"
213  "BL sub_FF87BABC\n"
214  "MOV R2, R5\n"
215  "MOV R1, #9\n"
216  "MOV R0, R8\n"
217 
218 "loc_FF87B390:\n"
219  "BL sub_FF879094\n"
220  "B loc_FF87B4D0\n"
221 "loc_FF87B398:\n"
222  //; jumptable FF8"B1D8 entry 8 ; LOCATION: SsPrepareSeq.c:1056
223  "BL sub_FF87BD0C\n"
224 
225 "loc_FF87B39C:\n"
226  "BL sub_FF878B68\n"
227  "B loc_FF87B4D0\n"
228 "loc_FF87B3A4:\n"
229  //; jumptable FF8"B1D8 entry 10
230  "LDR R0, [R4,#0x54]\n"
231  "BL sub_FF87C390\n"
232  "B loc_FF87B4D0\n"
233 "loc_FF87B3B0:\n"
234  //; jumptable FF8"B1D8 entry 11 ; LOCATION: SsMovieRec.c:2
235  "BL sub_FF87C638\n"
236  "B loc_FF87B4D0\n"
237 "loc_FF87B3B8:\n"
238  //; jumptable FF8"B1D8 entry 12 ; LOCATION: SsMovieRec.c:43
239  "BL sub_FF87C6CC\n"
240  "B loc_FF87B4D0\n"
241 "loc_FF87B3C0:\n"
242  //; jumptable FF8"B1D8 entry 9
243  "BL sub_FF87BABC\n"
244  "B loc_FF87B4D0\n"
245 "loc_FF87B3C8:\n"
246  //; jumptable FF8"B1D8 entry 13 ; LOCATION: SsAELockSeq.c:195
247  "BL sub_FF967354\n"
248  "B loc_FF87B4D0\n"
249 "loc_FF87B3D0:\n"
250  //; jumptable FF8"B1D8 entry 14
251  "BL sub_FF9675AC\n"
252  "B loc_FF87B4D0\n"
253 "loc_FF87B3D8:\n"
254  //; jumptable FF8"B1D8 entry 15
255  "BL sub_FF96764C\n"
256  "B loc_FF87B4D0\n"
257 "loc_FF87B3E0:\n"
258  //; jumptable FF8"B1D8 entry 16 ; LOCATION: SsExpCompSeq.c:113
259  "BL sub_FF967780\n"
260  "B loc_FF87B4D0\n"
261 "loc_FF87B3E8:\n"
262  //; jumptable FF8"B1D8 entry 17
263  "BL sub_FF967874\n"
264  "B loc_FF87B4D0\n"
265 "loc_FF87B3F0:\n"
266  //; jumptable FF8"B1D8 entry 18
267  "MOV R0, #0\n"
268  "B loc_FF87B414\n"
269 "loc_FF87B3F8:\n"
270  //; jumptable FF8"B1D8 entry 19
271  "BL sub_FF967DF0\n"
272  "B loc_FF87B4D0\n"
273 "loc_FF87B400:\n"
274  //; jumptable FF8"B1D8 entry 20 ; LOCATION: SsMFSeq.c:110
275  "BL sub_FF967E80\n"
276  "B loc_FF87B4D0\n"
277 "loc_FF87B408:\n"
278  //; jumptable FF8"B1D8 entry 21 ; LOCATION: SsMFSeq.c:177
279  "BL sub_FF967F40\n"
280  "B loc_FF87B4D0\n"
281 "loc_FF87B410:\n"
282  //; jumptable FF8"B1D8 entry 22
283  "MOV R0, #1\n"
284 
285 "loc_FF87B414:\n"
286  "BL sub_FF967CA0\n"
287  "B loc_FF87B4D0\n"
288 "loc_FF87B41C:\n"
289  //; jumptable FF8"B1D8 entry 23
290  "BL sub_FF87BFA8\n"
291  "B loc_FF87B4D0\n"
292 "loc_FF87B424:\n"
293  //; jumptable FF8"B1D8 entry 24
294  "BL sub_FF87C048\n"
295  "BL sub_FF87B5F8\n"
296  "B loc_FF87B4D0\n"
297 "loc_FF87B430:\n"
298  //; jumptable FF8"B1D8 entry 25 ; LOCATION: SsChgExpSeq.c:0
299  "BL sub_FF967B2C\n"
300  "B loc_FF87B4D0\n"
301 "loc_FF87B438:\n"
302  //; jumptable FF8"B1D8 entry 26
303  "MOV R2, #2\n"
304  "ADD R1, R4, #0x62\n"
305  "MOV R0, #0x6F\n"
306  "BL sub_FF88D700\n"
307  "TST R0, #1\n"
308  "LDRNE R1, =0x6AA\n"
309  "LDRNE R0, =0xFF87A988\n"
310  "BLNE sub_FF81E88C\n"
311  "LDRH R0, [R4,#0x62]\n"
312  "CMP R0, #1\n"
313  "BLEQ sub_FF967B20\n"
314  "B loc_FF87B4D0\n"
315 "loc_FF87B468:\n"
316  //; jumptable FF8"B1D8 entry 27 ; LOCATION: SsChgExpSeq.c:0
317  "BL sub_FF967BD0\n"
318  "B loc_FF87B4D0\n"
319 "loc_FF87B470:\n"
320  //; jumptable FF8"B1D8 entry 28
321  "BL sub_FF87A914\n"
322  "B loc_FF87B4D0\n"
323 "loc_FF87B478:\n"
324  //; jumptable FF8"B1D8 entry 29
325  "BL sub_FF83657C\n"
326  "B loc_FF87B4D0\n"
327 "loc_FF87B480:\n"
328  //; jumptable FF8"B1D8 entry 30
329  "BL sub_FF87EA84\n"
330  "B loc_FF87B4D0\n"
331 "loc_FF87B488:\n"
332  //; jumptable FF8"B1D8 entry 31
333  "BL sub_FF87EAEC\n"
334  "B loc_FF87B4D0\n"
335 "loc_FF87B490:\n"
336  //; jumptable FF8"B1D8 entry 32
337  "BL sub_FF87EB48\n"
338  "BL sub_FF87EB08\n"
339  "B loc_FF87B4D0\n"
340 "loc_FF87B49C:\n"
341  //; jumptable FF8"B1D8 entry 33
342  "MOV R0, #1\n"
343  "BL sub_FF9694C8\n"
344  "MOV R0, #1\n"
345  "BL sub_FF9695D8\n"
346  "LDRH R0, [R4,#0xA0]\n"
347  "CMP R0, #4\n"
348  "BNE loc_FF87B4D0\n"
349  "BL sub_FF87EAEC\n"
350  "BL sub_FF87EF34\n"
351  "B loc_FF87B4D0\n"
352 "loc_FF87B4C4:\n"
353  //; jumptable FF8"B1D8 default entry
354  "LDR R1, =0x708\n"
355  "LDR R0, =0xFF87A988\n"
356  "BL sub_FF81E88C\n"
357 
358 "loc_FF87B4D0:\n"
359  //; jumptable FF8"B1D8 entry 34
360  "LDR R0, [SP]\n"
361  "LDR R1, [R0,#4]\n"
362  "LDR R0, [R6]\n"
363  "BL sub_FF885538\n"
364  "LDR R5, [SP]\n"
365  "LDR R0, [R5,#8]\n"
366  "CMP R0, #0\n"
367  "LDREQ R1, =0x131\n"
368  "LDREQ R0, =0xFF87A988\n"
369  "BLEQ sub_FF81E88C\n"
370  "STR R7, [R5,#8]\n"
371  "B loc_FF87B1A0\n"
372  );
373 }

Variablen-Dokumentation

long* nrflag = (long*)0x7290
static

Definiert in Zeile 5 der Datei capt_seq.c.