This source file includes following definitions.
- block_sv_cooking
- dvlp_seq_task
- capt_seq_task
- sub_FF07B780_my
- sub_FF1D1468_my
- exp_drv_task
- sub_FF0CA478_my
- sub_FF0B8CDC_my
1
2
3
4 #include "lolevel.h"
5 #include "platform.h"
6 #include "core.h"
7
8 #define USE_STUBS_NRFLAG 1
9 #define NR_AUTO (0)
10
11 #include "../../../generic/capt_seq.c"
12
13 void __attribute__((naked,noinline)) block_sv_cooking()
14 {
15
16
17 asm volatile (
18 " MOV R2, #2 \n"
19 " ADD R1, PC, #4 \n"
20 " MOV R0, #77 \n"
21 " B _SetPropertyCase \n"
22 " .word 1 \n"
23 );
24 }
25
26
27
28 void __attribute__((naked,noinline)) dvlp_seq_task() {
29 asm volatile (
30 " STMFD SP!, {R2-R6,LR} \n"
31 " LDR R6, =0x40B8 \n"
32
33 "loc_FF07D500:\n"
34 " MOV R2, #0 \n"
35 " LDR R0, [R6, #8] \n"
36 " LDR R1, [R6, #0x10] \n"
37 " BL sub_FF029FF4 /*_PostMessageQueue*/ \n"
38 " LDR R0, [R6, #4] \n"
39 " MOV R2, #0 \n"
40 " ADD R1, SP, #4 \n"
41 " BL sub_FF029EA8 /*_ReceiveMessageQueue*/ \n"
42 " TST R0, #1 \n"
43 " MOVNE R1, #0x190 \n"
44 " BNE loc_FF07D548 \n"
45 " LDR R0, [R6, #8] \n"
46 " MOV R1, SP \n"
47 " BL sub_FF029F70 /*_TryReceiveMessageQueue*/ \n"
48 " TST R0, #1 \n"
49 " MOVEQ R5, #0 \n"
50 " BEQ loc_FF07D558 \n"
51 " LDR R1, =0x196 \n"
52
53 "loc_FF07D548:\n"
54 " LDR R0, =0xFF07D6B0 /*'SsDvlpSeq.c'*/ \n"
55 " BL _DebugAssert \n"
56 " BL _ExitTask \n"
57 " LDMFD SP!, {R2-R6,PC} \n"
58
59 "loc_FF07D558:\n"
60 " LDR R1, [SP, #4] \n"
61 " LDR R0, [R1] \n"
62 " CMP R0, #0 \n"
63 " BEQ loc_FF07D57C \n"
64 " CMP R0, #1 \n"
65 " BEQ loc_FF07D588 \n"
66 " CMP R0, #2 \n"
67 " BLEQ sub_FF07D028 \n"
68 " B loc_FF07D59C \n"
69
70 "loc_FF07D57C:\n"
71 " BL capt_seq_hook_raw_here\n"
72 " LDR R0, [R1, #8] \n"
73 " BL sub_FF1D3ED8 \n"
74 " B loc_FF07D59C \n"
75
76 "loc_FF07D588:\n"
77 " LDR R0, [R1, #8] \n"
78 " BL sub_FF1D4324 \n"
79 " LDR R0, [SP, #4] \n"
80 " LDR R0, [R0, #8] \n"
81 " BL sub_FF1D2D8C \n"
82
83 "loc_FF07D59C:\n"
84 " LDR R4, [SP, #4] \n"
85 " LDR R0, [R4, #4] \n"
86 " CMP R0, #0 \n"
87 " MOVEQ R1, #0x76 \n"
88 " LDREQ R0, =0xFF07D6B0 /*'SsDvlpSeq.c'*/ \n"
89 " BLEQ _DebugAssert \n"
90 " STR R5, [R4, #4] \n"
91 " LDR R0, [R6, #4] \n"
92 " ADD R1, SP, #4 \n"
93 " BL sub_FF029F70 /*_TryReceiveMessageQueue*/ \n"
94 " TST R0, #1 \n"
95 " BEQ loc_FF07D558 \n"
96 " B loc_FF07D500 \n"
97 );
98 }
99
100
101
102 void __attribute__((naked,noinline)) capt_seq_task() {
103 asm volatile (
104 " STMFD SP!, {R3-R7,LR} \n"
105 " LDR R4, =0x40A00 \n"
106 " LDR R7, =0x4070 \n"
107 " MOV R6, #0 \n"
108
109 "loc_FF07B374:\n"
110 " LDR R0, [R7, #4] \n"
111 " MOV R2, #0 \n"
112 " MOV R1, SP \n"
113 " BL sub_FF029EA8 /*_ReceiveMessageQueue*/ \n"
114 " TST R0, #1 \n"
115 " BEQ loc_FF07B3A0 \n"
116 " LDR R1, =0x491 \n"
117 " LDR R0, =0xFF07ACB0 /*'SsShootTask.c'*/ \n"
118 " BL _DebugAssert \n"
119 " BL _ExitTask \n"
120 " LDMFD SP!, {R3-R7,PC} \n"
121
122 "loc_FF07B3A0:\n"
123 " LDR R0, [SP] \n"
124 " LDR R1, [R0] \n"
125 " CMP R1, #0x28 \n"
126 " ADDCC PC, PC, R1, LSL#2 \n"
127 " B loc_FF07B62C \n"
128 " B loc_FF07B454 \n"
129 " B loc_FF07B46C \n"
130 " B loc_FF07B478 \n"
131 " B loc_FF07B48C \n"
132 " B loc_FF07B484 \n"
133 " B loc_FF07B498 \n"
134 " B loc_FF07B4A0 \n"
135 " B loc_FF07B4A8 \n"
136 " B loc_FF07B4C4 \n"
137 " B loc_FF07B504 \n"
138 " B loc_FF07B4D0 \n"
139 " B loc_FF07B4DC \n"
140 " B loc_FF07B4E4 \n"
141 " B loc_FF07B4EC \n"
142 " B loc_FF07B4F4 \n"
143 " B loc_FF07B4FC \n"
144 " B loc_FF07B50C \n"
145 " B loc_FF07B514 \n"
146 " B loc_FF07B51C \n"
147 " B loc_FF07B524 \n"
148 " B loc_FF07B52C \n"
149 " B loc_FF07B534 \n"
150 " B loc_FF07B53C \n"
151 " B loc_FF07B544 \n"
152 " B loc_FF07B54C \n"
153 " B loc_FF07B554 \n"
154 " B loc_FF07B560 \n"
155 " B loc_FF07B568 \n"
156 " B loc_FF07B574 \n"
157 " B loc_FF07B57C \n"
158 " B loc_FF07B5AC \n"
159 " B loc_FF07B5B4 \n"
160 " B loc_FF07B5BC \n"
161 " B loc_FF07B5C4 \n"
162 " B loc_FF07B5CC \n"
163 " B loc_FF07B5D4 \n"
164 " B loc_FF07B5E0 \n"
165 " B loc_FF07B5E8 \n"
166 " B loc_FF07B5F4 \n"
167 " B loc_FF07B638 \n"
168
169 "loc_FF07B454:\n"
170 " BL shooting_expo_iso_override\n"
171 " BL block_sv_cooking\n"
172 " BL sub_FF07BC74 \n"
173 " BL shooting_expo_param_override\n"
174 " BL block_sv_cooking\n"
175 " BL sub_FF07864C \n"
176 " MOV R0, #0\n"
177 " STR R0, [R4,#0x2C]\n"
178
179
180
181 " B loc_FF07B638 \n"
182
183 "loc_FF07B46C:\n"
184 " LDR R0, [R0, #0x10] \n"
185 " BL sub_FF07B780_my \n"
186 " B loc_FF07B638 \n"
187
188 "loc_FF07B478:\n"
189 " MOV R0, #1 \n"
190 " BL sub_FF07BFF0 \n"
191 " B loc_FF07B638 \n"
192
193 "loc_FF07B484:\n"
194 " BL sub_FF07B8E0 \n"
195 " B loc_FF07B490 \n"
196
197 "loc_FF07B48C:\n"
198 " BL sub_FF07BC54 \n"
199
200 "loc_FF07B490:\n"
201 " STR R6, [R4, #0x2C] \n"
202 " B loc_FF07B638 \n"
203
204 "loc_FF07B498:\n"
205 " BL sub_FF07BC5C \n"
206 " B loc_FF07B638 \n"
207
208 "loc_FF07B4A0:\n"
209 " BL sub_FF07BE98 \n"
210 " B loc_FF07B4C8 \n"
211
212 "loc_FF07B4A8:\n"
213 " LDR R5, [R0, #0x10] \n"
214 " MOV R0, R5 \n"
215 " BL sub_FF1D1740 \n"
216 " MOV R2, R5 \n"
217 " MOV R1, #9 \n"
218 " BL sub_FF0790E8 \n"
219 " B loc_FF07B638 \n"
220
221 "loc_FF07B4C4:\n"
222 " BL sub_FF07BF54 \n"
223
224 "loc_FF07B4C8:\n"
225 " BL sub_FF07864C \n"
226 " B loc_FF07B638 \n"
227
228 "loc_FF07B4D0:\n"
229 " LDR R0, [R4, #0x5C] \n"
230 " BL sub_FF07C910 \n"
231 " B loc_FF07B638 \n"
232
233 "loc_FF07B4DC:\n"
234 " BL sub_FF07CBD0 \n"
235 " B loc_FF07B638 \n"
236
237 "loc_FF07B4E4:\n"
238 " BL sub_FF07CC34 \n"
239 " B loc_FF07B638 \n"
240
241 "loc_FF07B4EC:\n"
242 " BL sub_FF07CE04 \n"
243 " B loc_FF07B638 \n"
244
245 "loc_FF07B4F4:\n"
246 " BL sub_FF07D254 \n"
247 " B loc_FF07B638 \n"
248
249 "loc_FF07B4FC:\n"
250 " BL sub_FF07D304 \n"
251 " B loc_FF07B638 \n"
252
253 "loc_FF07B504:\n"
254 " BL sub_FF07BC54 \n"
255 " B loc_FF07B638 \n"
256
257 "loc_FF07B50C:\n"
258 " BL sub_FF1CF20C \n"
259 " B loc_FF07B638 \n"
260
261 "loc_FF07B514:\n"
262 " BL sub_FF1CF4F8 \n"
263 " B loc_FF07B638 \n"
264
265 "loc_FF07B51C:\n"
266 " BL sub_FF1CF5AC \n"
267 " B loc_FF07B638 \n"
268
269 "loc_FF07B524:\n"
270 " BL sub_FF1CF694 \n"
271 " B loc_FF07B638 \n"
272
273 "loc_FF07B52C:\n"
274 " BL sub_FF1CF790 \n"
275 " B loc_FF07B638 \n"
276
277 "loc_FF07B534:\n"
278 " MOV R0, #0 \n"
279 " B loc_FF07B558 \n"
280
281 "loc_FF07B53C:\n"
282 " BL sub_FF1CFDAC \n"
283 " B loc_FF07B638 \n"
284
285 "loc_FF07B544:\n"
286 " BL sub_FF1CFE40 \n"
287 " B loc_FF07B638 \n"
288
289 "loc_FF07B54C:\n"
290 " BL sub_FF1CFEFC \n"
291 " B loc_FF07B638 \n"
292
293 "loc_FF07B554:\n"
294 " MOV R0, #1 \n"
295
296 "loc_FF07B558:\n"
297 " BL sub_FF1CFC3C \n"
298 " B loc_FF07B638 \n"
299
300 "loc_FF07B560:\n"
301 " BL sub_FF07C260 \n"
302 " B loc_FF07B638 \n"
303
304 "loc_FF07B568:\n"
305 " BL sub_FF07C2F4 \n"
306 " BL sub_FF1D2A4C \n"
307 " B loc_FF07B638 \n"
308
309 "loc_FF07B574:\n"
310 " BL sub_FF1CFA7C \n"
311 " B loc_FF07B638 \n"
312
313 "loc_FF07B57C:\n"
314 " MOV R2, #2 \n"
315 " ADD R1, R4, #0x68 \n"
316 " MOV R0, #0x6F \n"
317 " BL _GetPropertyCase \n"
318 " TST R0, #1 \n"
319 " LDRNE R1, =0x592 \n"
320 " LDRNE R0, =0xFF07ACB0 /*'SsShootTask.c'*/ \n"
321 " BLNE _DebugAssert \n"
322 " LDRH R0, [R4, #0x68] \n"
323 " CMP R0, #1 \n"
324 " BLEQ sub_FF1CFA70 \n"
325 " B loc_FF07B638 \n"
326
327 "loc_FF07B5AC:\n"
328 " BL sub_FF1CFB9C \n"
329 " B loc_FF07B638 \n"
330
331 "loc_FF07B5B4:\n"
332 " BL sub_FF1D2B18 \n"
333 " B loc_FF07B638 \n"
334
335 "loc_FF07B5BC:\n"
336 " BL sub_FF0272CC \n"
337 " B loc_FF07B638 \n"
338
339 "loc_FF07B5C4:\n"
340 " BL sub_FF07FC94 \n"
341 " B loc_FF07B638 \n"
342
343 "loc_FF07B5CC:\n"
344 " BL sub_FF07FD1C \n"
345 " B loc_FF07B638 \n"
346
347 "loc_FF07B5D4:\n"
348 " LDR R0, [R0, #0xC] \n"
349 " BL sub_FF1D0024 \n"
350 " B loc_FF07B638 \n"
351
352 "loc_FF07B5E0:\n"
353 " BL sub_FF1D0094 \n"
354 " B loc_FF07B638 \n"
355
356 "loc_FF07B5E8:\n"
357 " BL sub_FF07FD84 \n"
358 " BL sub_FF07FD3C \n"
359 " B loc_FF07B638 \n"
360
361 "loc_FF07B5F4:\n"
362 " MOV R0, #1 \n"
363 " BL sub_FF1D1E50 \n"
364 " MOV R0, #1 \n"
365 " BL sub_FF1D1F84 \n"
366 " LDRH R0, [R4, #0xA4] \n"
367 " CMP R0, #4 \n"
368 " LDRNEH R0, [R4] \n"
369 " SUBNE R1, R0, #0x4200 \n"
370 " SUBNES R1, R1, #0x2B \n"
371 " BNE loc_FF07B638 \n"
372 " BL sub_FF07FD1C \n"
373 " BL sub_FF080498 \n"
374 " BL sub_FF0801AC \n"
375 " B loc_FF07B638 \n"
376
377 "loc_FF07B62C:\n"
378 " LDR R1, =0x5F2 \n"
379 " LDR R0, =0xFF07ACB0 /*'SsShootTask.c'*/ \n"
380 " BL _DebugAssert \n"
381
382 "loc_FF07B638:\n"
383 " LDR R0, [SP] \n"
384 " LDR R1, [R0, #4] \n"
385 " LDR R0, [R7] \n"
386 " BL sub_FF087564 /*_SetEventFlag*/ \n"
387 " LDR R5, [SP] \n"
388 " LDR R0, [R5, #8] \n"
389 " CMP R0, #0 \n"
390 " LDREQ R1, =0x117 \n"
391 " LDREQ R0, =0xFF07ACB0 /*'SsShootTask.c'*/ \n"
392 " BLEQ _DebugAssert \n"
393 " STR R6, [R5, #8] \n"
394 " B loc_FF07B374 \n"
395 );
396 }
397
398
399
400 void __attribute__((naked,noinline)) sub_FF07B780_my() {
401 asm volatile (
402 " STMFD SP!, {R4-R6,LR} \n"
403 " LDR R5, =0x40A00 \n"
404 " MOV R6, R0 \n"
405 " LDR R0, [R5, #0x2C] \n"
406 " LDR R4, =0x222F \n"
407 " CMP R0, #0 \n"
408 " BNE loc_FF07B7DC \n"
409 " LDRH R0, [R5] \n"
410 " CMP R0, R4 \n"
411 " SUBNE R1, R0, #0x4200 \n"
412 " SUBNES R1, R1, #0x2E \n"
413 " BLEQ sub_FF07DDF8 \n"
414 " BL sub_FF07DA94 \n"
415 " MOV R1, R6 \n"
416 " BL sub_FF07DAEC \n"
417 " LDR R0, =0x10F \n"
418 " MOV R2, #4 \n"
419 " ADD R1, R6, #0x58 \n"
420 " BL _SetPropertyCase \n"
421 " MOV R2, #4 \n"
422 " ADD R1, R6, #0x5C \n"
423 " MOV R0, #0x2C \n"
424 " BL _SetPropertyCase \n"
425
426 "loc_FF07B7DC:\n"
427 " LDRH R0, [R5] \n"
428 " CMP R0, R4 \n"
429 " MOV R0, R6 \n"
430 " BNE loc_FF07B7F4 \n"
431 " BL sub_FF1D2474 \n"
432 " B loc_FF07B7F8 \n"
433
434 "loc_FF07B7F4:\n"
435 " BL sub_FF1D1468_my \n"
436
437 "loc_FF07B7F8:\n"
438 " MOV R4, R0 \n"
439 " MOV R2, R6 \n"
440 " MOV R1, #1 \n"
441 " BL sub_FF0790E8 \n"
442 " TST R4, #1 \n"
443 " MOVEQ R0, R6 \n"
444 " BLEQ sub_FF1D0608 \n"
445 " LDR R0, [R5, #0xC8] \n"
446 " CMP R0, #2 \n"
447 " LDMNEFD SP!, {R4-R6,PC} \n"
448 " MOV R0, R6 \n"
449 " LDMFD SP!, {R4-R6,LR} \n"
450 " B sub_FF0792BC \n"
451 );
452 }
453
454
455
456 void __attribute__((naked,noinline)) sub_FF1D1468_my() {
457 asm volatile (
458 " STMFD SP!, {R3-R7,LR} \n"
459 " LDR R5, =0x40A00 \n"
460 " MOV R4, R0 \n"
461 " LDR R0, [R5, #0x2C] \n"
462 " LDR R6, =0x420D \n"
463 " CMP R0, #0 \n"
464 " MOV R7, #0 \n"
465 " BNE loc_FF1D14F8 \n"
466 " LDR R0, [R5, #0xC8] \n"
467 " CMP R0, #0 \n"
468 " BNE loc_FF1D14A8 \n"
469 " MOV R0, #0xC \n"
470 " BL sub_FF081D3C \n"
471 " TST R0, #1 \n"
472 " BEQ loc_FF1D14F8 \n"
473 " B loc_FF1D14F0 \n"
474
475 "loc_FF1D14A8:\n"
476 " LDRH R0, [R5] \n"
477 " CMP R0, R6 \n"
478 " LDRNEH R0, [R5, #0xA2] \n"
479 " CMPNE R0, #3 \n"
480 " LDRNE R0, [R4, #8] \n"
481 " CMPNE R0, #1 \n"
482 " BLS loc_FF1D14D8 \n"
483 " BL sub_FF022054 \n"
484 " TST R0, #1 \n"
485 " BEQ loc_FF1D14F8 \n"
486 " BL sub_FF081DA4 \n"
487 " B loc_FF1D14F0 \n"
488
489 "loc_FF1D14D8:\n"
490 " MOV R0, #0xC \n"
491 " BL sub_FF081D3C \n"
492 " TST R0, #1 \n"
493 " BEQ loc_FF1D14F8 \n"
494 " BL sub_FF1D1CC8 \n"
495 " BL sub_FF078DB4 \n"
496
497 "loc_FF1D14F0:\n"
498 " MOV R0, #1 \n"
499 " LDMFD SP!, {R3-R7,PC} \n"
500
501 "loc_FF1D14F8:\n"
502 " LDRH R0, [R5] \n"
503 " CMP R0, R6 \n"
504 " LDRNEH R0, [R5, #0xA2] \n"
505 " CMPNE R0, #3 \n"
506 " LDRNE R0, [R4, #8] \n"
507 " CMPNE R0, #1 \n"
508 " BLS loc_FF1D1528 \n"
509 " LDRH R0, [R5, #0xA0] \n"
510 " CMP R0, #0 \n"
511 " LDREQH R0, [R5, #0x9C] \n"
512 " CMPEQ R0, #2 \n"
513 " BLEQ sub_FF07C3C8 \n"
514
515 "loc_FF1D1528:\n"
516 " LDRH R1, [R5] \n"
517 " LDRH R0, [R5, #0xA2] \n"
518 " CMP R1, R6 \n"
519 " BEQ loc_FF1D1568 \n"
520 " CMP R0, #3 \n"
521 " BEQ loc_FF1D15A8 \n"
522 " LDR R0, [R4, #8] \n"
523 " CMP R0, #1 \n"
524 " BLS loc_FF1D1570 \n"
525 " LDRH R0, [R5, #0xA0] \n"
526 " CMP R0, #0 \n"
527 " BNE loc_FF1D15A8 \n"
528 " LDRH R0, [R5, #0x9C] \n"
529 " CMP R0, #2 \n"
530 " BEQ loc_FF1D15A4 \n"
531 " B loc_FF1D157C \n"
532
533 "loc_FF1D1568:\n"
534 " CMP R0, #3 \n"
535 " BEQ loc_FF1D15A8 \n"
536
537 "loc_FF1D1570:\n"
538 " LDRH R0, [R5, #0xA0] \n"
539 " CMP R0, #0 \n"
540 " BNE loc_FF1D15A8 \n"
541
542 "loc_FF1D157C:\n"
543 " LDRH R0, [R5, #0x9C] \n"
544 " CMP R0, #1 \n"
545 " BNE loc_FF1D15A8 \n"
546 " CMP R1, R6 \n"
547 " LDRNE R0, [R4, #8] \n"
548 " CMPNE R0, #1 \n"
549 " BLS loc_FF1D15A8 \n"
550 " LDR R0, [R4, #0x10] \n"
551 " CMP R0, #1 \n"
552 " BNE loc_FF1D15A8 \n"
553
554 "loc_FF1D15A4:\n"
555 " BL sub_FF1D2B50 \n"
556
557 "loc_FF1D15A8:\n"
558 " BL sub_FF1D2B18 \n"
559 " BL sub_FF07BC64 \n"
560 " LDR R0, [R5, #0x2C] \n"
561 " CMP R0, #0 \n"
562 " BNE loc_FF1D1698 \n"
563 " MOV R0, R4 \n"
564 " BL sub_FF1D04F4 \n"
565 " TST R0, #1 \n"
566 " LDMNEFD SP!, {R3-R7,PC} \n"
567 " LDR R0, [R5, #0xC8] \n"
568 " CMP R0, #0 \n"
569 " LDRNEH R0, [R5] \n"
570 " CMPNE R0, R6 \n"
571 " LDRNEH R0, [R5, #0xA2] \n"
572 " CMPNE R0, #3 \n"
573 " LDRNE R0, [R4, #8] \n"
574 " CMPNE R0, #1 \n"
575 " BHI loc_FF1D1608 \n"
576 " MOV R0, R4 \n"
577 " BL sub_FF1D08F4 \n"
578 " BL sub_FF1D1C0C \n"
579 " LDR R0, [R5, #0xC8] \n"
580 " CMP R0, #0 \n"
581 " BEQ loc_FF1D1624 \n"
582
583 "loc_FF1D1608:\n"
584 " LDRH R0, [R5] \n"
585 " CMP R0, R6 \n"
586 " LDRNEH R0, [R5, #0xA2] \n"
587 " CMPNE R0, #3 \n"
588 " LDRNE R0, [R4, #8] \n"
589 " CMPNE R0, #1 \n"
590 " BHI loc_FF1D162C \n"
591
592 "loc_FF1D1624:\n"
593 " MOV R0, #2 \n"
594 " BL sub_FF083520 \n"
595 " BL wait_until_remote_button_is_released\n"
596 " BL capt_seq_hook_set_nr\n"
597
598 "loc_FF1D162C:\n"
599 " LDRH R0, [R5] \n"
600 " SUB R1, R0, #0x4200 \n"
601 " SUBS R1, R1, #0x2E \n"
602 " BNE loc_FF1D1688 \n"
603 " MOV R5, #1 \n"
604 " MOV R2, #2 \n"
605 " MOV R1, SP \n"
606 " ADD R0, R2, #0x15C \n"
607 " STR R5, [SP] \n"
608 " BL _GetPropertyCase \n"
609 " TST R0, #1 \n"
610 " MOVNE R1, #0xC5 \n"
611 " LDRNE R0, =0xFF1D17D4 /*'SsCaptureSeq.c'*/ \n"
612 " BLNE _DebugAssert \n"
613 " LDRH R0, [SP] \n"
614 " CMP R0, #1 \n"
615 " BLS loc_FF1D1680 \n"
616 " MOV R0, R4 \n"
617 " STR R5, [R4, #0x10C] \n"
618 " BL sub_FF3738FC \n"
619 " B loc_FF1D1690 \n"
620
621 "loc_FF1D1680:\n"
622 " MOV R0, #0 \n"
623 " STR R0, [R4, #0x10C] \n"
624
625 "loc_FF1D1688:\n"
626 " MOV R0, R4 \n"
627 " BL sub_FF1D1088 \n"
628
629 "loc_FF1D1690:\n"
630 " MOV R7, R0 \n"
631 " B loc_FF1D16A8 \n"
632
633 "loc_FF1D1698:\n"
634 " LDR R0, =0xA24C \n"
635 " LDR R0, [R0] \n"
636 " CMP R0, #0 \n"
637 " MOVNE R7, #0x1D \n"
638
639 "loc_FF1D16A8:\n"
640 " MOV R0, R7 \n"
641 " LDMFD SP!, {R3-R7,PC} \n"
642 );
643 }
644
645
646
647 void __attribute__((naked,noinline)) exp_drv_task() {
648 asm volatile (
649 " STMFD SP!, {R4-R9,LR} \n"
650 " SUB SP, SP, #0x24 \n"
651 " LDR R6, =0x5BEC \n"
652 " LDR R7, =0xBB8 \n"
653 " LDR R4, =0x5EDF0 \n"
654 " MOV R0, #0 \n"
655 " ADD R5, SP, #0x14 \n"
656 " STR R0, [SP, #0x10] \n"
657
658 "loc_FF0CDA44:\n"
659 " LDR R0, [R6, #0x20] \n"
660 " MOV R2, #0 \n"
661 " ADD R1, SP, #0x20 \n"
662 " BL sub_FF029EA8 /*_ReceiveMessageQueue*/ \n"
663 " LDR R0, [SP, #0x10] \n"
664 " CMP R0, #1 \n"
665 " BNE loc_FF0CDA94 \n"
666 " LDR R0, [SP, #0x20] \n"
667 " LDR R0, [R0] \n"
668 " CMP R0, #0x14 \n"
669 " CMPNE R0, #0x15 \n"
670 " CMPNE R0, #0x16 \n"
671 " CMPNE R0, #0x17 \n"
672 " CMPNE R0, #0x18 \n"
673 " BEQ loc_FF0CDBF4 \n"
674 " CMP R0, #0x2B \n"
675 " BEQ loc_FF0CDB7C \n"
676 " ADD R1, SP, #0x10 \n"
677 " MOV R0, #0 \n"
678 " BL sub_FF0CD9D4 \n"
679
680 "loc_FF0CDA94:\n"
681 " LDR R0, [SP, #0x20] \n"
682 " LDR R1, [R0] \n"
683 " CMP R1, #0x31 \n"
684 " BNE loc_FF0CDAC0 \n"
685 " BL sub_FF0CEEDC \n"
686 " LDR R0, [R6, #0x1C] \n"
687 " MOV R1, #1 \n"
688 " BL sub_FF087564 /*_SetEventFlag*/ \n"
689 " BL _ExitTask \n"
690 " ADD SP, SP, #0x24 \n"
691 " LDMFD SP!, {R4-R9,PC} \n"
692
693 "loc_FF0CDAC0:\n"
694 " CMP R1, #0x30 \n"
695 " BNE loc_FF0CDADC \n"
696 " LDR R2, [R0, #0x8C]! \n"
697 " LDR R1, [R0, #4] \n"
698 " MOV R0, R1 \n"
699 " BLX R2 \n"
700 " B loc_FF0CE090 \n"
701
702 "loc_FF0CDADC:\n"
703 " CMP R1, #0x29 \n"
704 " BNE loc_FF0CDB2C \n"
705 " LDR R0, [R6, #0x1C] \n"
706 " MOV R1, #0x80 \n"
707 " BL sub_FF087598 /*_ClearEventFlag*/ \n"
708 " LDR R0, =0xFF0C9078 \n"
709 " MOV R1, #0x80 \n"
710 " BL sub_FF1BEEEC \n"
711 " LDR R0, [R6, #0x1C] \n"
712 " MOV R2, R7 \n"
713 " MOV R1, #0x80 \n"
714 " BL sub_FF0874A4 /*_WaitForAllEventFlag*/ \n"
715 " TST R0, #1 \n"
716 " LDRNE R1, =0x1572 \n"
717 " BNE loc_FF0CDBE8 \n"
718
719 "loc_FF0CDB18:\n"
720 " LDR R1, [SP, #0x20] \n"
721 " LDR R0, [R1, #0x90] \n"
722 " LDR R1, [R1, #0x8C] \n"
723 " BLX R1 \n"
724 " B loc_FF0CE090 \n"
725
726 "loc_FF0CDB2C:\n"
727 " CMP R1, #0x2A \n"
728 " BNE loc_FF0CDB74 \n"
729 " ADD R1, SP, #0x10 \n"
730 " BL sub_FF0CD9D4 \n"
731 " LDR R0, [R6, #0x1C] \n"
732 " MOV R1, #0x100 \n"
733 " BL sub_FF087598 /*_ClearEventFlag*/ \n"
734 " LDR R0, =0xFF0C9088 \n"
735 " MOV R1, #0x100 \n"
736 " BL sub_FF1BFCBC \n"
737 " LDR R0, [R6, #0x1C] \n"
738 " MOV R2, R7 \n"
739 " MOV R1, #0x100 \n"
740 " BL sub_FF0874A4 /*_WaitForAllEventFlag*/ \n"
741 " TST R0, #1 \n"
742 " BEQ loc_FF0CDB18 \n"
743 " LDR R1, =0x157C \n"
744 " B loc_FF0CDBE8 \n"
745
746 "loc_FF0CDB74:\n"
747 " CMP R1, #0x2B \n"
748 " BNE loc_FF0CDB8C \n"
749
750 "loc_FF0CDB7C:\n"
751 " LDR R0, [SP, #0x20] \n"
752 " ADD R1, SP, #0x10 \n"
753 " BL sub_FF0CD9D4 \n"
754 " B loc_FF0CDB18 \n"
755
756 "loc_FF0CDB8C:\n"
757 " CMP R1, #0x2E \n"
758 " BNE loc_FF0CDBA4 \n"
759 " BL sub_FF0B8F90 \n"
760 " BL sub_FF0B9C8C \n"
761 " BL sub_FF0B97E0 \n"
762 " B loc_FF0CDB18 \n"
763
764 "loc_FF0CDBA4:\n"
765 " CMP R1, #0x2F \n"
766 " BNE loc_FF0CDBF4 \n"
767 " LDR R0, [R6, #0x1C] \n"
768 " MOV R1, #4 \n"
769 " BL sub_FF087598 /*_ClearEventFlag*/ \n"
770 " LDR R1, =0xFF0C90A8 \n"
771 " LDR R0, =0xFFFFF400 \n"
772 " MOV R2, #4 \n"
773 " BL sub_FF0B89E0 \n"
774 " BL sub_FF0B8C70 \n"
775 " LDR R0, [R6, #0x1C] \n"
776 " MOV R2, R7 \n"
777 " MOV R1, #4 \n"
778 " BL sub_FF0873C0 /*_WaitForAnyEventFlag*/ \n"
779 " TST R0, #1 \n"
780 " BEQ loc_FF0CDB18 \n"
781 " LDR R1, =0x15A4 \n"
782
783 "loc_FF0CDBE8:\n"
784 " LDR R0, =0xFF0C97F0 /*'ExpDrv.c'*/ \n"
785 " BL _DebugAssert \n"
786 " B loc_FF0CDB18 \n"
787
788 "loc_FF0CDBF4:\n"
789 " LDR R0, [SP, #0x20] \n"
790 " MOV R8, #1 \n"
791 " LDR R1, [R0] \n"
792 " CMP R1, #0x12 \n"
793 " CMPNE R1, #0x13 \n"
794 " BNE loc_FF0CDC5C \n"
795 " LDR R1, [R0, #0x7C] \n"
796 " ADD R1, R1, R1, LSL#1 \n"
797 " ADD R1, R0, R1, LSL#2 \n"
798 " SUB R1, R1, #8 \n"
799 " LDMIA R1, {R2,R3,R9} \n"
800 " STMIA R5, {R2,R3,R9} \n"
801 " BL sub_FF0CBDE8 \n"
802 " LDR R0, [SP, #0x20] \n"
803 " LDR R1, [R0, #0x7C] \n"
804 " LDR R3, [R0, #0x8C] \n"
805 " LDR R2, [R0, #0x90] \n"
806 " ADD R0, R0, #4 \n"
807 " BLX R3 \n"
808 " LDR R0, [SP, #0x20] \n"
809 " BL sub_FF0CF2F4 \n"
810 " LDR R0, [SP, #0x20] \n"
811 " LDR R1, [R0, #0x7C] \n"
812 " LDR R2, [R0, #0x98] \n"
813 " LDR R3, [R0, #0x94] \n"
814 " B loc_FF0CDF7C \n"
815
816 "loc_FF0CDC5C:\n"
817 " CMP R1, #0x14 \n"
818 " CMPNE R1, #0x15 \n"
819 " CMPNE R1, #0x16 \n"
820 " CMPNE R1, #0x17 \n"
821 " CMPNE R1, #0x18 \n"
822 " BNE loc_FF0CDD18 \n"
823 " ADD R3, SP, #0x10 \n"
824 " ADD R2, SP, #4 \n"
825 " ADD R1, SP, #0x14 \n"
826 " BL sub_FF0CC054 \n"
827 " CMP R0, #1 \n"
828 " MOV R9, R0 \n"
829 " CMPNE R9, #5 \n"
830 " BNE loc_FF0CDCB4 \n"
831 " LDR R0, [SP, #0x20] \n"
832 " MOV R2, R9 \n"
833 " LDR R1, [R0, #0x7C]! \n"
834 " LDR R12, [R0, #0x10]! \n"
835 " LDR R3, [R0, #4] \n"
836 " ADD R0, SP, #4 \n"
837 " BLX R12 \n"
838 " B loc_FF0CDCEC \n"
839
840 "loc_FF0CDCB4:\n"
841 " LDR R0, [SP, #0x20] \n"
842 " CMP R9, #2 \n"
843 " LDR R3, [R0, #0x90] \n"
844 " CMPNE R9, #6 \n"
845 " BNE loc_FF0CDD00 \n"
846 " LDR R12, [R0, #0x8C] \n"
847 " MOV R2, R9 \n"
848 " MOV R1, #1 \n"
849 " ADD R0, SP, #4 \n"
850 " BLX R12 \n"
851 " LDR R0, [SP, #0x20] \n"
852 " ADD R2, SP, #4 \n"
853 " ADD R1, SP, #0x14 \n"
854 " BL sub_FF0CD720 \n"
855
856 "loc_FF0CDCEC:\n"
857 " LDR R0, [SP, #0x20] \n"
858 " LDR R2, [SP, #0x10] \n"
859 " MOV R1, R9 \n"
860 " BL sub_FF0CD974 \n"
861 " B loc_FF0CDF84 \n"
862
863 "loc_FF0CDD00:\n"
864 " LDR R1, [R0, #0x7C] \n"
865 " LDR R12, [R0, #0x8C] \n"
866 " MOV R2, R9 \n"
867 " ADD R0, R0, #4 \n"
868 " BLX R12 \n"
869 " B loc_FF0CDF84 \n"
870
871 "loc_FF0CDD18:\n"
872 " CMP R1, #0x25 \n"
873 " CMPNE R1, #0x26 \n"
874 " BNE loc_FF0CDD64 \n"
875 " LDR R1, [R0, #0x7C] \n"
876 " ADD R1, R1, R1, LSL#1 \n"
877 " ADD R1, R0, R1, LSL#2 \n"
878 " SUB R1, R1, #8 \n"
879 " LDMIA R1, {R2,R3,R9} \n"
880 " STMIA R5, {R2,R3,R9} \n"
881 " BL sub_FF0CADB4 \n"
882 " LDR R0, [SP, #0x20] \n"
883 " LDR R1, [R0, #0x7C] \n"
884 " LDR R3, [R0, #0x8C] \n"
885 " LDR R2, [R0, #0x90] \n"
886 " ADD R0, R0, #4 \n"
887 " BLX R3 \n"
888 " LDR R0, [SP, #0x20] \n"
889 " BL sub_FF0CB210 \n"
890 " B loc_FF0CDF84 \n"
891
892 "loc_FF0CDD64:\n"
893 " ADD R1, R0, #4 \n"
894 " LDMIA R1, {R2,R3,R9} \n"
895 " STMIA R5, {R2,R3,R9} \n"
896 " LDR R1, [R0] \n"
897 " CMP R1, #0x29 \n"
898 " ADDCC PC, PC, R1, LSL#2 \n"
899 " B loc_FF0CDF6C \n"
900 " B loc_FF0CDE24 \n"
901 " B loc_FF0CDE24 \n"
902 " B loc_FF0CDE2C \n"
903 " B loc_FF0CDE34 \n"
904 " B loc_FF0CDE34 \n"
905 " B loc_FF0CDE34 \n"
906 " B loc_FF0CDE24 \n"
907 " B loc_FF0CDE2C \n"
908 " B loc_FF0CDE34 \n"
909 " B loc_FF0CDE34 \n"
910 " B loc_FF0CDE4C \n"
911 " B loc_FF0CDE4C \n"
912 " B loc_FF0CDF58 \n"
913 " B loc_FF0CDF60 \n"
914 " B loc_FF0CDF60 \n"
915 " B loc_FF0CDF60 \n"
916 " B loc_FF0CDF60 \n"
917 " B loc_FF0CDF68 \n"
918 " B loc_FF0CDF6C \n"
919 " B loc_FF0CDF6C \n"
920 " B loc_FF0CDF6C \n"
921 " B loc_FF0CDF6C \n"
922 " B loc_FF0CDF6C \n"
923 " B loc_FF0CDF6C \n"
924 " B loc_FF0CDF6C \n"
925 " B loc_FF0CDE3C \n"
926 " B loc_FF0CDE44 \n"
927 " B loc_FF0CDE44 \n"
928 " B loc_FF0CDE44 \n"
929 " B loc_FF0CDE58 \n"
930 " B loc_FF0CDE58 \n"
931 " B loc_FF0CDE60 \n"
932 " B loc_FF0CDE98 \n"
933 " B loc_FF0CDED0 \n"
934 " B loc_FF0CDF08 \n"
935 " B loc_FF0CDF40 \n"
936 " B loc_FF0CDF40 \n"
937 " B loc_FF0CDF6C \n"
938 " B loc_FF0CDF6C \n"
939 " B loc_FF0CDF48 \n"
940 " B loc_FF0CDF50 \n"
941
942 "loc_FF0CDE24:\n"
943 " BL sub_FF0C962C \n"
944 " B loc_FF0CDF6C \n"
945
946 "loc_FF0CDE2C:\n"
947 " BL sub_FF0C9920 \n"
948 " B loc_FF0CDF6C \n"
949
950 "loc_FF0CDE34:\n"
951 " BL sub_FF0C9B8C \n"
952 " B loc_FF0CDF6C \n"
953
954 "loc_FF0CDE3C:\n"
955 " BL sub_FF0C9E84 \n"
956 " B loc_FF0CDF6C \n"
957
958 "loc_FF0CDE44:\n"
959 " BL sub_FF0CA0A0 \n"
960 " B loc_FF0CDF6C \n"
961
962 "loc_FF0CDE4C:\n"
963 " BL sub_FF0CA478_my \n"
964 " MOV R8, #0 \n"
965 " B loc_FF0CDF6C \n"
966
967 "loc_FF0CDE58:\n"
968 " BL sub_FF0CA5C0 \n"
969 " B loc_FF0CDF6C \n"
970
971 "loc_FF0CDE60:\n"
972 " LDRH R1, [R0, #4] \n"
973 " STRH R1, [SP, #0x14] \n"
974 " LDRH R1, [R4, #2] \n"
975 " STRH R1, [SP, #0x16] \n"
976 " LDRH R1, [R4, #4] \n"
977 " STRH R1, [SP, #0x18] \n"
978 " LDRH R1, [R4, #6] \n"
979 " STRH R1, [SP, #0x1A] \n"
980 " LDRH R1, [R0, #0xC] \n"
981 " STRH R1, [SP, #0x1C] \n"
982 " LDRH R1, [R4, #0xA] \n"
983 " STRH R1, [SP, #0x1E] \n"
984 " BL sub_FF0CEF70 \n"
985 " B loc_FF0CDF6C \n"
986
987 "loc_FF0CDE98:\n"
988 " LDRH R1, [R0, #4] \n"
989 " STRH R1, [SP, #0x14] \n"
990 " LDRH R1, [R4, #2] \n"
991 " STRH R1, [SP, #0x16] \n"
992 " LDRH R1, [R4, #4] \n"
993 " STRH R1, [SP, #0x18] \n"
994 " LDRH R1, [R4, #6] \n"
995 " STRH R1, [SP, #0x1A] \n"
996 " LDRH R1, [R4, #8] \n"
997 " STRH R1, [SP, #0x1C] \n"
998 " LDRH R1, [R4, #0xA] \n"
999 " STRH R1, [SP, #0x1E] \n"
1000 " BL sub_FF0CF0F4 \n"
1001 " B loc_FF0CDF6C \n"
1002
1003 "loc_FF0CDED0:\n"
1004 " LDRH R1, [R4] \n"
1005 " STRH R1, [SP, #0x14] \n"
1006 " LDRH R1, [R0, #6] \n"
1007 " STRH R1, [SP, #0x16] \n"
1008 " LDRH R1, [R4, #4] \n"
1009 " STRH R1, [SP, #0x18] \n"
1010 " LDRH R1, [R4, #6] \n"
1011 " STRH R1, [SP, #0x1A] \n"
1012 " LDRH R1, [R4, #8] \n"
1013 " STRH R1, [SP, #0x1C] \n"
1014 " LDRH R1, [R4, #0xA] \n"
1015 " STRH R1, [SP, #0x1E] \n"
1016 " BL sub_FF0CF1A8 \n"
1017 " B loc_FF0CDF6C \n"
1018
1019 "loc_FF0CDF08:\n"
1020 " LDRH R1, [R4] \n"
1021 " STRH R1, [SP, #0x14] \n"
1022 " LDRH R1, [R4, #2] \n"
1023 " STRH R1, [SP, #0x16] \n"
1024 " LDRH R1, [R4, #4] \n"
1025 " STRH R1, [SP, #0x18] \n"
1026 " LDRH R1, [R4, #6] \n"
1027 " STRH R1, [SP, #0x1A] \n"
1028 " LDRH R1, [R0, #0xC] \n"
1029 " STRH R1, [SP, #0x1C] \n"
1030 " LDRH R1, [R4, #0xA] \n"
1031 " STRH R1, [SP, #0x1E] \n"
1032 " BL sub_FF0CF250 \n"
1033 " B loc_FF0CDF6C \n"
1034
1035 "loc_FF0CDF40:\n"
1036 " BL sub_FF0CAB48 \n"
1037 " B loc_FF0CDF6C \n"
1038
1039 "loc_FF0CDF48:\n"
1040 " BL sub_FF0CB314 \n"
1041 " B loc_FF0CDF6C \n"
1042
1043 "loc_FF0CDF50:\n"
1044 " BL sub_FF0CB684 \n"
1045 " B loc_FF0CDF6C \n"
1046
1047 "loc_FF0CDF58:\n"
1048 " BL sub_FF0CB8AC \n"
1049 " B loc_FF0CDF6C \n"
1050
1051 "loc_FF0CDF60:\n"
1052 " BL sub_FF0CBA6C \n"
1053 " B loc_FF0CDF6C \n"
1054
1055 "loc_FF0CDF68:\n"
1056 " BL sub_FF0CBBDC \n"
1057
1058 "loc_FF0CDF6C:\n"
1059 " LDR R0, [SP, #0x20] \n"
1060 " LDR R1, [R0, #0x7C] \n"
1061 " LDR R2, [R0, #0x90] \n"
1062 " LDR R3, [R0, #0x8C] \n"
1063
1064 "loc_FF0CDF7C:\n"
1065 " ADD R0, R0, #4 \n"
1066 " BLX R3 \n"
1067
1068 "loc_FF0CDF84:\n"
1069 " LDR R1, [SP, #0x20] \n"
1070 " LDR R0, [R1] \n"
1071 " CMP R0, #0x10 \n"
1072 " BEQ loc_FF0CDFBC \n"
1073 " BGT loc_FF0CDFAC \n"
1074 " CMP R0, #1 \n"
1075 " CMPNE R0, #4 \n"
1076 " CMPNE R0, #0xE \n"
1077 " BNE loc_FF0CDFCC \n"
1078 " B loc_FF0CDFBC \n"
1079
1080 "loc_FF0CDFAC:\n"
1081 " CMP R0, #0x13 \n"
1082 " CMPNE R0, #0x18 \n"
1083 " CMPNE R0, #0x1B \n"
1084 " BNE loc_FF0CDFCC \n"
1085
1086 "loc_FF0CDFBC:\n"
1087 " LDRH R0, [R4] \n"
1088 " STRH R0, [SP, #0x14] \n"
1089 " LDRH R0, [R4, #8] \n"
1090 " STRH R0, [SP, #0x1C] \n"
1091
1092 "loc_FF0CDFCC:\n"
1093 " CMP R8, #1 \n"
1094 " BNE loc_FF0CE018 \n"
1095 " LDR R0, [R1, #0x7C] \n"
1096 " MOV R2, #0xC \n"
1097 " ADD R0, R0, R0, LSL#1 \n"
1098 " ADD R0, R1, R0, LSL#2 \n"
1099 " SUB R8, R0, #8 \n"
1100 " LDR R0, =0x5EDF0 \n"
1101 " ADD R1, SP, #0x14 \n"
1102 " BL sub_FF45F638 \n"
1103 " LDR R0, =0x5EDFC \n"
1104 " MOV R2, #0xC \n"
1105 " ADD R1, SP, #0x14 \n"
1106 " BL sub_FF45F638 \n"
1107 " LDR R0, =0x5EE08 \n"
1108 " MOV R2, #0xC \n"
1109 " MOV R1, R8 \n"
1110 " BL sub_FF45F638 \n"
1111 " B loc_FF0CE090 \n"
1112
1113 "loc_FF0CE018:\n"
1114 " LDR R0, [R1] \n"
1115 " MOV R3, #1 \n"
1116 " CMP R0, #0xB \n"
1117 " BNE loc_FF0CE05C \n"
1118 " MOV R2, #0 \n"
1119 " STRD R2, [SP] \n"
1120 " MOV R2, R3 \n"
1121 " MOV R1, R3 \n"
1122 " MOV R0, #0 \n"
1123 " BL sub_FF0C9400 \n"
1124 " MOV R3, #1 \n"
1125 " MOV R2, #0 \n"
1126 " STRD R2, [SP] \n"
1127 " MOV R2, R3 \n"
1128 " MOV R1, R3 \n"
1129 " MOV R0, #0 \n"
1130 " B loc_FF0CE08C \n"
1131
1132 "loc_FF0CE05C:\n"
1133 " MOV R2, #1 \n"
1134 " STRD R2, [SP] \n"
1135 " MOV R3, R2 \n"
1136 " MOV R1, R2 \n"
1137 " MOV R0, R2 \n"
1138 " BL sub_FF0C9400 \n"
1139 " MOV R3, #1 \n"
1140 " MOV R2, R3 \n"
1141 " MOV R1, R3 \n"
1142 " MOV R0, R3 \n"
1143 " STR R3, [SP] \n"
1144 " STR R3, [SP, #4] \n"
1145
1146 "loc_FF0CE08C:\n"
1147 " BL sub_FF0C9578 \n"
1148
1149 "loc_FF0CE090:\n"
1150 " LDR R0, [SP, #0x20] \n"
1151 " BL sub_FF0CEEDC \n"
1152 " B loc_FF0CDA44 \n"
1153 );
1154 }
1155
1156
1157
1158 void __attribute__((naked,noinline)) sub_FF0CA478_my() {
1159 asm volatile (
1160 " STMFD SP!, {R4-R8,LR} \n"
1161 " LDR R7, =0x5BEC \n"
1162 " MOV R4, R0 \n"
1163 " LDR R0, [R7, #0x1C] \n"
1164 " MOV R1, #0x3E \n"
1165 " BL sub_FF087598 /*_ClearEventFlag*/ \n"
1166 " MOV R2, #0 \n"
1167 " LDRSH R0, [R4, #4] \n"
1168 " MOV R1, R2 \n"
1169 " BL sub_FF0C9108 \n"
1170 " MOV R5, R0 \n"
1171 " LDRSH R0, [R4, #6] \n"
1172 " BL sub_FF0C9258 \n"
1173 " LDRSH R0, [R4, #8] \n"
1174 " BL sub_FF0C92B0 \n"
1175 " LDRSH R0, [R4, #0xA] \n"
1176 " BL sub_FF0C9308 \n"
1177 " LDRSH R0, [R4, #0xC] \n"
1178 " MOV R1, #0 \n"
1179 " BL sub_FF0C9360 \n"
1180 " MOV R6, R0 \n"
1181 " LDRSH R0, [R4, #0xE] \n"
1182 " BL sub_FF0CEF0C \n"
1183 " LDR R0, [R4] \n"
1184 " LDR R8, =0x5EE08 \n"
1185 " CMP R0, #0xB \n"
1186 " MOVEQ R5, #0 \n"
1187 " MOVEQ R6, R5 \n"
1188 " BEQ loc_FF0CA514 \n"
1189 " CMP R5, #1 \n"
1190 " BNE loc_FF0CA514 \n"
1191 " LDRSH R0, [R4, #4] \n"
1192 " LDR R1, =0xFF0C9068 \n"
1193 " MOV R2, #2 \n"
1194 " BL sub_FF1BF210 \n"
1195 " STRH R0, [R4, #4] \n"
1196 " MOV R0, #0 \n"
1197 " STR R0, [R7, #0x28] \n"
1198 " B loc_FF0CA51C \n"
1199
1200 "loc_FF0CA514:\n"
1201 " LDRH R0, [R8] \n"
1202 " STRH R0, [R4, #4] \n"
1203
1204 "loc_FF0CA51C:\n"
1205 " CMP R6, #1 \n"
1206 " LDRNEH R0, [R8, #8] \n"
1207 " BNE loc_FF0CA538 \n"
1208 " LDRSH R0, [R4, #0xC] \n"
1209 " LDR R1, =0xFF0C90EC \n"
1210 " MOV R2, #0x20 \n"
1211 " BL sub_FF0CEF2C \n"
1212
1213 "loc_FF0CA538:\n"
1214 " STRH R0, [R4, #0xC] \n"
1215 " LDRSH R0, [R4, #6] \n"
1216 " BL sub_FF0B8CDC_my \n"
1217 " LDR PC, =0xFF0CA544 \n"
1218 );
1219 }
1220
1221
1222
1223 void __attribute__((naked,noinline)) sub_FF0B8CDC_my() {
1224 asm volatile (
1225 " STMFD SP!, {R4-R6,LR} \n"
1226 " LDR R5, =0x5884 \n"
1227 " MOV R4, R0 \n"
1228 " LDR R0, [R5, #4] \n"
1229 " CMP R0, #1 \n"
1230 " LDRNE R1, =0x14D \n"
1231 " LDRNE R0, =0xFF0B8B14 /*'Shutter.c'*/ \n"
1232 " BLNE _DebugAssert \n"
1233 " CMN R4, #0xC00 \n"
1234 " LDREQSH R4, [R5, #2] \n"
1235 " CMN R4, #0xC00 \n"
1236 " LDREQ R1, =0x153 \n"
1237 " LDREQ R0, =0xFF0B8B14 /*'Shutter.c'*/ \n"
1238 " STRH R4, [R5, #2] \n"
1239 " BLEQ _DebugAssert \n"
1240 " MOV R0, R4 \n"
1241 " BL apex2us \n"
1242 " LDR PC, =0xFF0B8D20 \n"
1243 );
1244 }