This source file includes following definitions.
- change_video_tables
- set_quality
- movie_record_task
- sub_FF863E84_my
1 #include "conf.h"
2
3 void change_video_tables(__attribute__ ((unused))int a, __attribute__ ((unused))int b) {}
4
5
6 void set_quality(int *x){
7 if (conf.video_mode) *x=12-((conf.video_quality-1)*(12+17)/(99-1));
8 }
9
10
11 void __attribute__((naked,noinline)) movie_record_task(){
12 asm volatile(
13 "STMFD SP!, {R2-R8,LR}\n"
14 "LDR R8, =0x3F5\n"
15 "LDR R7, =0x2710\n"
16 "LDR R4, =0x53F8\n"
17 "MOV R6, #0\n"
18 "MOV R5, #1\n"
19 "loc_FF86459C:\n"
20 "LDR R0, [R4,#0x18]\n"
21 "MOV R2, #0\n"
22 "ADD R1, SP, #4\n"
23 "BL sub_FF8274FC\n"
24 "LDR R2, =0xFF862E34\n"
25 "LDR R0, [R4,#0xB0]\n"
26 "MOV R3, R8\n"
27 "MOV R1, R7\n"
28 "BL sub_FF827DF8\n"
29 "LDR R0, [R4,#0x20]\n"
30 "CMP R0, #0\n"
31 "BNE loc_FF86469C\n"
32 "LDR R0, [SP,#4]\n"
33 "LDR R1, [R0]\n"
34 "SUB R1, R1, #2\n"
35 "CMP R1, #0xB\n"
36 "ADDLS PC, PC, R1,LSL#2\n"
37 "B loc_FF86469C\n"
38 "loc_FF8645E4:\n"
39 "B loc_FF864644\n"
40
41 "loc_FF8645E8:\n"
42 "B loc_FF86465C\n"
43
44 "loc_FF8645EC:\n"
45 "B loc_FF86466C\n"
46
47 "loc_FF8645F0:\n"
48 "B loc_FF864674\n"
49
50 "loc_FF8645F4:\n"
51 "B loc_FF86464C\n"
52
53 "loc_FF8645F8:\n"
54 "B loc_FF86467C\n"
55
56 "loc_FF8645FC:\n"
57 "B loc_FF864654\n"
58
59 "loc_FF864600:\n"
60 "B loc_FF86469C\n"
61
62 "loc_FF864604:\n"
63 "B loc_FF86468C\n"
64
65 "loc_FF864608:\n"
66 "B loc_FF864694\n"
67
68 "loc_FF86460C:\n"
69 "B loc_FF864684\n"
70
71 "loc_FF864610:\n"
72 "B loc_FF864614\n"
73
74 "loc_FF864614:\n"
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90 "LDR R0, =0xFF86422C\n"
91 "STR R6, [R4,#0x34]\n"
92 "STR R0, [R4,#0x9C]\n"
93 "LDR R0, =0xFF863348\n"
94 "LDR R2, =0xFF86334C\n"
95 "STR R0, [R4,#0xA0]\n"
96 "LDR R0, =0xFF86345C\n"
97 "LDR R1, =0x1BA0C\n"
98 "STR R6, [R4,#0x24]\n"
99 "BL sub_FF83C1F4\n"
100 "STR R5, [R4,#0x38]\n"
101 "B loc_FF86469C\n"
102
103
104 "loc_FF864644:\n"
105
106
107 "BL sub_FF864354\n"
108 "B loc_FF86469C\n"
109
110 "loc_FF86464C:\n"
111
112
113 "BL sub_FF863E84_my\n"
114 "B loc_FF86469C\n"
115
116 "loc_FF864654:\n"
117
118
119 "BL sub_FF864A18\n"
120 "B loc_FF86469C\n"
121
122 "loc_FF86465C:\n"
123
124
125 "LDR R0, [R4,#0x38]\n"
126 "CMP R0, #5\n"
127 "STRNE R5, [R4,#0x28]\n"
128 "B loc_FF86469C\n"
129
130 "loc_FF86466C:\n"
131
132
133 "BL sub_FF863BCC\n"
134 "B loc_FF86469C\n"
135
136 "loc_FF864674:\n"
137
138
139 "BL sub_FF8638C0\n"
140 "B loc_FF86469C\n"
141
142 "loc_FF86467C:\n"
143
144
145 "BL sub_FF8632D4\n"
146 "B loc_FF86469C\n"
147
148 "loc_FF864684:\n"
149
150
151 "BL sub_FF864980\n"
152 "B loc_FF86469C\n"
153
154 "loc_FF86468C:\n"
155
156
157 "BL sub_FF864834\n"
158 "B loc_FF86469C\n"
159
160 "loc_FF864694:\n"
161
162
163 "BL sub_FF8637B0\n"
164 "STR R5, [R4,#0xD8]\n"
165
166 "loc_FF86469C:\n"
167
168
169
170 "LDR R1, [SP,#4]\n"
171 "MOV R3, #0x430\n"
172 "STR R6, [R1]\n"
173 "STR R3, [SP]\n"
174 "LDR R3, =0xFF862E34\n"
175 "MOV R2, R7\n"
176 "LDR R0, [R4,#0x1C]\n"
177 "BL sub_FF827E50\n"
178 "LDR R0, [R4,#0xB0]\n"
179 "BL sub_FF8279E8\n"
180 "B loc_FF86459C\n"
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278 );
279 }
280
281
282 void __attribute__((naked,noinline)) sub_FF863E84_my(){
283 asm volatile(
284 "STMFD SP!, {R4-R8,LR}\n"
285 "SUB SP, SP, #0x48\n"
286 "MOV R7, #0\n"
287 "LDR R6, =0x53F8\n"
288 "MOV R4, R0\n"
289 "STR R7, [SP,#0x38]\n"
290 "STR R7, [SP,#0x30]\n"
291 "LDR R0, [R6,#0x38]\n"
292 "CMP R0, #3\n"
293 "MOVEQ R0, #4\n"
294 "STREQ R0, [R6,#0x38]\n"
295 "LDR R0, [R6,#0x9C]\n"
296 "BLX R0\n"
297 "LDR R0, [R6,#0x38]\n"
298 "CMP R0, #4\n"
299 "BNE loc_FF863F88\n"
300 "ADD R3, SP, #0x30\n"
301 "ADD R2, SP, #0x34\n"
302 "ADD R1, SP, #0x38\n"
303 "ADD R0, SP, #0x3C\n"
304 "BL sub_FF9462B4\n"
305 "CMP R0, #0\n"
306 "MOV R5, #1\n"
307 "BNE loc_FF863F00\n"
308 "LDR R1, [R6,#0x28]\n"
309 "CMP R1, #1\n"
310 "BNE loc_FF863F9C\n"
311 "LDR R1, [R6,#0x4C]\n"
312 "LDR R2, [R6,#0x3C]\n"
313 "CMP R1, R2\n"
314 "BCC loc_FF863F9C\n"
315 "loc_FF863F00:\n"
316 "BL sub_FF86349C\n"
317 "BL sub_FF864820\n"
318 "LDR R0, [R4,#0x14]\n"
319 "LDR R1, [R4,#0x18]\n"
320 "ADD R3, SP, #0x40\n"
321 "MVN R2, #1\n"
322 "ADD R7, SP, #0x18\n"
323 "STMIA R7, {R0-R3}\n"
324 "LDR R2, [R6,#0x64]\n"
325 "LDR R3, [R6,#0x68]\n"
326 "MOV R0, #0\n"
327 "ADD R1, SP, #0x44\n"
328 "ADD R7, SP, #8\n"
329 "STMIA R7, {R0-R3}\n"
330 "MOV R3, #0\n"
331 "MOV R2, #0x40\n"
332 "STRD R2, [SP]\n"
333 "LDMIB R4, {R0,R1}\n"
334 "LDR R3, =0x1BA98\n"
335 "MOV R2, R8\n"
336 "BL sub_FF8FF5B0\n"
337 "LDR R0, [R6,#0x10]\n"
338 "MOV R1, #0x3E8\n"
339 "BL sub_FF827918\n"
340 "CMP R0, #9\n"
341 "BEQ loc_FF864020\n"
342 "LDR R0, [SP,#0x40]\n"
343 "CMP R0, #0\n"
344 "BNE loc_FF86403C\n"
345 "MOV R0, #1\n"
346 "BL sub_FF8FF658\n"
347 "BL sub_FF8FF694\n"
348 "MOV R0, #5\n"
349 "STR R0, [R6,#0x38]\n"
350 "loc_FF863F88:\n"
351 "ADD SP, SP, #0x48\n"
352 "LDMFD SP!, {R4-R8,PC}\n"
353 "loc_FF863F90:\n"
354 "BL sub_FF881204\n"
355 "MOV R0, #1\n"
356 "B loc_FF8640EC\n"
357 "loc_FF863F9C:\n"
358 "LDR R12, [SP,#0x38]\n"
359 "CMP R12, #0\n"
360 "BEQ loc_FF8641D4\n"
361 "STR R5, [R6,#0x2C]\n"
362 "LDR R0, [R6,#0x4C]\n"
363 "LDR R8, [R4,#0xC]\n"
364 "CMP R0, #0\n"
365 "LDRNE LR, [SP,#0x3C]\n"
366 "BNE loc_FF864068\n"
367 "LDR R0, [R4,#0x14]\n"
368 "LDR R1, [R4,#0x18]\n"
369 "ADD R3, SP, #0x40\n"
370 "MVN R2, #0\n"
371 "ADD LR, SP, #0x18\n"
372 "STMIA LR, {R0-R3}\n"
373 "LDR R0, [SP,#0x30]\n"
374 "LDR R2, [R6,#0x64]\n"
375 "LDR R3, [R6,#0x68]\n"
376 "ADD R1, SP, #0x44\n"
377 "ADD LR, SP, #8\n"
378 "STMIA LR, {R0-R3}\n"
379 "LDR R3, [SP,#0x34]\n"
380 "STR R12, [SP]\n"
381 "STR R3, [SP,#4]\n"
382 "LDMIB R4, {R0,R1}\n"
383 "LDR R3, [SP,#0x3C]\n"
384 "MOV R2, R8\n"
385 "BL sub_FF8FF5B0\n"
386 "LDR R0, [R6,#0x10]\n"
387 "MOV R1, #0x3E8\n"
388 "BL sub_FF827918\n"
389 "CMP R0, #9\n"
390 "BNE loc_FF864030\n"
391 "loc_FF864020:\n"
392 "BL sub_FF946780\n"
393 "MOV R0, #0x90000\n"
394 "STR R5, [R6,#0x38]\n"
395 "B loc_FF863F90\n"
396 "loc_FF864030:\n"
397 "LDR R0, [SP,#0x40]\n"
398 "CMP R0, #0\n"
399 "BEQ loc_FF86404C\n"
400 "loc_FF86403C:\n"
401 "BL sub_FF946780\n"
402 "MOV R0, #0xA0000\n"
403 "STR R5, [R6,#0x38]\n"
404 "B loc_FF863F90\n"
405 "loc_FF86404C:\n"
406 "MOV R0, #1\n"
407 "BL sub_FF8FF658\n"
408 "LDR R0, [SP,#0x44]\n"
409 "LDR R1, [SP,#0x3C]\n"
410 "ADD LR, R1, R0\n"
411 "LDR R1, [SP,#0x38]\n"
412 "SUB R12, R1, R0\n"
413 "loc_FF864068:\n"
414 "LDR R2, [R6,#0x48]\n"
415 "LDR R0, [R4,#0x14]\n"
416 "LDR R1, [R4,#0x18]\n"
417 "ADD R3, SP, #0x40\n"
418 "STR R1, [SP,#0x1C]\n"
419 "STR R0, [SP,#0x18]\n"
420 "STR R3, [SP,#0x24]\n"
421 "STR R2, [SP,#0x20]\n"
422 "LDR R2, [R6,#0x64]\n"
423 "LDR R3, [R6,#0x68]\n"
424 "ADD R1, SP, #0x44\n"
425 "STR R1, [SP,#0xC]\n"
426 "STR R3, [SP,#0x14]\n"
427 "LDR R3, [SP,#0x34]\n"
428 "LDR R0, [SP,#0x30]\n"
429 "STR R2, [SP,#0x10]\n"
430 "STR R3, [SP,#4]\n"
431 "STR R12, [SP]\n"
432 "STR R0, [SP,#8]\n"
433 "LDMIB R4, {R0,R1}\n"
434 "MOV R3, LR\n"
435 "MOV R2, R8\n"
436 "BL sub_FF8FF5B0\n"
437 "LDR R0, [R6,#0x10]\n"
438 "MOV R1, #0x3E8\n"
439 "BL sub_FF827918\n"
440 "CMP R0, #9\n"
441 "BNE loc_FF8640F4\n"
442 "BL sub_FF946780\n"
443 "MOV R0, #0x90000\n"
444 "STR R5, [R6,#0x38]\n"
445 "BL sub_FF881204\n"
446 "MOV R0, #0\n"
447 "loc_FF8640EC:\n"
448 "BL sub_FF8FF658\n"
449 "B loc_FF863F88\n"
450 "loc_FF8640F4:\n"
451 "LDR R0, [SP,#0x40]\n"
452 "CMP R0, #0\n"
453 "BEQ loc_FF864114\n"
454 "BL sub_FF946780\n"
455 "MOV R0, #0xA0000\n"
456 "STR R5, [R6,#0x38]\n"
457 "BL sub_FF881204\n"
458 "B loc_FF863F88\n"
459 "loc_FF864114:\n"
460 "MOV R0, #0\n"
461 "BL sub_FF8FF658\n"
462 "LDR R0, [R6,#0xD8]\n"
463 "CMP R0, #1\n"
464 "BNE loc_FF8641A4\n"
465 "LDR R0, [R6,#0x48]\n"
466 "MOV R1, #0xF\n"
467 "BL sub_FFB02514\n"
468 "MOVS R4, R1\n"
469 "STREQ R7, [R6,#0xD8]\n"
470 "BEQ loc_FF8641A4\n"
471 "LDR R5, [SP,#0x3C]\n"
472 "MOV R2, #4\n"
473 "ADD R0, SP, #0x2C\n"
474 "ADD R1, R5, #4\n"
475 "BL sub_FFAFFFF4\n"
476 "LDR R0, [SP,#0x2C]\n"
477 "MOV R1, R0,LSR#24\n"
478 "AND R2, R0, #0xFF0000\n"
479 "ORR R1, R1, R2,LSR#8\n"
480 "AND R2, R0, #0xFF00\n"
481 "ORR R1, R1, R2,LSL#8\n"
482 "ORR R0, R1, R0,LSL#24\n"
483 "BIC R0, R0, #0x1E000\n"
484 "ORR R0, R0, R4,LSL#13\n"
485 "MOV R1, R0,LSR#24\n"
486 "AND R2, R0, #0xFF0000\n"
487 "ORR R1, R1, R2,LSR#8\n"
488 "AND R2, R0, #0xFF00\n"
489 "ORR R1, R1, R2,LSL#8\n"
490 "ORR R0, R1, R0,LSL#24\n"
491 "STR R0, [SP,#0x2C]\n"
492 "ADD R0, R5, #4\n"
493 "ADD R1, SP, #0x2C\n"
494 "MOV R2, #4\n"
495 "BL sub_FFAFFFF4\n"
496 "loc_FF8641A4:\n"
497 "LDR R0, [SP,#0x3C]\n"
498 "LDR R1, [SP,#0x44]\n"
499 "BL sub_FF9464DC\n"
500 "LDR R0, [R6,#0x48]\n"
501 "LDR R3, =0x5460\n"
502 "ADD R1, R0, #1\n"
503 "STR R1, [R6,#0x48]\n"
504 "STR R3, [SP]\n"
505 "LDR R0, [SP,#0x44]\n"
506 "SUB R3, R3, #4\n"
507 "MOV R2, #0xF\n"
508 "BL sub_FF9446D8\n"
509
510 "LDR R0, =0x5460-4\n"
511 "BL set_quality\n"
512
513
514 "loc_FF8641D4:\n"
515 "LDR R0, [R6,#0x4C]\n"
516 "ADD R0, R0, #1\n"
517 "STR R0, [R6,#0x4C]\n"
518 "LDR R1, [R6,#0x74]\n"
519 "MUL R0, R1, R0\n"
520 "LDR R1, [R6,#0x70]\n"
521 "BL sub_FFB02514\n"
522 "MOV R4, R0\n"
523 "BL sub_FF9467B8\n"
524 "LDR R1, [R6,#0x6C]\n"
525 "CMP R1, R4\n"
526 "BNE loc_FF864210\n"
527 "LDR R0, [R6,#0x30]\n"
528 "CMP R0, #1\n"
529 "BNE loc_FF864224\n"
530 "loc_FF864210:\n"
531 "LDR R1, [R6,#0x80]\n"
532 "MOV R0, R4\n"
533 "BLX R1\n"
534 "STR R4, [R6,#0x6C]\n"
535 "STR R7, [R6,#0x30]\n"
536 "loc_FF864224:\n"
537 "STR R7, [R6,#0x2C]\n"
538 "B loc_FF863F88\n"
539
540 );
541 }
542