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))
 

Variablen

static long * nrflag = (long*)(0x6418-0x08)
 

Dokumentation der Funktionen

void __attribute__ ( (naked, noinline)  )

!!

Definiert in Zeile 11 der Datei capt_seq.c.

11  { // sub_FF85EAE4
12 asm volatile (
13  " STMFD SP!, {R3-R9,LR} \n"
14  " LDR R6, =0x298C \n"
15  " LDR R4, =0x14FD4 \n"
16  " MOV R9, #1 \n"
17  " MOV R7, #0 \n"
18 "loc_FF85EAF8:\n"
19  " LDR R0, [R6, #4] \n"
20  " MOV R2, #0 \n"
21  " MOV R1, SP \n"
22  " BL sub_FF826A0C \n"
23  " TST R0, #1 \n"
24  " BEQ loc_FF85EB24 \n"
25  " LDR R1, =0x588 \n"
26  " LDR R0, =0xFF85E670 \n"
27  " BL _DebugAssert \n"
28  " BL _ExitTask \n"
29  " LDMFD SP!, {R3-R9,PC} \n"
30 "loc_FF85EB24:\n"
31  " LDR R0, [SP] \n"
32  " LDR R1, [R0] \n"
33  " CMP R1, #0x1D \n"
34  " ADDLS PC, PC, R1, LSL #2 \n"
35  " B loc_FF85EDA0 \n"
36  " B loc_FF85EBB0 \n"
37  " B loc_FF85EC14 \n"
38  " B loc_FF85EC50 \n"
39  " B loc_FF85EC64 \n"
40  " B loc_FF85EC5C \n"
41  " B loc_FF85EC6C \n"
42  " B loc_FF85EC74 \n"
43  " B loc_FF85EC7C \n"
44  " B loc_FF85ECD4 \n"
45  " B loc_FF85ECFC \n"
46  " B loc_FF85ECE0 \n"
47  " B loc_FF85ECEC \n"
48  " B loc_FF85ECF4 \n"
49  " B loc_FF85ED04 \n"
50  " B loc_FF85ED0C \n"
51  " B loc_FF85ED14 \n"
52  " B loc_FF85ED1C \n"
53  " B loc_FF85ED24 \n"
54  " B loc_FF85ED30 \n"
55  " B loc_FF85ED38 \n"
56  " B loc_FF85ED40 \n"
57  " B loc_FF85ED48 \n"
58  " B loc_FF85ED50 \n"
59  " B loc_FF85ED5C \n"
60  " B loc_FF85ED64 \n"
61  " B loc_FF85ED6C \n"
62  " B loc_FF85ED74 \n"
63  " B loc_FF85ED7C \n"
64  " B loc_FF85ED88 \n"
65  " B loc_FF85EDAC \n"
66 "loc_FF85EBB0:\n"
67  " BL sub_FF85F404 \n"
68 // taken from d10: only do quick press hack if overrides are active
69 " BL captseq_hack_override_active\n" // + returns 1 if tv or sv override in effect
70 " STR R0,[SP,#-4]!\n" // + push return value
71 " BL shooting_expo_param_override\n" // +
72  " BL sub_FF85C938 \n"
73 " LDR R0,[SP],#4\n" // + pop override hack
74 " CMP R0, #1\n" // +
75 " MOVEQ R0, #0\n" // +
76 " STREQ R0, [R4,#0x24]\n" // + fixes overrides behavior at short shutter press
77 " LDRNE R0, [R4,#0x24]\n" // +
78 " CMPNE R0, #0\n" // +
79 // " LDR R0, [R4, #0x24] \n" // -
80 // " CMP R0, #0 \n" // -
81  " BEQ loc_FF85EDAC \n"
82  " BL sub_FF85E34C \n"
83  " MOV R5, R0 \n"
84  " LDR R0, [R4, #0x24] \n"
85  " CMP R0, #0 \n"
86  " BEQ loc_FF85EBF8 \n"
87  " MOV R0, #0xC \n"
88  " BL sub_FF863420 \n"
89  " TST R0, #1 \n"
90  " STRNE R9, [R6, #0x10] \n"
91  " LDRNE R0, [R5, #8] \n"
92  " ORRNE R0, R0, #0x40000000 \n"
93  " STRNE R0, [R5, #8] \n"
94  " BNE loc_FF85EDAC \n"
95 "loc_FF85EBF8:\n"
96  " MOV R0, R5 \n"
97  " BL sub_FF85E5F0 \n"
98  " MOV R0, R5 \n"
99  " BL sub_FF926744_my \n" // ->
100  " TST R0, #1 \n"
101  " STRNE R9, [R6, #0x10] \n"
102  " B loc_FF85EDAC \n"
103 "loc_FF85EC14:\n"
104  " LDR R0, [R4, #0x24] \n"
105  " CMP R0, #0 \n"
106  " BNE loc_FF85EC40 \n"
107  " MOV R0, #0xC \n"
108  " BL sub_FF863420 \n"
109  " TST R0, #1 \n"
110  " LDRNE R0, [SP] \n"
111  " MOVNE R1, #1 \n"
112  " LDRNE R2, [R0, #0xC] \n"
113  " MOVNE R0, #1 \n"
114  " BNE loc_FF85ECCC \n"
115 "loc_FF85EC40:\n"
116  " LDR R0, [SP] \n"
117  " BL sub_FF85EEC4_my \n" // ->
118 "loc_FF85EC48:\n"
119  " STR R7, [R4, #0x24] \n"
120  " B loc_FF85EDAC \n"
121 "loc_FF85EC50:\n"
122  " MOV R0, #1 \n"
123  " BL sub_FF85F61C \n"
124  " B loc_FF85EDAC \n"
125 "loc_FF85EC5C:\n"
126  " BL sub_FF85F04C \n"
127  " B loc_FF85EC48 \n"
128 "loc_FF85EC64:\n"
129  " BL sub_FF85F3E4 \n"
130  " B loc_FF85EC48 \n"
131 "loc_FF85EC6C:\n"
132  " BL sub_FF85F3EC \n"
133  " B loc_FF85EDAC \n"
134 "loc_FF85EC74:\n"
135  " BL sub_FF85F53C \n"
136  " B loc_FF85ECD8 \n"
137 "loc_FF85EC7C:\n"
138  " LDR R5, [R0, #0xC] \n"
139  " BL sub_FF85F3F4 \n"
140  " MOV R0, R5 \n"
141  " BL sub_FF925724 \n"
142  " TST R0, #1 \n"
143  " MOV R8, R0 \n"
144  " BNE loc_FF85ECBC \n"
145  " BL sub_FF86F780 \n"
146  " STR R0, [R5, #0x18] \n"
147  " MOV R0, R5 \n"
148  " BL sub_FF92665C \n"
149  " MOV R0, R5 \n"
150  " BL sub_FF926A60 \n"
151  " MOV R8, R0 \n"
152  " LDR R0, [R5, #0x18] \n"
153  " BL sub_FF86F994 \n"
154 "loc_FF85ECBC:\n"
155  " BL sub_FF85F3E4 \n"
156  " MOV R2, R5 \n"
157  " MOV R1, #9 \n"
158  " MOV R0, R8 \n"
159 "loc_FF85ECCC:\n"
160  " BL sub_FF85CE4C \n"
161  " B loc_FF85EDAC \n"
162 "loc_FF85ECD4:\n"
163  " BL sub_FF85F59C \n"
164 "loc_FF85ECD8:\n"
165  " BL sub_FF85C938 \n"
166  " B loc_FF85EDAC \n"
167 "loc_FF85ECE0:\n"
168  " LDR R0, [R4, #0x54] \n"
169  " BL sub_FF85F9B0 \n"
170  " B loc_FF85EDAC \n"
171 "loc_FF85ECEC:\n"
172  " BL sub_FF85FC64 \n"
173  " B loc_FF85EDAC \n"
174 "loc_FF85ECF4:\n"
175  " BL sub_FF85FCF8 \n"
176  " B loc_FF85EDAC \n"
177 "loc_FF85ECFC:\n"
178  " BL sub_FF85F3E4 \n"
179  " B loc_FF85EDAC \n"
180 "loc_FF85ED04:\n"
181  " BL sub_FF925934 \n"
182  " B loc_FF85EDAC \n"
183 "loc_FF85ED0C:\n"
184  " BL sub_FF925B1C \n"
185  " B loc_FF85EDAC \n"
186 "loc_FF85ED14:\n"
187  " BL sub_FF925BAC \n"
188  " B loc_FF85EDAC \n"
189 "loc_FF85ED1C:\n"
190  " BL sub_FF925C60 \n"
191  " B loc_FF85EDAC \n"
192 "loc_FF85ED24:\n"
193  " MOV R0, #0 \n"
194  " BL sub_FF925E84 \n"
195  " B loc_FF85EDAC \n"
196 "loc_FF85ED30:\n"
197  " BL sub_FF925FBC \n"
198  " B loc_FF85EDAC \n"
199 "loc_FF85ED38:\n"
200  " BL sub_FF92604C \n"
201  " B loc_FF85EDAC \n"
202 "loc_FF85ED40:\n"
203  " BL sub_FF92610C \n"
204  " B loc_FF85EDAC \n"
205 "loc_FF85ED48:\n"
206  " BL sub_FF85F79C \n"
207  " B loc_FF85EDAC \n"
208 "loc_FF85ED50:\n"
209  " BL sub_FF85F83C \n"
210  " BL sub_FF824A34 \n"
211  " B loc_FF85EDAC \n"
212 "loc_FF85ED5C:\n"
213  " BL sub_FF925D1C \n"
214  " B loc_FF85EDAC \n"
215 "loc_FF85ED64:\n"
216  " BL sub_FF925D88 \n"
217  " B loc_FF85EDAC \n"
218 "loc_FF85ED6C:\n"
219  " BL sub_FF861C30 \n"
220  " B loc_FF85EDAC \n"
221 "loc_FF85ED74:\n"
222  " BL sub_FF861C98 \n"
223  " B loc_FF85EDAC \n"
224 "loc_FF85ED7C:\n"
225  " BL sub_FF861CF4 \n"
226  " BL sub_FF861CB4 \n"
227  " B loc_FF85EDAC \n"
228 "loc_FF85ED88:\n"
229  " MOV R0, #1 \n"
230  " BL sub_FF927338 \n"
231  " LDRH R0, [R4, #0x98] \n"
232  " CMP R0, #4 \n"
233  " BLNE sub_FF861F60 \n"
234  " B loc_FF85EDAC \n"
235 "loc_FF85EDA0:\n"
236  " LDR R1, =0x6C9 \n"
237  " LDR R0, =0xFF85E670 \n"
238  " BL _DebugAssert \n"
239 "loc_FF85EDAC:\n"
240  " LDR R0, [SP] \n"
241  " LDR R1, [R0, #4] \n"
242  " LDR R0, [R6] \n"
243  " BL sub_FF867508 \n"
244  " LDR R5, [SP] \n"
245  " LDR R0, [R5, #8] \n"
246  " CMP R0, #0 \n"
247  " LDREQ R1, =0x12B \n"
248  " LDREQ R0, =0xFF85E670 \n"
249  " BLEQ _DebugAssert \n"
250  " STR R7, [R5, #8] \n"
251  " B loc_FF85EAF8 \n"
252  );
253 }

Variablen-Dokumentation

long* nrflag = (long*)(0x6418-0x08)
static

Definiert in Zeile 6 der Datei capt_seq.c.