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

Dokumentation der Funktionen

void __attribute__ ( (naked, noinline)  )

*-------------------------------------------------------------------—

!!

Definiert in Zeile 13 der Datei capt_seq.c.

13  {
14  asm volatile (
15 " STMFD SP!, {R3-R9,LR} \n"
16 " LDR R6, =0x2988 \n"
17 " LDR R4, =0x37B08 \n"
18 " MOV R9, #1 \n"
19 " MOV R7, #0 \n"
20 "loc_FF872FF4:\n"
21 " LDR R0, [R6,#4] \n"
22 " MOV R2, #0 \n"
23 " MOV R1, SP \n"
24 " BL sub_FF837DC8 \n"
25 " TST R0, #1 \n"
26 " BEQ loc_FF873020 \n"
27 " LDR R1, =0x5B4 \n"
28 " LDR R0, =0xFF872B70 \n"
29 " BL sub_FF81E88C \n"
30 " BL sub_FF81E844 \n"
31 " LDMFD SP!, {R3-R9,PC} \n"
32 "loc_FF873020:\n"
33 " LDR R0, [SP] \n"
34 " LDR R1, [R0] \n"
35 " CMP R1, #0x1D \n"
36 " ADDLS PC, PC, R1,LSL#2 \n"
37 " B loc_FF8732AC \n"
38 
39 "loc_FF873034: B loc_FF8730AC \n"
40 "loc_FF873038: B loc_FF873110 \n"
41 "loc_FF87303C: B loc_FF87314C \n"
42 "loc_FF873040: B loc_FF873160 \n"
43 "loc_FF873044: B loc_FF873158 \n"
44 "loc_FF873048: B loc_FF873168 \n"
45 "loc_FF87304C: B loc_FF873170 \n"
46 "loc_FF873050: B loc_FF873178 \n"
47 "loc_FF873054: B loc_FF8731D0 \n"
48 "loc_FF873058: B loc_FF8731F8 \n"
49 "loc_FF87305C: B loc_FF8731DC \n"
50 "loc_FF873060: B loc_FF8731E8 \n"
51 "loc_FF873064: B loc_FF8731F0 \n"
52 "loc_FF873068: B loc_FF873200 \n"
53 "loc_FF87306C: B loc_FF873208 \n"
54 "loc_FF873070: B loc_FF873210 \n"
55 "loc_FF873074: B loc_FF873218 \n"
56 "loc_FF873078: B loc_FF873220 \n"
57 "loc_FF87307C: B loc_FF87322C \n"
58 "loc_FF873080: B loc_FF873234 \n"
59 "loc_FF873084: B loc_FF87323C \n"
60 "loc_FF873088: B loc_FF873244 \n"
61 "loc_FF87308C: B loc_FF87324C \n"
62 "loc_FF873090: B loc_FF873258 \n"
63 "loc_FF873094: B loc_FF873260 \n"
64 "loc_FF873098: B loc_FF873268 \n"
65 "loc_FF87309C: B loc_FF873270 \n"
66 "loc_FF8730A0: B loc_FF873278 \n"
67 "loc_FF8730A4: B loc_FF873284 \n"
68 "loc_FF8730A8: B loc_FF8732B8 \n"
69 
70 "loc_FF8730AC:\n"
71 " BL sub_FF873938 \n"
72 " BL shooting_expo_param_override\n" // added
73 " BL sub_FF870E28 \n"
74 
75 // this code added to avoid some incorrect behavior if overrides are used.
76  // but it can cause some unexpected side effects. In this case, remove this code!
77  "MOV R0, #0\n"
78  "STR R0, [R4,#0x24]\n" // fixes overrides behavior at short shutter press
79 
80 " LDR R0, [R4,#0x24] \n"
81 " CMP R0, #0 \n"
82 " BEQ loc_FF8732B8 \n"
83 " BL sub_FF872850 \n"
84 " MOV R5, R0 \n"
85 " LDR R0, [R4,#0x24] \n"
86 " CMP R0, #0 \n"
87 " BEQ loc_FF8730F4 \n"
88 " MOV R0, #0xC \n"
89 " BL sub_FF877A7C \n"
90 " TST R0, #1 \n"
91 " STRNE R9, [R6,#0x10] \n"
92 " LDRNE R0, [R5,#8] \n"
93 " ORRNE R0, R0, #0x40000000 \n"
94 " STRNE R0, [R5,#8] \n"
95 " BNE loc_FF8732B8 \n"
96 
97 "loc_FF8730F4:\n"
98 " MOV R0, R5 \n"
99 " BL sub_FF872AF4 \n"
100 " MOV R0, R5 \n"
101 
102 //" BL sub_FF9425F4 \n"
103 " BL sub_FF9425F4_my \n" // patched
104 
105 " TST R0, #1 \n"
106 " STRNE R9, [R6,#0x10] \n"
107 " B loc_FF8732B8 \n"
108 
109 "loc_FF873110:\n"
110 " LDR R0, [R4,#0x24] \n"
111 " CMP R0, #0 \n"
112 " BNE loc_FF87313C \n"
113 " MOV R0, #0xC \n"
114 " BL sub_FF877A7C \n"
115 " TST R0, #1 \n"
116 " LDRNE R0, [SP] \n"
117 " MOVNE R1, #1 \n"
118 " LDRNE R2, [R0,#0xC] \n"
119 " MOVNE R0, #1 \n"
120 " BNE loc_FF8731C8 \n"
121 
122 "loc_FF87313C:\n"
123 " LDR R0, [SP] \n"
124 //" BL sub_FF8733D0 \n"
125 " BL sub_FF8733D0_my \n" // patched
126 
127 "loc_FF873144:\n"
128 " STR R7, [R4,#0x24] \n"
129 " B loc_FF8732B8 \n"
130 
131 "loc_FF87314C:\n"
132 " MOV R0, #1 \n"
133 " BL sub_FF873B8C \n"
134 " B loc_FF8732B8 \n"
135 
136 "loc_FF873158:\n"
137 " BL sub_FF873578 \n"
138 " B loc_FF873144 \n"
139 
140 "loc_FF873160:\n"
141 " BL sub_FF873918 \n"
142 " B loc_FF873144 \n"
143 
144 "loc_FF873168:\n"
145 " BL sub_FF873920 \n"
146 " B loc_FF8732B8 \n"
147 
148 "loc_FF873170:\n"
149 " BL sub_FF873AAC \n"
150 " B loc_FF8731D4 \n"
151 
152 "loc_FF873178:\n"
153 " LDR R5, [R0,#0xC] \n"
154 " BL sub_FF873928 \n"
155 " MOV R0, R5 \n"
156 " BL sub_FF94140C \n"
157 " TST R0, #1 \n"
158 " MOV R8, R0 \n"
159 " BNE loc_FF8731B8 \n"
160 " BL sub_FF884B34 \n"
161 " STR R0, [R5,#0x18] \n"
162 " MOV R0, R5 \n"
163 " BL sub_FF94250C \n"
164 " MOV R0, R5 \n"
165 " BL sub_FF942908 \n"
166 " MOV R8, R0 \n"
167 " LDR R0, [R5,#0x18] \n"
168 " BL sub_FF884D38 \n"
169 "loc_FF8731B8:\n"
170 " BL sub_FF873918 \n"
171 " MOV R2, R5 \n"
172 " MOV R1, #9 \n"
173 " MOV R0, R8 \n"
174 "loc_FF8731C8:\n"
175 " BL sub_FF871314 \n"
176 " B loc_FF8732B8 \n"
177 
178 "loc_FF8731D0:\n"
179 " BL sub_FF873B0C \n"
180 "loc_FF8731D4:\n"
181 " BL sub_FF870E28 \n"
182 " B loc_FF8732B8 \n"
183 "loc_FF8731DC:\n"
184 " LDR R0, [R4,#0x54] \n"
185 " BL sub_FF873F18 \n"
186 " B loc_FF8732B8 \n"
187 "loc_FF8731E8:\n"
188 " BL sub_FF8741CC \n"
189 " B loc_FF8732B8 \n"
190 "loc_FF8731F0:\n"
191 " BL sub_FF874260 \n"
192 " B loc_FF8732B8 \n"
193 "loc_FF8731F8:\n"
194 " BL sub_FF873918 \n"
195 " B loc_FF8732B8 \n"
196 "loc_FF873200:\n"
197 " BL sub_FF941624 \n"
198 " B loc_FF8732B8 \n"
199 "loc_FF873208:\n"
200 " BL sub_FF941838 \n"
201 " B loc_FF8732B8 \n"
202 "loc_FF873210:\n"
203 " BL sub_FF9418D0 \n"
204 " B loc_FF8732B8 \n"
205 "loc_FF873218:\n"
206 " BL sub_FF9419A0 \n"
207 " B loc_FF8732B8 \n"
208 "loc_FF873220:\n"
209 " MOV R0, #0 \n"
210 " BL sub_FF941BF0 \n"
211 " B loc_FF8732B8 \n"
212 "loc_FF87322C:\n"
213 " BL sub_FF941D40 \n"
214 " B loc_FF8732B8 \n"
215 "loc_FF873234:\n"
216 " BL sub_FF941DD0 \n"
217 " B loc_FF8732B8 \n"
218 "loc_FF87323C:\n"
219 " BL sub_FF941E90 \n"
220 " B loc_FF8732B8 \n"
221 "loc_FF873244:\n"
222 " BL sub_FF873D04 \n"
223 " B loc_FF8732B8 \n"
224 "loc_FF87324C:\n"
225 " BL sub_FF873DA4 \n"
226 " BL sub_FF835F18 \n"
227 " B loc_FF8732B8 \n"
228 "loc_FF873258:\n"
229 " BL sub_FF941A6C \n"
230 " B loc_FF8732B8 \n"
231 "loc_FF873260:\n"
232 " BL sub_FF941AD8 \n"
233 " B loc_FF8732B8 \n"
234 "loc_FF873268:\n"
235 " BL sub_FF87622C \n"
236 " B loc_FF8732B8 \n"
237 "loc_FF873270:\n"
238 " BL sub_FF876294 \n"
239 " B loc_FF8732B8 \n"
240 "loc_FF873278:\n"
241 " BL sub_FF8762F0 \n"
242 " BL sub_FF8762B0 \n"
243 " B loc_FF8732B8 \n"
244 "loc_FF873284:\n"
245 " MOV R0, #1 \n"
246 " BL sub_FF94314C \n"
247 " MOV R0, #1 \n"
248 " BL sub_FF94325C \n"
249 " LDRH R0, [R4,#0x98] \n"
250 " CMP R0, #4 \n"
251 " BNE loc_FF8732B8 \n"
252 " BL sub_FF876294 \n"
253 " BL sub_FF8766D0 \n"
254 " B loc_FF8732B8 \n"
255 
256 "loc_FF8732AC:\n"
257 " LDR R1, =0x709 \n"
258 " LDR R0, =0xFF872B70 \n"
259 " BL sub_FF81E88C \n"
260 
261 "loc_FF8732B8:\n"
262 " LDR R0, [SP] \n"
263 " LDR R1, [R0,#4] \n"
264 " LDR R0, [R6] \n"
265 " BL sub_FF87C838 \n"
266 " LDR R5, [SP] \n"
267 " LDR R0, [R5,#8] \n"
268 " CMP R0, #0 \n"
269 " LDREQ R1, =0x132 \n"
270 " LDREQ R0, =0xFF872B70 \n"
271 " BLEQ sub_FF81E88C \n"
272 " STR R7, [R5,#8] \n"
273 " B loc_FF872FF4 \n"
274  );
275 }

Variablen-Dokumentation

long* nrflag = (long*)0x6718
static

Definiert in Zeile 6 der Datei capt_seq.c.