source: trunk/platform/a1000/sub/100a/capt_seq.c @ 1718

Revision 1718, 38.1 KB checked in by reyalp, 15 months ago (diff)

Merged revision(s) 1716-1717 from branches/release-1_0:
a1000 updates from srsa_4c in http://chdk.setepontos.com/index.php?topic=650.msg81931#msg81931

  • CAM_STARTUP_CRASH_FILE_OPEN_FIX
  • enabled_refresh_physical_screen
  • use stubs from sig finder

ixus220_elph300hs updates from srsa_rc in http://chdk.setepontos.com/index.php?topic=650.msg82542#msg82542
fix recreview_hold and vid_get_viewport_fb_d()

  • Property svn:eol-style set to native
Line 
1#include "lolevel.h"
2#include "platform.h"
3#include "core.h"
4
5static long *nrflag = (long*)0x8594;
6
7#include "../../../generic/capt_seq.c"
8
9void __attribute__((naked,noinline)) sub_FFD0C284_my() {
10     asm volatile (
11                     "STMFD   SP!, {R1-R9,LR}\n"
12                     "MOV     R4, R0\n"
13                     "BL      sub_FFD0CE6C\n"
14                     "MOV    R1, #-1\n"
15                     "BL      sub_FFC166E0\n"
16                     "MOV     R2, #4\n"
17                     "ADD      R1, SP, #0x28-0x24\n"
18                     "MOV     R0, #0x8A\n"
19                     "BL      sub_FFC594CC\n"
20                     "TST     R0, #1\n"
21                     "MOVNE   R1, #0x35C\n"
22                     "LDRNE   R0, =0xFFD0C3FC\n"
23                     "BLNE    sub_FFC0BD98\n"
24                     "LDR     R7, =0x18D48\n"
25                     "LDR     R6, =0x18C90\n"
26                     "LDRSH   R1, [R7,#0xE]\n"
27                     "LDR     R0, [R6,#0x80]\n"
28                     "BL      sub_FFCD6C44\n"
29                     "BL      sub_FFC336C8\n"
30                     "LDR     R3, =0x8598\n"
31                     "STRH    R0, [R4,#0x94]\n"
32                     "STR    R3, [SP]\n"     // for the final until everyone uses 'new' gcc\n"
33                     "MOV     R1, R0\n"
34                     "LDRH    R0, [R6,#0x54]\n"
35                     "LDRSH   R2, [R7,#0xC]\n"
36                     "SUB     R3, R3, #4\n"
37                     "BL      sub_FFD0D464\n"
38                     "BL      wait_until_remote_button_is_released\n"
39                     "BL      capt_seq_hook_set_nr\n" // +-----------> so immediately override NR
40                     "LDR     R0, [R4,#0x1C]\n"
41                     "LDR     R8, =0x8594\n"
42                     "CMP     R0, #0\n"
43                     "LDRNE   R0, [R8]\n"
44                     "CMPNE   R0, #6\n"
45                     "MOVNE   R0, #1\n"
46                     "STRNE   R0, [R8]\n"
47                     "LDR     R0, [R8,#4]\n"
48                     "BL      sub_FFC33C1C\n"
49                     "LDRH    R0, [R6,#0x8A]\n"
50                     "CMP     R0, #3\n"
51                     "LDRNE   R0, [R4,#0xC]\n"
52                     "CMPNE   R0, #1\n"
53                     "BLS     loc_FFD0C340\n"
54                     "LDRH    R0, [R6,#0x88]\n"
55                     "CMP     R0, #0\n"
56                     "LDREQH  R0, [R6,#0x84]\n"
57                     "CMPEQ   R0, #2\n"
58                     "MOVNE   R0, #0\n"
59                     "BNE     loc_FFD0C344\n"
60                     
61        "loc_FFD0C340:\n"
62                     "MOV     R0, #1\n"
63                     
64        "loc_FFD0C344:\n"
65                     "BL      sub_FFC754CC\n"
66                     "LDRSH   R0, [R4,#0x94]\n"
67                     "BL      sub_FFDEEA1C\n"
68                     "BL      sub_FFC754DC\n"
69                     "MOV     R1, R4\n"
70                     "LDR     R0, =0xFFD0BE40\n"
71                     "BL      sub_FFC7548C\n"
72                     "LDR     R0, [R8]\n"
73                     "MOV     R8, #0\n"
74                     "CMP     R0, #1\n"
75                     "BEQ     loc_FFD0C43C\n"
76                     "CMP     R0, #2\n"
77                     "BEQ     loc_FFD0C498\n"
78                     "CMP     R0, #3\n"
79                     "BEQ     loc_FFD0C4B4\n"
80                     "CMP     R0, #6\n"
81                     "BNE     loc_FFD0C4CC\n"
82                     "MOV     R0, #2\n"
83                     "STR     R0, [SP,#0x28-0x20]\n"
84                     "LDR     R0, [R4,#0x18]\n"
85                     "LDR     R5, [SP,#0x28-0x24]\n"
86                     "MOV     R3, #2\n"
87                     "ADD     R2, SP, #0x28-0x20\n"
88                     "MOV     R1, #0x33\n"
89                     "BL      sub_FFC5997C\n"
90                     "LDR     R0, [R4,#8]\n"
91                     "LDR     R3, =0xFFD0BF80\n"
92                     "ORR     R0, R0, #0x200\n"
93                     "STR     R0, [R4,#8]\n"
94                     "STR     R4, [SP]\n"
95                     "LDR     R0, [R4,#0x2C]\n"
96                     "LDR     R1, =0xFFD0BE58\n"
97                     "CMP     R5, #0\n"
98                     "MOV     R2, R4\n"
99                     "BEQ     loc_FFD0C4AC\n"
100                     "BL      sub_FFC76C78\n"
101                     "B       loc_FFD0C48C\n"
102                     
103        "loc_FFD0C43C:\n"
104                     "STR     R8, [SP,#0x28-0x20]\n"
105                     "LDR     R0, [R4,#0x18]\n"
106                     "LDR     R5, [SP,#0x28-0x24]\n"
107                     "MOV     R3, #2\n"
108                     "ADD     R2, SP, #0x28-0x20\n"
109                     "MOV     R1, #0x33\n"
110                     "BL      sub_FFC5997C\n"
111                     "LDR     R0, [R4,#8]\n"
112                     "LDR     R3, =0xFFD0BF80\n"
113                     "ORR     R0, R0, #0x40\n"
114                     "STR     R0, [R4,#8]\n"
115                     "STR     R4, [SP]\n"
116                     "LDR     R0, [R4,#0x2C]\n"
117                     "LDR     R1, =0xFFD0BE58\n"
118                     "CMP     R5, #0\n"
119                     "MOV     R2, R4\n"
120                     "BEQ     loc_FFD0C488\n"
121                     "BL      sub_FFC76B6C\n"
122                     "B       loc_FFD0C48C\n"
123                     
124        "loc_FFD0C488:\n"
125                     "BL      sub_FFC74BEC\n"
126                     
127        "loc_FFD0C48C:\n"
128                     "ANDS    R5, R0, #1\n"
129                     "MOVNE   R5, #0x1D\n"
130                     "B       loc_FFD0C4D8\n"
131                     
132        "loc_FFD0C498:\n"
133                     "LDR     R2, [SP,#0x28-0x24]\n"
134                     "ADD     R1, SP, #0x28-0x20\n"
135                     "MOV     R0, R4\n"
136                     "BL      sub_FFD0C708\n"
137                     "B       loc_FFD0C4C4\n"
138                     
139        "loc_FFD0C4AC:\n"
140                     "BL      sub_FFC74CFC\n"
141                     "B       loc_FFD0C48C\n"
142                     
143        "loc_FFD0C4B4:\n"
144                     "LDR     R2, [SP,#0x28-0x24]\n"
145                     "ADD     R1, SP, #0x28-0x20\n"
146                     "MOV     R0, R4\n"
147                     "BL      sub_FFD0C034\n"
148                     
149        "loc_FFD0C4C4:\n"
150                     "MOV     R5, R0\n"
151                     "B       loc_FFD0C4D8\n"
152                     
153        "loc_FFD0C4CC:\n"
154                     "MOV     R1, #0x398\n"
155                     "LDR     R0, =0xFFD0C3FC\n"
156                     "BL      sub_FFC0BD98\n"
157                     
158        "loc_FFD0C4D8:\n"
159                     "TST     R5, #1\n"
160                     "MOVNE   R0, R5\n"
161                     "BNE     locret_FFD0C5FC\n"
162                     "LDR     R0, =0xFFD0BE54\n"
163                     "MOV     R1, #0\n"
164                     "BL      sub_FFC7548C\n"
165                     "LDRH    R0, [R6,#0x8A]\n"
166                     "CMP     R0, #3\n"
167                     "LDRNE   R0, [R4,#0xC]\n"
168                     "CMPNE   R0, #1\n"
169                     "LDRHIH  R0, [R6,#0x88]\n"
170                     "BHI     loc_FFD0C514\n"
171                     "LDRH    R0, [R6,#0xA4]\n"
172                     "CMP     R0, #5\n"
173                     "BLEQ    sub_FFC87F4C\n"
174                     
175        "loc_FFD0C514:\n"
176                     "LDR     R2, =0x8598\n"
177                     "LDR     R0, [R4,#0x18]\n"
178                     "MOV     R3, #4\n"
179                     "MOV     R1, #0x45\n"
180                     "BL      sub_FFC5997C\n"
181                     "MOV     R0, #1\n"
182                     "BL      sub_FFCD6C5C\n"
183                     "STR     R0, [R4,#0xC4]\n"
184                     "BL      sub_FFC4D5E0\n"
185                     "LDRH    R0, [R6,#0x8A]\n"
186                     "CMP     R0, #3\n"
187                     "LDRNE   R0, [R4,#0xC]\n"
188                     "CMPNE   R0, #1\n"
189                     "BLS     loc_FFD0C560\n"
190                     "LDRH    R0, [R6,#0x88]\n"
191                     "CMP     R0, #0\n"
192                     "LDREQH  R0, [R6,#0x84]\n"
193                     "CMPEQ   R0, #2\n"
194                     "BNE     loc_FFD0C58C\n"
195                     
196        "loc_FFD0C560:\n"
197                     "BL      sub_FFD0CE6C\n"
198                     "LDR     R5, =0x3B3\n"
199                     "LDR     R2, =0x3A98\n"
200                     "LDRNE   R3, =0xFFD0C3FC\n"
201                     "MOV     R1, #4\n"
202                     "STR     R5, [SP]\n"
203                     "BL      sub_FFC4EEF4\n"
204                     "CMP     R0, #0\n"
205                     "MOVNE   R1, R5\n"
206                     "LDRNE   R0, =0xFFD0C3FC\n"
207                     "BLNE    sub_FFC0BD98\n"
208                       
209        "loc_FFD0C58C:\n"
210                     "LDRH    R0, [SP,#0x28-0x20]\n"
211                     "STRH    R0, [R4,#0x14]\n"
212                     "LDRH    R0, [R6,#0x54]\n"
213                     "LDRH    R1, [SP,#0x28-0x20]\n"
214                     "BL      sub_FFD0D5AC\n"
215                     "STR     R0, [R4,#0x98]\n"
216                     "MOV     R0, #0xD8\n"
217                     "MOV     R2, #2\n"
218                     "MOV     R1, SP\n"
219                     "STR     R8, [SP]\n"
220                     "BL      sub_FFC594CC\n"
221                     "TST     R0, #1\n"
222                     "LDRNE   R1, =0x3C1\n"
223                     "LDRNE   R0, =0xFFD0C3FC\n"
224                     "BLNE    sub_FFC0BD98\n"
225                     "LDR     R0, [R4,#0x98]\n"
226                     "CMP     R0, #0\n"
227                     "BNE     loc_FFD0C5F8\n"
228                     "LDR     R0, [R7]\n"
229                     "CMP     R0, #0\n"
230                     "BEQ     loc_FFD0C5EC\n"
231                     "LDRH    R0, [SP]\n"
232                     "CMP     R0, #1\n"
233                     "BEQ     loc_FFD0C5F8\n"
234                     
235        "loc_FFD0C5EC:\n"
236                     "MOV     R1, #0\n"
237                     "MOV     R0, #0x45\n"
238                     "BL      sub_FFC676C4\n"
239                     
240        "loc_FFD0C5F8:\n"
241                     "MOV     R0, #0\n"
242                     
243        "locret_FFD0C5FC:\n"
244                     "LDMFD   SP!, {R1-R9,PC}\n"
245    ".ltorg\n"
246     );
247}
248//0xFFC4B22C
249
250void __attribute__((naked,noinline)) task_CaptSeqTask_my()
251{
252        asm volatile (
253"                 STMFD   SP!, {R3-R7,LR}\n"
254"                 LDR     R6, =0x5190\n"
255" loc_FFC4B234:\n"
256"                 LDR     R0, [R6,#8]\n"
257"                 MOV     R2, #0\n"
258"                 MOV     R1, SP\n"
259"                 BL      sub_FFC1693C\n"
260"                 TST     R0, #1\n"
261"                 BEQ     loc_FFC4B260\n"
262"                 LDR     R1, =0x539\n"
263"                 LDR     R0, =0xFFC4AE40\n"
264"                 BL      sub_FFC0BD98\n"
265"                 BL      sub_FFC0BB50\n"
266"                 LDMFD   SP!, {R3-R7,PC}\n"
267" loc_FFC4B260:\n"
268"                 LDR     R0, [SP,#0x18-0x18]\n"
269"                 LDR     R1, [R0]\n"
270"                 CMP     R1, #0x1D\n"
271"                 ADDLS   PC, PC, R1,LSL#2\n"
272"                 B       loc_FFC4B42C\n"
273" loc_FFC4B274:\n"
274"                 B       loc_FFC4B2EC\n"
275" loc_FFC4B278:\n"
276"                 B       loc_FFC4B2F4\n"
277" loc_FFC4B27C:\n"
278"                 B       loc_FFC4B2FC\n"
279" loc_FFC4B280:\n"
280"                 B       loc_FFC4B310\n"
281" loc_FFC4B284:\n"
282"                 B       loc_FFC4B308\n"
283" loc_FFC4B288:\n"
284"                 B       loc_FFC4B318\n"
285" loc_FFC4B28C:\n"
286"                 B       loc_FFC4B320\n"
287" loc_FFC4B290:\n"
288"                 B       loc_FFC4B32C\n"
289" loc_FFC4B294:\n"
290"                 B       loc_FFC4B384\n"
291" loc_FFC4B298:\n"
292"                 B       loc_FFC4B310\n"
293" loc_FFC4B29C:\n"
294"                 B       loc_FFC4B38C\n"
295" loc_FFC4B2A0:\n"
296"                 B       loc_FFC4B39C\n"
297" loc_FFC4B2A4:\n"
298"                 B       loc_FFC4B3A4\n"
299" loc_FFC4B2A8:\n"
300"                 B       loc_FFC4B3AC\n"
301" loc_FFC4B2AC:\n"
302"                 B       loc_FFC4B3B4\n"
303" loc_FFC4B2B0:\n"
304"                 B       loc_FFC4B3BC\n"
305" loc_FFC4B2B4:\n"
306"                 B       loc_FFC4B3C4\n"
307" loc_FFC4B2B8:\n"
308"                 B       loc_FFC4B3CC\n"
309" loc_FFC4B2BC:\n"
310"                 B       loc_FFC4B3D8\n"
311" loc_FFC4B2C0:\n"
312"                 B       loc_FFC4B3E0\n"
313" loc_FFC4B2C4:\n"
314"                 B       loc_FFC4B3E8\n"
315" loc_FFC4B2C8:\n"
316"                 B       loc_FFC4B3F0\n"
317" loc_FFC4B2CC:\n"
318"                 B       loc_FFC4B3F8\n"
319" loc_FFC4B2D0:\n"
320"                 B       loc_FFC4B404\n"
321" loc_FFC4B2D4:\n"
322"                 B       loc_FFC4B40C\n"
323" loc_FFC4B2D8:\n"
324"                 B       loc_FFC4B414\n"
325" loc_FFC4B2DC:\n"
326"                 B       loc_FFC4B41C\n"
327" loc_FFC4B2E0:\n"
328"                 B       loc_FFC4B424\n"
329" loc_FFC4B2E4:\n"
330"                 B       loc_FFC4B438\n"
331" loc_FFC4B2E8:\n"
332"                 B       loc_FFC4B438\n"
333" loc_FFC4B2EC:\n"
334"                 BL      sub_FFC4BAB8\n"
335"                 BL      shooting_expo_param_override\n"
336"                 B       loc_FFC4B324\n"
337" loc_FFC4B2F4:\n"
338//"                 BL      sub_FFC4B554\n"
339"                 BL      sub_FFC4B554_my\n"
340"                 B       loc_FFC4B438\n"
341" loc_FFC4B2FC:\n"
342"                 MOV     R0, #1\n"
343"                 BL      sub_FFC4BC54\n"
344"                 B       loc_FFC4B438\n"
345" loc_FFC4B308:\n"
346"                 BL      sub_FFC4B738\n"
347"                 B       loc_FFC4B438\n"
348" loc_FFC4B310:\n"
349"                 BL      sub_FFC4BA98\n"
350"                 B       loc_FFC4B438\n"
351" loc_FFC4B318:\n"
352"                 BL      sub_FFC4BAA0\n"
353"                 B       loc_FFC4B438\n"
354" loc_FFC4B320:\n"
355"                 BL      sub_FFC4BB74\n"
356"\n"
357" loc_FFC4B324:\n"
358"                 BL      sub_FFC4959C\n"
359"                 B       loc_FFC4B438\n"
360" loc_FFC4B32C:\n"
361"                 LDR     R4, [R0,#0xC]\n"
362"                 BL      sub_FFC4BAA8\n"
363"                 MOV     R0, R4\n"
364"                 BL      sub_FFD0B3CC\n"
365"                 TST     R0, #1\n"
366"                 MOV     R5, R0\n"
367"                 BNE     loc_FFC4B36C\n"
368"                 BL      sub_FFC5965C\n"
369"                 STR     R0, [R4,#0x18]\n"
370"                 MOV     R0, R4\n"
371"                 BL      sub_FFD0C1BC\n"
372"                 MOV     R0, R4\n"
373"                 BL      sub_FFD0C670\n"
374"                 MOV     R5, R0\n"
375"                 LDR     R0, [R4,#0x18]\n"
376"                 BL      sub_FFC59870\n"
377" loc_FFC4B36C:\n"
378"                 BL      sub_FFC4BA98\n"
379"                 MOV     R2, R4\n"
380"                 MOV     R1, #9\n"
381"                 MOV     R0, R5\n"
382"                 BL      sub_FFC49978\n"
383"                 B       loc_FFC4B438\n"
384" loc_FFC4B384:\n"
385"                 BL      sub_FFC4BBD4\n"
386"                 B       loc_FFC4B324\n"
387" loc_FFC4B38C:\n"
388"                 LDR     R0, =0x18C90\n"
389"                 LDR     R0, [R0,#0x4C]\n"
390//"                 BL      sub_FFC4BF6C\n"
391"                 BL      sub_FFC4BF6C_my\n"
392"                 B       loc_FFC4B438\n"
393" loc_FFC4B39C:\n"
394"                 BL      sub_FFC4C214\n"
395"                 B       loc_FFC4B438\n"
396" loc_FFC4B3A4:\n"
397"                 BL      sub_FFC4C2A0\n"
398"                 B       loc_FFC4B438\n"
399" loc_FFC4B3AC:\n"
400"                 BL      sub_FFD0B5F0\n"
401"                 B       loc_FFC4B438\n"
402" loc_FFC4B3B4:\n"
403"                 BL      sub_FFD0B7D8\n"
404"                 B       loc_FFC4B438\n"
405" loc_FFC4B3BC:\n"
406"                 BL      sub_FFD0B868\n"
407"                 B       loc_FFC4B438\n"
408" loc_FFC4B3C4:\n"
409"                 BL      sub_FFD0B910\n"
410"                 B       loc_FFC4B438\n"
411" loc_FFC4B3CC:\n"
412"                 MOV     R0, #0\n"
413"                 BL      sub_FFD0BAB4\n"
414"                 B       loc_FFC4B438\n"
415" loc_FFC4B3D8:\n"
416"                 BL      sub_FFD0BBF4\n"
417"                 B       loc_FFC4B438\n"
418" loc_FFC4B3E0:\n"
419"                 BL      sub_FFD0BC88\n"
420"                 B       loc_FFC4B438\n"
421" loc_FFC4B3E8:\n"
422"                 BL      sub_FFD0BD4C\n"
423"                 B       loc_FFC4B438\n"
424" loc_FFC4B3F0:\n"
425"                 BL      sub_FFC4BDBC\n"
426"                 B       loc_FFC4B438\n"
427" loc_FFC4B3F8:\n"
428"                 BL      sub_FFC4BDE8\n"
429"                 BL      sub_FFC1416C\n"
430"                 B       loc_FFC4B438\n"
431" loc_FFC4B404:\n"
432"                 BL      sub_FFD0B9CC\n"
433"                 B       loc_FFC4B438\n"
434" loc_FFC4B40C:\n"
435"                 BL      sub_FFD0BA10\n"
436"                 B       loc_FFC4B438\n"
437" loc_FFC4B414:\n"
438"                 BL      sub_FFC4D74C\n"
439"                 B       loc_FFC4B438\n"
440" loc_FFC4B41C:\n"
441"                 BL      sub_FFC4D768\n"
442"                 B       loc_FFC4B438\n"
443" loc_FFC4B424:\n"
444"                 BL      sub_FFC4D778\n"
445"                 B       loc_FFC4B438\n"
446" loc_FFC4B42C:\n"
447"                 LDR     R1, =0x65E\n"
448"                 LDR     R0, =0xFFC4AE40\n"
449"                 BL      sub_FFC0BD98\n"
450" loc_FFC4B438:\n"
451"                 LDR     R0, [SP,#0x18-0x18]\n"
452"                 LDR     R1, [R0,#4]\n"
453"                 LDR     R0, [R6,#4]\n"
454"                 BL      sub_FFC166AC\n"
455"                 LDR     R4, [SP,#0x18-0x18]\n"
456"                 LDR     R0, [R4,#8]\n"
457"                 CMP     R0, #0\n"
458"                 LDREQ   R1, =0x11D\n"
459"                 LDREQ   R0, =0xFFC4AE40\n"
460"                 BLEQ    sub_FFC0BD98\n"
461"                 MOV     R0, #0\n"
462"                 STR     R0, [R4,#8]\n"
463"                 B       loc_FFC4B234\n"
464);
465}
466
467void __attribute((naked,noinline)) sub_FFC4BF6C_my() {
468     asm volatile (
469"                 STMFD   SP!, {R4-R9,LR}\n"
470"                 MOV     R9, R0\n"
471"                 MOV     R0, #0x41\n"
472"                 SUB     SP, SP, #0x3C\n"
473"                 MOV     R6, #0\n"
474"                 STR     R0, [SP,#0x58-0x20]\n"
475"                 BL      sub_FFC4BF3C\n"
476"                 CMP     R0, #0\n"
477"                 MOVNE   R1, #0x17C\n"
478"                 BNE     loc_FFC4C130\n"
479"                 LDR     R5, =0x51B4\n"
480"                 LDR     R1, =0x40E\n"
481"                 LDR     R0, [R5,#8]\n"
482"                 BL      sub_FFC166E0\n"
483"                 BL      sub_FFC5965C\n"
484"                 STR     R0, [R5,#4]\n"
485"                 MOV     R0, #0\n"
486"                 BL      sub_FFC5361C\n"
487"                 STR     R0, [SP,#0x58-0x2C]\n"
488"                 ADD     R0, SP, #0x58-0x2C\n"
489"                 ADD     R1, SP, #0x58-0x54\n"
490"                 BL      sub_FFC53768\n"
491"                 ADD     R0, SP, #0x58-0x54\n"
492"                 BL      sub_FFC53650\n"
493"                 STR     R0, [SP,#0x58-0x28]\n"
494"                 LDR     R0, [R5,#4]\n"
495"                 MOV     R3, #4\n"
496"                 ADD     R2, SP, #0x58-0x28\n"
497"                 MOV     R1, #0x34\n"
498"                 BL      sub_FFC5997C\n"
499"                 LDR     R8, [SP,#0x58-0x28]\n"
500"                 BL      sub_FFC4C3A0\n"
501"                 MOV     R4, #0\n"
502"                 ADD     R1, SP, #0x58-0x2C\n"
503"                 ADD     R0, SP, #0x58-0x28\n"
504"                 STR     R4, [SP,#0x58-0x28]\n"
505"                 STR     R4, [SP,#0x58-0x2C]\n"
506"                 BL      sub_FFC1CF90\n"
507"                 LDR     R0, [R5,#4]\n"
508"                 MOV     R3, #2\n"
509"                 ADD     R2, SP, #0x58-0x28\n"
510"                 MOV     R1, #0x2F\n"
511"                 BL      sub_FFC5997C\n"
512"                 LDR     R0, [R5,#4]\n"
513"                 MOV     R3, #2\n"
514"                 ADD     R2, SP, #0x58-0x2C\n"
515"                 MOV     R1, #0x2D\n"
516"                 BL      sub_FFC5997C\n"
517"                 ADD     R1, SP, #0x58-0x2C\n"
518"                 ADD     R0, SP, #0x58-0x28\n"
519"                 BL      sub_FFC21214\n"
520"                 LDR     R0, [R5,#4]\n"
521"                 MOV     R3, #2\n"
522"                 ADD     R2, SP, #0x58-0x28\n"
523"                 MOV     R1, #0x30\n"
524"                 BL      sub_FFC5997C\n"
525"                 ADD     R1, SP, #0x58-0x2C\n"
526"                 ADD     R0, SP, #0x58-0x28\n"
527"                 BL      sub_FFC1DFA4\n"
528"                 LDR     R0, [R5,#4]\n"
529"                 MOV     R3, #2\n"
530"                 ADD     R2, SP, #0x58-0x2C\n"
531"                 MOV     R1, #0x2E\n"
532"                 BL      sub_FFC5997C\n"
533"                 LDR     R0, [R5,#4]\n"
534"                 MOV     R3, #2\n"
535"                 ADD     R2, SP, #0x58-0x28\n"
536"                 MOV     R1, #0xB8\n"
537"                 BL      sub_FFC59A28\n"
538"                 TST     R0, #1\n"
539"                 MOVNE   R1, #0x148\n"
540"                 LDRNE   R0, =0xFFC4C268\n"
541"                 BLNE    sub_FFC0BD98\n"
542"                 LDRH    R0, [SP,#0x58-0x28]\n"
543"                 MOV     R3, #4\n"
544"                 ADD     R2, SP, #0x58-0x2C\n"
545"                 CMP     R0, #0\n"
546"                 MOVNE   R0, #1\n"
547"                 STR     R0, [SP,#0x58-0x2C]\n"
548"                 LDR     R0, [R5,#4]\n"
549"                 MOV     R1, #0x92\n"
550"                 BL      sub_FFC5997C\n"
551"                 MOV     R2, #1\n"
552"                 ADD     R1, SP, #0x58-0x20\n"
553"                 MOV     R0, #0xFA\n"
554"                 BL      sub_FFC594CC\n"
555"                 TST     R0, #1\n"
556"                 LDRNE   R1, =0x193\n"
557"                 LDRNE   R0, =0xFFC4C268\n"
558"                 BLNE    sub_FFC0BD98\n"
559"                 BL      sub_FFC4C488\n"
560"                 CMP     R0, #0\n"
561"                 LDRB    R0, [SP,#0x58-0x20]\n"
562"                 MOVEQ   R2, #0x84\n"
563"                 MOVNE   R2, #0x14\n"
564"                 AND     R1, R0, #0xFF\n"
565"                 ADD     R0, SP, #0x58-0x24\n"
566"                 MOV     R3, R9\n"
567"                 STR     R8, [SP,#0x58-0x58]\n"
568"                 BL      sub_FFCE7B88\n"
569"                 TST     R0, #1\n"
570"                 LDRNE   R1, =0x197\n"
571"                 BNE     loc_FFC4C130\n"
572"                 BL      sub_FFC4C488\n"
573"                 CMP     R0, #0\n"
574"                 LDR     R0, =0x18C6C\n"
575"                 LDR     R1, [SP,#0x58-0x24]\n"
576"                 MOVEQ   R2, #0x80\n"
577"                 MOVNE   R2, #0x10\n"
578"                 BL      sub_FFCDFFA0\n"
579"                 TST     R0, #1\n"
580"                 BEQ     loc_FFC4C140\n"
581"                 LDR     R1, =0x19F\n"
582" loc_FFC4C130:\n"
583"                 LDR     R0, =0xFFC4C268\n"
584"                 BL      sub_FFC0BD98\n"
585" loc_FFC4C138:\n"
586"                 ADD     SP, SP, #0x3C\n"
587"                 LDMFD   SP!, {R4-R9,PC}\n"
588" loc_FFC4C140:\n"
589"                 LDR     R0, [R5,#4]\n"
590"                 MOV     R3, #4\n"
591"                 ADD     R2, SP, #0x58-0x24\n"
592"                 MOV     R1, #0x2B\n"
593"                 MOV     R7, R5\n"
594"                 BL      sub_FFC5997C\n"
595"                 BL      sub_FFC3F018\n"
596"                 LDRSB   R1, [SP,#0x58-0x20]\n"
597"                 CMP     R0, R1\n"
598"                 MOVEQ   R5, R4\n"
599"                 BEQ     loc_FFC4C1BC\n"
600"                 LDR     R6, =0x18C6C\n"
601"                 MOV     R0, R6\n"
602"                 BL      sub_FFCE9EB8\n"
603"                 MOV     R5, R0\n"
604"                 MOV     R0, R6\n"
605"                 BL      sub_FFC400E4\n"
606"                 BL      sub_FFC3FFE0\n"
607"                 MOV     R1, R5\n"
608"                 UMULL   R8, R1, R0, R5\n"
609"                 MOV     R9, R1\n"
610"                 BL      sub_FFC88868\n"
611"                 CMP     R4, R9\n"
612"                 MOV     R2, R8\n"
613"                 CMPEQ   R0, R2\n"
614"                 MOV     R5, R0\n"
615"                 LDRCS   R1, =0x1AD\n"
616"                 LDRCS   R0, =0xFFC4C268\n"
617"                 BLCS    sub_FFC0BD98\n"
618"                 SUBS    R4, R8, R5\n"
619"                 SBC     R5, R9, #0\n"
620" loc_FFC4C1BC:\n"
621"                 BL      taskcreate_MovieRecord_my\n"
622"                 LDR     R0, =0x18C90\n"
623"                 LDRH    R3, [R0,#0x4A]\n"
624"                 LDRH    R2, [R0,#0x48]\n"
625"                 LDR     R1, [R0,#0x44]\n"
626"                 LDR     R0, [R0,#0x40]\n"
627"                 BL      sub_FFC470E0\n"
628"                 MOV     R3, #0\n"
629"                 LDR     R2, =0xFFC4BEF8\n"
630"                 MOV     R1, #0\n"
631"                 LDR     R0, =0xFFC4BF18\n"
632"                 ADD     R8, SP, #0x58-0x4C\n"
633"                 STMIA   R8, {R0-R3}\n"
634"                 LDR     R2, =0xFFC4BF1C\n"
635"                 LDR     R1, =0xFFC4BF14\n"
636"                 STMEA   SP, {R1-R3}\n"
637"                 LDR     R1, [R7,#4]\n"
638"                 MOV     R3, R5\n"
639"                 MOV     R2, R4\n"
640"                 MOV     R0, R6\n"
641"                 BL      sub_FFC4743C\n"
642"                 B       loc_FFC4C138\n"
643);
644}
645
646void __attribute((naked,noinline)) taskcreate_MovieRecord_my() {
647     asm volatile (
648"                 STMFD   SP!, {R3-R9,LR}\n"
649"                 LDR     R5, =0x5068\n"
650"                 MOV     R6, #0\n"
651"                 STR     R6, [R5,#0x20]\n"
652"                 LDR     R0, [R5,#4]\n"
653"                 LDR     R8, =0x2710\n"
654"                 CMP     R0, #0\n"
655"                 BNE     loc_FFC4811C\n"
656"                 MOV     R0, #1\n"
657"                 STR     R0, [R5,#4]\n"
658"                 MOV     R0, #0\n"
659"                 MOV     R1, #0\n"
660"                 BL      sub_FFC0BC14\n"
661"                 STR     R0, [R5,#0x10]\n"
662"                 MOV     R0, #0\n"
663"                 MOV     R1, #0\n"
664"                 BL      sub_FFC0BC14\n"
665"                 STR     R0, [R5,#0x14]\n"
666"                 MOV     R0, #0\n"
667"                 MOV     R1, #0xA\n"
668"                 BL      sub_FFC0BBCC\n"
669"                 STR     R0, [R5,#0x18]\n"
670"                 MOV     R0, #0\n"
671"                 MOV     R1, #0xA\n"
672"                 BL      sub_FFC0BBCC\n"
673"                 LDR     R7, =0x187F0\n"
674"                 MOV     R4, #9\n"
675"                 STR     R0, [R5,#0x1C]\n"
676" loc_FFC480D4:\n"
677"                 RSB     R0, R4, R4,LSL#3\n"
678"                 MOV     R3, #0x2E4\n"
679"                 STR     R6, [R7,R0,LSL#2]\n"
680"                 STR     R3, [SP,#0x20-0x20]\n"
681"                 ADD     R1, R7, R0,LSL#2\n"
682"                 LDR     R0, [R5,#0x1C]\n"
683"                 LDR     R3, =0xFFC473DC\n"
684"                 MOV     R2, R8\n"
685"                 BL      sub_FFC0BCD8\n"
686"                 SUBS    R4, R4, #1\n"
687"                 BPL     loc_FFC480D4\n"
688"                 MOV     R3, #0\n"
689"                 STR     R3, [SP,#0x20-0x20]\n"
690"                 LDR     R3, =task_MovieRecord_my\n"
691"                 MOV     R2, #0x1000\n"
692"                 MOV     R1, #0x14\n"
693"                 LDR     R0, =0xFFC48264\n"
694"                 BL      sub_FFC0BB98\n"
695" loc_FFC4811C:\n"
696"                 BL      sub_FFD06DF4\n"
697"                 BL      sub_FFC48180\n"
698"                 MOV     R1, R0\n"
699"                 LDR     R3, =0x2EE\n"
700"                 MOV     R0, #0xB\n"
701"                 STR     R0, [R1]\n"
702"                 STR     R3, [SP,#0x20-0x20]\n"
703"                 LDR     R0, [R5,#0x18]\n"
704"                 LDR     R3, =0xFFC473DC\n"
705"                 MOV     R2, R8\n"
706"                 BL      sub_FFC0BCD8\n"
707"                 LDMFD   SP!, {R3-R9,PC}\n"
708);
709}
710
711void __attribute((naked,noinline)) task_MovieRecord_my() {
712     asm volatile (
713"                 STMFD   SP!, {R2-R8,LR}\n"
714"                 LDR     R8, =0x332\n"
715"                 LDR     R7, =0x2710\n"
716"                 LDR     R4, =0x5068\n"
717"                 MOV     R6, #0\n"
718"                 MOV     R5, #1\n"
719"\n"
720" loc_FFC47F74:\n"
721"                 LDR     R0, [R4,#0x18]\n"
722"                 MOV     R2, #0\n"
723"                 ADD     R1, SP, #0x20-0x1C\n"
724"                 BL      sub_FFC1693C\n"
725"                 LDR     R0, [R4,#0x20]\n"
726"                 CMP     R0, #0\n"
727"                 BNE     loc_FFC48044\n"
728"                 LDR     R0, [SP,#0x20-0x1C]\n"
729"                 LDR     R1, [R0]\n"
730"                 SUB     R1, R1, #2\n"
731"                 CMP     R1, #9\n"
732"                 ADDLS   PC, PC, R1,LSL#2\n"
733"                 B       loc_FFC48044\n"
734" loc_FFC47FA8:\n"
735"                 B       loc_FFC47FF8\n"
736" loc_FFC47FAC:\n"
737"                 B       loc_FFC48018\n"
738" loc_FFC47FB0:\n"
739"                 B       loc_FFC48028\n"
740" loc_FFC47FB4:\n"
741"                 B       loc_FFC48030\n"
742" loc_FFC47FB8:\n"
743"                 B       loc_FFC48000\n"
744" loc_FFC47FBC:\n"
745"                 B       loc_FFC48038\n"
746" loc_FFC47FC0:\n"
747"                 B       loc_FFC48008\n"
748" loc_FFC47FC4:\n"
749"                 B       loc_FFC48044\n"
750" loc_FFC47FC8:\n"
751"                 B       loc_FFC48040\n"
752" loc_FFC47FCC:\n"
753"                 B       loc_FFC47FD0\n"
754" loc_FFC47FD0:\n"
755"                 STR     R6, [R4,#0x34]\n"
756"                 LDR     R0, =0xFFC47C58\n"
757"                 LDR     R2, =0xFFC475F0\n"
758"                 LDR     R1, =0x18918\n"
759"                 STR     R0, [R4,#0xA0]\n"
760"                 LDR     R0, =0xFFC476D4\n"
761"                 STR     R6, [R4,#0x24]\n"
762"                 BL      sub_FFCA1E2C\n"
763"                 STR     R5, [R4,#0x38]\n"
764"                 B       loc_FFC48044\n"
765" loc_FFC47FF8:\n"
766"BL      unlock_optical_zoom\n"
767"                 BL      sub_FFC47D50\n"
768"                 B       loc_FFC48044\n"
769" loc_FFC48000:\n"
770"                 BL      sub_FFC47A58_my\n"
771"                 B       loc_FFC48044\n"
772" loc_FFC48008:\n"
773"                 LDR     R1, [R0,#0x10]\n"
774"                 LDR     R0, [R0,#4]\n"
775"                 BL      sub_FFD07A18\n"
776"                 B       loc_FFC48044\n"
777" loc_FFC48018:\n"
778"                 LDR     R0, [R4,#0x38]\n"
779"                 CMP     R0, #5\n"
780"                 STRNE   R5, [R4,#0x28]\n"
781"                 B       loc_FFC48044\n"
782" loc_FFC48028:\n"
783"                 BL      sub_FFC47864\n"
784"                 B       loc_FFC48044\n"
785" loc_FFC48030:\n"
786"                 BL      sub_FFC47720\n"
787"                 B       loc_FFC48044\n"
788" loc_FFC48038:\n"
789"                 BL      sub_FFC4757C\n"
790"                 B       loc_FFC48044\n"
791" loc_FFC48040:\n"
792"                 BL      sub_FFC481AC\n"
793" loc_FFC48044:\n"
794"                 LDR     R1, [SP,#0x20-0x1C]\n"
795"                 LDR     R3, =0xFFC473DC\n"
796"                 STR     R6, [R1]\n"
797"                 STR     R8, [SP,#0x20-0x20]\n"
798"                 LDR     R0, [R4,#0x1C]\n"
799"                 MOV     R2, R7\n"
800"                 BL      sub_FFC0BCD8\n"
801"                 B       loc_FFC47F74\n"
802);
803}
804
805void __attribute((naked,noinline)) sub_FFC47A58_my() {
806     asm volatile (
807"                 STMFD   SP!, {R4-R8,LR}\n"
808"                 SUB     SP, SP, #0x40\n"
809"                 MOV     R6, #0\n"
810"                 LDR     R5, =0x5068\n"
811"                 MOV     R4, R0\n"
812"                 STR     R6, [SP,#0x58-0x28]\n"
813"                 STR     R6, [SP,#0x58-0x30]\n"
814"                 LDR     R0, [R5,#0x38]\n"
815"                 MOV     R8, #4\n"
816"                 CMP     R0, #3\n"
817"                 STREQ   R8, [R5,#0x38]\n"
818"                 LDR     R0, [R5,#0xA0]\n"
819//"                 BLX     R0\n"
820 ".long   0xE12FFF30\n"
821"                 LDR     R0, [R5,#0x38]\n"
822"                 CMP     R0, #4\n"
823"                 BNE     loc_FFC47B30\n"
824"                 ADD     R3, SP, #0x58-0x30\n"
825"                 ADD     R2, SP, #0x58-0x30+4\n"
826"                 ADD     R1, SP, #0x58-0x28\n"
827"                 ADD     R0, SP, #0x58-0x24\n"
828"                 BL      sub_FFD07BAC\n"
829"                 CMP     R0, #0\n"
830"                 MOV     R7, #1\n"
831"                 BNE     loc_FFC47AD4\n"
832"                 LDR     R1, [R5,#0x28]\n"
833"                 CMP     R1, #1\n"
834"                 BNE     loc_FFC47B38\n"
835"                 LDR     R1, [R5,#0x50]\n"
836"                 LDR     R2, [R5,#0x3C]\n"
837"                 CMP     R1, R2\n"
838"                 BCC     loc_FFC47B38\n"
839" loc_FFC47AD4:\n"
840"                 CMP     R0, #0x80000001\n"
841"                 STREQ   R8, [R5,#0x54]\n"
842"                 BEQ     loc_FFC47B0C\n"
843"                 CMP     R0, #0x80000003\n"
844"                 STREQ   R7, [R5,#0x54]\n"
845"                 BEQ     loc_FFC47B0C\n"
846"                 CMP     R0, #0x80000005\n"
847"                 MOVEQ   R0, #2\n"
848"                 BEQ     loc_FFC47B08\n"
849"                 CMP     R0, #0x80000007\n"
850"                 STRNE   R6, [R5,#0x54]\n"
851"                 BNE     loc_FFC47B0C\n"
852"                 MOV     R0, #3\n"
853" loc_FFC47B08:\n"
854"                 STR     R0, [R5,#0x54]\n"
855" loc_FFC47B0C:\n"
856"                 LDR     R0, =0x18948\n"
857"                 LDR     R0, [R0,#8]\n"
858"                 CMP     R0, #0\n"
859"                 BEQ     loc_FFC47B24\n"
860"                 BL      sub_FFC3262C\n"
861"                 B       loc_FFC47B28\n"
862" loc_FFC47B24:\n"
863"                 BL      sub_FFC4757C\n"
864" loc_FFC47B28:\n"
865"                 MOV     R0, #5\n"
866"                 STR     R0, [R5,#0x38]\n"
867" loc_FFC47B30:\n"
868"                 ADD     SP, SP, #0x40\n"
869"                 LDMFD   SP!, {R4-R8,PC}\n"
870" loc_FFC47B38:\n"
871"                 LDR     LR, [SP,#0x58-0x28]\n"
872"                 CMP     LR, #0\n"
873"                 BEQ     loc_FFC47C00\n"
874"                 STR     R7, [R5,#0x2C]\n"
875"                 LDR     R0, [R5,#0x6C]\n"
876"                 LDR     R1, [R4,#0x14]\n"
877"                 LDR     R2, [R4,#0x18]\n"
878"                 LDR     R12, [R4,#0xC]\n"
879"                 ADD     R3, SP, #0x58-0x20\n"
880"                 ADD     R8, SP, #0x58-0x44\n"
881"                 STMIA   R8, {R0-R3}\n"
882"                 LDR     R3, [R5,#0x58]\n"
883"                 ADD     R2, SP, #0x58-0x1C\n"
884"                 ADD     R8, SP, #0x58-0x50\n"
885//"                 LDRD    R0, [SP,#0x58-0x30]\n"
886".long   0xE1CD02D8\n"
887"                 STMIA   R8, {R0,R2,R3}\n"
888"                 STR     R1, [SP,#0x58-0x54]\n"
889"                 STR     LR, [SP,#0x58-0x58]\n"
890"                 LDMIB   R4, {R0,R1}\n"
891"                 LDR     R3, [SP,#0x58-0x24]\n"
892"                 MOV     R2, R12\n"
893"                 BL      sub_FFCCE2A0\n"
894"                 LDR     R0, [R5,#0x10]\n"
895"                 MOV     R1, #0x3E8\n"
896"                 BL      sub_FFC0B74C\n"
897"                 CMP     R0, #9\n"
898"                 BNE     loc_FFC47BB4\n"
899"                 BL      sub_FFD08188\n"
900"                 MOV     R0, #0x90000\n"
901"                 STR     R7, [R5,#0x38]\n"
902"                 B       loc_FFC47BCC\n"
903" loc_FFC47BB4:\n"
904"                 LDR     R0, [SP,#0x58-0x20]\n"
905"                 CMP     R0, #0\n"
906"                 BEQ     loc_FFC47BD4\n"
907"                 BL      sub_FFD08188\n"
908"                 MOV     R0, #0xA0000\n"
909"                 STR     R7, [R5,#0x38]\n"
910" loc_FFC47BCC:\n"
911"                 BL      sub_FFC5D06C\n"
912"                 B       loc_FFC47B30\n"
913" loc_FFC47BD4:\n"
914"                 BL      sub_FFCCE364\n"
915"                 LDR     R0, [SP,#0x58-0x24]\n"
916"                 LDR     R1, [SP,#0x58-0x1C]\n"
917"                 BL      sub_FFD07F30\n"
918"                 LDR     R0, [R5,#0x4C]\n"
919"                 LDR     R1, =0x50D4\n"
920"                 ADD     R0, R0, #1\n"
921"                 STR     R0, [R5,#0x4C]\n"
922"                 LDR     R0, [SP,#0x58-0x1C]\n"
923"                 MOV     R2, #0\n"
924"                 BL      sub_FFD05DA8_my\n"
925" loc_FFC47C00:\n"
926"                 LDR     R0, [R5,#0x50]\n"
927"                 ADD     R0, R0, #1\n"
928"                 STR     R0, [R5,#0x50]\n"
929"                 LDR     R1, [R5,#0x78]\n"
930"                 MUL     R0, R1, R0\n"
931"                 LDR     R1, [R5,#0x74]\n"
932"                 BL      sub_FFE730E8\n"
933"                 MOV     R4, R0\n"
934"                 BL      sub_FFD081C0\n"
935"                 LDR     R1, [R5,#0x70]\n"
936"                 CMP     R1, R4\n"
937"                 BNE     loc_FFC47C3C\n"
938"                 LDR     R0, [R5,#0x30]\n"
939"                 CMP     R0, #1\n"
940"                 BNE     loc_FFC47C50\n"
941" loc_FFC47C3C:\n"
942"                 LDR     R1, [R5,#0x84]\n"
943"                 MOV     R0, R4\n"
944//"                 BLX     R1\n"
945".long   0xE12FFF31\n"
946"                 STR     R4, [R5,#0x70]\n"
947"                 STR     R6, [R5,#0x30]\n"
948" loc_FFC47C50:\n"
949"                 STR     R6, [R5,#0x2C]\n"
950"                 B       loc_FFC47B30\n"
951);
952}
953
954void __attribute((naked,noinline)) sub_FFD05DA8_my() {
955     asm volatile (
956"                 STMFD   SP!, {R4-R8,LR}\n"
957"                 LDR     R4, =0x8074\n"
958"                 LDR     LR, [R4]\n"
959"                 LDR     R2, [R4,#8]\n"
960"                 CMP     LR, #0\n"
961"                 LDRNE   R3, [R4,#0xC]\n"
962"                 MOV     R5, R2\n"
963"                 CMPNE   R3, #1\n"
964"                 MOVEQ   R2, #0\n"
965"                 STREQ   R0, [R4]\n"
966"                 STREQ   R2, [R4,#0xC]\n"
967"                 BEQ     loc_FFD05E74\n"
968"                 LDR     R3, [R4,#4]\n"
969"                 LDR     R7, =table\n"
970"                 ADD     R12, R3, R3,LSL#1\n"
971"                 LDR     R3, [R7,R12,LSL#2]\n"
972"                 ADD     R6, R7, #0x30\n"
973"                 LDR     R8, [R6,R12,LSL#2]\n"
974"                 SUB     R3, LR, R3\n"
975"                 CMP     R3, #0\n"
976"                 SUB     LR, LR, R8\n"
977"                 BLE     loc_FFD05E30\n"
978"                 ADD     R12, R7, R12,LSL#2\n"
979"                 LDR     LR, [R12,#4]\n"
980"                 CMP     LR, R3\n"
981"                 ADDGE   R2, R2, #1\n"
982"                 BGE     loc_FFD05E24\n"
983"                 LDR     R12, [R12,#8]\n"
984"                 CMP     R12, R3\n"
985"                 ADDLT   R2, R2, #3\n"
986"                 ADDGE   R2, R2, #2\n"
987" loc_FFD05E24:\n"
988"                 CMP     R2, #0x1A\n"
989"                 MOVGE   R2, #0x19\n"
990"                 B       loc_FFD05E64\n"
991" loc_FFD05E30:\n"
992"                 CMP     LR, #0\n"
993"                 BGE     loc_FFD05E64\n"
994"                 ADD     R3, R6, R12,LSL#2\n"
995"                 LDR     R12, [R3,#4]\n"
996"                 CMP     R12, LR\n"
997"                 SUBLE   R2, R2, #1\n"
998"                 BLE     loc_FFD05E5C\n"
999"                 LDR     R3, [R3,#8]\n"
1000"                 CMP     R3, LR\n"
1001"                 SUBGT   R2, R2, #3\n"
1002"                 SUBLE   R2, R2, #2\n"
1003" loc_FFD05E5C:\n"
1004"                 CMP     R2, #0\n"
1005"                 MOVLT   R2, #0\n"
1006" loc_FFD05E64:\n"
1007"                 CMP     R2, R5\n"
1008"                 STRNE   R2, [R4,#8]\n"
1009"                 MOVNE   R2, #1\n"
1010"                 STRNE   R2, [R4,#0xC]\n"
1011" loc_FFD05E74:\n"
1012"                 LDR     R2, =CompressionRateTable\n"
1013"                 LDR     R3, [R4,#8]\n"
1014"                 LDR     R2, [R2,R3,LSL#2]\n"
1015                "LDR     R3, =video_mode\n"      // +
1016                "LDR     R3, [R3]\n"             // +
1017                "LDR     R3, [R3]\n"             // +
1018                "CMP     R3, #1\n"               // +
1019                "LDREQ   R3, =video_quality\n"   // +     
1020                "LDREQ   R3, [R3]\n"             // +     
1021                "LDREQ   R2, [R3]\n"             // +     
1022
1023"                 STR     R2, [R1]\n"
1024"                 STR     R0, [R4]\n"
1025                "BL      mute_on_zoom\n"     // +
1026"                 LDMFD   SP!, {R4-R8,PC}\n"
1027);
1028}
1029
1030#include "conf.h"
1031
1032int *video_quality = &conf.video_quality;
1033int *video_mode    = &conf.video_mode;
1034
1035long def_table[24]={0x2000, 0x38D, 0x788, 0x5800, 0x9C5, 0x14B8, 0x10000, 0x1C6A, 0x3C45, 0x8000, 0xE35, 0x1E23,
1036           0x1CCD, -0x2E1, -0x579, 0x4F33, -0x7EB, -0xF0C, 0xE666, -0x170A, -0x2BC6, 0x7333, -0xB85, -0x15E3};
1037
1038long table[24];
1039
1040void change_video_tables(int a, int b){
1041 int i;
1042 for (i=0;i<24;i++) table[i]=(def_table[i]*a)/b;
1043}
1044
1045long CompressionRateTable[]={0x60, 0x5D, 0x5A, 0x57, 0x54, 0x51, 0x4D, 0x48, 0x42, 0x3B, 0x32, 0x29, 0x22, 0x1D, 0x17, 0x14, 0x10, 0xE, 0xB, 9, 7, 6, 5, 4, 3, 2, 1};
1046
1047void __attribute((naked,noinline)) sub_FFC4B554_my() {
1048     asm volatile (
1049                     "STMFD   SP!, {R3-R5,LR}\n"
1050                     "LDR     R4, [R0,#0xC]\n"
1051                     "LDR     R0, [R4,#8]\n"
1052                     "ORR     R0, R0, #1\n"
1053                     "STR     R0, [R4,#8]\n"
1054                     "MOV     R0, #2\n"
1055                     "BL      sub_FFC462C8\n"
1056                     "BL      sub_FFC4BAA8\n"
1057                     "MOV     R0, R4\n"
1058                     "BL      sub_FFC4BD70\n"
1059                     "MOV     R0, R4\n"
1060                     "BL      sub_FFD0B054\n"
1061                     "CMP     R0, #0\n"
1062                     "MOV     R0, R4\n"
1063                     "BEQ     loc_FFC4B5AC\n"
1064                     "BL      sub_FFD0B0F0\n"
1065                     "TST     R0, #1\n"
1066                     "MOVNE   R2, R4\n"
1067                     "LDMNEFD SP!, {R3-R5,LR}\n"
1068                     "MOVNE   R1, #1\n"
1069                     "BNE     sub_FFC49978\n"
1070                     "B       loc_FFC4B5B0\n"
1071                     
1072        "loc_FFC4B5AC:\n"
1073                     "BL      sub_FFD0B0A4\n"
1074                     
1075        "loc_FFC4B5B0:\n"
1076                     "MOV     R0, #0\n"
1077                     "STR     R0, [SP]\n"
1078                     "LDR     R0, =0x18C90\n"
1079                     "MOV     R2, #2\n"
1080                     "LDRH    R0, [R0,#0x8A]\n"
1081                     "MOV     R1, SP\n"
1082                     "CMP     R0, #3\n"
1083                     "LDRNE   R0, [R4,#0xC]\n"
1084                     "CMPNE   R0, #1\n"
1085                     "MOVHI   R0, #1\n"
1086                     "STRHI   R0, [SP]\n"
1087                     "LDR     R0, =0x123\n"
1088                     "BL      sub_FFC593C4\n"
1089                     "BL      sub_FFD2D858\n"
1090                     "BL      shooting_expo_param_override\n"  // +-----------> Override Canon stuff :)
1091                     "BL      sub_FFC5965C\n"
1092                     "STR     R0, [R4,#0x18]\n"
1093                     "MOV     R0, R4\n"
1094                     "BL      sub_FFD0C1BC\n"
1095                     "BL      sub_FFD0CD0C\n"
1096                     "MOV     R0, R4\n"
1097                     "BL      sub_FFD0C284_my\n"
1098                     "BL      capt_seq_hook_raw_here\n" // +-----------> Capture RAW, camera already did badpixel-sub (always) though some pixels are still there
1099                     "MOV     R5, R0\n"
1100                     "BL      sub_FFC4D768\n"
1101                     "BL      sub_FFC4D7A4\n"
1102                     "MOV     R2, R4\n"
1103                     "MOV     R1, #1\n"
1104                     "MOV     R0, R5\n"
1105                     "BL      sub_FFC49978\n"
1106                     "BL      sub_FFD0C600\n"
1107                     "CMP     R0, #0\n"
1108                     "LDRNE   R0, [R4,#8]\n"
1109                     "ORRNE   R0, R0, #0x2000\n"
1110                     "STRNE   R0, [R4,#8]\n"
1111                     "LDMFD   SP!, {R3-R5,PC}\n"
1112                     "\n"
1113        ".ltorg\n"
1114     );
1115}
1116
1117
Note: See TracBrowser for help on using the repository browser.