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*)0xA5CC
 

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

Definiert in Zeile 10 der Datei capt_seq.c.

10  { // ROM:FF86CB80
11  asm volatile (
12  "STMFD SP!, {R3-R9,LR}\n"
13  "LDR R5, =0x5700\n"
14  "LDR R4, =0x1CF68\n"
15  "MOV R9, #1\n"
16  "MOV R7, #0\n"
17  "loc_FF86CB94:\n"
18  "LDR R0, [R5,#0x14]\n"
19  "MOV R2, #0\n"
20  "MOV R1, SP\n"
21  "BL sub_FF82759C\n"
22  "TST R0, #1\n"
23  "BEQ loc_FF86CBC0\n"
24  "LDR R1, =0x588\n"
25  "LDR R0, =0xFF86C220\n"
26  "BL sub_FF81B1CC\n"
27  "BL sub_FF81B184\n"
28  "LDMFD SP!, {R3-R9,PC}\n"
29  "loc_FF86CBC0:\n"
30  "LDR R0, [SP, #0]\n"
31  "LDR R1, [R0]\n"
32  "CMP R1, #0x25\n"
33  "ADDLS PC, PC, R1,LSL#2\n"
34  "B loc_FF86CEE8\n"
35  "loc_FF86CBD4:\n"
36  "B loc_FF86CC6C\n"
37  "loc_FF86CBD8:\n"
38  "B loc_FF86CCD8\n"
39  "loc_FF86CBDC:\n"
40  "B loc_FF86CD14\n"
41  "loc_FF86CBE0:\n"
42  "B loc_FF86CD34\n"
43  "loc_FF86CBE4:\n"
44  "B loc_FF86CD2C\n"
45  "loc_FF86CBE8:\n"
46  "B loc_FF86CD4C\n"
47  "loc_FF86CBEC:\n"
48  "B loc_FF86CD54\n"
49  "loc_FF86CBF0:\n"
50  "B loc_FF86CD5C\n"
51  "loc_FF86CBF4:\n"
52  "B loc_FF86CDB4\n"
53  "loc_FF86CBF8:\n"
54  "B loc_FF86CDDC\n"
55  "loc_FF86CBFC:\n"
56  "B loc_FF86CDC0\n"
57  "loc_FF86CC00:\n"
58  "B loc_FF86CDCC\n"
59  "loc_FF86CC04:\n"
60  "B loc_FF86CDD4\n"
61  "loc_FF86CC08:\n"
62  "B loc_FF86CDE4\n"
63  "loc_FF86CC0C:\n"
64  "B loc_FF86CDEC\n"
65  "loc_FF86CC10:\n"
66  "B loc_FF86CDF4\n"
67  "loc_FF86CC14:\n"
68  "B loc_FF86CDFC\n"
69  "loc_FF86CC18:\n"
70  "B loc_FF86CE04\n"
71  "loc_FF86CC1C:\n"
72  "B loc_FF86CE0C\n"
73  "loc_FF86CC20:\n"
74  "B loc_FF86CE14\n"
75  "loc_FF86CC24:\n"
76  "B loc_FF86CE1C\n"
77  "loc_FF86CC28:\n"
78  "B loc_FF86CE24\n"
79  "loc_FF86CC2C:\n"
80  "B loc_FF86CE2C\n"
81  "loc_FF86CC30:\n"
82  "B loc_FF86CE34\n"
83  "loc_FF86CC34:\n"
84  "B loc_FF86CE3C\n"
85  "loc_FF86CC38:\n"
86  "B loc_FF86CE48\n"
87  "loc_FF86CC3C:\n"
88  "B loc_FF86CE50\n"
89  "loc_FF86CC40:\n"
90  "B loc_FF86CE5C\n"
91  "loc_FF86CC44:\n"
92  "B loc_FF86CE64\n"
93  "loc_FF86CC48:\n"
94  "B loc_FF86CE94\n"
95  "loc_FF86CC4C:\n"
96  "B loc_FF86CE9C\n"
97  "loc_FF86CC50:\n"
98  "B loc_FF86CEA4\n"
99  "loc_FF86CC54:\n"
100  "B loc_FF86CEAC\n"
101  "loc_FF86CC58:\n"
102  "B loc_FF86CEB4\n"
103  "loc_FF86CC5C:\n"
104  "B loc_FF86CEBC\n"
105  "loc_FF86CC60:\n"
106  "B loc_FF86CEC8\n"
107  "loc_FF86CC64:\n"
108  "B loc_FF86CEE0\n"
109  "loc_FF86CC68:\n"
110  "B loc_FF86CEF4\n"
111  "loc_FF86CC6C:\n"
112  "BL sub_FF86D504\n"
113  "BL shooting_expo_param_override\n" // +
114  "BL sub_FF86A444\n"
115 
116  // this code added to avoid some incorrect behavior if overrides are used.
117  // but it can cause some unexpected side effects. In this case, remove this code!
118 
119  "MOV R0, #0\n"
120  "STR R0, [R4,#0x24]\n" // fixes overrides behavior at short shutter press
121 
122  // end of my code
123 
124  "LDR R0, [R4,#0x24]\n"
125  "CMP R0, #0\n"
126  "BEQ loc_FF86CEF4\n"
127  "BL sub_FF86BEEC\n"
128  "MOV R6, R0\n"
129  "LDR R0, [R4,#0x24]\n"
130  "CMP R0, #0\n"
131  "BEQ loc_FF86CCB4\n"
132  "MOV R0, #0xC\n"
133  "BL sub_FF871600\n"
134  "TST R0, #1\n"
135  "STRNE R9, [R5,#4]\n"
136  "LDRNE R0, [R6,#8]\n"
137  "ORRNE R0, R0, #0x40000000\n"
138  "STRNE R0, [R6,#8]\n"
139  "BNE loc_FF86CEF4\n"
140  "loc_FF86CCB4:\n"
141  "MOV R0, R6\n"
142  "BL sub_FF960564\n"
143  "MOV R0, R6\n"
144  "BL sub_FF86C2D4\n"
145  "MOV R0, R6\n"
146  // "BL sub_FF960CD4\n" // Original Routine
147  "BL sub_FF960CD4_my\n" // ----------->
148  "BL capt_seq_hook_raw_here\n" // +
149  "TST R0, #1\n"
150  "STRNE R9, [R5,#4]\n"
151  "B loc_FF86CEF4\n"
152 
153 "loc_FF86CCD8:\n"
154  "LDR R0, [R4,#0x24]\n"
155  "CMP R0, #0\n"
156  "BNE loc_FF86CD04\n"
157  "MOV R0, #0xC\n"
158  "BL sub_FF871600\n"
159  "TST R0, #1\n"
160  "LDRNE R0, [SP,#0]\n"
161  "MOVNE R1, #1\n"
162  "LDRNE R2, [R0,#0xC]\n"
163  "MOVNE R0, #1\n"
164  "BNE loc_FF86CDAC\n"
165 "loc_FF86CD04:\n"
166  "LDR R0, [SP,#0]\n"
167  // "BL sub_FF86C34C\n" //Original
168  "BL sub_FF86C34C_my\n" // ---------->
169 "loc_FF86CD0C:\n"
170  "STR R7, [R4,#0x24]\n"
171  "B loc_FF86CEF4\n"
172 "loc_FF86CD14:\n"
173  "MOV R0, #1\n"
174  "BL sub_FF86D778\n"
175  "LDR R0, [R4,#0xC]\n"
176  "CMP R0, #0\n"
177  "BLNE sub_FF86E3F8\n"
178  "B loc_FF86CEF4\n"
179 
180 "loc_FF86CD2C:\n"
181  "BL sub_FF86D1D0\n"
182  "B loc_FF86CD0C\n"
183 
184 "loc_FF86CD34:\n"
185  "BL sub_FF86D4E4\n"
186  "LDR R0, [R5,#0x1C]\n"
187  "CMP R0, #0\n"
188  "STRNE R7, [R5,#0x1C]\n"
189  "BLNE sub_FF86CAC4\n"
190  "B loc_FF86CD0C\n"
191 
192  "loc_FF86CD4C:\n"
193  "BL sub_FF86D4EC\n"
194  "B loc_FF86CEF4\n"
195  "loc_FF86CD54:\n"
196  "BL sub_FF86D668\n"
197  "B loc_FF86CDB8\n"
198  "loc_FF86CD5C:\n"
199  "LDR R6, [R0,#0xC]\n"
200  "BL sub_FF86D4F4\n"
201  "MOV R0, R6\n"
202  "BL sub_FF95F550\n"
203  "TST R0, #1\n"
204  "MOV R8, R0\n"
205  "BNE loc_FF86CD9C\n"
206  "BL sub_FF87DD5C\n"
207  "STR R0, [R6,#0x18]\n"
208  "MOV R0, R6\n"
209  "BL sub_FF960BEC\n"
210  "MOV R0, R6\n"
211  "BL sub_FF961028\n"
212  "MOV R8, R0\n"
213  "LDR R0, [R6,#0x18]\n"
214  "BL sub_FF87DF70\n"
215  "loc_FF86CD9C:\n"
216  "BL sub_FF86D4E4\n"
217  "MOV R2, R6\n"
218  "MOV R1, #9\n"
219  "MOV R0, R8\n"
220 
221  "loc_FF86CDAC:\n"
222  "BL sub_FF86A9F0\n"
223  "B loc_FF86CEF4\n"
224  "loc_FF86CDB4:\n"
225  "BL sub_FF86D6F8\n"
226  "loc_FF86CDB8:\n"
227  "BL sub_FF86A444\n"
228  "B loc_FF86CEF4\n"
229  "loc_FF86CDC0:\n"
230  "LDR R0, [R4,#0x54]\n"
231  "BL sub_FF86DED8\n"
232  "B loc_FF86CEF4\n"
233  "loc_FF86CDCC:\n"
234  "BL sub_FF86E1D8\n"
235  "B loc_FF86CEF4\n"
236  "loc_FF86CDD4:\n"
237  "BL sub_FF86E230\n"
238  "B loc_FF86CEF4\n"
239  "loc_FF86CDDC:\n"
240  "BL sub_FF86D4E4\n"
241  "B loc_FF86CEF4\n"
242  "loc_FF86CDE4:\n"
243  "BL sub_FF95F788\n"
244  "B loc_FF86CEF4\n"
245  "loc_FF86CDEC:\n"
246  "BL sub_FF95F9B4\n"
247  "B loc_FF86CEF4\n"
248  "loc_FF86CDF4:\n"
249  "BL sub_FF95FA48\n"
250  "B loc_FF86CEF4\n"
251  "loc_FF86CDFC:\n"
252  "BL sub_FF95FB70\n"
253  "B loc_FF86CEF4\n"
254  "loc_FF86CE04:\n"
255  "BL sub_FF95FC24\n"
256  "B loc_FF86CEF4\n"
257  "loc_FF86CE0C:\n"
258  "BL sub_FF9600B4\n"
259  "B loc_FF86CEF4\n"
260  "loc_FF86CE14:\n"
261  "BL sub_FF96010C\n"
262  "B loc_FF86CEF4\n"
263  "loc_FF86CE1C:\n"
264  "MOV R0, #0\n"
265  "B loc_FF86CE40\n"
266  "loc_FF86CE24:\n"
267  "BL sub_FF9602A8\n"
268  "B loc_FF86CEF4\n"
269  "loc_FF86CE2C:\n"
270  "BL sub_FF960338\n"
271  "B loc_FF86CEF4\n"
272  "loc_FF86CE34:\n"
273  "BL sub_FF9603F8\n"
274  "B loc_FF86CEF4\n"
275  "loc_FF86CE3C:\n"
276  "MOV R0, #1\n"
277  "loc_FF86CE40:\n"
278  "BL sub_FF960180\n"
279  "B loc_FF86CEF4\n"
280  "loc_FF86CE48:\n"
281  "BL sub_FF86D9B0\n"
282  "B loc_FF86CEF4\n"
283  "loc_FF86CE50:\n"
284  "BL sub_FF86DA50\n"
285  "BL sub_FF86D01C\n"
286  "B loc_FF86CEF4\n"
287  "loc_FF86CE5C:\n"
288  "BL sub_FF95FEDC\n"
289  "B loc_FF86CEF4\n"
290  "loc_FF86CE64:\n"
291  "MOV R2, #2\n"
292  "ADD R1, R4, #0x68\n"
293  "MOV R0, #0x6F\n"
294  "BL sub_FF87DBCC\n"
295  "TST R0, #1\n"
296  "LDRNE R1, =0x681\n"
297  "LDRNE R0, =0xFF86C220\n"
298  "BLNE sub_FF81B1CC\n"
299  "LDRH R0, [R4,#0x68]\n"
300  "CMP R0, #1\n"
301  "BLEQ sub_FF95FED0\n"
302  "B loc_FF86CEF4\n"
303  "loc_FF86CE94:\n"
304  "BL sub_FF960008\n"
305  "B loc_FF86CEF4\n"
306  "loc_FF86CE9C:\n"
307  "BL sub_FF86C1AC\n"
308  "B loc_FF86CEF4\n"
309  "loc_FF86CEA4:\n"
310  "BL sub_FF824944\n"
311  "B loc_FF86CEF4\n"
312  "loc_FF86CEAC:\n"
313  "BL sub_FF86FC84\n"
314  "B loc_FF86CEF4\n"
315  "loc_FF86CEB4:\n"
316  "BL sub_FF86FCEC\n"
317  "B loc_FF86CEF4\n"
318  "loc_FF86CEBC :\n"
319  "BL sub_FF86FD48\n"
320  "BL sub_FF86FD08\n"
321  "B loc_FF86CEF4\n"
322  "loc_FF86CEC8:\n"
323  "MOV R0, #1\n"
324  "BL sub_FF96180C\n"
325  "LDRH R0, [R4,#0x94]\n"
326  "CMP R0, #3\n"
327  "BLNE sub_FF86FF04\n"
328  "B loc_FF86CEF4\n"
329 
330  "loc_FF86CEE0:\n"
331  "BL sub_FF86CAC4\n"
332  "B loc_FF86CEF4\n"
333 
334  "loc_FF86CEE8:\n"
335  "LDR R1, =0x6CB\n"
336  "LDR R0, =0xFF86C220\n"
337  "BL sub_FF81B1CC\n"
338  "loc_FF86CEF4:\n"
339  "LDR R0, [SP,#0]\n"
340  "LDR R1, [R0,#4]\n"
341  "LDR R0, [R5,#0x10]\n"
342  "BL sub_FF8758B4\n"
343  "LDR R6, [SP,#0]\n"
344  "LDR R0, [R6,#8]\n"
345  "CMP R0, #0\n"
346  "LDREQ R1, =0x12B\n"
347  "LDREQ R0, =0xFF86C220\n"
348  "BLEQ sub_FF81B1CC\n"
349  "STR R7, [R6,#8]\n"
350  "B loc_FF86CB94\n"
351  );
352 }

Variablen-Dokumentation

long* nrflag = (long*)0xA5CC
static

Definiert in Zeile 6 der Datei capt_seq.c.