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

Funktionen

void __attribute__ ((naked, noinline))
 *-------------------------------------------------------------------— Mehr ...
 

Variablen

static long * nrflag = (long*)0x61B0
 

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 14 der Datei capt_seq.c.

14  {
15 asm volatile (
16 " STMFD SP!, {R4,LR} \n"
17 " SUB SP, SP, #4 \n"
18 " MOV R4, SP \n"
19 " B loc_FF95EE64 \n"
20 
21 "loc_FF95ECFC:\n"
22 " LDR R2, [SP] \n"
23 " LDR R3, [R2] \n"
24 " MOV R0, R2 \n"
25 " CMP R3, #0x14 \n"
26 " LDRLS PC, [PC, R3, LSL#2] \n"
27 " B loc_FF95EE38 \n"
28 " .long loc_FF95ED68 \n"
29 " .long loc_FF95ED88 \n"
30 " .long loc_FF95ED9C \n"
31 " .long loc_FF95EDAC \n"
32 " .long loc_FF95EDA4 \n"
33 " .long loc_FF95EDB4 \n"
34 " .long loc_FF95EDBC \n"
35 " .long loc_FF95EDC8 \n"
36 " .long loc_FF95EDD0 \n"
37 " .long loc_FF95EDDC \n"
38 " .long loc_FF95EDE4 \n"
39 " .long loc_FF95EDEC \n"
40 " .long loc_FF95EDF4 \n"
41 " .long loc_FF95EDFC \n"
42 " .long loc_FF95EE04 \n"
43 " .long loc_FF95EE10 \n"
44 " .long loc_FF95EE18 \n"
45 " .long loc_FF95EE20 \n"
46 " .long loc_FF95EE28 \n"
47 " .long loc_FF95EE30 \n"
48 " .long loc_FF95EE4C \n"
49 
50 "loc_FF95ED68:\n"
51 " BL sub_FF960740 \n"
52 
53 // only do quick press hack if overrides are active
54 " BL captseq_hack_override_active\n" // returns 1 if tv or sv override in effect
55 " STR R2, [SP,#-4]!\n" // push return value
56 " BL shooting_expo_param_override\n" // +
57 
58 " BL sub_FF95CA6C \n"
59 " LDR R3, =0x99F00 \n"
60 
61 " LDR R2, [SP], #4\n" // pop override hack
62 " CMP R2, #1\n" // +
63 " MOVEQ R2, #0\n" // +
64 " STREQ R2, [R3, #0x24]\n" // fixes overrides behavior at short shutter press
65 " LDRNE R2, [R3, #0x24]\n" // modified NE
66 " CMPNE R2, #0\n" // modified NE
67 
68 //" LDR R2, [R3, #0x24] \n" // above patch makes these lines redundant
69 //" CMP R2, #0 \n"
70 " BEQ loc_FF95EE48 \n"
71 " BL sub_FF95E948_my \n" // --> Patched. Old value = 0xFF95E948.
72 " B loc_FF95EE48 \n"
73 
74 "loc_FF95ED88:\n"
75 " BL sub_FF95E864_my \n" // --> Patched. Old value = 0xFF95E864.
76 
77 "loc_FF95ED8C:\n"
78 " LDR R2, =0x99F00 \n"
79 " MOV R3, #0 \n"
80 " STR R3, [R2, #0x24] \n"
81 " B loc_FF95EE48 \n"
82 
83 "loc_FF95ED9C:\n"
84 " BL sub_FF960AD0 \n"
85 " B loc_FF95EE48 \n"
86 
87 "loc_FF95EDA4:\n"
88 " BL sub_FF95F938 \n"
89 " B loc_FF95ED8C \n"
90 
91 "loc_FF95EDAC:\n"
92 " BL sub_FF95FCD4 \n"
93 " B loc_FF95ED8C \n"
94 
95 "loc_FF95EDB4:\n"
96 " BL sub_FF95FCE4 \n"
97 " B loc_FF95EE48 \n"
98 
99 "loc_FF95EDBC:\n"
100 " BL sub_FF960824 \n"
101 " BL sub_FF95CA6C \n"
102 " B loc_FF95EE48 \n"
103 
104 "loc_FF95EDC8:\n"
105 " BL sub_FF95EA1C \n"
106 " B loc_FF95EE48 \n"
107 
108 "loc_FF95EDD0:\n"
109 " BL sub_FF96088C \n"
110 " BL sub_FF95CA6C \n"
111 " B loc_FF95EE48 \n"
112 
113 "loc_FF95EDDC:\n"
114 " BL sub_FF95FCD4 \n"
115 " B loc_FF95EE48 \n"
116 
117 "loc_FF95EDE4:\n"
118 " BL sub_FF961024 \n"
119 " B loc_FF95EE48 \n"
120 
121 "loc_FF95EDEC:\n"
122 " BL sub_FF961368 \n"
123 " B loc_FF95EE48 \n"
124 
125 "loc_FF95EDF4:\n"
126 " BL sub_FF9613EC \n"
127 " B loc_FF95EE48 \n"
128 
129 "loc_FF95EDFC:\n"
130 " BL sub_FF9614DC \n"
131 " B loc_FF95EE48 \n"
132 
133 "loc_FF95EE04:\n"
134 " MOV R0, #0 \n"
135 " BL sub_FF9615A4 \n"
136 " B loc_FF95EE48 \n"
137 
138 "loc_FF95EE10:\n"
139 " BL sub_FF961710 \n"
140 " B loc_FF95EE48 \n"
141 
142 "loc_FF95EE18:\n"
143 " BL sub_FF9617A4 \n"
144 " B loc_FF95EE48 \n"
145 
146 "loc_FF95EE20:\n"
147 " BL sub_FF961860 \n"
148 " B loc_FF95EE48 \n"
149 
150 "loc_FF95EE28:\n"
151 " BL sub_FF96194C \n"
152 " B loc_FF95EE48 \n"
153 
154 "loc_FF95EE30:\n"
155 " BL sub_FF9619A0 \n"
156 " B loc_FF95EE48 \n"
157 
158 "loc_FF95EE38:\n"
159 " MOV R1, #0x36C \n"
160 " LDR R0, =0xFF95E5F0 /*'ShootTask.c'*/ \n"
161 " ADD R1, R1, #1 \n"
162 " BL _DebugAssert \n"
163 
164 "loc_FF95EE48:\n"
165 " LDR R2, [SP] \n"
166 
167 "loc_FF95EE4C:\n"
168 " LDR R3, =0x6F274 \n"
169 " LDR R1, [R2, #4] \n"
170 " LDR R0, [R3] \n"
171 " BL sub_FF81FD6C /*_SetEventFlag*/ \n"
172 " LDR R0, [SP] \n"
173 " BL sub_FF95E66C \n"
174 
175 "loc_FF95EE64:\n"
176 " LDR R3, =0x6F278 \n"
177 " MOV R1, R4 \n"
178 " LDR R0, [R3] \n"
179 " MOV R2, #0 \n"
180 " BL sub_FF820484 /*_ReceiveMessageQueue*/ \n"
181 " TST R0, #1 \n"
182 " BEQ loc_FF95ECFC \n"
183 " MOV R1, #0x2A4 \n"
184 " LDR R0, =0xFF95E5F0 /*'ShootTask.c'*/ \n"
185 " ADD R1, R1, #3 \n"
186 " BL _DebugAssert \n"
187 " BL _ExitTask \n"
188 " ADD SP, SP, #4 \n"
189 " LDMFD SP!, {R4,PC} \n"
190 );
191 }

Variablen-Dokumentation

long* nrflag = (long*)0x61B0
static

Definiert in Zeile 8 der Datei capt_seq.c.