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

Makrodefinitionen

#define USE_STUBS_NRFLAG   1
 

Funktionen

void __attribute__ ((naked, noinline))
 

Makro-Dokumentation

#define USE_STUBS_NRFLAG   1

Definiert in Zeile 8 der Datei capt_seq.c.

Dokumentation der Funktionen

void __attribute__ ( (naked, noinline)  )

!!

Definiert in Zeile 14 der Datei capt_seq.c.

14  {
15 asm volatile (
16 " STMFD SP!, {R3-R7,LR} \n"
17 " LDR R6, =0x52D0 \n"
18 
19 "loc_FFC488AC:\n"
20 " LDR R0, [R6, #8] \n"
21 " MOV R2, #0 \n"
22 " MOV R1, SP \n"
23 " BL sub_FFC1763C /*_ReceiveMessageQueue*/ \n"
24 " TST R0, #1 \n"
25 " BEQ loc_FFC488D8 \n"
26 " LDR R1, =0x48E \n"
27 " LDR R0, =0xFFC485CC /*'SsShootTask.c'*/ \n"
28 " BL _DebugAssert \n"
29 " BL _ExitTask \n"
30 " LDMFD SP!, {R3-R7,PC} \n"
31 
32 "loc_FFC488D8:\n"
33 " LDR R0, [SP] \n"
34 " LDR R1, [R0] \n"
35 " CMP R1, #0x19 \n"
36 " ADDLS PC, PC, R1, LSL#2 \n"
37 " B loc_FFC48AEC \n"
38 " B loc_FFC48954 \n"
39 " B loc_FFC4895C \n"
40 " B loc_FFC489DC \n"
41 " B loc_FFC489F0 \n"
42 " B loc_FFC489E8 \n"
43 " B loc_FFC489F8 \n"
44 " B loc_FFC48A00 \n"
45 " B loc_FFC48A0C \n"
46 " B loc_FFC48A64 \n"
47 " B loc_FFC489F0 \n"
48 " B loc_FFC48A6C \n"
49 " B loc_FFC48A74 \n"
50 " B loc_FFC48A7C \n"
51 " B loc_FFC48A84 \n"
52 " B loc_FFC48A8C \n"
53 " B loc_FFC48A98 \n"
54 " B loc_FFC48AA0 \n"
55 " B loc_FFC48AA8 \n"
56 " B loc_FFC48AB0 \n"
57 " B loc_FFC48ABC \n"
58 " B loc_FFC48AC4 \n"
59 " B loc_FFC48ACC \n"
60 " B loc_FFC48AD4 \n"
61 " B loc_FFC48ADC \n"
62 " B loc_FFC48AE4 \n"
63 " B loc_FFC48AF8 \n"
64 
65 "loc_FFC48954:\n"
66 " BL sub_FFD0B650 \n"
67 " BL shooting_expo_param_override\n" // added
68 " B loc_FFC48A04 \n"
69 
70 "loc_FFC4895C:\n"
71 " LDR R4, [R0, #0xC] \n"
72 " LDR R0, [R4, #8] \n"
73 " ORR R0, R0, #1 \n"
74 " STR R0, [R4, #8] \n"
75 " BL sub_FFD0B640 \n"
76 " MOV R0, R4 \n"
77 " BL sub_FFD0BA28 \n"
78 " TST R0, #1 \n"
79 " MOVNE R2, R4 \n"
80 " MOVNE R1, #1 \n"
81 " BNE loc_FFC48A5C \n"
82 " BL sub_FFD2A204 \n"
83 " BL sub_FFC57098 \n"
84 " STR R0, [R4, #0x14] \n"
85 " MOV R0, R4 \n"
86 " BL sub_FFD0CA20 \n"
87 " BL sub_FFD0D484 \n"
88 " MOV R0, R4 \n"
89 " BL sub_FFD0CAE8_my \n" // --> Patched. Old value = 0xFFD0CAE8.
90 " BL capt_seq_hook_raw_here \n" // added
91 " MOV R5, R0 \n"
92 " BL sub_FFD0E464 \n"
93 " BL sub_FFD0E4A0 \n"
94 " MOV R2, R4 \n"
95 " MOV R1, #1 \n"
96 " MOV R0, R5 \n"
97 " BL sub_FFC47080 \n"
98 " BL sub_FFD0CE98 \n"
99 " CMP R0, #0 \n"
100 " LDRNE R0, [R4, #8] \n"
101 " ORRNE R0, R0, #0x2000 \n"
102 " STRNE R0, [R4, #8] \n"
103 " B loc_FFC48AF8 \n"
104 
105 "loc_FFC489DC:\n"
106 " MOV R0, #1 \n"
107 " BL sub_FFD0B7E4 \n"
108 " B loc_FFC48AF8 \n"
109 
110 "loc_FFC489E8:\n"
111 " BL sub_FFD0B2B0 \n"
112 " B loc_FFC48AF8 \n"
113 
114 "loc_FFC489F0:\n"
115 " BL sub_FFD0B630 \n"
116 " B loc_FFC48AF8 \n"
117 
118 "loc_FFC489F8:\n"
119 " BL sub_FFD0B638 \n"
120 " B loc_FFC48AF8 \n"
121 
122 "loc_FFC48A00:\n"
123 " BL sub_FFD0B704 \n"
124 
125 "loc_FFC48A04:\n"
126 " BL sub_FFC46D00 \n"
127 " B loc_FFC48AF8 \n"
128 
129 "loc_FFC48A0C:\n"
130 " LDR R4, [R0, #0xC] \n"
131 " BL sub_FFD0B640 \n"
132 " MOV R0, R4 \n"
133 " BL sub_FFD0BDA8 \n"
134 " TST R0, #1 \n"
135 " MOV R5, R0 \n"
136 " BNE loc_FFC48A4C \n"
137 " BL sub_FFC57098 \n"
138 " STR R0, [R4, #0x14] \n"
139 " MOV R0, R4 \n"
140 " BL sub_FFD0CA20 \n"
141 " MOV R0, R4 \n"
142 " BL sub_FFD0CEF8 \n"
143 " MOV R5, R0 \n"
144 " LDR R0, [R4, #0x14] \n"
145 " BL sub_FFC572A4 \n"
146 
147 "loc_FFC48A4C:\n"
148 " BL sub_FFD0B630 \n"
149 " MOV R2, R4 \n"
150 " MOV R1, #9 \n"
151 " MOV R0, R5 \n"
152 
153 "loc_FFC48A5C:\n"
154 " BL sub_FFC47080 \n"
155 " B loc_FFC48AF8 \n"
156 
157 "loc_FFC48A64:\n"
158 " BL sub_FFD0B764 \n"
159 " B loc_FFC48A04 \n"
160 
161 "loc_FFC48A6C:\n"
162 " BL sub_FFD0C024 \n"
163 " B loc_FFC48AF8 \n"
164 
165 "loc_FFC48A74:\n"
166 " BL sub_FFD0C20C \n"
167 " B loc_FFC48AF8 \n"
168 
169 "loc_FFC48A7C:\n"
170 " BL sub_FFD0C29C \n"
171 " B loc_FFC48AF8 \n"
172 
173 "loc_FFC48A84:\n"
174 " BL sub_FFD0C350 \n"
175 " B loc_FFC48AF8 \n"
176 
177 "loc_FFC48A8C:\n"
178 " MOV R0, #0 \n"
179 " BL sub_FFD0C4F4 \n"
180 " B loc_FFC48AF8 \n"
181 
182 "loc_FFC48A98:\n"
183 " BL sub_FFD0C644 \n"
184 " B loc_FFC48AF8 \n"
185 
186 "loc_FFC48AA0:\n"
187 " BL sub_FFD0C6D8 \n"
188 " B loc_FFC48AF8 \n"
189 
190 "loc_FFC48AA8:\n"
191 " BL sub_FFD0C7A0 \n"
192 " B loc_FFC48AF8 \n"
193 
194 "loc_FFC48AB0:\n"
195 " BL sub_FFD0B900 \n"
196 " BL sub_FFC149A0 \n"
197 " B loc_FFC48AF8 \n"
198 
199 "loc_FFC48ABC:\n"
200 " BL sub_FFD0C40C \n"
201 " B loc_FFC48AF8 \n"
202 
203 "loc_FFC48AC4:\n"
204 " BL sub_FFD0C450 \n"
205 " B loc_FFC48AF8 \n"
206 
207 "loc_FFC48ACC:\n"
208 " BL sub_FFD0E448 \n"
209 " B loc_FFC48AF8 \n"
210 
211 "loc_FFC48AD4:\n"
212 " BL sub_FFD0E464 \n"
213 " B loc_FFC48AF8 \n"
214 
215 "loc_FFC48ADC:\n"
216 " BL sub_FFD0E474 \n"
217 " B loc_FFC48AF8 \n"
218 
219 "loc_FFC48AE4:\n"
220 " BL sub_FFD0E4A0 \n"
221 " B loc_FFC48AF8 \n"
222 
223 "loc_FFC48AEC:\n"
224 " LDR R1, =0x58E \n"
225 " LDR R0, =0xFFC485CC /*'SsShootTask.c'*/ \n"
226 " BL _DebugAssert \n"
227 
228 "loc_FFC48AF8:\n"
229 " LDR R0, [SP] \n"
230 " LDR R1, [R0, #4] \n"
231 " LDR R0, [R6, #4] \n"
232 " BL sub_FFC173B8 /*_SetEventFlag*/ \n"
233 " LDR R4, [SP] \n"
234 " LDR R0, [R4, #8] \n"
235 " CMP R0, #0 \n"
236 " LDREQ R1, =0x10D \n"
237 " LDREQ R0, =0xFFC485CC /*'SsShootTask.c'*/ \n"
238 " BLEQ _DebugAssert \n"
239 " MOV R0, #0 \n"
240 " STR R0, [R4, #8] \n"
241 " B loc_FFC488AC \n"
242 );
243 }