CHDK_DE Vorschauversion  Trunk Rev. 5641
 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

Makrodefinitionen

#define USE_STUBS_NRFLAG   1
 
#define NR_AUTO   (0)
 
#define PAUSE_FOR_FILE_COUNTER   200
 

Funktionen

void __attribute__ ((naked, noinline))
 

Makro-Dokumentation

#define NR_AUTO   (0)

Definiert in Zeile 9 der Datei capt_seq.c.

#define PAUSE_FOR_FILE_COUNTER   200

Definiert in Zeile 10 der Datei capt_seq.c.

#define USE_STUBS_NRFLAG   1

Definiert in Zeile 8 der Datei capt_seq.c.

Dokumentation der Funktionen

void __attribute__ ( (naked, noinline)  )

Definiert in Zeile 16 der Datei capt_seq.c.

16  {
17 asm volatile (
18 " STMFD SP!, {R3-R9,LR} \n"
19 " LDR R5, =0x39E7C \n"
20 " LDR R7, =0x2B20 \n"
21 " MOV R6, #0 \n"
22 
23 "loc_FF878900:\n"
24 " LDR R0, [R7, #4] \n"
25 " MOV R2, #0 \n"
26 " MOV R1, SP \n"
27 " BL sub_FF839B6C /*_ReceiveMessageQueue*/ \n"
28 " TST R0, #1 \n"
29 " BEQ loc_FF87892C \n"
30 " LDR R1, =0x476 \n"
31 " LDR R0, =0xFF878490 /*'SsShootTask.c'*/ \n"
32 " BL _DebugAssert \n"
33 " BL _ExitTask \n"
34 " LDMFD SP!, {R3-R9,PC} \n"
35 
36 "loc_FF87892C:\n"
37 " LDR R0, [SP] \n"
38 " LDR R1, [R0] \n"
39 " CMP R1, #0x20 \n"
40 " ADDCC PC, PC, R1, LSL#2 \n"
41 " B loc_FF878B4C \n"
42 " B loc_FF8789C0 \n"
43 " B loc_FF8789D8 \n"
44 " B loc_FF878A04 \n"
45 " B loc_FF878A18 \n"
46 " B loc_FF878A10 \n"
47 " B loc_FF878A24 \n"
48 " B loc_FF878A2C \n"
49 " B loc_FF878A34 \n"
50 " B loc_FF878A50 \n"
51 " B loc_FF878A78 \n"
52 " B loc_FF878A5C \n"
53 " B loc_FF878A68 \n"
54 " B loc_FF878A70 \n"
55 " B loc_FF878A80 \n"
56 " B loc_FF878A88 \n"
57 " B loc_FF878A90 \n"
58 " B loc_FF878A98 \n"
59 " B loc_FF878AA0 \n"
60 " B loc_FF878AAC \n"
61 " B loc_FF878AB4 \n"
62 " B loc_FF878ABC \n"
63 " B loc_FF878AC4 \n"
64 " B loc_FF878ACC \n"
65 " B loc_FF878AD8 \n"
66 " B loc_FF878AE0 \n"
67 " B loc_FF878AE8 \n"
68 " B loc_FF878AF0 \n"
69 " B loc_FF878AF8 \n"
70 " B loc_FF878B00 \n"
71 " B loc_FF878B08 \n"
72 " B loc_FF878B14 \n"
73 " B loc_FF878B58 \n"
74 
75 "loc_FF8789C0:\n"
76 " BL shooting_expo_iso_override\n" // added
77 " BL sub_FF8790BC \n"
78 " BL shooting_expo_param_override\n" // added
79 " BL sub_FF876588 \n"
80 " MOV R0, #0\n" // added
81 " STR R0, [R5,#0x28]\n" // added, fixes overrides behavior at short shutter press (from S95)
82 //" LDR R0, [R5, #0x28] \n" // above patch makes these three lines redundant
83 //" CMP R0, #0 \n"
84 //" BLNE _sub_FF968FB0 \n"
85 " B loc_FF878B58 \n"
86 
87 "loc_FF8789D8:\n"
88 " LDR R8, [R0, #0xC] \n"
89 " MOV R0, R8 \n"
90 " BL sub_FF968ED8_my \n" // --> Patched. Old value = 0xFF968ED8.
91 " BL capt_seq_hook_raw_here\n"
92 " MOV R4, R0 \n"
93 " MOV R2, R8 \n"
94 " MOV R1, #1 \n"
95 " BL sub_FF876B60 \n"
96 " TST R4, #1 \n"
97 " MOVEQ R0, R8 \n"
98 " BLEQ sub_FF968A04 \n"
99 " B loc_FF878B58 \n"
100 
101 "loc_FF878A04:\n"
102 " MOV R0, #1 \n"
103 " BL sub_FF87935C \n"
104 " B loc_FF878B58 \n"
105 
106 "loc_FF878A10:\n"
107 " BL sub_FF878D58 \n"
108 " B loc_FF878A1C \n"
109 
110 "loc_FF878A18:\n"
111 " BL sub_FF87909C \n"
112 
113 "loc_FF878A1C:\n"
114 " STR R6, [R5, #0x28] \n"
115 " B loc_FF878B58 \n"
116 
117 "loc_FF878A24:\n"
118 " BL sub_FF8790A4 \n"
119 " B loc_FF878B58 \n"
120 
121 "loc_FF878A2C:\n"
122 " BL sub_FF879270 \n"
123 " B loc_FF878A54 \n"
124 
125 "loc_FF878A34:\n"
126 " LDR R4, [R0, #0xC] \n"
127 " MOV R0, R4 \n"
128 " BL sub_FF969004 \n"
129 " MOV R2, R4 \n"
130 " MOV R1, #9 \n"
131 " BL sub_FF876B60 \n"
132 " B loc_FF878B58 \n"
133 
134 "loc_FF878A50:\n"
135 " BL sub_FF8792D4 \n"
136 
137 "loc_FF878A54:\n"
138 " BL sub_FF876588 \n"
139 " B loc_FF878B58 \n"
140 
141 "loc_FF878A5C:\n"
142 " LDR R0, [R5, #0x58] \n"
143 " BL sub_FF8797A0 \n"
144 " B loc_FF878B58 \n"
145 
146 "loc_FF878A68:\n"
147 " BL sub_FF879AEC \n"
148 " B loc_FF878B58 \n"
149 
150 "loc_FF878A70:\n"
151 " BL sub_FF879B50 \n"
152 " B loc_FF878B58 \n"
153 
154 "loc_FF878A78:\n"
155 " BL sub_FF87909C \n"
156 " B loc_FF878B58 \n"
157 
158 "loc_FF878A80:\n"
159 " BL sub_FF967E0C \n"
160 " B loc_FF878B58 \n"
161 
162 "loc_FF878A88:\n"
163 " BL sub_FF968018 \n"
164 " B loc_FF878B58 \n"
165 
166 "loc_FF878A90:\n"
167 " BL sub_FF9680BC \n"
168 " B loc_FF878B58 \n"
169 
170 "loc_FF878A98:\n"
171 " BL sub_FF96818C \n"
172 " B loc_FF878B58 \n"
173 
174 "loc_FF878AA0:\n"
175 " MOV R0, #0 \n"
176 " BL sub_FF968394 \n"
177 " B loc_FF878B58 \n"
178 
179 "loc_FF878AAC:\n"
180 " BL sub_FF96850C \n"
181 " B loc_FF878B58 \n"
182 
183 "loc_FF878AB4:\n"
184 " BL sub_FF9685B0 \n"
185 " B loc_FF878B58 \n"
186 
187 "loc_FF878ABC:\n"
188 " BL sub_FF968690 \n"
189 " B loc_FF878B58 \n"
190 
191 "loc_FF878AC4:\n"
192 " BL sub_FF8794C8 \n"
193 " B loc_FF878B58 \n"
194 
195 "loc_FF878ACC:\n"
196 " BL sub_FF8794F4 \n"
197 " BL sub_FF837B24 \n"
198 " B loc_FF878B58 \n"
199 
200 "loc_FF878AD8:\n"
201 " BL sub_FF968250 \n"
202 " B loc_FF878B58 \n"
203 
204 "loc_FF878AE0:\n"
205 " BL sub_FF968290 \n"
206 " B loc_FF878B58 \n"
207 
208 "loc_FF878AE8:\n"
209 " BL sub_FF87BDF0 \n"
210 " B loc_FF878B58 \n"
211 
212 "loc_FF878AF0:\n"
213 " BL sub_FF87BE60 \n"
214 " B loc_FF878B58 \n"
215 
216 "loc_FF878AF8:\n"
217 " BL sub_FF9687C8 \n"
218 " B loc_FF878B58 \n"
219 
220 "loc_FF878B00:\n"
221 " BL sub_FF96882C \n"
222 " B loc_FF878B58 \n"
223 
224 "loc_FF878B08:\n"
225 " BL sub_FF87BEBC \n"
226 " BL sub_FF87BE7C \n"
227 " B loc_FF878B58 \n"
228 
229 "loc_FF878B14:\n"
230 " MOV R0, #1 \n"
231 " BL sub_FF96977C \n"
232 " MOV R0, #1 \n"
233 " BL sub_FF9698A4 \n"
234 " LDRH R0, [R5, #0x98] \n"
235 " CMP R0, #4 \n"
236 " LDRNEH R0, [R5] \n"
237 " SUBNE R1, R0, #0x4200 \n"
238 " SUBNES R1, R1, #0x2A \n"
239 " BNE loc_FF878B58 \n"
240 " BL sub_FF87BE60 \n"
241 " BL sub_FF87C460 \n"
242 " BL sub_FF87C2E0 \n"
243 " B loc_FF878B58 \n"
244 
245 "loc_FF878B4C:\n"
246 " LDR R1, =0x5D7 \n"
247 " LDR R0, =0xFF878490 /*'SsShootTask.c'*/ \n"
248 " BL _DebugAssert \n"
249 
250 "loc_FF878B58:\n"
251 " LDR R0, [SP] \n"
252 " LDR R1, [R0, #4] \n"
253 " LDR R0, [R7] \n"
254 " BL sub_FF8828F8 /*_SetEventFlag*/ \n"
255 " LDR R4, [SP] \n"
256 " LDR R0, [R4, #8] \n"
257 " CMP R0, #0 \n"
258 " LDREQ R0, =0xFF878490 /*'SsShootTask.c'*/ \n"
259 " MOVEQ R1, #0x118 \n"
260 " BLEQ _DebugAssert \n"
261 " STR R6, [R4, #8] \n"
262 " B loc_FF878900 \n"
263 );
264 }