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

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_FF96048C \n"
20 
21 "loc_FF960324:\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_FF960460 \n"
28 " .long loc_FF960390 \n"
29 " .long loc_FF9603B0 \n"
30 " .long loc_FF9603C4 \n"
31 " .long loc_FF9603D4 \n"
32 " .long loc_FF9603CC \n"
33 " .long loc_FF9603DC \n"
34 " .long loc_FF9603E4 \n"
35 " .long loc_FF9603F0 \n"
36 " .long loc_FF9603F8 \n"
37 " .long loc_FF960404 \n"
38 " .long loc_FF96040C \n"
39 " .long loc_FF960414 \n"
40 " .long loc_FF96041C \n"
41 " .long loc_FF960424 \n"
42 " .long loc_FF96042C \n"
43 " .long loc_FF960438 \n"
44 " .long loc_FF960440 \n"
45 " .long loc_FF960448 \n"
46 " .long loc_FF960450 \n"
47 " .long loc_FF960458 \n"
48 " .long loc_FF960474 \n"
49 
50 "loc_FF960390:\n"
51 " BL sub_FF961D60 \n"
52 " BL shooting_expo_param_override\n" // +
53 " BL sub_FF95E090 \n"
54 " LDR R3, =0x99EC0 \n"
55 " MOV R2, #0\n" // added
56 " STR R2, [R3,#0x24]\n" // added, fixes overrides behavior at short shutter press (from S95)
57 //" LDR R2, [R3, #0x24] \n" // above patch makes these three lines redundant
58 //" CMP R2, #0 \n"
59 //" BEQ loc_FF960470 \n"
60 //" BL _sub_FF95FF70 \n"
61 " B loc_FF960470 \n"
62 
63 "loc_FF9603B0:\n"
64 " BL sub_FF95FEA0_my \n" // --> Patched. Old value = 0xFF95FEA0.
65 
66 "loc_FF9603B4:\n"
67 " LDR R2, =0x99EC0 \n"
68 " MOV R3, #0 \n"
69 " STR R3, [R2, #0x24] \n"
70 " B loc_FF960470 \n"
71 
72 "loc_FF9603C4:\n"
73 " BL sub_FF9620F0 \n"
74 " B loc_FF960470 \n"
75 
76 "loc_FF9603CC:\n"
77 " BL sub_FF960F60 \n"
78 " B loc_FF9603B4 \n"
79 
80 "loc_FF9603D4:\n"
81 " BL sub_FF9612FC \n"
82 " B loc_FF9603B4 \n"
83 
84 "loc_FF9603DC:\n"
85 " BL sub_FF96130C \n"
86 " B loc_FF960470 \n"
87 
88 "loc_FF9603E4:\n"
89 " BL sub_FF961E44 \n"
90 " BL sub_FF95E090 \n"
91 " B loc_FF960470 \n"
92 
93 "loc_FF9603F0:\n"
94 " BL sub_FF960044 \n"
95 " B loc_FF960470 \n"
96 
97 "loc_FF9603F8:\n"
98 " BL sub_FF961EAC \n"
99 " BL sub_FF95E090 \n"
100 " B loc_FF960470 \n"
101 
102 "loc_FF960404:\n"
103 " BL sub_FF9612FC \n"
104 " B loc_FF960470 \n"
105 
106 "loc_FF96040C:\n"
107 " BL sub_FF962644 \n"
108 " B loc_FF960470 \n"
109 
110 "loc_FF960414:\n"
111 " BL sub_FF962988 \n"
112 " B loc_FF960470 \n"
113 
114 "loc_FF96041C:\n"
115 " BL sub_FF962A0C \n"
116 " B loc_FF960470 \n"
117 
118 "loc_FF960424:\n"
119 " BL sub_FF962AFC \n"
120 " B loc_FF960470 \n"
121 
122 "loc_FF96042C:\n"
123 " MOV R0, #0 \n"
124 " BL sub_FF962BC4 \n"
125 " B loc_FF960470 \n"
126 
127 "loc_FF960438:\n"
128 " BL sub_FF962D30 \n"
129 " B loc_FF960470 \n"
130 
131 "loc_FF960440:\n"
132 " BL sub_FF962DC4 \n"
133 " B loc_FF960470 \n"
134 
135 "loc_FF960448:\n"
136 " BL sub_FF962E80 \n"
137 " B loc_FF960470 \n"
138 
139 "loc_FF960450:\n"
140 " BL sub_FF962F6C \n"
141 " B loc_FF960470 \n"
142 
143 "loc_FF960458:\n"
144 " BL sub_FF962FC0 \n"
145 " B loc_FF960470 \n"
146 
147 "loc_FF960460:\n"
148 " MOV R1, #0x36C \n"
149 " LDR R0, =0xFF95FC2C /*'ShootTask.c'*/ \n"
150 " ADD R1, R1, #1 \n"
151 " BL _DebugAssert \n"
152 
153 "loc_FF960470:\n"
154 " LDR R2, [SP] \n"
155 
156 "loc_FF960474:\n"
157 " LDR R3, =0x6F344 \n"
158 " LDR R1, [R2, #4] \n"
159 " LDR R0, [R3] \n"
160 " BL sub_FF81FD68 /*_SetEventFlag*/ \n"
161 " LDR R0, [SP] \n"
162 " BL sub_FF95FCA8 \n"
163 
164 "loc_FF96048C:\n"
165 " LDR R3, =0x6F348 \n"
166 " MOV R1, R4 \n"
167 " LDR R0, [R3] \n"
168 " MOV R2, #0 \n"
169 " BL sub_FF820480 /*_ReceiveMessageQueue*/ \n"
170 " TST R0, #1 \n"
171 " BEQ loc_FF960324 \n"
172 " MOV R1, #0x2A4 \n"
173 " LDR R0, =0xFF95FC2C /*'ShootTask.c'*/ \n"
174 " ADD R1, R1, #3 \n"
175 " BL _DebugAssert \n"
176 " BL _ExitTask \n"
177 " ADD SP, SP, #4 \n"
178 " LDMFD SP!, {R4,PC} \n"
179 " MOV PC, LR \n"
180 );
181 }

Variablen-Dokumentation

long* nrflag = (long*)0x61F4
static

Definiert in Zeile 8 der Datei capt_seq.c.