CHDK_DE Vorschauversion  Trunk Rev. 5659
 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 "stdlib.h"
#include "../../../generic/capt_seq.c"
+ Include-Abhängigkeitsdiagramm für capt_seq.c:

gehe zum Quellcode dieser Datei

Makrodefinitionen

#define NR_AUTO   (0)
 
#define PAUSE_FOR_FILE_COUNTER   300
 

Funktionen

void __attribute__ ((naked, noinline))
 

Variablen

static long * nrflag = (long*)(0x8868+0x00)
 

Makro-Dokumentation

#define NR_AUTO   (0)

Definiert in Zeile 8 der Datei capt_seq.c.

#define PAUSE_FOR_FILE_COUNTER   300

Definiert in Zeile 10 der Datei capt_seq.c.

Dokumentation der Funktionen

void __attribute__ ( (naked, noinline)  )

Definiert in Zeile 15 der Datei capt_seq.c.

15  {
16 asm volatile (
17  "STMFD SP!, {R3-R9,LR}\n"
18  "LDR R4, =0x36D9C\n"
19  "LDR R7, =0x2B64\n"
20  "MOV R6, #0\n"
21 "loc_FF870DC0:\n"
22  "LDR R0, [R7, #4]\n"
23  "MOV R2, #0\n"
24  "MOV R1, SP\n"
25  "BL sub_003F7218\n"
26  "TST R0, #1\n"
27  "BEQ loc_FF870DEC\n"
28  "LDR R1, =0x493\n"
29  "LDR R0, =0xFF87091C \n" // "SsShootTask.c"
30  "BL _DebugAssert \n"
31  "BL _ExitTask \n"
32  "LDMFD SP!, {R3-R9,PC}\n"
33 "loc_FF870DEC:\n"
34  "LDR R0, [SP]\n"
35  "LDR R1, [R0]\n"
36  "CMP R1, #0x20\n"
37  "ADDCC PC, PC, R1, LSL #2\n"
38  "B loc_FF871048\n"
39  "B loc_FF870E80\n"
40  "B loc_FF870E98\n"
41  "B loc_FF870EFC\n"
42  "B loc_FF870F10\n"
43  "B loc_FF870F08\n"
44  "B loc_FF870F1C\n"
45  "B loc_FF870F24\n"
46  "B loc_FF870F2C\n"
47  "B loc_FF870F48\n"
48  "B loc_FF870F74\n"
49  "B loc_FF870F54\n"
50  "B loc_FF870F60\n"
51  "B loc_FF870F68\n"
52  "B loc_FF870F7C\n"
53  "B loc_FF870F84\n"
54  "B loc_FF870F8C\n"
55  "B loc_FF870F94\n"
56  "B loc_FF870F9C\n"
57  "B loc_FF870FA8\n"
58  "B loc_FF870FB0\n"
59  "B loc_FF870FB8\n"
60  "B loc_FF870FC0\n"
61  "B loc_FF870FC8\n"
62  "B loc_FF870FD4\n"
63  "B loc_FF870FDC\n"
64  "B loc_FF870FE4\n"
65  "B loc_FF870FEC\n"
66  "B loc_FF870FF4\n"
67  "B loc_FF871000\n"
68  "B loc_FF871008\n"
69  "B loc_FF871014\n"
70  "B loc_FF871054\n"
71 "loc_FF870E80:\n"
72  " BL shooting_expo_iso_override \n" // added
73  "BL sub_FF8715C8\n"
74  " BL shooting_expo_param_override \n" // added
75  "BL sub_FF86EBBC\n"
76 // "LDR R0, [R4, #0x28]\n"
77 // "CMP R0, #0\n"
78 // "BLNE sub_FF9647C8\n" // above 3 lines removed - redundant with added lines below
79  " MOV R0, #0 \n" // patch added
80  " STR R0, [R4,#0x28] \n" //fixes overrides behavior at short shutter press
81  "B loc_FF871054\n"
82 "loc_FF870E98:\n"
83  "LDR R5, [R0, #0x10]\n"
84  "LDR R0, [R4, #0x28]\n"
85  "CMP R0, #0\n"
86  "BNE loc_FF870ED4\n"
87  "BL sub_FF87249C\n"
88  "MOV R1, R5\n"
89  "BL sub_FF8724F4\n"
90  "LDR R0, =0x10F\n"
91  "MOV R2, #4\n"
92  "ADD R1, R5, #0x24\n"
93  "BL _SetPropertyCase \n"
94  "MOV R2, #4\n"
95  "ADD R1, R5, #0x28\n"
96  "MOV R0, #0x2C\n"
97  "BL _SetPropertyCase \n"
98 "loc_FF870ED4:\n"
99  "MOV R0, R5\n"
100 // "BL sub_FF96472C\n" //original
101  "BL sub_FF96472C_my\n" //patch
102  "BL capt_seq_hook_raw_here \n" // patch
103  "MOV R8, R0\n"
104  "MOV R2, R5\n"
105  "MOV R1, #1\n"
106  "BL sub_FF86F06C\n"
107  "TST R8, #1\n"
108  "MOVEQ R0, R5\n"
109  "BLEQ sub_FF9640A8\n"
110  "B loc_FF871054\n"
111 "loc_FF870EFC:\n"
112  "MOV R0, #1\n"
113  "BL sub_FF871898\n"
114  "B loc_FF871054\n"
115 "loc_FF870F08:\n"
116  "BL sub_FF87121C\n"
117  "B loc_FF870F14\n"
118 "loc_FF870F10:\n"
119  "BL sub_FF8715A8\n"
120 "loc_FF870F14:\n"
121  "STR R6, [R4, #0x28]\n"
122  "B loc_FF871054\n"
123 "loc_FF870F1C:\n"
124  "BL sub_FF8715B0\n"
125  "B loc_FF871054\n"
126 "loc_FF870F24:\n"
127  "BL sub_FF871780\n"
128  "B loc_FF870F4C\n"
129 "loc_FF870F2C:\n"
130  "LDR R5, [R0, #0x10]\n"
131  "MOV R0, R5\n"
132  "BL sub_FF964860\n"
133  "MOV R2, R5\n"
134  "MOV R1, #9\n"
135  "BL sub_FF86F06C\n"
136  "B loc_FF871054\n"
137 "loc_FF870F48:\n"
138  "BL sub_FF871800\n"
139 "loc_FF870F4C:\n"
140  "BL sub_FF86EBBC\n"
141  "B loc_FF871054\n"
142 "loc_FF870F54:\n"
143  "LDR R0, [R4, #0x58]\n"
144  "BL sub_FF871C88\n"
145  "B loc_FF871054\n"
146 "loc_FF870F60:\n"
147  "BL sub_FF872038\n"
148  "B loc_FF871054\n"
149 "loc_FF870F68:\n"
150  "MOV R0, #0\n"
151  "BL sub_FF87209C\n"
152  "B loc_FF871054\n"
153 "loc_FF870F74:\n"
154  "BL sub_FF8715A8\n"
155  "B loc_FF871054\n"
156 "loc_FF870F7C:\n"
157  "BL sub_FF963454\n"
158  "B loc_FF871054\n"
159 "loc_FF870F84:\n"
160  "BL sub_FF9636B4\n"
161  "B loc_FF871054\n"
162 "loc_FF870F8C:\n"
163  "BL sub_FF96376C\n"
164  "B loc_FF871054\n"
165 "loc_FF870F94:\n"
166  "BL sub_FF963840\n"
167  "B loc_FF871054\n"
168 "loc_FF870F9C:\n"
169  "MOV R0, #0\n"
170  "BL sub_FF963AA0\n"
171  "B loc_FF871054\n"
172 "loc_FF870FA8:\n"
173  "BL sub_FF963C10\n"
174  "B loc_FF871054\n"
175 "loc_FF870FB0:\n"
176  "BL sub_FF963CA4\n"
177  "B loc_FF871054\n"
178 "loc_FF870FB8:\n"
179  "BL sub_FF963D60\n"
180  "B loc_FF871054\n"
181 "loc_FF870FC0:\n"
182  "BL sub_FF871A0C\n"
183  "B loc_FF871054\n"
184 "loc_FF870FC8:\n"
185  "BL sub_FF871A90\n"
186  "BL sub_FF832298\n"
187  "B loc_FF871054\n"
188 "loc_FF870FD4:\n"
189  "BL sub_FF963910\n"
190  "B loc_FF871054\n"
191 "loc_FF870FDC:\n"
192  "BL sub_FF963950\n"
193  "B loc_FF871054\n"
194 "loc_FF870FE4:\n"
195  "BL sub_FF873944\n"
196  "B loc_FF871054\n"
197 "loc_FF870FEC:\n"
198  "BL sub_FF8739B8\n"
199  "B loc_FF871054\n"
200 "loc_FF870FF4:\n"
201  "LDR R0, [R0, #0xC]\n"
202  "BL sub_FF963E88\n"
203  "B loc_FF871054\n"
204 "loc_FF871000:\n"
205  "BL sub_FF963EF8\n"
206  "B loc_FF871054\n"
207 "loc_FF871008:\n"
208  "BL sub_FF873A20\n"
209  "BL sub_FF8739D8\n"
210  "B loc_FF871054\n"
211 "loc_FF871014:\n"
212  "MOV R0, #1\n"
213  "BL sub_FF964F60\n"
214  "MOV R0, #1\n"
215  "BL sub_FF965088\n"
216  "LDRH R0, [R4, #0x9C]\n"
217  "CMP R0, #4\n"
218  "LDRNEH R0, [R4]\n"
219  "SUBNE R1, R0, #0x8200\n"
220  "SUBNES R1, R1, #0x2E\n"
221  "BNE loc_FF871054\n"
222  "BL sub_FF8739B8\n"
223  "BL sub_FF873E7C\n"
224  "B loc_FF871054\n"
225 "loc_FF871048:\n"
226  "LDR R1, =0x5F4\n"
227  "LDR R0, =0xFF87091C \n" // "SsShootTask.c"
228  "BL _DebugAssert \n"
229 "loc_FF871054:\n"
230  "LDR R0, [SP]\n"
231  "LDR R1, [R0, #4]\n"
232  "LDR R0, [R7]\n"
233  "BL sub_003FAC6C\n"
234  "LDR R5, [SP]\n"
235  "LDR R0, [R5, #8]\n"
236  "CMP R0, #0\n"
237  "LDREQ R1, =0x117\n"
238  "LDREQ R0, =0xFF87091C \n" // "SsShootTask.c"
239  "BLEQ _DebugAssert \n"
240  "STR R6, [R5, #8]\n"
241  "B loc_FF870DC0\n"
242  );
243 }

Variablen-Dokumentation

long* nrflag = (long*)(0x8868+0x00)
static

Definiert in Zeile 7 der Datei capt_seq.c.