This source file includes following definitions.
- change_video_tables
- set_quality
- movie_record_task
- sub_FF861AA8_my
1 #include "conf.h"
2
3
4 void change_video_tables(__attribute__ ((unused))int a, __attribute__ ((unused))int b) {}
5
6
7 void set_quality(int *x){
8 if (conf.video_mode) *x=12-((conf.video_quality-1)*(12+17)/(99-1));
9 }
10
11 void __attribute__((naked,noinline)) movie_record_task(){
12 asm volatile(
13 " STMFD SP!, {R2-R8,LR}\n"
14 " LDR R7, =0x2710\n"
15 " LDR R4, =0x53A0\n"
16 " MOV R6, #0\n"
17 " MOV R5, #1\n"
18 "loc_FF86215C:\n"
19 " LDR R0, [R4,#0x1C]\n"
20 " MOV R2, #0\n"
21 " ADD R1, SP, #4\n"
22 " BL sub_FF82746C\n"
23 " LDR R0, [R4,#0x24]\n"
24 " CMP R0, #0\n"
25 " BNE loc_FF86222C\n"
26 " LDR R0, [SP,#4]\n"
27 " LDR R1, [R0]\n"
28 " SUB R1, R1, #2\n"
29 " CMP R1, #9\n"
30 " ADDLS PC, PC, R1,LSL#2\n"
31 " B loc_FF86222C\n"
32 " B loc_FF8621E0\n"
33 " B loc_FF862200\n"
34 " B loc_FF862210\n"
35 " B loc_FF862218\n"
36 " B loc_FF8621E8\n"
37 " B loc_FF862220\n"
38 " B loc_FF8621F0\n"
39 " B loc_FF86222C\n"
40 " B loc_FF862228\n"
41 " B loc_FF8621B8\n"
42 "loc_FF8621B8:\n"
43
44 " LDR R0, =0xFF861E30\n"
45 " STR R6, [R4,#0x38]\n"
46 " STR R0, [R4,#0xA0]\n"
47 " LDR R2, =0xFF8613B0\n"
48 " LDR R1, =0x1AE50\n"
49 " LDR R0, =0xFF861494\n"
50 " STR R6, [R4,#0x28]\n"
51 " BL sub_FF83BBFC\n"
52 " STR R5, [R4,#0x3C]\n"
53 " B loc_FF86222C\n"
54 "loc_FF8621E0:\n"
55
56 " BL unlock_optical_zoom\n"
57 " BL sub_FF861F28\n"
58 " B loc_FF86222C\n"
59 "loc_FF8621E8:\n"
60
61 " BL sub_FF861AA8_my\n"
62 " B loc_FF86222C\n"
63 "loc_FF8621F0:\n"
64
65 " LDR R1, [R0,#0x10]\n"
66 " LDR R0, [R0,#4]\n"
67 " BL sub_FF937EF8\n"
68 " B loc_FF86222C\n"
69 "loc_FF862200:\n"
70
71 " LDR R0, [R4,#0x3C]\n"
72 " CMP R0, #5\n"
73 " STRNE R5, [R4,#0x2C]\n"
74 " B loc_FF86222C\n"
75 "loc_FF862210:\n"
76
77 " BL sub_FF8617F0\n"
78 " B loc_FF86222C\n"
79 "loc_FF862218:\n"
80
81 " BL sub_FF8614E0\n"
82 " B loc_FF86222C\n"
83 "loc_FF862220:\n"
84
85 " BL sub_FF86133C\n"
86 " B loc_FF86222C\n"
87 "loc_FF862228:\n"
88
89 " BL sub_FF862398\n"
90 "loc_FF86222C:\n"
91
92
93 " LDR R1, [SP,#4]\n"
94 " MOV R3, #0x430\n"
95 " STR R6, [R1]\n"
96 " STR R3, [SP]\n"
97 " LDR R0, [R4,#0x20]\n"
98 " LDR R3, =0xFF86113C\n"
99 " MOV R2, R7\n"
100 " BL sub_FF827DC0\n"
101 " B loc_FF86215C\n"
102 );
103 }
104
105 void __attribute__((naked,noinline)) sub_FF861AA8_my(){
106 asm volatile(
107 " STMFD SP!, {R4-R10,LR}\n"
108 " SUB SP, SP, #0x40\n"
109 " MOV R7, #0\n"
110 " LDR R6, =0x53A0\n"
111 " MOV R4, R0\n"
112 " STR R7, [SP,#0x30]\n"
113 " STR R7, [SP,#0x28]\n"
114 " LDR R0, [R6,#0x3C]\n"
115 " MOV R9, #4\n"
116 " CMP R0, #3\n"
117 " STREQ R9, [R6,#0x3C]\n"
118 " LDR R0, [R6,#0xA0]\n"
119 " MOV R8, #0\n"
120 " BLX R0\n"
121 " LDR R0, [R6,#0x3C]\n"
122 " CMP R0, #4\n"
123 " BNE loc_FF861C2C\n"
124 " LDRH R0, [R6,#2]\n"
125 " MOV R5, #1\n"
126 " CMP R0, #1\n"
127 " BNE loc_FF861B24\n"
128 " LDRH R1, [R6,#4]\n"
129 " LDR R0, [R6,#0x48]\n"
130 " MUL R0, R1, R0\n"
131 " MOV R1, #0x3E8\n"
132 " BL sub_FFAE072C\n"
133 " MOV R1, R0\n"
134 " LDR R0, [R6,#0x50]\n"
135 " BL sub_FFAE072C\n"
136 " CMP R1, #0\n"
137 " BNE loc_FF861B40\n"
138 "loc_FF861B24:\n"
139 " ADD R3, SP, #0x28\n"
140 " ADD R2, SP, #0x2C\n"
141 " ADD R1, SP, #0x30\n"
142 " ADD R0, SP, #0x34\n"
143 " BL sub_FF937F94\n"
144 " MOVS R8, R0\n"
145 " BNE loc_FF861B5C\n"
146 "loc_FF861B40:\n"
147 " LDR R0, [R6,#0x2C]\n"
148 " CMP R0, #1\n"
149 " BNE loc_FF861C40\n"
150 " LDR R0, [R6,#0x50]\n"
151 " LDR R1, [R6,#0x40]\n"
152 " CMP R0, R1\n"
153 " BCC loc_FF861C40\n"
154 "loc_FF861B5C:\n"
155 " CMP R8, #0x80000001\n"
156 " STREQ R9, [R6,#0x54]\n"
157 " BEQ loc_FF861B94\n"
158 " CMP R8, #0x80000003\n"
159 " STREQ R5, [R6,#0x54]\n"
160 " BEQ loc_FF861B94\n"
161 " CMP R8, #0x80000005\n"
162 " MOVEQ R0, #2\n"
163 " BEQ loc_FF861B90\n"
164 " CMP R8, #0x80000007\n"
165 " STRNE R7, [R6,#0x54]\n"
166 " BNE loc_FF861B94\n"
167 " MOV R0, #3\n"
168 "loc_FF861B90:\n"
169 " STR R0, [R6,#0x54]\n"
170 "loc_FF861B94:\n"
171 " LDR R0, =0x1AE84\n"
172 " LDR R0, [R0,#8]\n"
173 " CMP R0, #0\n"
174 " BEQ loc_FF861BAC\n"
175 " BL sub_FF84BCCC\n"
176 " B loc_FF861BB0\n"
177 "loc_FF861BAC:\n"
178 " BL sub_FF86133C\n"
179 "loc_FF861BB0:\n"
180 " LDR R0, [R4,#0x14]\n"
181 " LDR R1, [R4,#0x18]\n"
182 " ADD R3, SP, #0x38\n"
183 " MVN R2, #1\n"
184 " ADD R7, SP, #0x18\n"
185 " STMIA R7, {R0-R3}\n"
186 " MOV R0, #0\n"
187 " ADD R1, SP, #0x3C\n"
188 " ADD R7, SP, #8\n"
189 " LDRD R2, [R6,#0x68]\n"
190 " STMIA R7, {R0-R3}\n"
191 " MOV R3, #0\n"
192 " MOV R2, #0x40\n"
193 " STRD R2, [SP]\n"
194 " LDMIB R4, {R0,R1}\n"
195 " LDR R3, =0x1AE9C\n"
196 " MOV R2, R10\n"
197 " BL sub_FF8F5C40\n"
198 " LDR R0, [R6,#0x14]\n"
199 " MOV R1, #0x3E8\n"
200 " BL sub_FF827888\n"
201 " CMP R0, #9\n"
202 " BEQ loc_FF861CC0\n"
203 " LDR R0, [SP,#0x38]\n"
204 " CMP R0, #0\n"
205 " BNE loc_FF861CDC\n"
206 " MOV R0, #1\n"
207 " BL sub_FF8F5CE8\n"
208 " BL sub_FF8F5D24\n"
209 " MOV R0, #5\n"
210 " STR R0, [R6,#0x3C]\n"
211 "loc_FF861C2C:\n"
212 " ADD SP, SP, #0x40\n"
213 " LDMFD SP!, {R4-R10,PC}\n"
214 "loc_FF861C34:\n"
215 " BL sub_FF87DD18\n"
216 " MOV R0, #1\n"
217 " B loc_FF861D78\n"
218 "loc_FF861C40:\n"
219 " LDR R12, [SP,#0x30]\n"
220 " CMP R12, #0\n"
221 " BEQ loc_FF861DD8\n"
222 " STR R5, [R6,#0x30]\n"
223 " LDR R0, [R6,#0x50]\n"
224 " LDR R8, [R4,#0xC]\n"
225 " CMP R0, #0\n"
226 " LDRNE LR, [SP,#0x34]\n"
227 " BNE loc_FF861D08\n"
228 " LDR R0, [R4,#0x14]\n"
229 " LDR R1, [R4,#0x18]\n"
230 " ADD R3, SP, #0x38\n"
231 " MVN R2, #0\n"
232 " ADD R9, SP, #0x18\n"
233 " STMIA R9, {R0-R3}\n"
234 " LDRD R2, [R6,#0x68]\n"
235 " LDR R0, [SP,#0x28]\n"
236 " ADD R1, SP, #0x3C\n"
237 " ADD R9, SP, #8\n"
238 " STMIA R9, {R0-R3}\n"
239 " LDR R3, [SP,#0x2C]\n"
240 " STR R12, [SP]\n"
241 " STR R3, [SP,#4]\n"
242 " LDMIB R4, {R0,R1}\n"
243 " LDR R3, [SP,#0x34]\n"
244 " MOV R2, R8\n"
245 " BL sub_FF8F5C40\n"
246 " LDR R0, [R6,#0x14]\n"
247 " MOV R1, #0x3E8\n"
248 " BL sub_FF827888\n"
249 " CMP R0, #9\n"
250 " BNE loc_FF861CD0\n"
251 "loc_FF861CC0:\n"
252 " BL sub_FF938460\n"
253 " MOV R0, #0x90000\n"
254 " STR R5, [R6,#0x3C]\n"
255 " B loc_FF861C34\n"
256 "loc_FF861CD0:\n"
257 " LDR R0, [SP,#0x38]\n"
258 " CMP R0, #0\n"
259 " BEQ loc_FF861CEC\n"
260 "loc_FF861CDC:\n"
261 " BL sub_FF938460\n"
262 " MOV R0, #0xA0000\n"
263 " STR R5, [R6,#0x3C]\n"
264 " B loc_FF861C34\n"
265 "loc_FF861CEC:\n"
266 " MOV R0, #1\n"
267 " BL sub_FF8F5CE8\n"
268 " LDR R0, [SP,#0x3C]\n"
269 " LDR R1, [SP,#0x34]\n"
270 " ADD LR, R1, R0\n"
271 " LDR R1, [SP,#0x30]\n"
272 " SUB R12, R1, R0\n"
273 "loc_FF861D08:\n"
274 " LDR R0, [R4,#0x14]\n"
275 " LDR R2, [R6,#0x4C]\n"
276 " LDR R1, [R4,#0x18]\n"
277 " ADD R3, SP, #0x38\n"
278 " ADD R9, SP, #0x18\n"
279 " STMIA R9, {R0-R3}\n"
280 " LDRD R2, [R6,#0x68]\n"
281 " LDR R0, [SP,#0x28]\n"
282 " ADD R1, SP, #0x3C\n"
283 " ADD R9, SP, #8\n"
284 " STMIA R9, {R0-R3}\n"
285 " LDR R3, [SP,#0x2C]\n"
286 " STR R12, [SP]\n"
287 " STR R3, [SP,#4]\n"
288 " LDMIB R4, {R0,R1}\n"
289 " MOV R3, LR\n"
290 " MOV R2, R8\n"
291 " BL sub_FF8F5C40\n"
292 " LDR R0, [R6,#0x14]\n"
293 " MOV R1, #0x3E8\n"
294 " BL sub_FF827888\n"
295 " CMP R0, #9\n"
296 " BNE loc_FF861D80\n"
297 " BL sub_FF938460\n"
298 " MOV R0, #0x90000\n"
299 " STR R5, [R6,#0x3C]\n"
300 " BL sub_FF87DD18\n"
301 " MOV R0, #0\n"
302 "loc_FF861D78:\n"
303 " BL sub_FF8F5CE8\n"
304 " B loc_FF861C2C\n"
305 "loc_FF861D80:\n"
306 " LDR R0, [SP,#0x38]\n"
307 " CMP R0, #0\n"
308 " BEQ loc_FF861DA0\n"
309 " BL sub_FF938460\n"
310 " MOV R0, #0xA0000\n"
311 " STR R5, [R6,#0x3C]\n"
312 " BL sub_FF87DD18\n"
313 " B loc_FF861C2C\n"
314 "loc_FF861DA0:\n"
315 " MOV R0, #0\n"
316 " BL sub_FF8F5CE8\n"
317 " LDR R0, [SP,#0x34]\n"
318 " LDR R1, [SP,#0x3C]\n"
319 " BL sub_FF9381BC\n"
320 " LDR R0, [R6,#0x4C]\n"
321 " LDR R3, =0x540C\n"
322 " ADD R1, R0, #1\n"
323 " STR R1, [R6,#0x4C]\n"
324 " STR R3, [SP]\n"
325 " LDR R0, [SP,#0x3C]\n"
326 " SUB R3, R3, #4\n"
327 " MOV R2, #0xF\n"
328 " BL sub_FF9364B8\n"
329 " LDR R0, =0x540C-4\n"
330 " BL set_quality\n"
331 "loc_FF861DD8:\n"
332 " LDR R0, [R6,#0x50]\n"
333 " ADD R0, R0, #1\n"
334 " STR R0, [R6,#0x50]\n"
335 " LDR R1, [R6,#0x78]\n"
336 " MUL R0, R1, R0\n"
337 " LDR R1, [R6,#0x74]\n"
338 " BL sub_FFAE072C\n"
339 " MOV R4, R0\n"
340 " BL sub_FF938498\n"
341 " LDR R1, [R6,#0x70]\n"
342 " CMP R1, R4\n"
343 " BNE loc_FF861E14\n"
344 " LDR R0, [R6,#0x34]\n"
345 " CMP R0, #1\n"
346 " BNE loc_FF861E28\n"
347 "loc_FF861E14:\n"
348 " LDR R1, [R6,#0x84]\n"
349 " MOV R0, R4\n"
350 " BLX R1\n"
351 " STR R4, [R6,#0x70]\n"
352 " STR R7, [R6,#0x34]\n"
353 "loc_FF861E28:\n"
354 " STR R7, [R6,#0x30]\n"
355 " B loc_FF861C2C\n"
356 );
357 }
358