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

8  {
9  asm volatile (
10 
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 "loc_FF87B080:\n"
17  "LDR R0, [R6,#4]\n"
18  "MOV R2, #0\n"
19  "MOV R1, SP\n"
20  "BL sub_FF83891C\n"
21  "TST R0, #1\n"
22  "BEQ loc_FF87B0AC\n"
23  "LDR R1, =0x5B3\n"
24  "LDR R0, =0xFF87A868\n"
25  "BL sub_FF81E88C\n"
26  "BL sub_FF81E844\n"
27  "LDMFD SP!, {R3-R9,PC}\n"
28 "loc_FF87B0AC:\n"
29  "LDR R0, [SP]\n"
30  "LDR R1, [R0]\n"
31  "CMP R1, #0x22\n"
32  "ADDLS PC, PC, R1,LSL#2\n"
33  "B loc_FF87B3A4\n"
34 "loc_FF87B0C0:\n"
35  "B loc_FF87B14C\n"
36 "loc_FF87B0C4:\n"
37  "B loc_FF87B1B8\n"
38 "loc_FF87B0C8:\n"
39  "B loc_FF87B1F4\n"
40 "loc_FF87B0CC:\n"
41  "B loc_FF87B208\n"
42 "loc_FF87B0D0:\n"
43  "B loc_FF87B200\n"
44 "loc_FF87B0D4:\n"
45  "B loc_FF87B210\n"
46 "loc_FF87B0D8:\n"
47  "B loc_FF87B218\n"
48 "loc_FF87B0DC:\n"
49  "B loc_FF87B220\n"
50 "loc_FF87B0E0:\n"
51  "B loc_FF87B278\n"
52 "loc_FF87B0E4:\n"
53  "B loc_FF87B2A0\n"
54 "loc_FF87B0E8:\n"
55  "B loc_FF87B284\n"
56 "loc_FF87B0EC:\n"
57  "B loc_FF87B290\n"
58 "loc_FF87B0F0:\n"
59  "B loc_FF87B298\n"
60 "loc_FF87B0F4:\n"
61  "B loc_FF87B2A8\n"
62 "loc_FF87B0F8:\n"
63  "B loc_FF87B2B0\n"
64 "loc_FF87B0FC:\n"
65  "B loc_FF87B2B8\n"
66 "loc_FF87B100:\n"
67  "B loc_FF87B2C0\n"
68 "loc_FF87B104:\n"
69  "B loc_FF87B2C8\n"
70 "loc_FF87B108:\n"
71  "B loc_FF87B2D0\n"
72 "loc_FF87B10C:\n"
73  "B loc_FF87B2D8\n"
74 "loc_FF87B110:\n"
75  "B loc_FF87B2E0\n"
76 "loc_FF87B114:\n"
77  "B loc_FF87B2E8\n"
78 "loc_FF87B118:\n"
79  "B loc_FF87B2F0\n"
80 "loc_FF87B11C:\n"
81  "B loc_FF87B2FC\n"
82 "loc_FF87B120:\n"
83  "B loc_FF87B304\n"
84 "loc_FF87B124:\n"
85  "B loc_FF87B310\n"
86 "loc_FF87B128:\n"
87  "B loc_FF87B318\n"
88 "loc_FF87B12C:\n"
89  "B loc_FF87B348\n"
90 "loc_FF87B130:\n"
91  "B loc_FF87B350\n"
92 "loc_FF87B134:\n"
93  "B loc_FF87B358\n"
94 "loc_FF87B138:\n"
95  "B loc_FF87B360\n"
96 "loc_FF87B13C:\n"
97  "B loc_FF87B368\n"
98 "loc_FF87B140:\n"
99  "B loc_FF87B370\n"
100 "loc_FF87B144:\n"
101  "B loc_FF87B37C\n"
102 "loc_FF87B148:\n"
103  "B loc_FF87B3B0\n"
104 "loc_FF87B14C:\n"
105  "BL sub_FF87B9BC\n"
106  "BL shooting_expo_param_override\n" // +
107  "BL sub_FF878A48\n"
108 // copied over from SX10 don't know if we need it yet
109 // this code added to avoid some incorrect behavior if overrides are used.
110 // but it can cause some unexpected side effects. In this case, remove this code!
111  "MOV R0, #0\n"
112  "STR R0, [R4,#0x24]\n" // fixes overrides behavior at short shutter press
113  // end of my code
114  "LDR R0, [R4,#0x24]\n"
115  "CMP R0, #0\n"
116  "BEQ loc_FF87B3B0\n"
117  "BL sub_FF87A53C\n"
118  "MOV R5, R0\n"
119  "LDR R0, [R4,#0x24]\n"
120  "CMP R0, #0\n"
121  "BEQ loc_FF87B194\n"
122  "MOV R0, #0xC\n"
123  "BL sub_FF8803B8\n"
124  "TST R0, #1\n"
125  "STRNE R9, [R6,#0x10]\n"
126  "LDRNE R0, [R5,#8]\n"
127  "ORRNE R0, R0, #0x40000000\n"
128  "STRNE R0, [R5,#8]\n"
129  "BNE loc_FF87B3B0\n"
130 "loc_FF87B194:\n"
131  "MOV R0, R5\n"
132  "BL sub_FF967E0C\n"
133  "MOV R0, R5\n"
134  "BL sub_FF87A91C\n"
135  "MOV R0, R5\n"
136 
137  //"BL sub_FF9686A8\n" // -
138  "BL sub_FF9686A8_my\n" //-------->
139  "BL capt_seq_hook_raw_here\n" // +
140  "TST R0, #1\n"
141  "STRNE R9, [R6,#0x10]\n"
142  "B loc_FF87B3B0\n"
143 "loc_FF87B1B8:\n"
144  "LDR R0, [R4,#0x24]\n"
145  "CMP R0, #0\n"
146  "BNE loc_FF87B1E4\n"
147  "MOV R0, #0xC\n"
148  "BL sub_FF8803B8\n"
149  "TST R0, #1\n"
150  "LDRNE R0, [SP]\n"
151  "MOVNE R1, #1\n"
152  "LDRNE R2, [R0,#0xC]\n"
153  "MOVNE R0, #1\n"
154  "BNE loc_FF87B270\n"
155 "loc_FF87B1E4:\n"
156  "LDR R0, [SP]\n"
157  //"BL sub_FF87A994\n" // - capt_seq_hook ist called in this subroutine
158  "BL sub_FF87A994_my\n"
159 "loc_FF87B1EC:\n"
160  "STR R7, [R4,#0x24]\n"
161  "B loc_FF87B3B0\n"
162 "loc_FF87B1F4:\n"
163  "MOV R0, #1\n"
164  "BL sub_FF87BC6C\n"
165  "B loc_FF87B3B0\n"
166 "loc_FF87B200:\n"
167  "BL sub_FF87B66C\n"
168  "B loc_FF87B1EC\n"
169 "loc_FF87B208:\n"
170  "BL sub_FF87B99C\n"
171  "B loc_FF87B1EC\n"
172 "loc_FF87B210:\n"
173  "BL sub_FF87B9A4\n"
174  "B loc_FF87B3B0\n"
175 "loc_FF87B218:\n"
176  "BL sub_FF87BB5C\n"
177  "B loc_FF87B27C\n"
178 "loc_FF87B220:\n"
179  "LDR R5, [R0,#0xC]\n"
180  "BL sub_FF87B9AC\n"
181  "MOV R0, R5\n"
182  "BL sub_FF966E88\n"
183  "TST R0, #1\n"
184  "MOV R8, R0\n"
185  "BNE loc_FF87B260\n"
186  "BL sub_FF88D770\n"
187  "STR R0, [R5,#0x18]\n"
188  "MOV R0, R5\n"
189  "BL sub_FF9685C0\n"
190  "MOV R0, R5\n"
191  "BL sub_FF9689C0\n"
192  "MOV R8, R0\n"
193  "LDR R0, [R5,#0x18]\n"
194  "BL sub_FF88D984\n"
195 "loc_FF87B260:\n"
196  "BL sub_FF87B99C\n"
197  "MOV R2, R5\n"
198  "MOV R1, #9\n"
199  "MOV R0, R8\n"
200 "loc_FF87B270:\n"
201  "BL sub_FF878F74\n"
202  "B loc_FF87B3B0\n"
203 "loc_FF87B278:\n"
204  "BL sub_FF87BBEC\n"
205 "loc_FF87B27C:\n"
206  "BL sub_FF878A48\n"
207  "B loc_FF87B3B0\n"
208 "loc_FF87B284:\n"
209  "LDR R0, [R4,#0x54]\n"
210  "BL sub_FF87C270\n"
211  "B loc_FF87B3B0\n"
212 "loc_FF87B290:\n"
213  "BL sub_FF87C518\n"
214  "B loc_FF87B3B0\n"
215 "loc_FF87B298:\n"
216  "BL sub_FF87C5AC\n"
217  "B loc_FF87B3B0\n"
218 "loc_FF87B2A0:\n"
219  "BL sub_FF87B99C\n"
220  "B loc_FF87B3B0\n"
221 "loc_FF87B2A8:\n"
222  "BL sub_FF9670B4\n"
223  "B loc_FF87B3B0\n"
224 "loc_FF87B2B0:\n"
225  "BL sub_FF96730C\n"
226  "B loc_FF87B3B0\n"
227 "loc_FF87B2B8:\n"
228  "BL sub_FF9673AC\n"
229  "B loc_FF87B3B0\n"
230 "loc_FF87B2C0:\n"
231  "BL sub_FF9674E0\n"
232  "B loc_FF87B3B0\n"
233 "loc_FF87B2C8:\n"
234  "BL sub_FF9675D4\n"
235  "B loc_FF87B3B0\n"
236 "loc_FF87B2D0:\n"
237  "MOV R0, #0\n"
238  "B loc_FF87B2F4\n"
239 "loc_FF87B2D8:\n"
240  "BL sub_FF967B50\n"
241  "B loc_FF87B3B0\n"
242 "loc_FF87B2E0:\n"
243  "BL sub_FF967BE0\n"
244  "B loc_FF87B3B0\n"
245 "loc_FF87B2E8:\n"
246  "BL sub_FF967CA0\n"
247  "B loc_FF87B3B0\n"
248 "loc_FF87B2F0:\n"
249  "MOV R0, #1\n"
250 "loc_FF87B2F4:\n"
251  "BL sub_FF967A00\n"
252  "B loc_FF87B3B0\n"
253 "loc_FF87B2FC:\n"
254  "BL sub_FF87BE88\n"
255  "B loc_FF87B3B0\n"
256 "loc_FF87B304:\n"
257  "BL sub_FF87BF28\n"
258  "BL sub_FF87B4D8\n"
259  "B loc_FF87B3B0\n"
260 "loc_FF87B310:\n"
261  "BL sub_FF96788C\n"
262  "B loc_FF87B3B0\n"
263 "loc_FF87B318:\n"
264  "MOV R2, #2\n"
265  "ADD R1, R4, #0x62\n"
266  "MOV R0, #0x6F\n"
267  "BL sub_FF88D5E0\n"
268  "TST R0, #1\n"
269  "LDRNE R1, =0x6AA\n"
270  "LDRNE R0, =0xFF87A868\n"
271  "BLNE sub_FF81E88C\n"
272  "LDRH R0, [R4,#0x62]\n"
273  "CMP R0, #1\n"
274  "BLEQ sub_FF967880\n"
275  "B loc_FF87B3B0\n"
276 "loc_FF87B348:\n"
277  "BL sub_FF967930\n"
278  "B loc_FF87B3B0\n"
279 "loc_FF87B350:\n"
280  "BL sub_FF87A7F4\n"
281  "B loc_FF87B3B0\n"
282 "loc_FF87B358:\n"
283  "BL sub_FF83654C\n"
284  "B loc_FF87B3B0\n"
285 "loc_FF87B360:\n"
286  "BL sub_FF87E964\n"
287  "B loc_FF87B3B0\n"
288 "loc_FF87B368:\n"
289  "BL sub_FF87E9CC\n"
290  "B loc_FF87B3B0\n"
291 "loc_FF87B370:\n"
292  "BL sub_FF87EA28\n"
293  "BL sub_FF87E9E8\n"
294  "B loc_FF87B3B0\n"
295 "loc_FF87B37C:\n"
296  "MOV R0, #1\n"
297  "BL sub_FF969228\n"
298  "MOV R0, #1\n"
299  "BL sub_FF969338\n"
300  "LDRH R0, [R4,#0xA0]\n"
301  "CMP R0, #4\n"
302  "BNE loc_FF87B3B0\n"
303  "BL sub_FF87E9CC\n"
304  "BL sub_FF87EE14\n"
305  "B loc_FF87B3B0\n"
306 "loc_FF87B3A4:\n"
307  "LDR R1, =0x708\n"
308  "LDR R0, =0xFF87A868\n"
309  "BL sub_FF81E88C\n"
310 "loc_FF87B3B0:\n"
311  "LDR R0, [SP]\n"
312  "LDR R1, [R0,#4]\n"
313  "LDR R0, [R6]\n"
314  "BL sub_FF885418\n"
315  "LDR R5, [SP]\n"
316  "LDR R0, [R5,#8]\n"
317  "CMP R0, #0\n"
318  "LDREQ R1, =0x131\n"
319  "LDREQ R0, =0xFF87A868\n"
320  "BLEQ sub_FF81E88C\n"
321  "STR R7, [R5,#8]\n"
322  "B loc_FF87B080\n"
323  );
324 }

Variablen-Dokumentation

long* nrflag = (long*)0x7290
static

Definiert in Zeile 5 der Datei capt_seq.c.