source: trunk/platform/g12/sub/100e/movie_rec.c @ 1019

Revision 1019, 20.5 KB checked in by reyalP, 2 years ago (diff)

g12 100e support from philmoz in http://chdk.setepontos.com/index.php?topic=650.msg59179#msg59179

  • Property svn:eol-style set to native
Line 
1#include "conf.h"
2
3// TODO - is this needed
4void change_video_tables(int a, int b){
5}
6
7void  set_quality(int *x){ // -17 highest; +12 lowest
8 if (conf.video_mode) *x=12-((conf.video_quality-1)*(12+17)/(99-1));
9}
10
11// @ FF987094
12void __attribute__((naked,noinline)) movie_record_task(){
13
14 asm volatile(
15"                STMFD   SP!, {R2-R10,LR} \n"
16"                LDR     R8, =0x2710 \n"
17"                LDR     R4, =0x7290 \n"
18"                MOV     R7, #1 \n"
19"                LDR     R6, =0xFF986D84 \n"
20"                MOV     R5, #0 \n"
21
22"loc_FF9870AC: \n"
23"                LDR     R0, [R4,#0x24] \n"
24"                MOV     R2, #0 \n"
25"                ADD     R1, SP, #4 \n"
26"                BL      sub_FF83A460 \n"
27"                LDR     R0, [R4,#0x2C] \n"
28"                CMP     R0, #0 \n"
29"                LDRNE   R0, [R4,#0xC] \n"
30"                CMPNE   R0, #2 \n"
31"                LDRNE   R0, [R4,#0x44] \n"
32"                CMPNE   R0, #6 \n"
33"                BNE     loc_FF9871C4 \n"
34"                LDR     R0, [SP,#4] \n"
35"                LDR     R1, [R0] \n"
36"                SUB     R1, R1, #2 \n"
37"                CMP     R1, #0xA \n"
38"                ADDLS   PC, PC, R1,LSL#2 \n"
39
40"                B       loc_FF9871C4 \n"
41"loc_FF9870F0: \n"
42"                B       loc_FF987178 \n"
43"loc_FF9870F4: \n"
44"                B       loc_FF987198 \n"
45"loc_FF9870F8: \n"
46"                B       loc_FF9871A8 \n"
47"loc_FF9870FC: \n"
48"                B       loc_FF9871B0 \n"
49"loc_FF987100: \n"
50"                B       loc_FF987180 \n"
51"loc_FF987104: \n"
52"                B       loc_FF9871B8 \n"
53"loc_FF987108: \n"
54"                B       loc_FF987188 \n"
55"loc_FF98710C: \n"
56"                B       loc_FF9871C4 \n"
57"loc_FF987110: \n"
58"                B       loc_FF9871C0 \n"
59"loc_FF987114: \n"
60"                B       loc_FF987148 \n"
61"loc_FF987118: \n"
62"                B       loc_FF98711C \n"
63
64"loc_FF98711C: \n"
65//"; jumptable entry 10 \n"
66"                STR     R5, [R4,#0x40] \n"
67"                STR     R5, [R4,#0x30] \n"
68"                STR     R5, [R4,#0x34] \n"
69"                STRH    R5, [R4,#6] \n"
70"                STR     R6, [R4,#0xB4] \n"
71"                LDR     R0, [R4,#0xC] \n"
72"                ADD     R0, R0, #1 \n"
73"                STR     R0, [R4,#0xC] \n"
74"                MOV     R0, #6 \n"
75"                STR     R0, [R4,#0x44] \n"
76"                B       loc_FF987164 \n"
77
78"loc_FF987148: \n"
79//"; jumptable entry 9 \n"
80"                STR     R5, [R4,#0x40] \n"
81"                STR     R5, [R4,#0x30] \n"
82"                STR     R6, [R4,#0xB4] \n"
83"                LDR     R0, [R4,#0xC] \n"
84"                ADD     R0, R0, #1 \n"
85"                STR     R0, [R4,#0xC] \n"
86"                STR     R7, [R4,#0x44] \n"
87
88"loc_FF987164: \n"
89"                LDR     R2, =0xFF985F9C \n"
90"                LDR     R1, =0xB3E0C \n"
91"                LDR     R0, =0xFF986098 \n"
92"                BL      sub_FF8532D0 \n"
93"                B       loc_FF9871C4 \n"
94
95"loc_FF987178: \n"
96//"; jumptable entry 0            ; LOCATION: MovieRecorder.c:0 \n"
97
98"               BL      unlock_optical_zoom\n"                  // added to unlock the zoom
99
100"                BL      sub_FF986EAC \n"
101"                B       loc_FF9871C4 \n"
102
103"loc_FF987180: \n"
104//"; jumptable entry 4            ; LOCATION: MovieRecorder.c:2032 \n"
105//"                BL      sub_FF9867EC \n"
106"                BL      sub_FF9867EC_my \n"            // patched
107"                B       loc_FF9871C4 \n"
108
109"loc_FF987188: \n"
110//"; jumptable entry 6 \n"
111"                               LDR             R1, [R0,#0x18] \n"
112"                               LDR             R0, [R0,#4] \n"
113"                BL      sub_FFB00134 \n"
114"                B       loc_FF9871C4 \n"
115
116"loc_FF987198: \n"
117//"; jumptable entry 1 \n"
118"                LDR     R0, [R4,#0x44] \n"
119"                CMP     R0, #5 \n"
120"                STRNE   R7, [R4,#0x34] \n"
121"                B       loc_FF9871C4 \n"
122
123"loc_FF9871A8: \n"
124//"; jumptable entry 2            ; LOCATION: MovieRecorder.c:1000 \n"
125"                BL      sub_FF986434 \n"
126"                B       loc_FF9871C4 \n"
127
128"loc_FF9871B0: \n"
129//"; jumptable entry 3            ; LOCATION: MovieRecorder.c:0 \n"
130"                BL      sub_FF9860E4 \n"
131"                B       loc_FF9871C4 \n"
132
133"loc_FF9871B8: \n"
134//"; jumptable entry 5            ; LOCATION: MovieRecorder.c:100 \n"
135"                BL      sub_FF985F28 \n"
136"                B       loc_FF9871C4 \n"
137
138"loc_FF9871C0: \n"
139//"; jumptable entry 8            ; LOCATION: MovieRecorder.c:0 \n"
140"                BL      sub_FF9875F4 \n"
141
142"loc_FF9871C4: \n"
143//"; jumptable default entry \n"
144//"; jumptable entry 7 \n"
145"                LDR     R1, [SP,#4] \n"
146"                                MOV     R3, #0x5F0 \n"
147"                STR     R5, [R1] \n"
148"                STR     R3, [SP] \n"
149"                LDR     R0, [R4,#0x28] \n"
150"                LDR     R3, =0xFF985D8C \n" //;aMovierecorder_
151"                MOV     R2, R8 \n"
152"                BL      sub_FF83ADB4 \n"
153"                B       loc_FF9870AC \n"
154 );
155}
156
157// TODO - can this be shrunk by jumping to firmware locations after patches ???
158void __attribute__((naked,noinline)) sub_FF9867EC_my(){
159 asm volatile(
160"                STMFD   SP!, {R4-R11,LR} \n"
161"                SUB     SP, SP, #0x64 \n"
162"                MOV     R8, #0 \n"
163"                LDR     R6, =0x7290 \n"
164"                MOV     R4, R0 \n"
165"                STR     R8, [SP,#0x54] \n"
166"                STR     R8, [SP,#0x4C] \n"
167"                LDR     R0, [R6,#0x44] \n"
168"                MOV     R11, #4 \n"
169"                CMP     R0, #3 \n"
170"                STREQ   R11, [R6,#0x44] \n"
171"                LDR     R0, [R6,#0xB4] \n"
172"                MOV     R9, #0 \n"
173"                MOV     R7, #0 \n"
174"                MOV     R5, #1 \n"
175"                BLX     R0 \n"
176"                LDR     R0, [R6,#0x44] \n"
177"                CMP     R0, #6 \n"
178"                BEQ     loc_FF98684C \n"
179"                LDR     R1, [R6,#0xC] \n"
180"                CMP     R1, #2 \n"
181"                BNE     loc_FF98686C \n"
182"                CMP     R0, #5 \n"
183"                BEQ     loc_FF9868E4 \n"
184
185"loc_FF98684C: \n"
186"                LDR     R1, =0x7F2 \n"
187"                MOV     R7, #1 \n"
188"                LDR     R0, =0xFF985D8C \n"    //aMovierecorder_
189"                BL      _DebugAssert \n"
190"                LDR     R0, [R6,#0x44] \n"
191"                CMP     R0, #4 \n"
192"                MOVNE   R5, #0 \n"
193"                B       loc_FF986874 \n"
194
195"loc_FF98686C: \n"
196"                CMP     R0, #4 \n"
197"                BNE     loc_FF9868E4 \n"
198
199"loc_FF986874: \n"
200"                LDRH    R0, [R6,#6] \n"
201"                CMP     R0, #1 \n"
202"                LDREQ   R1, =0x809 \n"
203"                LDREQ   R0, =0xFF985D8C \n"    //aMovierecorder_
204"                BLEQ    _DebugAssert \n"
205"                LDRH    R0, [R6,#6] \n"
206"                CMP     R0, #3 \n"
207"                BNE     loc_FF9868A8 \n"
208"                LDR     R0, [R6,#0x6C] \n"
209"                LDR     R1, [R6,#0xB8] \n"
210"                BL      sub_FFBB5A40 \n"
211"                CMP     R1, #0 \n"
212"                MOVNE   R5, #0 \n"
213
214"loc_FF9868A8: \n"
215"                LDR     R0, [R6,#0x44] \n"
216"                CMP     R0, #6 \n"
217"                CMPNE   R0, #1 \n"
218"                CMPNE   R0, #3 \n"
219"                BNE     loc_FF9868EC \n"
220"                CMP     R7, #1 \n"
221"                CMPEQ   R5, #0 \n"
222"                BNE     loc_FF9868EC \n"
223"                LDR     R0, [R6,#0x18] \n"
224"                MOV     R1, #0x3E8 \n"
225"                BL      _eventproc_export_TakeSemaphore \n"
226"                CMP     R0, #9 \n"
227"                BNE     loc_FF986D0C \n"
228"                MOV     R0, #0x90000 \n"
229"                BL      _eventproc_export_HardwareDefect \n"
230
231"loc_FF9868E4: \n"
232"                ADD     SP, SP, #0x64 \n"
233"                LDMFD   SP!, {R4-R11,PC} \n"
234
235"loc_FF9868EC: \n"
236"                CMP     R5, #1 \n"
237"                MOV     R10, #1 \n"
238"                BNE     loc_FF986914 \n"
239"                ADD     R3, SP, #0x4c \n"
240"                ADD     R2, SP, #0x50 \n"
241"                ADD     R1, SP, #0x54 \n"
242"                ADD     R0, SP, #0x58 \n"
243"                BL      sub_FFB001F4 \n"
244"                MOVS    R9, R0 \n"
245"                BNE     loc_FF986930 \n"
246
247"loc_FF986914: \n"
248"                LDR     R0, [R6,#0x34] \n"
249"                CMP     R0, #1 \n"
250"                BNE     loc_FF986A8C \n"
251"                LDR     R0, [R6,#0x6C] \n"
252"                LDR     R1, [R6,#0x48] \n"
253"                CMP     R0, R1 \n"
254"                BCC     loc_FF986A8C \n"
255
256"loc_FF986930: \n"
257"                CMP     R9, #0x80000001 \n"
258"                STREQ   R11, [R6,#0x70] \n"
259"                BEQ     loc_FF986968 \n"
260"                CMP     R9, #0x80000003 \n"
261"                STREQ   R10, [R6,#0x70] \n"
262"                BEQ     loc_FF986968 \n"
263"                CMP     R9, #0x80000005 \n"
264"                MOVEQ   R0, #2 \n"
265"                BEQ     loc_FF986964 \n"
266"                CMP     R9, #0x80000007 \n"
267"                STRNE   R8, [R6,#0x70] \n"
268"                BNE     loc_FF986968 \n"
269"                MOV     R0, #3 \n"
270
271"loc_FF986964: \n"
272"                STR     R0, [R6,#0x70] \n"
273
274"loc_FF986968: \n"
275"                LDR     R0, [R6,#0xC] \n"
276"                CMP     R0, #2 \n"
277"                BNE     loc_FF9869D0 \n"
278"                MOV     R1, #0 \n"
279"                LDR     R0, =0xFF9867E0 \n"
280"                BL      sub_FFABBE18 \n"
281"                LDR     R2, [R6,#0x64] \n"
282"                ADD     R3, SP, #0x5c \n"
283"                STRD    R2, [SP,#0x28] \n"
284"                MOV     R2, #0x18 \n"
285"                ADD     R1, SP, #0x34 \n"
286"                ADD     R0, SP, #0x10 \n"
287"                BL      sub_FFBB33E0 \n"
288"                LDR     R1, [R6,#0x84] \n"
289"                LDR     R2, [R6,#0x88] \n"
290"                MVN     R3, #1 \n"     //0xFFFFFFFE \n"
291"                ADD     R0, SP, #0x60 \n"
292"                STMEA   SP, {R0-R3} \n"
293"                LDR     R0, =0xB3E54 \n"
294"                MOV     R3, #0 \n"
295"                MOV     R2, #0 \n"
296"                MOV     R1, #0x40 \n"
297"                BL      sub_FFABBD70 \n"
298"                B       loc_FF986A24 \n"
299
300"loc_FF9869C8: \n"
301"                MOV     R1, #1 \n"
302"                B       loc_FF986C98 \n"
303
304"loc_FF9869D0: \n"
305"                BL      sub_FF9876A0 \n"
306"                LDR     R2, [R6,#0x64] \n"
307"                ADD     R3, SP, #0x5c \n"
308"                MVN     R1, #1 \n"     //0xFFFFFFFE \n"
309"                MOV     R0, #0 \n"
310"                ADD     R5, SP, #0x1c \n"
311"                STMIA   R5, {R0-R3} \n"
312"                LDR     R3, [R4,#0x1C] \n"
313"                LDR     R1, [R6,#0x84] \n"
314"                LDR     R2, [R6,#0x88] \n"
315"                ADD     R4, SP, #0x0c \n"
316"                ADD     R0, SP, #0x60 \n"
317"                STMIA   R4, {R0-R3} \n"
318"                MOV     R3, #0 \n"
319"                MOV     R1, #0x40 \n"
320"                MOV     R2, #0 \n"
321"                STMEA   SP, {R1-R3} \n"
322"                LDR     R3, =0xB3E54 \n"
323"                MOV     R1, #0 \n"
324"                MOV     R0, #0 \n"
325"                BL      sub_FFABABE0 \n"
326
327"loc_FF986A24: \n"
328"                LDR     R0, [R6,#0x18] \n"
329"                LDR     R1, [R6,#0x60] \n"
330"                BL      _eventproc_export_TakeSemaphore \n"
331"                CMP     R0, #9 \n"
332"                BEQ     loc_FF9869C8 \n"
333"                LDR     R0, [SP,#0x5c] \n"
334"                CMP     R0, #0 \n"
335"                BEQ     loc_FF986A4C \n"
336
337"loc_FF986A44: \n"
338"                MOV     R1, #1 \n"
339"                B       loc_FF986CB0 \n"
340
341"loc_FF986A4C: \n"
342"                LDR     R0, [R6,#0xC] \n"
343"                MOV     R4, #5 \n"
344"                CMP     R0, #2 \n"
345"                MOV     R0, #1 \n"
346"                BNE     loc_FF986A78 \n"
347"                BL      sub_FFABBDD8 \n"
348"                BL      sub_FFABBE00 \n"
349"                STR     R4, [R6,#0x44] \n"
350"                BL      sub_FF9876A0 \n"
351"                STR     R10, [R6,#0x44] \n"
352"                B       loc_FF986A84 \n"
353
354"loc_FF986A78: \n"
355"                BL      sub_FFABAC94 \n"
356"                BL      sub_FFABACF4 \n"
357"                STR     R4, [R6,#0x44] \n"
358
359"loc_FF986A84: \n"
360"                STR     R8, [R6,#0x34] \n"
361"                B       loc_FF9868E4 \n"
362
363"loc_FF986A8C: \n"
364"                CMP     R5, #1 \n"
365"                BNE     loc_FF986D0C \n"
366"                STR     R10, [R6,#0x38] \n"
367"                LDR     R0, [R6,#0x6C] \n"
368"                LDR     R11, [R4,#0xC] \n"
369"                CMP     R0, #0 \n"
370"                LDRNE   R9, [SP,#0x58] \n"
371"                LDRNE   R10, [SP,#0x54] \n"
372"                BNE     loc_FF986BD4 \n"
373"                LDR     R0, [R6,#0xC] \n"
374"                CMP     R0, #2 \n"
375"                BNE     loc_FF986B30 \n"
376"                MOV     R1, #0 \n"
377"                LDR     R0, =0xFF9867E0 \n"
378"                BL      sub_FFABBE18 \n"
379"                LDR     R2, [R6,#0x64] \n"
380"                ADD     R3, SP, #0x5c \n"
381"                STRD    R2, [SP,#0x28] \n"
382"                MOV     R2, #0x18 \n"
383"                ADD     R1, SP, #0x34 \n"
384"                ADD     R0, SP, #0x10 \n"
385"                BL      sub_FFBB33E0 \n"
386"                LDR     R1, [R6,#0x84] \n"
387"                LDR     R2, [R6,#0x88] \n"
388"                MVN     R3, #0 \n"     //0xFFFFFFFF \n"
389"                ADD     R0, SP, #0x60 \n"
390"                STMEA   SP, {R0-R3} \n"
391"                LDR     R0, [SP,#0x58] \n"
392"                LDR     R1, [SP,#0x54] \n"
393"                LDR     R2, [SP,#0x50] \n"
394"                LDR     R3, [SP,#0x4c] \n"
395"                BL      sub_FFABBD70 \n"
396"                LDR     R0, [R6,#0x18] \n"
397"                LDR     R1, [R6,#0x60] \n"
398"                BL      _eventproc_export_TakeSemaphore \n"
399"                CMP     R0, #9 \n"
400"                BEQ     loc_FF9869C8 \n"
401"                MOV     R1, #0 \n"
402"                LDR     R0, =0xFF9867D4 \n"
403"                BL      sub_FFABBE18 \n"
404"                B       loc_FF986B98 \n"
405
406"loc_FF986B30: \n"
407"                LDR     R0, [R4,#0x20] \n"
408"                LDR     R2, [R6,#0x64] \n"
409"                ADD     R3, SP, #0x5c \n"
410"                MVN     R1, #0 \n"     //0xFFFFFFFF \n"
411"                ADD     R9, SP, #0x1c \n"
412"                STMIA   R9, {R0-R3} \n"
413"                LDR     R3, [R4,#0x1C] \n"
414"                LDR     R1, [R6,#0x84] \n"
415"                LDR     R2, [R6,#0x88] \n"
416"                ADD     R0, SP, #0x60 \n"
417"                ADD     R9, SP, #0x0c \n"
418"                STMIA   R9, {R0-R3} \n"
419"                LDR     R1, [SP,#0x50] \n"
420"                LDR     R2, [SP,#0x54] \n"
421"                LDR     R3, [SP,#0x4c] \n"
422"                STMFA   SP, {R1,R3} \n"
423"                STR     R2, [SP] \n"
424"                LDMIB   R4, {R0,R1} \n"
425"                LDR     R3, [SP,#0x58] \n"
426"                MOV     R2, R11 \n"
427"                BL      sub_FFABABE0 \n"
428"                LDR     R0, [R6,#0x18] \n"
429"                LDR     R1, [R6,#0x60] \n"
430"                BL      _eventproc_export_TakeSemaphore \n"
431"                CMP     R0, #9 \n"
432"                BEQ     loc_FF9869C8 \n"
433
434"loc_FF986B98: \n"
435"                LDR     R0, [SP,#0x5c] \n"
436"                CMP     R0, #0 \n"
437"                BNE     loc_FF986A44 \n"
438"                LDR     R0, [R6,#0xC] \n"
439"                CMP     R0, #2 \n"
440"                MOV     R0, #1 \n"
441"                BNE     loc_FF986BBC \n"
442"                BL      sub_FFABBDD8 \n"
443"                B       loc_FF986BC0 \n"
444
445"loc_FF986BBC: \n"
446"                BL      sub_FFABAC94 \n"
447
448"loc_FF986BC0: \n"
449"                LDR     R0, [SP,#0x60] \n"
450"                LDR     R1, [SP,#0x58] \n"
451"                ADD     R9, R1, R0 \n"
452"                LDR     R1, [SP,#0x54] \n"
453"                SUB     R10, R1, R0 \n"
454
455"loc_FF986BD4: \n"
456"                LDR     R0, [R6,#0xC] \n"
457"                LDR     R2, [R6,#0x64] \n"
458"                CMP     R0, #2 \n"
459"                ADD     R3, SP, #0x5c \n"
460"                BNE     loc_FF986C28 \n"
461"                STRD    R2, [SP,#0x28] \n"
462"                MOV     R2, #0x18 \n"
463"                ADD     R1, SP, #0x34 \n"
464"                ADD     R0, SP, #0x10 \n"
465"                BL      sub_FFBB33E0 \n"
466"                LDR     R1, [R6,#0x84] \n"
467"                LDR     R2, [R6,#0x88] \n"
468"                LDR     R3, [R6,#0x68] \n"
469"                ADD     R0, SP, #0x60 \n"
470"                STMEA   SP, {R0-R3} \n"
471"                LDR     R2, [SP,#0x50] \n"
472"                LDR     R3, [SP,#0x4c] \n"
473"                MOV     R1, R10 \n"
474"                MOV     R0, R9 \n"
475"                BL      sub_FFABBD70 \n"
476"                B       loc_FF986C80 \n"
477
478"loc_FF986C28: \n"
479"                LDR     R1, [R6,#0x68] \n"
480"                LDR     R0, [R4,#0x20] \n"
481"                STR     R1, [SP,#0x20] \n"
482"                STR     R0, [SP,#0x1c] \n"
483"                STR     R2, [SP,#0x24] \n"
484"                STR     R3, [SP,#0x28] \n"
485"                LDR     R3, [R4,#0x1C] \n"
486"                LDR     R1, [R6,#0x84] \n"
487"                LDR     R2, [R6,#0x88] \n"
488"                ADD     R0, SP, #0x60 \n"
489"                STR     R2, [SP,#0x14] \n"
490"                LDR     R2, [SP,#0x50] \n"
491"                STR     R1, [SP,#0x10] \n"
492"                STR     R3, [SP,#0x18] \n"
493"                LDR     R3, [SP,#0x4c] \n"
494"                STR     R0, [SP,#0x0c] \n"
495"                STMFA   SP, {R2,R3} \n"
496"                STR     R10, [SP] \n"
497"                LDMIB   R4, {R0,R1} \n"
498"                MOV     R3, R9 \n"
499"                MOV     R2, R11 \n"
500"                BL      sub_FFABABE0 \n"
501
502"loc_FF986C80: \n"
503"                LDR     R0, [R6,#0x18] \n"
504"                LDR     R1, [R6,#0x60] \n"
505"                BL      _eventproc_export_TakeSemaphore \n"
506"                CMP     R0, #9 \n"
507"                BNE     loc_FF986CA0 \n"
508"                MOV     R1, #0 \n"
509
510"loc_FF986C98: \n"
511"                MOV     R0, #0x90000 \n"
512"                B       loc_FF986CB4 \n"
513
514"loc_FF986CA0: \n"
515"                LDR     R0, [SP,#0x5c] \n"
516"                CMP     R0, #0 \n"
517"                BEQ     loc_FF986CBC \n"
518"                MOV     R1, #0 \n"
519
520"loc_FF986CB0: \n"
521"                MOV     R0, #0xA0000 \n"
522
523"loc_FF986CB4: \n"
524"                BL      sub_FF986774 \n"
525"                B       loc_FF9868E4 \n"
526
527"loc_FF986CBC: \n"
528"                LDR     R0, [R6,#0xC] \n"
529"                CMP     R0, #2 \n"
530"                MOV     R0, #0 \n"
531"                BNE     loc_FF986CD4 \n"
532"                BL      sub_FFABBDD8 \n"
533"                B       loc_FF986CD8 \n"
534
535"loc_FF986CD4: \n"
536"                BL      sub_FFABAC94 \n"
537
538"loc_FF986CD8: \n"
539"                LDR     R0, [SP,#0x58] \n"
540"                LDR     R1, [SP,#0x60] \n"
541"                BL      sub_FFB0042C \n"
542"                LDR     R0, [R6,#0x68] \n"
543"                LDR     R3, =0x7318 \n"
544"                ADD     R1, R0, #1 \n"
545"                STR     R1, [R6,#0x68] \n"
546"                STR     R3, [SP] \n"
547"                LDR     R0, [R6,#0x64] \n"
548"                SUB     R3, R3, #4 \n"
549"                AND     R2, R0, #0xFF \n"
550"                LDR     R0, [SP,#0x60] \n"
551"                BL      sub_FFAFDF74 \n"
552
553                "LDR     R0, =0x7318-4\n" // <----   -4 //+
554                "BL      set_quality\n"                 //+
555
556"loc_FF986D0C: \n"
557"                CMP     R5, #1 \n"
558"                LDRNEH  R0, [R6,#6] \n"
559"                CMPNE   R0, #3 \n"
560"                BNE     loc_FF9868E4 \n"
561"                LDR     R0, [R6,#0x6C] \n"
562"                ADD     R0, R0, #1 \n"
563"                STR     R0, [R6,#0x6C] \n"
564"                LDRH    R1, [R6,#6] \n"
565"                CMP     R1, #3 \n"
566"                LDRNE   R1, [R6,#0x54] \n"
567"                LDREQ   R1, =0x3E9 \n"
568"                MUL     R0, R1, R0 \n"
569"                LDREQ   R1, =0x1770 \n"
570"                LDRNE   R1, [R6,#0x50] \n"
571"                BL      sub_FFBB5A40 \n"
572"                MOV     R4, R0 \n"
573"                BL      sub_FFB007A8 \n"
574"                LDR     R0, [R6,#0x8C] \n"
575"                CMP     R0, R4 \n"
576"                BNE     loc_FF986D68 \n"
577"                LDR     R0, [R6,#0x3C] \n"
578"                CMP     R0, #1 \n"
579"                BNE     loc_FF986D7C \n"
580
581"loc_FF986D68: \n"
582"                LDR     R1, [R6,#0x98] \n"
583"                MOV     R0, R4 \n"
584"                BLX     R1 \n"
585"                STR     R4, [R6,#0x8C] \n"
586"                STR     R8, [R6,#0x3C] \n"
587
588"loc_FF986D7C: \n"
589"                STR     R8, [R6,#0x38] \n"
590"                B       loc_FF9868E4 \n"
591        );
592}
Note: See TracBrowser for help on using the repository browser.