source: trunk/platform/ixus90_sd790/sub/100d/capt_seq.c @ 244

Revision 244, 31.1 KB checked in by msl, 3 years ago (diff)

Aktualisierung auf Rev. 870, 872 offizieller Trunk

Line 
1#include "lolevel.h"
2#include "platform.h"
3#include "core.h"
4
5// @ FF93D898
6static long *nrflag = (long*)0x91AC;
7
8#include "../../../generic/capt_seq.c"
9
10void __attribute__((naked,noinline)) sub_FF93D820_my(){
11 asm volatile(
12        "STMFD   SP!, {R0-R10,LR}\n"
13        "MOV     R6, #0\n"
14        "MOV     R4, R0\n"
15        "BL      sub_FF93E38C\n"
16        "MVN     R1, #0\n" //0xFFFFFFFF\n"
17        "BL      sub_FF827B50\n"
18        "MOV     R2, #4\n"
19        "ADD     R1, SP, #0x30-0x28\n"
20        "MOV     R0, #0x8A\n"
21        "BL      sub_FF86D25C\n"
22        "TST     R0, #1\n"
23        "MOVNE   R1, #0x218\n"
24        "LDRNE   R0, =0xFF86D14C\n" // aSscaptureseq_c ; "SsCaptureSeq.c"\n"
25        "BLNE    _DebugAssert\n"
26        "LDR     R8, =0x19F40\n"
27        "LDR     R5, =0x19E8C\n"
28        "LDRSH   R1, [R8,#0xE]\n"
29        "LDR     R0, [R5,#0x7C]\n"
30        "BL      sub_FF8F3DC8\n"
31        "BL      _GetCCDTemperature\n"
32        "LDR     R2, =0x91B0\n"
33        "ADD     R3, R4, #0x8C\n"
34        "STRH    R0, [R4,#0x88]\n"
35        "STRD    R2, [SP,#0x30-0x30]\n"
36        "MOV     R1, R0\n"
37        "LDRH    R0, [R5,#0x54]\n"
38        "LDRSH   R2, [R8,#0xC]\n"
39        "LDR     R3, =0x91AC\n"
40        "BL      sub_FF93E880\n"
41        "BL      wait_until_remote_button_is_released\n" // +
42        "BL      capt_seq_hook_set_nr\n"
43        "BL      sub_FF93D894\n"
44 );
45}
46
47void __attribute__((naked,noinline)) sub_FF85E634_my() //#fs
48{
49        asm volatile (
50        "STMFD   SP!, {R4-R6,LR}\n"
51        "LDR     R4, [R0,#0xC]\n"
52        "LDR     R6, =0x19E8C\n"
53        "LDR     R0, [R4,#8]\n"
54        "MOV     R5, #0\n"
55        "ORR     R0, R0, #1\n"
56        "STR     R0, [R4,#8]\n"
57        "LDR     R0, [R6,#0x24]\n"
58        "CMP     R0, #0\n"
59        "MOVEQ   R0, #2\n"
60        "BLEQ    sub_FF858610\n"
61        "BL      sub_FF93C144\n"
62        "LDR     R0, [R6,#0x24]\n"
63        "CMP     R0, #0\n"
64        "BNE     loc_FF85E6B4\n"
65        "MOV     R0, R4\n"
66        "BL      sub_FF93C5D8\n"
67        "TST     R0, #1\n"
68        "MOVNE   R2, R4\n"
69        "LDMNEFD SP!, {R4-R6,LR}\n"
70        "MOVNE   R1, #1\n"
71        "BNE     sub_FF85C98C\n"
72        "BL      sub_FF95DAFC\n"
73        "BL      sub_FF86D3EC\n"
74        "STR     R0, [R4,#0x14]\n"
75        "MOV     R0, R4\n"
76        "BL      sub_FF93D738\n"
77        "BL      sub_FF93E214\n"
78        "MOV     R0, R4\n"
79        //"BL      sub_FF93D820\n"
80        "BL      sub_FF93D820_my\n"
81                "BL      capt_seq_hook_raw_here\n" // +
82        "MOV     R5, R0\n"
83        "B       loc_FF85E6C4\n"
84
85"loc_FF85E6B4:\n" //                               ; CODE XREF: sub_FF85E634+38j
86        "LDR     R0, =0x54E0\n"
87        "LDR     R0, [R0,#4]\n"
88        "CMP     R0, #0\n"
89        "MOVNE   R5, #0x1D\n"
90
91"loc_FF85E6C4:\n" //                               ; CODE XREF: sub_FF85E634+7Cj
92        "BL      sub_FF93F268\n"
93        "BL      sub_FF93F2A4\n"
94        "MOV     R2, R4\n"
95        "MOV     R1, #1\n"
96        "MOV     R0, R5\n"
97        "BL      sub_FF85C98C\n"
98        "BL      sub_FF93DC28\n"
99        "CMP     R0, #0\n"
100        "LDRNE   R0, [R4,#8]\n"
101        "ORRNE   R0, R0, #0x2000\n"
102        "STRNE   R0, [R4,#8]\n"
103        "LDMFD   SP!, {R4-R6,PC}\n"
104 );
105}
106
107//FF85E2B0
108void __attribute__((naked,noinline)) capt_seq_task() //#fs
109{
110        asm volatile (
111        "STMFD   SP!, {R3-R9,LR}\n"
112        "LDR     R6, =0x19E8C\n"
113        "LDR     R5, =0x54E0\n"
114        "MOV     R9, #1\n"
115        "MOV     R7, #0\n"
116
117"loc_FF85E2C4:\n" //                               ; CODE XREF: task_CaptSeqTask+298j
118        "LDR     R0, [R5,#0xC]\n"
119        "MOV     R2, #0\n"
120        "MOV     R1, SP\n"
121        "BL      sub_FF827DA0\n"
122        "TST     R0, #1\n"
123        "BEQ     loc_FF85E2F0\n"
124        "LDR     R1, =0x48E\n"
125        "LDR     R0, =0xFF85DF88\n" // ; "SsShootTask.c"\n"
126        "BL      _DebugAssert\n"
127        "BL      _ExitTask\n"
128        "LDMFD   SP!, {R3-R9,PC}\n"
129
130"loc_FF85E2F0:\n" //                               ; CODE XREF: task_CaptSeqTask+28j
131        "LDR     R0, [SP,#0x20-0x20]\n"
132        "LDR     R1, [R0]\n"
133        "CMP     R1, #0x1B\n"
134        "ADDLS   PC, PC, R1,LSL#2\n"
135        "B       loc_FF85E510\n"
136
137"loc_FF85E304:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
138        "B       loc_FF85E374\n"
139
140"loc_FF85E308:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
141        "B       loc_FF85E3DC\n"
142
143"loc_FF85E30C:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
144        "B       loc_FF85E3E4\n"
145
146"loc_FF85E310:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
147        "B       loc_FF85E3FC\n"
148
149"loc_FF85E314:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
150        "B       loc_FF85E3F0\n"
151
152"loc_FF85E318:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
153        "B       loc_FF85E404\n"
154
155"loc_FF85E31C:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
156        "B       loc_FF85E40C\n"
157
158"loc_FF85E320:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
159        "B       loc_FF85E414\n"
160
161"loc_FF85E324:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
162        "B       loc_FF85E46C\n"
163
164"loc_FF85E328:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
165        "B       loc_FF85E478\n"
166
167"loc_FF85E32C:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
168        "B       loc_FF85E480\n"
169
170"loc_FF85E330:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
171        "B       loc_FF85E488\n"
172
173"loc_FF85E334:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
174        "B       loc_FF85E490\n"
175
176"loc_FF85E338:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
177        "B       loc_FF85E498\n"
178
179"loc_FF85E33C:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
180        "B       loc_FF85E4A0\n"
181
182"loc_FF85E340:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
183        "B       loc_FF85E4A8\n"
184
185"loc_FF85E344:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
186        "B       loc_FF85E4B0\n"
187
188"loc_FF85E348:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
189        "B       loc_FF85E4BC\n"
190
191"loc_FF85E34C:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
192        "B       loc_FF85E4C4\n"
193
194"loc_FF85E350:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
195        "B       loc_FF85E4CC\n"
196
197"loc_FF85E354:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
198        "B       loc_FF85E4D4\n"
199
200"loc_FF85E358:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
201        "B       loc_FF85E4E0\n"
202
203"loc_FF85E35C:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
204        "B       loc_FF85E4E8\n"
205
206"loc_FF85E360:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
207        "B       loc_FF85E4F0\n"
208
209"loc_FF85E364:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
210        "B       loc_FF85E4F8\n"
211
212"loc_FF85E368:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
213        "B       loc_FF85E500\n"
214
215"loc_FF85E36C:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
216        "B       loc_FF85E508\n"
217
218"loc_FF85E370:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
219        "B       loc_FF85E51C\n"
220
221"loc_FF85E374:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
222        "BL      sub_FF93C168\n"
223        "BL      shooting_expo_param_override\n" // +
224        "BL      sub_FF85C438\n"
225        "LDR     R0, [R6,#0x24]\n"
226        "CMP     R0, #0\n"
227        "BEQ     loc_FF85E51C\n"
228        "BL      sub_FF85DC58\n"
229        "MOV     R4, R0\n"
230        "LDR     R0, [R6,#0x24]\n"
231        "CMP     R0, #0\n"
232        "BEQ     loc_FF85E3BC\n"
233        "MOV     R0, #0xC\n"
234        "BL      sub_FF861300\n"
235        "TST     R0, #1\n"
236        "STRNE   R9, [R5,#4]\n"
237        "LDRNE   R0, [R4,#8]\n"
238        "ORRNE   R0, R0, #0x40000000\n"
239        "STRNE   R0, [R4,#8]\n"
240        "BNE     loc_FF85E51C\n"
241
242"loc_FF85E3BC:\n" //                               ; CODE XREF: task_CaptSeqTask+E8j
243        "BL      sub_FF95DAFC\n"
244        "BL      sub_FF86D3EC\n"
245        "STR     R0, [R4,#0x14]\n"
246        "MOV     R0, R4\n"
247        "BL      sub_FF93D820_my\n" // changed
248                "BL      capt_seq_hook_raw_here\n" // +
249        "TST     R0, #1\n"
250        "STRNE   R9, [R5,#4]\n"
251        "B       loc_FF85E51C\n"
252
253"loc_FF85E3DC:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
254
255                //"BL      sub_FF85E634\n"
256        "BL      sub_FF85E634_my\n" //_my
257        "B       loc_FF85E3F4\n"
258
259"loc_FF85E3E4:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
260
261        "MOV     R0, #1\n"
262        "BL      sub_FF93C310\n"
263        "B       loc_FF85E51C\n"
264
265"loc_FF85E3F0:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
266
267        "BL      sub_FF93BE00\n"
268
269"loc_FF85E3F4:\n" //                               ; CODE XREF: task_CaptSeqTask+130j
270
271        "STR     R7, [R6,#0x24]\n"
272        "B       loc_FF85E51C\n"
273
274"loc_FF85E3FC:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
275
276        "BL      sub_FF93C134\n"
277        "B       loc_FF85E3F4\n"
278
279"loc_FF85E404:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
280
281        "BL      sub_FF93C13C\n"
282        "B       loc_FF85E51C\n"
283
284"loc_FF85E40C:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
285
286        "BL      sub_FF93C230\n"
287        "B       loc_FF85E470\n"
288
289"loc_FF85E414:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
290
291        "LDR     R4, [R0,#0xC]\n"
292        "BL      sub_FF93C144\n"
293        "MOV     R0, R4\n"
294        "BL      sub_FF93C958\n"
295        "TST     R0, #1\n"
296        "MOV     R8, R0\n"
297        "BNE     loc_FF85E454\n"
298        "BL      sub_FF86D3EC\n"
299        "STR     R0, [R4,#0x14]\n"
300        "MOV     R0, R4\n"
301        "BL      sub_FF93D738\n"
302        "MOV     R0, R4\n"
303        "BL      sub_FF93DC88\n"
304        "MOV     R8, R0\n"
305        "LDR     R0, [R4,#0x14]\n"
306        "BL      sub_FF86D5F8\n"
307
308"loc_FF85E454:\n" //                               ; CODE XREF: task_CaptSeqTask+17Cj
309        "BL      sub_FF93C134\n"
310        "MOV     R2, R4\n"
311        "MOV     R1, #9\n"
312        "MOV     R0, R8\n"
313        "BL      sub_FF85C98C\n"
314        "B       loc_FF85E51C\n"
315
316"loc_FF85E46C:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
317
318        "BL      sub_FF93C290\n"
319
320"loc_FF85E470:\n" //                               ; CODE XREF: task_CaptSeqTask+160j
321        "BL      sub_FF85C438\n"
322        "B       loc_FF85E51C\n"
323
324"loc_FF85E478:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
325
326        "BL      sub_FF93C134\n"
327        "B       loc_FF85E51C\n"
328
329"loc_FF85E480:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
330
331        "BL      sub_FF93CBC4\n"
332        "B       loc_FF85E51C\n"
333
334"loc_FF85E488:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
335
336        "BL      sub_FF93CDAC\n"
337        "B       loc_FF85E51C\n"
338
339"loc_FF85E490:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
340
341        "BL      sub_FF93CE3C\n"
342        "B       loc_FF85E51C\n"
343
344"loc_FF85E498:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
345
346        "BL      sub_FF93CEF0\n"
347        "B       loc_FF85E51C\n"
348
349"loc_FF85E4A0:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
350
351        "BL      sub_FF93D0E8\n"
352        "B       loc_FF85E51C\n"
353
354"loc_FF85E4A8:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
355
356        "BL      sub_FF93D138\n"
357        "B       loc_FF85E51C\n"
358
359"loc_FF85E4B0:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
360
361        "MOV     R0, #0\n"
362        "BL      sub_FF93D1BC\n"
363        "B       loc_FF85E51C\n"
364
365"loc_FF85E4BC:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
366
367        "BL      sub_FF93D30C\n"
368        "B       loc_FF85E51C\n"
369
370"loc_FF85E4C4:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
371
372        "BL      sub_FF93D3A0\n"
373        "B       loc_FF85E51C\n"
374
375"loc_FF85E4CC:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
376
377        "BL      sub_FF93D468\n"
378        "B       loc_FF85E51C\n"
379
380"loc_FF85E4D4:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
381
382        "BL      sub_FF93C434\n"
383        "BL      sub_FF824C48\n"
384        "B       loc_FF85E51C\n"
385
386"loc_FF85E4E0:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
387
388        "BL      sub_FF93CFAC\n"
389        "B       loc_FF85E51C\n"
390
391"loc_FF85E4E8:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
392
393        "BL      sub_FF93D018\n"
394        "B       loc_FF85E51C\n"
395
396"loc_FF85E4F0:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
397
398        "BL      sub_FF93F24C\n"
399        "B       loc_FF85E51C\n"
400
401"loc_FF85E4F8:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
402
403        "BL      sub_FF93F268\n"
404        "B       loc_FF85E51C\n"
405
406"loc_FF85E500:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
407
408        "BL      sub_FF93F278\n"
409        "B       loc_FF85E51C\n"
410
411"loc_FF85E508:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
412
413        "BL      sub_FF93F2A4\n"
414        "B       loc_FF85E51C\n"
415
416"loc_FF85E510:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
417
418        "LDR     R1, =0x58E\n"
419        "LDR     R0, =0xFF85DF88\n"
420        "BL      _DebugAssert\n"
421
422"loc_FF85E51C:\n" //                               ; CODE XREF: task_CaptSeqTask+4Cj
423
424        "LDR     R0, [SP,#0x20-0x20]\n"
425        "LDR     R1, [R0,#4]\n"
426        "LDR     R0, [R5,#8]\n"
427        "BL      sub_FF827B1C\n"
428        "LDR     R4, [SP,#0x20-0x20]\n"
429        "LDR     R0, [R4,#8]\n"
430        "CMP     R0, #0\n"
431        "LDREQ   R1, =0x10D\n"
432        "LDREQ   R0, =0xFF85DF88\n"
433        "BLEQ    _DebugAssert\n"
434        "STR     R7, [R4,#8]\n"
435        "B       loc_FF85E2C4\n"
436    );
437} //#fe
438
439
440// Extracted method: task_ExpDrvTask (FF8B6A80)
441void __attribute__((naked,noinline)) exp_drv_task()
442{
443        asm volatile (
444                "STMFD   SP!, {R4-R8,LR}\n"
445                "SUB     SP, SP, #0x20\n"
446                "LDR     R8, =0xBB8\n"
447                "LDR     R7, =0x6E30\n"
448                "LDR     R5, =0x3E12C\n"
449                "MOV     R0, #0\n"
450                "ADD     R6, SP, #0x38-0x28\n"
451                "STR     R0, [SP,#0x38-0x2C]\n"
452
453                "loc_FF8B6AA0:\n"
454                "LDR     R0, [R7,#0x20]\n"
455                "MOV     R2, #0\n"
456                "ADD     R1, SP, #0x38-0x1C\n"
457                "BL      sub_FF827DA0\n" // LOCATION: KerQueue.c:0
458                "LDR     R0, [SP,#0x38-0x2C]\n"
459                "CMP     R0, #1\n"
460                "BNE     loc_FF8B6AE8\n"
461                "LDR     R0, [SP,#0x38-0x1C]\n"
462                "LDR     R0, [R0]\n"
463                "CMP     R0, #0x13\n"
464                "CMPNE   R0, #0x14\n"
465                "CMPNE   R0, #0x15\n"
466                "BEQ     loc_FF8B6C04\n"
467                "CMP     R0, #0x27\n"
468                "BEQ     loc_FF8B6BDC\n"
469                "ADD     R1, SP, #0x38-0x2C\n"
470                "MOV     R0, #0\n"
471                "BL      sub_FF8B6A30\n" // LOCATION: ExpDrv.c:512
472
473                "loc_FF8B6AE8:\n"
474                "LDR     R0, [SP,#0x38-0x1C]\n"
475                "LDR     R1, [R0]\n"
476                "CMP     R1, #0x2C\n"
477                "BNE     loc_FF8B6B18\n"
478                "LDR     R0, [SP,#0x38-0x1C]\n"
479                "BL      sub_FF8B7CEC\n" // LOCATION: ExpDrv.c:268
480                "LDR     R0, [R7,#0x1C]\n"
481                "MOV     R1, #1\n"
482                "BL      sub_FF827B1C\n"
483                "BL      _ExitTask\n"
484                "ADD     SP, SP, #0x20\n"
485                "LDMFD   SP!, {R4-R8,PC}\n"
486
487                "loc_FF8B6B18:\n"
488                "CMP     R1, #0x2B\n"
489                "BNE     loc_FF8B6B34\n"
490                "LDR     R2, [R0,#0x88]!\n"
491                "LDR     R1, [R0,#4]\n"
492                "MOV     R0, R1\n"
493                "BLX     R2\n"
494                "B       loc_FF8B706C\n"
495
496                "loc_FF8B6B34:\n"
497                "CMP     R1, #0x25\n"
498                "BNE     loc_FF8B6B84\n"
499                "LDR     R0, [R7,#0x1C]\n"
500                "MOV     R1, #0x80\n"
501                "BL      sub_FF827B50\n"
502                "LDR     R0, =0xFF8B34B8\n"
503                "MOV     R1, #0x80\n"
504                "BL      sub_FF92FACC\n" // LOCATION: IrisController.c:74
505                "LDR     R0, [R7,#0x1C]\n"
506                "MOV     R2, R8\n"
507                "MOV     R1, #0x80\n"
508                "BL      sub_FF827A54\n" // LOCATION: KerFlag.c:0
509                "TST     R0, #1\n"
510                "LDRNE   R1, =0xD1B\n"
511                "BNE     loc_FF8B6BC8\n"
512
513                "loc_FF8B6B70:\n"
514                "LDR     R1, [SP,#0x38-0x1C]\n"
515                "LDR     R0, [R1,#0x8C]\n"
516                "LDR     R1, [R1,#0x88]\n"
517                "BLX     R1\n"
518                "B       loc_FF8B706C\n"
519
520                "loc_FF8B6B84:\n"
521                "CMP     R1, #0x26\n"
522                "BNE     loc_FF8B6BD4\n"
523                "ADD     R1, SP, #0x38-0x2C\n"
524                "BL      sub_FF8B6A30\n" // LOCATION: ExpDrv.c:512
525                "LDR     R0, [R7,#0x1C]\n"
526                "MOV     R1, #0x100\n"
527                "BL      sub_FF827B50\n"
528                "LDR     R0, =0xFF8B34C8\n"
529                "MOV     R1, #0x100\n"
530                "BL      sub_FF92FD54\n" // LOCATION: IrisController.c:160
531                "LDR     R0, [R7,#0x1C]\n"
532                "MOV     R2, R8\n"
533                "MOV     R1, #0x100\n"
534                "BL      sub_FF827A54\n" // LOCATION: KerFlag.c:0
535                "TST     R0, #1\n"
536                "BEQ     loc_FF8B6B70\n"
537                "LDR     R1, =0xD25\n"
538
539                "loc_FF8B6BC8:\n"
540                "LDR     R0, =0xFF8B3BB8\n" // "ExpDrv.c"
541                "BL      _DebugAssert\n"
542                "B       loc_FF8B6B70\n"
543
544                "loc_FF8B6BD4:\n"
545                "CMP     R1, #0x27\n"
546                "BNE     loc_FF8B6BEC\n"
547
548                "loc_FF8B6BDC:\n"
549                "LDR     R0, [SP,#0x38-0x1C]\n"
550                "ADD     R1, SP, #0x38-0x2C\n"
551                "BL      sub_FF8B6A30\n" // LOCATION: ExpDrv.c:512
552                "B       loc_FF8B6B70\n"
553
554                "loc_FF8B6BEC:\n"
555                "CMP     R1, #0x2A\n"
556                "BNE     loc_FF8B6C04\n"
557                "BL      sub_FF895DFC\n" // LOCATION: Shutter.c:2
558                "BL      sub_FF896BC8\n" // LOCATION: ImgPixel.c:0
559                "BL      sub_FF89664C\n" // LOCATION: ImgGain.c:0
560                "B       loc_FF8B6B70\n"
561
562                "loc_FF8B6C04:\n"
563                "LDR     R0, [SP,#0x38-0x1C]\n"
564                "MOV     R4, #1\n"
565                "LDR     R1, [R0]\n"
566                "CMP     R1, #0x11\n"
567                "CMPNE   R1, #0x12\n"
568                "BNE     loc_FF8B6C74\n"
569                "LDR     R1, [R0,#0x7C]\n"
570                "ADD     R1, R1, R1,LSL#1\n"
571                "ADD     R1, R0, R1,LSL#2\n"
572                "SUB     R1, R1, #8\n"
573                "LDMIA   R1, {R2-R4}\n"
574                "STMIA   R6, {R2-R4}\n"
575                "BL      sub_FF8B5544\n" // LOCATION: ExpDrv.c:2
576                "LDR     R0, [SP,#0x38-0x1C]\n"
577                "LDR     R1, [R0,#0x7C]\n"
578                "LDR     R3, [R0,#0x88]\n"
579                "LDR     R2, [R0,#0x8C]\n"
580                "ADD     R0, R0, #4\n"
581                "BLX     R3\n"
582                "LDR     R0, [SP,#0x38-0x1C]\n"
583                "BL      sub_FF8B80C0\n" // LOCATION: ExpDrv.c:0
584                "LDR     R0, [SP,#0x38-0x1C]\n"
585                "LDR     R1, [R0,#0x7C]\n"
586                "LDR     R3, [R0,#0x90]\n"
587                "LDR     R2, [R0,#0x94]\n"
588                "ADD     R0, R0, #4\n"
589                "BLX     R3\n"
590                "B       loc_FF8B6FAC\n"
591
592                "loc_FF8B6C74:\n"
593                "CMP     R1, #0x13\n"
594                "CMPNE   R1, #0x14\n"
595                "CMPNE   R1, #0x15\n"
596                "BNE     loc_FF8B6D28\n"
597                "ADD     R3, SP, #0x38-0x2C\n"
598                "MOV     R2, SP\n"
599                "ADD     R1, SP, #0x38-0x28\n"
600                "BL      sub_FF8B578C\n" // LOCATION: ExpDrv.c:0
601                "CMP     R0, #1\n"
602                "MOV     R4, R0\n"
603                "CMPNE   R4, #5\n"
604                "BNE     loc_FF8B6CC4\n"
605                "LDR     R0, [SP,#0x38-0x1C]\n"
606                "MOV     R2, R4\n"
607                "LDR     R1, [R0,#0x7C]!\n"
608                "LDR     R12, [R0,#0xC]!\n"
609                "LDR     R3, [R0,#4]\n"
610                "MOV     R0, SP\n"
611                "BLX     R12\n"
612                "B       loc_FF8B6CFC\n"
613
614                "loc_FF8B6CC4:\n"
615                "LDR     R0, [SP,#0x38-0x1C]\n"
616                "CMP     R4, #2\n"
617                "LDR     R3, [R0,#0x8C]\n"
618                "CMPNE   R4, #6\n"
619                "BNE     loc_FF8B6D10\n"
620                "LDR     R12, [R0,#0x88]\n"
621                "MOV     R0, SP\n"
622                "MOV     R2, R4\n"
623                "MOV     R1, #1\n"
624                "BLX     R12\n"
625                "LDR     R0, [SP,#0x38-0x1C]\n"
626                "MOV     R2, SP\n"
627                "ADD     R1, SP, #0x38-0x28\n"
628                "BL      sub_FF8B6744\n" // LOCATION: ExpDrv.c:0
629
630                "loc_FF8B6CFC:\n"
631                "LDR     R0, [SP,#0x38-0x1C]\n"
632                "LDR     R2, [SP,#0x38-0x2C]\n"
633                "MOV     R1, R4\n"
634                "BL      sub_FF8B69D0\n" // LOCATION: ExpDrv.c:2
635                "B       loc_FF8B6FAC\n"
636
637                "loc_FF8B6D10:\n"
638                "LDR     R1, [R0,#0x7C]\n"
639                "LDR     R12, [R0,#0x88]\n"
640                "ADD     R0, R0, #4\n"
641                "MOV     R2, R4\n"
642                "BLX     R12\n"
643                "B       loc_FF8B6FAC\n"
644
645                "loc_FF8B6D28:\n"
646                "CMP     R1, #0x21\n"
647                "CMPNE   R1, #0x22\n"
648                "BNE     loc_FF8B6D74\n"
649                "LDR     R1, [R0,#0x7C]\n"
650                "ADD     R1, R1, R1,LSL#1\n"
651                "ADD     R1, R0, R1,LSL#2\n"
652                "SUB     R1, R1, #8\n"
653                "LDMIA   R1, {R2-R4}\n"
654                "STMIA   R6, {R2-R4}\n"
655                "BL      sub_FF8B4AD0\n" // LOCATION: ExpDrv.c:0
656                "LDR     R0, [SP,#0x38-0x1C]\n"
657                "LDR     R1, [R0,#0x7C]\n"
658                "LDR     R3, [R0,#0x88]\n"
659                "LDR     R2, [R0,#0x8C]\n"
660                "ADD     R0, R0, #4\n"
661                "BLX     R3\n"
662                "LDR     R0, [SP,#0x38-0x1C]\n"
663                "BL      sub_FF8B4DC0\n" // LOCATION: ExpDrv.c:0
664                "B       loc_FF8B6FAC\n"
665
666                "loc_FF8B6D74:\n"
667                "ADD     R1, R0, #4\n"
668                "LDMIA   R1, {R2,R3,R12}\n"
669                "STMIA   R6, {R2,R3,R12}\n"
670                "LDR     R1, [R0]\n"
671                "CMP     R1, #0x24\n"
672                "ADDLS   PC, PC, R1,LSL#2\n"
673                "B       loc_FF8B6F8C\n"
674
675                "loc_FF8B6D90:\n"
676                "B       loc_FF8B6E24\n"
677
678                "loc_FF8B6D94:\n"
679                "B       loc_FF8B6E24\n"
680
681                "loc_FF8B6D98:\n"
682                "B       loc_FF8B6E74\n"
683
684                "loc_FF8B6D9C:\n"
685                "B       loc_FF8B6E7C\n"
686
687                "loc_FF8B6DA0:\n"
688                "B       loc_FF8B6E7C\n"
689
690                "loc_FF8B6DA4:\n"
691                "B       loc_FF8B6E7C\n"
692
693                "loc_FF8B6DA8:\n"
694                "B       loc_FF8B6E24\n"
695
696                "loc_FF8B6DAC:\n"
697                "B       loc_FF8B6E74\n"
698
699                "loc_FF8B6DB0:\n"
700                "B       loc_FF8B6E7C\n"
701
702                "loc_FF8B6DB4:\n"
703                "B       loc_FF8B6E7C\n"
704
705                "loc_FF8B6DB8:\n"
706                "B       loc_FF8B6E94\n"
707
708                "loc_FF8B6DBC:\n"
709                "B       loc_FF8B6E94\n"
710
711                "loc_FF8B6DC0:\n"
712                "B       loc_FF8B6F80\n"
713
714                "loc_FF8B6DC4:\n"
715                "B       loc_FF8B6F88\n"
716
717                "loc_FF8B6DC8:\n"
718                "B       loc_FF8B6F88\n"
719
720                "loc_FF8B6DCC:\n"
721                "B       loc_FF8B6F88\n"
722
723                "loc_FF8B6DD0:\n"
724                "B       loc_FF8B6F88\n"
725
726                "loc_FF8B6DD4:\n"
727                "B       loc_FF8B6F8C\n"
728
729                "loc_FF8B6DD8:\n"
730                "B       loc_FF8B6F8C\n"
731
732                "loc_FF8B6DDC:\n"
733                "B       loc_FF8B6F8C\n"
734
735                "loc_FF8B6DE0:\n"
736                "B       loc_FF8B6F8C\n"
737
738                "loc_FF8B6DE4:\n"
739                "B       loc_FF8B6F8C\n"
740
741                "loc_FF8B6DE8:\n"
742                "B       loc_FF8B6E84\n"
743
744                "loc_FF8B6DEC:\n"
745                "B       loc_FF8B6E8C\n"
746
747                "loc_FF8B6DF0:\n"
748                "B       loc_FF8B6E8C\n"
749
750                "loc_FF8B6DF4:\n"
751                "B       loc_FF8B6EA0\n"
752
753                "loc_FF8B6DF8:\n"
754                "B       loc_FF8B6EA0\n"
755
756                "loc_FF8B6DFC:\n"
757                "B       loc_FF8B6EA8\n"
758
759                "loc_FF8B6E00:\n"
760                "B       loc_FF8B6ED8\n"
761
762                "loc_FF8B6E04:\n"
763                "B       loc_FF8B6F08\n"
764
765                "loc_FF8B6E08:\n"
766                "B       loc_FF8B6F38\n"
767
768                "loc_FF8B6E0C:\n"
769                "B       loc_FF8B6F68\n"
770
771                "loc_FF8B6E10:\n"
772                "B       loc_FF8B6F68\n"
773
774                "loc_FF8B6E14:\n"
775                "B       loc_FF8B6F8C\n"
776
777                "loc_FF8B6E18:\n"
778                "B       loc_FF8B6F8C\n"
779
780                "loc_FF8B6E1C:\n"
781                "B       loc_FF8B6F70\n"
782
783                "loc_FF8B6E20:\n"
784                "B       loc_FF8B6F78\n"
785
786                "loc_FF8B6E24:\n"
787                // jumptable FF8B6D88 entries 0,1,6
788                "BL      sub_FF8B39A0\n" // LOCATION: ExpDrv.c:800
789                "B       loc_FF8B6F8C\n"
790
791                "loc_FF8B6E74:\n"
792                // jumptable FF8B6D88 entries 2,7
793                "BL      sub_FF8B3C30\n" // LOCATION: ExpDrv.c:0
794                "B       loc_FF8B6F8C\n"
795
796                "loc_FF8B6E7C:\n"
797                // jumptable FF8B6D88 entries 3-5,8,9
798                "BL      sub_FF8B3E34\n" // LOCATION: ExpDrv.c:0
799                "B       loc_FF8B6F8C\n"
800
801                "loc_FF8B6E84:\n"
802                // jumptable FF8B6D88 entry 22
803                "BL      sub_FF8B409C\n" // LOCATION: ExpDrv.c:2
804                "B       loc_FF8B6F8C\n"
805
806                "loc_FF8B6E8C:\n"
807                // jumptable FF8B6D88 entries 23,24
808                "BL      sub_FF8B4290\n" // LOCATION: ExpDrv.c:11
809                "B       loc_FF8B6F8C\n"
810
811                "loc_FF8B6E94:\n"
812                // jumptable FF8B6D88 entries 10,11
813                //"BL      sub_FF8B44F8\n" // LOCATION: ExpDrv.c:2
814                "BL      sub_FF8B44F8_my\n" //------------>
815                "MOV     R4, #0\n"
816                "B       loc_FF8B6F8C\n"
817
818                "loc_FF8B6EA0:\n"
819                // jumptable FF8B6D88 entries 25,26
820                "BL      sub_FF8B4634\n"
821                "B       loc_FF8B6F8C\n"
822
823                "loc_FF8B6EA8:\n"
824                // jumptable FF8B6D88 entry 27
825                "LDRH    R1, [R0,#4]\n"
826                "STRH    R1, [SP,#0x38-0x28]\n"
827                "LDRH    R1, [R5,#2]\n"
828                "STRH    R1, [SP,#0x38-0x26]\n"
829                "LDRH    R1, [R5,#4]\n"
830                "STRH    R1, [SP,#0x38-0x24]\n"
831                "LDRH    R1, [R5,#6]\n"
832                "STRH    R1, [SP,#0x38-0x22]\n"
833                "LDRH    R1, [R0,#0xC]\n"
834                "STRH    R1, [SP,#0x38-0x20]\n"
835                "BL      sub_FF8B7D60\n" // LOCATION: ExpDrv.c:2
836                "B       loc_FF8B6F8C\n"
837
838                "loc_FF8B6ED8:\n"
839                // jumptable FF8B6D88 entry 28
840                "LDRH    R1, [R0,#4]\n"
841                "STRH    R1, [SP,#0x38-0x28]\n"
842                "LDRH    R1, [R5,#2]\n"
843                "STRH    R1, [SP,#0x38-0x26]\n"
844                "LDRH    R1, [R5,#4]\n"
845                "STRH    R1, [SP,#0x38-0x24]\n"
846                "LDRH    R1, [R5,#6]\n"
847                "STRH    R1, [SP,#0x38-0x22]\n"
848                "LDRH    R1, [R5,#8]\n"
849                "STRH    R1, [SP,#0x38-0x20]\n"
850                "BL      sub_FF8B7EDC\n" // LOCATION: ExpDrv.c:2
851                "B       loc_FF8B6F8C\n"
852
853                "loc_FF8B6F08:\n"
854                // jumptable FF8B6D88 entry 29
855                "LDRH    R1, [R5]\n"
856                "STRH    R1, [SP,#0x38-0x28]\n"
857                "LDRH    R1, [R0,#6]\n"
858                "STRH    R1, [SP,#0x38-0x26]\n"
859                "LDRH    R1, [R5,#4]\n"
860                "STRH    R1, [SP,#0x38-0x24]\n"
861                "LDRH    R1, [R5,#6]\n"
862                "STRH    R1, [SP,#0x38-0x22]\n"
863                "LDRH    R1, [R5,#8]\n"
864                "STRH    R1, [SP,#0x38-0x20]\n"
865                "BL      sub_FF8B7F88\n" // LOCATION: ExpDrv.c:0
866                "B       loc_FF8B6F8C\n"
867
868                "loc_FF8B6F38:\n"
869                // jumptable FF8B6D88 entry 30
870                "LDRH    R1, [R5]\n"
871                "STRH    R1, [SP,#0x38-0x28]\n"
872                "LDRH    R1, [R5,#2]\n"
873                "STRH    R1, [SP,#0x38-0x26]\n"
874                "LDRH    R1, [R5,#4]\n"
875                "STRH    R1, [SP,#0x38-0x24]\n"
876                "LDRH    R1, [R5,#6]\n"
877                "STRH    R1, [SP,#0x38-0x22]\n"
878                "LDRH    R1, [R0,#0xC]\n"
879                "STRH    R1, [SP,#0x38-0x20]\n"
880                "BL      sub_FF8B8028\n" // LOCATION: ExpDrv.c:32
881                "B       loc_FF8B6F8C\n"
882
883                "loc_FF8B6F68:\n"
884                // jumptable FF8B6D88 entries 31,32
885                "BL      sub_FF8B48A8\n" // LOCATION: ExpDrv.c:0
886                "B       loc_FF8B6F8C\n"
887
888                "loc_FF8B6F70:\n"
889                // jumptable FF8B6D88 entry 35
890                "BL      sub_FF8B4EC4\n" // LOCATION: ExpDrv.c:10
891                "B       loc_FF8B6F8C\n"
892
893                "loc_FF8B6F78:\n"
894                // jumptable FF8B6D88 entry 36
895                "BL      sub_FF8B50FC\n" // LOCATION: ExpDrv.c:0
896                "B       loc_FF8B6F8C\n"
897
898                "loc_FF8B6F80:\n"
899                // jumptable FF8B6D88 entry 12
900                "BL      sub_FF8B5274\n" // LOCATION: ExpDrv.c:2
901                "B       loc_FF8B6F8C\n"
902
903                "loc_FF8B6F88:\n"
904                // jumptable FF8B6D88 entries 13-16
905                "BL      sub_FF8B540C\n" // LOCATION: ExpDrv.c:128
906
907                "loc_FF8B6F8C:\n"
908                // jumptable FF8B6D88 default entry
909                // jumptable FF8B6D88 entries 17-21,33,34
910                "LDR     R0, [SP,#0x38-0x1C]\n"
911                "LDR     R1, [R0,#0x7C]\n"
912                "LDR     R3, [R0,#0x88]\n"
913                "LDR     R2, [R0,#0x8C]\n"
914                "ADD     R0, R0, #4\n"
915                "BLX     R3\n"
916                "CMP     R4, #1\n"
917                "BNE     loc_FF8B6FF4\n"
918
919                "loc_FF8B6FAC:\n"
920                "LDR     R0, [SP,#0x38-0x1C]\n"
921                "MOV     R2, #0xC\n"
922                "LDR     R1, [R0,#0x7C]\n"
923                "ADD     R1, R1, R1,LSL#1\n"
924                "ADD     R0, R0, R1,LSL#2\n"
925                "SUB     R4, R0, #8\n"
926                "LDR     R0, =0x3E12C\n"
927                "ADD     R1, SP, #0x38-0x28\n"
928                "BL      sub_FFAAC7FC\n"
929                "LDR     R0, =0x3E138\n"
930                "MOV     R2, #0xC\n"
931                "ADD     R1, SP, #0x38-0x28\n"
932                "BL      sub_FFAAC7FC\n"
933                "LDR     R0, =0x3E144\n"
934                "MOV     R2, #0xC\n"
935                "MOV     R1, R4\n"
936                "BL      sub_FFAAC7FC\n"
937                "B       loc_FF8B706C\n"
938
939                "loc_FF8B6FF4:\n"
940                "LDR     R0, [SP,#0x38-0x1C]\n"
941                "LDR     R0, [R0]\n"
942                "CMP     R0, #0xB\n"
943                "BNE     loc_FF8B703C\n"
944                "MOV     R3, #0\n"
945                "STR     R3, [SP,#0x38-0x38]\n"
946                "MOV     R3, #1\n"
947                "MOV     R2, #1\n"
948                "MOV     R1, #1\n"
949                "MOV     R0, #0\n"
950                "BL      sub_FF8B37A8\n"
951                "MOV     R3, #0\n"
952                "STR     R3, [SP,#0x38-0x38]\n"
953                "MOV     R3, #1\n"
954                "MOV     R2, #1\n"
955                "MOV     R1, #1\n"
956                "MOV     R0, #0\n"
957                "B       loc_FF8B7068\n"
958
959                "loc_FF8B703C:\n"
960                "MOV     R3, #1\n"
961                "MOV     R2, #1\n"
962                "MOV     R1, #1\n"
963                "MOV     R0, #1\n"
964                "STR     R3, [SP,#0x38-0x38]\n"
965                "BL      sub_FF8B37A8\n"
966                "MOV     R3, #1\n"
967                "MOV     R2, #1\n"
968                "MOV     R1, #1\n"
969                "MOV     R0, #1\n"
970                "STR     R3, [SP,#0x38-0x38]\n"
971
972                "loc_FF8B7068:\n"
973                "BL      sub_FF8B38E8\n"
974
975                "loc_FF8B706C:\n"
976                "LDR     R0, [SP,#0x38-0x1C]\n"
977                "BL      sub_FF8B7CEC\n" // LOCATION: ExpDrv.c:268
978                "B       loc_FF8B6AA0\n"
979                );
980}
981
982void __attribute__((naked,noinline)) sub_FF8B44F8_my()
983{
984        asm volatile (
985                "STMFD   SP!, {R4-R8,LR}\n"
986                "LDR     R7, =0x6E30\n"
987                "MOV     R4, R0\n"
988                "LDR     R0, [R7,#0x1C]\n"
989                "MOV     R1, #0x3E\n"
990                "BL      sub_FF827B50\n"
991                "LDRSH   R0, [R4,#4]\n"
992                "MOV     R2, #0\n"
993                "MOV     R1, #0\n"
994                "BL      sub_FF8B353C\n"
995                "MOV     R6, R0\n"
996                "LDRSH   R0, [R4,#6]\n"
997                "BL      sub_FF8B3648\n"
998                "LDRSH   R0, [R4,#8]\n"
999                "BL      sub_FF8B36A0\n"
1000                "LDRSH   R0, [R4,#0xA]\n"
1001                "BL      sub_FF8B36F8\n"
1002                "LDRSH   R0, [R4,#0xC]\n"
1003                "BL      sub_FF8B3750\n"
1004                "MOV     R5, R0\n"
1005                "LDR     R0, [R4]\n"
1006                "LDR     R8, =0x3E144\n"
1007                "CMP     R0, #0xB\n"
1008                "MOVEQ   R6, #0\n"
1009                "MOVEQ   R5, #0\n"
1010                "BEQ     loc_FF8B4588\n"
1011                "CMP     R6, #1\n"
1012                "BNE     loc_FF8B4588\n"
1013                "LDRSH   R0, [R4,#4]\n"
1014                "LDR     R1, =0xFF8B34A8\n"
1015                "MOV     R2, #2\n"
1016                "BL      sub_FF92FC20\n" // LOCATION: IrisController.c:117
1017                "STRH    R0, [R4,#4]\n"
1018                "MOV     R0, #0\n"
1019                "STR     R0, [R7,#0x28]\n"
1020                "B       loc_FF8B4590\n"
1021
1022                "loc_FF8B4588:\n"
1023                "LDRH    R0, [R8]\n"
1024                "STRH    R0, [R4,#4]\n"
1025
1026                "loc_FF8B4590:\n"
1027                "CMP     R5, #1\n"
1028                "LDRNEH  R0, [R8,#8]\n"
1029                "BNE     loc_FF8B45AC\n"
1030                "LDRSH   R0, [R4,#0xC]\n"
1031                "MOV     R2, #0x20\n"
1032                "LDR     R1, =0xFF8B352C\n"
1033                "BL      sub_FF8B7D1C\n"
1034
1035                "loc_FF8B45AC:\n"
1036                "STRH    R0, [R4,#0xC]\n"
1037                "LDRSH   R0, [R4,#6]\n"
1038                //"BL      sub_FF895B48\n" // LOCATION: Shutter.c:0
1039                "BL      sub_FF895B48_my\n" //------------>
1040                "LDRSH   R0, [R4,#8]\n"
1041                "MOV     R1, #1\n"
1042                "BL      sub_FF896344\n" // LOCATION: ImgGain.c:0
1043                "MOV     R1, #0\n"
1044                "ADD     R0, R4, #8\n"
1045                "BL      sub_FF8963CC\n" // LOCATION: ImgGain.c:0
1046                "LDRSH   R0, [R4,#0xE]\n"
1047                "BL      sub_FF8AA464\n" // LOCATION: BrtCrct.c:552
1048                "LDR     R4, =0xBB8\n"
1049                "CMP     R6, #1\n"
1050                "BNE     loc_FF8B4604\n"
1051                "LDR     R0, [R7,#0x1C]\n"
1052                "MOV     R2, R4\n"
1053                "MOV     R1, #2\n"
1054                "BL      sub_FF827A54\n" // LOCATION: KerFlag.c:0
1055                "TST     R0, #1\n"
1056                "LDRNE   R1, =0x532\n"
1057                "LDRNE   R0, =0xFF8B3BB8\n" // "ExpDrv.c"
1058                "BLNE    _DebugAssert\n"
1059
1060                "loc_FF8B4604:\n"
1061                "CMP     R5, #1\n"
1062                "LDMNEFD SP!, {R4-R8,PC}\n"
1063                "LDR     R0, [R7,#0x1C]\n"
1064                "MOV     R2, R4\n"
1065                "MOV     R1, #0x20\n"
1066                "BL      sub_FF827A54\n" // LOCATION: KerFlag.c:0
1067                "TST     R0, #1\n"
1068                "LDRNE   R1, =0x537\n"
1069                "LDRNE   R0, =0xFF8B3BB8\n" // "ExpDrv.c"
1070                "LDMNEFD SP!, {R4-R8,LR}\n"
1071                "BNE     _DebugAssert\n"
1072                "LDMFD   SP!, {R4-R8,PC}\n"
1073                );
1074}
1075
1076// FF895B48
1077void __attribute__((naked,noinline)) sub_FF895B48_my()
1078{
1079        asm volatile (
1080                "STMFD   SP!, {R4-R6,LR}\n"
1081                "LDR     R5, =0x68EC\n"
1082                "MOV     R4, R0\n"
1083                "LDR     R0, [R5,#4]\n"
1084                "CMP     R0, #1\n"
1085                "LDRNE   R1, =0x16D\n"
1086                "LDRNE   R0, =0xFF8958E0\n" // "Shutter.c"
1087                "BLNE    _DebugAssert\n"
1088                "CMN     R4, #0xC00\n"
1089                "LDREQSH R4, [R5,#2]\n"
1090                "CMN     R4, #0xC00\n"
1091                "LDREQ   R1, =0x173\n"
1092                "LDREQ   R0, =0xFF8958E0\n" // "Shutter.c"
1093                "STRH    R4, [R5,#2]\n"
1094                "BLEQ    _DebugAssert\n"
1095                "MOV     R0, R4\n"
1096                //"BL      sub_FF9B19C0\n"
1097                "BL      apex2us\n" // +
1098                "MOV     R4, R0\n"
1099                "BL      sub_FF8C5920\n" // nullsub_67
1100                "MOV     R0, R4\n"
1101                "BL      sub_FF8C9E10\n"
1102                "TST     R0, #1\n"
1103                "LDMNEFD SP!, {R4-R6,LR}\n"
1104                "MOVNE   R1, #0x178\n"
1105                "LDRNE   R0, =0xFF8958E0\n" // "Shutter.c"
1106                "BNE     _DebugAssert\n"
1107                "LDMFD   SP!, {R4-R6,PC}\n"
1108                );
1109}
Note: See TracBrowser for help on using the repository browser.