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

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

Definiert in Zeile 11 der Datei capt_seq.c.

11  {
12  // _sub_FF868B98__SsShootTask.c__13 (via taskcreate_CaptSeqTask)
13  asm volatile (
14  "STMFD SP!, {R3-R9,LR}\n"
15  "LDR R6, =0x52F0\n"
16  "LDR R4, =0x1AF4C\n"
17  "MOV R9, #1\n"
18  "MOV R7, #0\n"
19  "loc_FF861D10:\n"
20  "LDR R0, [R6,#0xC]\n"
21  "MOV R2, #0\n"
22  "MOV R1, SP\n"
23  "BL sub_FF827098\n"
24  "TST R0, #1\n"
25  "BEQ loc_FF861D3C\n"
26  "LDR R1, =0x539\n"
27  "LDR R0, =0xFF861840\n"
28  "BL sub_FF81B1CC\n"
29  "BL sub_FF81B184\n"
30  "LDMFD SP!, {R3-R9,PC}\n"
31  "loc_FF861D3C:\n"
32  "LDR R0, [SP]\n"
33  "LDR R1, [R0]\n"
34  "CMP R1, #0x1F\n"
35  "ADDLS PC, PC, R1,LSL#2\n"
36  "B loc_FF861FA0\n"
37  "loc_FF861D50:\n"
38  "B loc_FF861DD0\n"
39  "loc_FF861D54:\n"
40  "B loc_FF861E34\n"
41  "loc_FF861D58:\n"
42  "B loc_FF861E3C\n"
43  "loc_FF861D5C:\n"
44  "B loc_FF861E54\n"
45  "loc_FF861D60:\n"
46  "B loc_FF861E48\n"
47  "loc_FF861D64:\n"
48  "B loc_FF861E5C\n"
49  "loc_FF861D68:\n"
50  "B loc_FF861E64\n"
51  "loc_FF861D6C:\n"
52  "B loc_FF861E6C\n"
53  "loc_FF861D70:\n"
54  "B loc_FF861EC4\n"
55  "loc_FF861D74:\n"
56  "B loc_FF861EEC\n"
57  "loc_FF861D78:\n"
58  "B loc_FF861ED0\n"
59  "loc_FF861D7C:\n"
60  "B loc_FF861EDC\n"
61  "loc_FF861D80:\n"
62  "B loc_FF861EE4\n"
63  "loc_FF861D84:\n"
64  "B loc_FF861EF4\n"
65  "loc_FF861D88:\n"
66  "B loc_FF861EFC\n"
67  "loc_FF861D8C:\n"
68  "B loc_FF861F04\n"
69  "loc_FF861D90:\n"
70  "B loc_FF861F0C\n"
71  "loc_FF861D94:\n"
72  "B loc_FF861F14\n"
73  "loc_FF861D98:\n"
74  "B loc_FF861F1C\n"
75  "loc_FF861D9C:\n"
76  "B loc_FF861F24\n"
77  "loc_FF861DA0:\n"
78  "B loc_FF861F30\n"
79  "loc_FF861DA4:\n"
80  "B loc_FF861F38\n"
81  "loc_FF861DA8:\n"
82  "B loc_FF861F40\n"
83  "loc_FF861DAC:\n"
84  "B loc_FF861F48\n"
85  "loc_FF861DB0:\n"
86  "B loc_FF861F50\n"
87  "loc_FF861DB4:\n"
88  "B loc_FF861F5C\n"
89  "loc_FF861DB8:\n"
90  "B loc_FF861F64\n"
91  "loc_FF861DBC:\n"
92  "B loc_FF861F6C\n"
93  "loc_FF861DC0:\n"
94  "B loc_FF861F74\n"
95  "loc_FF861DC4:\n"
96  "B loc_FF861F7C\n"
97  "loc_FF861DC8:\n"
98  "B loc_FF861F88\n"
99  "loc_FF861DCC:\n"
100  "B loc_FF861FAC\n"
101  "loc_FF861DD0:\n"
102  "BL sub_FF8625F4\n"
103  "BL shooting_expo_param_override\n" // +
104  "BL sub_FF85FDFC\n"
105 
106  // this code added to avoid some incorrect behavior if overrides are used.
107  // but it can cause some unexpected side effects. In this case, remove this code!
108 
109  "MOV R0, #0\n"
110  "STR R0, [R4,#0x24]\n" // fixes overrides behavior at short shutter press
111 
112  // end of my code
113 
114  "LDR R0, [R4,#0x24]\n"
115  "CMP R0, #0\n"
116  "BEQ loc_FF861FAC\n"
117  "BL sub_FF861518\n"
118  "MOV R5, R0\n"
119  "LDR R0, [R4,#0x24]\n"
120  "CMP R0, #0\n"
121  "BEQ loc_FF861E18\n"
122  "MOV R0, #0xC\n"
123  "BL sub_FF865A7C\n"
124  "TST R0, #1\n"
125  "STRNE R9, [R6,#4]\n"
126  "LDRNE R0, [R5,#8]\n"
127  "ORRNE R0, R0, #0x40000000\n"
128  "STRNE R0, [R5,#8]\n"
129  "BNE loc_FF861FAC\n"
130  "loc_FF861E18:\n"
131  "MOV R0, R5\n"
132  "BL sub_FF8617C4\n"
133  "MOV R0, R5\n"
134  "BL sub_FF935BCC_my\n" // ----------->
135  "BL capt_seq_hook_raw_here\n" // +
136  "TST R0, #1\n"
137  "STRNE R9, [R6,#4]\n"
138  "B loc_FF861FAC\n"
139  "loc_FF861E34:\n"
140  "BL sub_FF8620C4_my\n" // ----------->
141  "B loc_FF861E4C\n"
142  "loc_FF861E3C:\n"
143  "MOV R0, #1\n"
144  "BL sub_FF86280C\n"
145  "B loc_FF861FAC\n"
146  "loc_FF861E48:\n"
147  "BL sub_FF862258\n"
148  "loc_FF861E4C:\n"
149  "STR R7, [R4,#0x24]\n"
150  "B loc_FF861FAC\n"
151  "loc_FF861E54:\n"
152  "BL sub_FF8625D4\n"
153  "B loc_FF861E4C\n"
154  "loc_FF861E5C:\n"
155  "BL sub_FF8625DC\n"
156  "B loc_FF861FAC\n"
157  "loc_FF861E64:\n"
158  "BL sub_FF86272C\n"
159  "B loc_FF861EC8\n"
160  "loc_FF861E6C:\n"
161  "LDR R5, [R0,#0xC]\n"
162  "BL sub_FF8625E4\n"
163  "MOV R0, R5\n"
164  "BL sub_FF934B7C\n"
165  "TST R0, #1\n"
166  "MOV R8, R0\n"
167  "BNE loc_FF861EAC\n"
168  "BL sub_FF871938\n"
169  "STR R0, [R5,#0x18]\n"
170  "MOV R0, R5\n"
171  "BL sub_FF935A88\n"
172  "MOV R0, R5\n"
173  "BL sub_FF935E94\n"
174  "MOV R8, R0\n"
175  "LDR R0, [R5,#0x18]\n"
176  "BL sub_FF871B4C\n"
177  "loc_FF861EAC:\n"
178  "BL sub_FF8625D4\n"
179  "MOV R2, R5\n"
180  "MOV R1, #9\n"
181  "MOV R0, R8\n"
182  "BL sub_FF860288\n"
183  "B loc_FF861FAC\n"
184  "loc_FF861EC4:\n"
185  "BL sub_FF86278C\n"
186  "loc_FF861EC8:\n"
187  "BL sub_FF85FDFC\n"
188  "B loc_FF861FAC\n"
189  "loc_FF861ED0:\n"
190  "LDR R0, [R4,#0x54]\n"
191  "BL sub_FF862BA0\n"
192  "B loc_FF861FAC\n"
193  "loc_FF861EDC:\n"
194  "BL sub_FF862E50\n"
195  "B loc_FF861FAC\n"
196  "loc_FF861EE4:\n"
197  "BL sub_FF862EE0\n"
198  "B loc_FF861FAC\n"
199  "loc_FF861EEC:\n"
200  "BL sub_FF8625D4\n"
201  "B loc_FF861FAC\n"
202  "loc_FF861EF4:\n"
203  "BL sub_FF934D98\n"
204  "B loc_FF861FAC\n"
205  "loc_FF861EFC:\n"
206  "BL sub_FF934F80\n"
207  "B loc_FF861FAC\n"
208  "loc_FF861F04:\n"
209  "BL sub_FF935010\n"
210  "B loc_FF861FAC\n"
211  "loc_FF861F0C:\n"
212  "BL sub_FF9350C4\n"
213  "B loc_FF861FAC\n"
214  "loc_FF861F14:\n"
215  "BL sub_FF9352C4\n"
216  "B loc_FF861FAC\n"
217  "loc_FF861F1C:\n"
218  "BL sub_FF93531C\n"
219  "B loc_FF861FAC\n"
220  "loc_FF861F24:\n"
221  "MOV R0, #0\n"
222  "BL sub_FF9353A4\n"
223  "B loc_FF861FAC\n"
224  "loc_FF861F30:\n"
225  "BL sub_FF9354DC\n"
226  "B loc_FF861FAC\n"
227  "loc_FF861F38:\n"
228  "BL sub_FF93556C\n"
229  "B loc_FF861FAC\n"
230  "loc_FF861F40:\n"
231  "BL sub_FF93562C\n"
232  "B loc_FF861FAC\n"
233  "loc_FF861F48:\n"
234  "BL sub_FF86298C\n"
235  "B loc_FF861FAC\n"
236  "loc_FF861F50:\n"
237  "BL sub_FF862A2C\n"
238  "BL sub_FF824944\n"
239  "B loc_FF861FAC\n"
240  "loc_FF861F5C:\n"
241  "BL sub_FF935180\n"
242  "B loc_FF861FAC\n"
243  "loc_FF861F64:\n"
244  "BL sub_FF9351EC\n"
245  "B loc_FF861FAC\n"
246  "loc_FF861F6C:\n"
247  "BL sub_FF864438\n"
248  "B loc_FF861FAC\n"
249  "loc_FF861F74:\n"
250  "BL sub_FF8644A0\n"
251  "B loc_FF861FAC\n"
252  "loc_FF861F7C:\n"
253  "BL sub_FF8644FC\n"
254  "BL sub_FF8644BC\n"
255  "B loc_FF861FAC\n"
256  "loc_FF861F88:\n"
257  "MOV R0, #1\n"
258  "BL sub_FF9366B4\n"
259  "LDRH R0, [R4,#0x8C]\n"
260  "CMP R0, #3\n"
261  "BLNE sub_FF8646F8\n"
262  "B loc_FF861FAC\n"
263  "loc_FF861FA0:\n"
264  "LDR R1, =0x65E\n"
265  "LDR R0, =0xFF861840\n"
266  "BL sub_FF81B1CC\n"
267  "loc_FF861FAC:\n"
268  "LDR R0, [SP]\n"
269  "LDR R1, [R0,#4]\n"
270  "LDR R0, [R6,#8]\n"
271  "BL sub_FF8694D4\n"
272  "LDR R5, [SP]\n"
273  "LDR R0, [R5,#8]\n"
274  "CMP R0, #0\n"
275  "LDREQ R1, =0x11D\n"
276  "LDREQ R0, =0xFF861840\n"
277  "BLEQ sub_FF81B1CC\n"
278  "STR R7, [R5,#8]\n"
279  "B loc_FF861D10\n"
280  );
281 }

Variablen-Dokumentation

long* nrflag = (long*)0x9268
static

Definiert in Zeile 7 der Datei capt_seq.c.