source: branches/release-1_0/platform/a490/sub/100d/capt_seq.c @ 1523

Revision 1523, 35.8 KB checked in by philmoz, 2 years ago (diff)

Fixes for A490 1.00d and 1.00f versions.
Added A490 1.00e version.

  • Property svn:eol-style set to native
Line 
1#include "lolevel.h"
2#include "platform.h"
3#include "core.h"
4#include "conf.h"
5
6static long *nrflag = (long*)0x57F8;    // ??? ROM:FFD10DA8 "ShutterSoundTask"
7
8#include "../../../generic/capt_seq.c"
9
10// ROM:FFC5914C task_CaptSeqTask()
11
12void __attribute__((naked,noinline)) capt_seq_task() {
13        asm volatile (
14                        "STMFD   SP!, {R3-R7,LR}\n"
15                        "LDR     R7, =0x33284\n"
16                        "LDR     R6, =0x26C0\n"
17"loc_FFC59158:\n"
18                        "LDR     R0, [R6,#4]\n"
19                        "MOV     R2, #0\n"
20                        "MOV     R1, SP\n"
21                        "BL      sub_FFC28AA4\n"
22                        "TST     R0, #1\n"
23                        "BEQ     loc_FFC59184\n"
24                        "LDR     R1, =0x5B4\n"
25                        "LDR     R0, =0xFFC58D58\n"
26                        "BL      sub_FFC0F680\n"
27                        "BL      sub_FFC0F438\n"
28                        "LDMFD   SP!, {R3-R7,PC}\n"
29"loc_FFC59184:\n"
30                        "LDR     R0, [SP]\n"
31                        "LDR     R1, [R0]\n"
32                        "CMP     R1, #0x1D\n"
33                        "ADDLS   PC, PC, R1,LSL#2\n"
34                        "B      loc_FFC59394 \n"                       
35                        "B      loc_FFC59210 \n"                       
36                        "B      loc_FFC59218 \n"                       
37                        "B      loc_FFC59240 \n"                       
38                        "B      loc_FFC59254 \n"                       
39                        "B      loc_FFC5924C \n"                       
40                        "B      loc_FFC5925C \n"                       
41                        "B      loc_FFC59264 \n"                       
42                        "B      loc_FFC59270 \n"                       
43                        "B      loc_FFC592C8 \n"                       
44                        "B      loc_FFC59254 \n"                       
45                        "B      loc_FFC592D0 \n"                       
46                        "B      loc_FFC592DC \n"                       
47                        "B      loc_FFC592E4 \n"                       
48                        "B      loc_FFC592EC \n"                       
49                        "B      loc_FFC592F4 \n"                       
50                        "B      loc_FFC592FC \n"                       
51                        "B      loc_FFC59304 \n"                       
52                        "B      loc_FFC5930C \n"                       
53                        "B      loc_FFC59318 \n"                       
54                        "B      loc_FFC59320 \n"                       
55                        "B      loc_FFC59328 \n"                       
56                        "B      loc_FFC59330 \n"                       
57                        "B      loc_FFC59338 \n"                       
58                        "B      loc_FFC59344 \n"                       
59                        "B      loc_FFC5934C \n"                       
60                        "B      loc_FFC59354 \n"                       
61                        "B      loc_FFC5935C \n"                       
62                        "B      loc_FFC59364 \n"                       
63                        "B      loc_FFC59370 \n"                       
64                        "B      loc_FFC593A0 \n"                       
65"loc_FFC59210:\n"
66                        "BL     sub_FFC59A24 \n"                     
67                        "BL      shooting_expo_param_override\n"      // +
68                        "B      loc_FFC59268 \n"                       
69"loc_FFC59218:\n"
70                        "MOV    R0, #0xC \n"                         
71                        "BL     sub_FFC5D708 \n"                     
72                        "TST    R0, #1 \n"                           
73                        "LDR    R0, [SP] \n"                         
74                        "MOVNE  R1, #1 \n"                         
75                        "LDRNE  R2, [R0, #0xC] \n"                 
76                        "MOVNE  R0, #1 \n"                         
77                        "BNE    loc_FFC592C0 \n"                     
78                        "BL     sub_FFC594BC_my \n"                     
79                        "B      loc_FFC593A0 \n"                       
80"loc_FFC59240:\n"
81                        "MOV    R0, #1 \n"                           
82                        "BL     sub_FFC59CAC \n"                     
83                        "B      loc_FFC593A0 \n"                       
84"loc_FFC5924C:\n"
85                        "BL     sub_FFC59690 \n"                     
86                        "B      loc_FFC593A0 \n"                       
87"loc_FFC59254:\n"
88                        "BL     sub_FFC59A04 \n"                     
89                        "B      loc_FFC593A0 \n"                       
90"loc_FFC5925C:\n"
91                        "BL     sub_FFC59A0C \n"                     
92                        "B      loc_FFC593A0 \n"                       
93"loc_FFC59264:\n"
94                        "BL     sub_FFC59BBC \n"                     
95"loc_FFC59268:\n"
96                        "BL     sub_FFC57464 \n"                     
97                        "B      loc_FFC593A0 \n"                       
98"loc_FFC59270:\n"
99                        "LDR    R4, [R0, #0xC] \n"                   
100                        "BL     sub_FFC59A14 \n"                     
101                        "MOV    R0, R4 \n"                           
102                        "BL     sub_FFD0FCAC \n"                     
103                        "TST    R0, #1 \n"                           
104                        "MOV    R5, R0 \n"                           
105                        "BNE    loc_FFC592B0 \n"                     
106                        "BL     sub_FFC695E4 \n"                     
107                        "STR    R0, [R4, #0x18] \n"                 
108                        "MOV    R0, R4 \n"                           
109                        "BL     sub_FFD10C1C \n"                     
110                        "MOV    R0, R4 \n"                           
111                        "BL     sub_FFD10FBC \n"                     
112                        "MOV    R5, R0 \n"                           
113                        "LDR    R0, [R4, #0x18] \n"                 
114                        "BL     sub_FFC6981C \n"                     
115"loc_FFC592B0:\n"
116                        "BL     sub_FFC59A04 \n"                     
117                        "MOV    R2, R4 \n"                           
118                        "MOV    R1, #9 \n"                           
119                        "MOV    R0, R5 \n"                           
120"loc_FFC592C0:\n"
121                        "BL     sub_FFC5785C \n"                     
122                        "B      loc_FFC593A0 \n"                       
123"loc_FFC592C8:\n"
124                        "BL     sub_FFC59C24 \n"                     
125                        "B      loc_FFC59268 \n"                       
126"loc_FFC592D0:\n"
127                        "LDR    R0, [R7, #0x4C] \n"                 
128                        "BL     sub_FFC59FCC \n"                     
129                        "B      loc_FFC593A0 \n"                       
130"loc_FFC592DC:\n"
131                        "BL     sub_FFC5A27C \n"                     
132                        "B      loc_FFC593A0 \n"                       
133"loc_FFC592E4:\n"
134                        "BL     sub_FFC5A310 \n"                     
135                        "B      loc_FFC593A0 \n"                       
136"loc_FFC592EC:\n"
137                        "BL     sub_FFD0FED8 \n"                     
138                        "B      loc_FFC593A0 \n"                       
139"loc_FFC592F4:\n"
140                        "BL     sub_FFD100D0 \n"                     
141                        "B      loc_FFC593A0 \n"                       
142"loc_FFC592FC:\n"
143                        "BL     sub_FFD10164 \n"                     
144                        "B      loc_FFC593A0 \n"                       
145"loc_FFC59304:\n"
146                        "BL     sub_FFD10224 \n"                     
147                        "B      loc_FFC593A0 \n"                       
148"loc_FFC5930C:\n"
149                        "MOV    R0, #0 \n"                           
150                        "BL     sub_FFD1041C \n"                     
151                        "B      loc_FFC593A0 \n"                       
152"loc_FFC59318:\n"
153                        "BL     sub_FFD1056C \n"                     
154                        "B      loc_FFC593A0 \n"                       
155"loc_FFC59320:\n"
156                        "BL     sub_FFD105FC \n"                     
157                        "B      loc_FFC593A0 \n"                       
158"loc_FFC59328:\n"
159                        "BL     sub_FFD106BC \n"                     
160                        "B      loc_FFC593A0 \n"                       
161"loc_FFC59330:\n"
162                        "BL     sub_FFC59E08 \n"                     
163                        "B      loc_FFC593A0 \n"                       
164"loc_FFC59338:\n"
165                        "BL     sub_FFC59E44 \n"                     
166                        "BL     sub_FFC26C7C \n"                     
167                        "B      loc_FFC593A0 \n"                       
168"loc_FFC59344:\n"
169                        "BL     sub_FFD102F0 \n"                     
170                        "B      loc_FFC593A0 \n"                       
171"loc_FFC5934C:\n"
172                        "BL     sub_FFD10334 \n"                     
173                        "B      loc_FFC593A0 \n"                       
174"loc_FFC59354:\n"
175                        "BL     sub_FFC5BF4C \n"                     
176                        "B      loc_FFC593A0 \n"                       
177"loc_FFC5935C:\n"
178                        "BL     sub_FFC5BFCC \n"                     
179                        "B      loc_FFC593A0 \n"                       
180"loc_FFC59364:\n"
181                        "BL     sub_FFC5C028 \n"                     
182                        "BL     sub_FFC5BFE8 \n"                     
183                        "B      loc_FFC593A0 \n"                       
184"loc_FFC59370:\n"
185                        "LDRH   R0, [R7, #0x8C] \n"                 
186                        "CMP    R0, #4 \n"                           
187                        "LDRNEH R0, [R7] \n"                     
188                        "SUBNE  R12, R0, #0x8200 \n"               
189                        "SUBNES R12, R12, #0x2A \n"               
190                        "BNE    loc_FFC593A0 \n"                     
191                        "BL     sub_FFC5BFCC \n"                     
192                        "BL     sub_FFC5C36C \n"                     
193                        "B      loc_FFC593A0 \n"                       
194"loc_FFC59394:\n"
195                        "LDR    R1, =0x70B \n"                       
196                        "LDR    R0, =0xFFC58D58 \n"                 
197                        "BL     sub_FFC0F680 \n" //debugassert                     
198"loc_FFC593A0:\n"
199                        "LDR    R0, [SP] \n"                         
200                        "LDR    R1, [R0, #4] \n"                     
201                        "LDR    R0, [R6] \n"                         
202                        "BL     sub_FFC28814 \n"                     
203                        "LDR    R4, [SP] \n"                         
204                        "LDR    R0, [R4, #8] \n"                     
205                        "CMP    R0, #0 \n"                           
206                        "LDREQ  R1, =0x132 \n"                     
207                        "LDREQ  R0, =0xFFC58D58 \n"               
208                        "BLEQ   sub_FFC0F680 \n"                   
209                        "MOV    R0, #0 \n"                           
210                        "STR    R0, [R4, #8] \n"                     
211                        "B      loc_FFC59158 \n"                       
212        );
213}
214
215//** was sub_FFC5950C_my in f, now @ 0xFFC594BC
216void __attribute__((naked,noinline)) sub_FFC594BC_my(){ //
217        asm volatile(
218                        "STMFD  SP!, {R3-R5,LR} \n"               
219                        "LDR    R4, [R0, #0xC] \n"                   
220                        "LDR    R0, [R4, #8] \n"                     
221                        "ORR    R0, R0, #1 \n"                       
222                        "STR    R0, [R4, #8] \n"                     
223                        "BL     sub_FFC59A14 \n"                     
224                        "MOV    R0, R4 \n"                           
225                        "BL     sub_FFC59DBC \n"                     
226                        "MOV    R0, R4 \n"                           
227                        "BL     sub_FFD0F918 \n"                     
228                        "CMP    R0, #0 \n"                           
229                        "MOV    R0, R4 \n"                           
230                        "BEQ    loc_FFC5950C \n"                     
231                        "BL     sub_FFD0F9A4 \n"                     
232                        "TST    R0, #1 \n"                           
233                        "MOVNE  R2, R4 \n"                         
234                        "LDMNEFD        SP!, {R3-R5,LR} \n"             
235                        "MOVNE  R1, #1 \n"                         
236                        "BNE    sub_FFC5785C \n"                     
237                        "B      loc_FFC59510 \n"                       
238"loc_FFC5950C:\n"
239                        "BL     sub_FFD0F968 \n"                     
240"loc_FFC59510:\n"
241                        "MOV    R0, #0 \n"                           
242                        "STR    R0, [SP] \n"                         
243                        "LDR    R0, =0x33284 \n"                     
244                        "MOV    R2, #2 \n"                           
245                        "LDRH   R0, [R0, #0x8A] \n"                 
246                        "MOV    R1, SP \n"                           
247                        "CMP    R0, #3 \n"                           
248                        "LDRNE  R0, [R4, #0xC] \n"                 
249                        "CMPNE  R0, #1 \n"                         
250                        "MOVHI  R0, #1 \n"                         
251                        "STRHI  R0, [SP] \n"                       
252                        "LDR    R0, =0x127 \n"                       
253                        "BL     sub_FFC69324 \n"                     
254                        "BL     sub_FFC695E4 \n"                     
255                        "STR    R0, [R4, #0x18] \n"                 
256                        "MOV    R0, R4 \n"                           
257                        "BL     sub_FFD10C1C \n"                     
258                        "BL     sub_FFD1163C \n"                     
259                        "MOV    R0, R4 \n"                           
260                        "BL     sub_FFD10CE4_my \n"                     //---------->                   
261                        "MOV    R5, R0 \n"                           
262                        "BL     capt_seq_hook_raw_here\n"       // +"BL sub_FFC5BFCC \n"                     
263                        "BL     sub_FFC5C014 \n"                     
264                        "BL     sub_FFC5C054 \n"                     
265                        "MOV    R2, R4 \n"                           
266                        "MOV    R1, #1 \n"                           
267                        "MOV    R0, R5 \n"                           
268                        "BL     sub_FFC5785C \n"                     
269                        "BL     sub_FFD10F70 \n"                     
270                        "CMP    R0, #0 \n"                           
271                        "LDRNE  R0, [R4, #8] \n"                   
272                        "ORRNE  R0, R0, #0x2000 \n"               
273                        "STRNE  R0, [R4, #8] \n"                   
274                        "LDMFD  SP!, {R3-R5,PC} \n"               
275        );
276}
277
278
279
280//ROM:FFD10CE4
281void __attribute__((naked,noinline)) sub_FFD10CE4_my(){ //
282        asm volatile(
283                        "STMFD  SP!, {R0-R8,LR} \n"               
284                        "MOV    R4, R0 \n"                           
285                        "BL     sub_FFD117D0 \n"                     
286                        "MOV     R1, #0xFFFFFFFF\n"                         
287                        "BL     sub_FFC28848 \n"                     
288                        "LDR    R5, =0x57F8 \n"                     
289                        "LDR    R0, [R5, #0xC] \n"                   
290                        "CMP    R0, #0 \n"                           
291                        "BNE    loc_FFD10D34 \n"                     
292                        "MOV    R1, #1 \n"                           
293                        "MOV    R0, #0 \n"                           
294                        "BL     sub_FFC0F4B4 \n"                     
295                        "STR    R0, [R5, #0xC] \n"                   
296                        "MOV    R3, #0 \n"                           
297                        "STR    R3, [SP] \n"                         
298                        "LDR    R3, =0xFFD107AC \n"                 
299                        "LDR    R0, =0xFFD10F48 \n"                 
300                        "MOV    R2, #0x400 \n"                       
301                        "MOV    R1, #0x17 \n"                       
302                        "BL     sub_FFC0F480 \n"  // KernelCreateTask                   
303"loc_FFD10D34:\n"
304                        "MOV    R2, #4 \n"                           
305                        "ADD    R1, SP, #8 \n"                       
306                        "MOV    R0, #0x8A \n"                       
307                        "BL     sub_FFC69454 \n"    // PT_GetPropertyCaseString                 
308                        "TST    R0, #1 \n"                           
309                        "LDRNE  R1, =0x3B4 \n"   // 0x3BA                 
310                        "LDRNE  R0, =0xFFD109D8 \n"               
311                        "BLNE   sub_FFC0F680 \n"     // DebugAssert               
312                        "LDR    R6, =0x33340 \n"                     
313                        "LDR    R7, =0x33284 \n"                     
314                        "LDR    R3, [R6] \n"                         
315                        "LDRSH  R2, [R6, #0xC] \n"                 
316                        "LDRSH  R1, [R6, #0xE] \n"                 
317                        "LDR    R0, [R7, #0x80] \n"                 
318                        //"BL   sub_FFCE586C \n"   - // "BL      nullsub_56\n"                 
319                        "BL     sub_FFC455B0 \n"                     
320                        "LDR    R3, =0x5800 \n"                     
321                        "STRH   R0, [R4, #0xA4] \n"                 
322                        "SUB    R2, R3, #4 \n"                       
323                        "STRD   R2, [SP] \n"                       
324                        "MOV    R1, R0 \n"                           
325                        "LDRH   R0, [R7, #0x54] \n"                 
326                        "LDRSH  R2, [R6, #0xC] \n"                 
327                        "SUB    R3, R3, #8 \n"                       
328                        "BL     sub_FFD11E3C \n"                     
329                        "BL      wait_until_remote_button_is_released\n"     // +
330                        "BL      capt_seq_hook_set_nr\n"                     // +
331                        "B       sub_FFD10D98\n"                             // continue function in firmware                                     
332        );
333}
334/*************************************************************/
335
336// ROM:FFC91338 task_ExpDrvTask
337//** exp_drv_task  @ 0xFFC91338
338void __attribute__((naked,noinline)) exp_drv_task(){
339        asm volatile(
340                        "STMFD  SP!, {R4-R8,LR} \n"               
341                        "SUB    SP, SP, #0x20 \n"                   
342                        "LDR    R8, =0xBB8 \n"                       
343                        "LDR    R7, =0x38B4 \n"                     
344                        "LDR    R5, =0x3C674 \n"                     
345                        "MOV    R0, #0 \n"                           
346                        "ADD    R6, SP, #0x10 \n"                   
347                        "STR    R0, [SP, #0xC] \n"                   
348"loc_FFC91358:\n"
349                        "LDR    R0, [R7, #0x20] \n"                 
350                        "MOV    R2, #0 \n"                           
351                        "ADD    R1, SP, #0x1C \n"                   
352                        "BL     sub_FFC28AA4 \n"                     
353                        "LDR    R0, [SP, #0xC] \n"                   
354                        "CMP    R0, #1 \n"                           
355                        "BNE    loc_FFC913A4 \n"                     
356                        "LDR    R0, [SP, #0x1C] \n"                 
357                        "LDR    R0, [R0] \n"                         
358                        "CMP    R0, #0x13 \n"                       
359                        "CMPNE  R0, #0x14 \n"                     
360                        "CMPNE  R0, #0x15 \n"                     
361                        "CMPNE  R0, #0x16 \n"                     
362                        "BEQ    loc_FFC91508 \n"                     
363                        "CMP    R0, #0x28 \n"                       
364                        "BEQ    loc_FFC91490 \n"                     
365                        "ADD    R1, SP, #0xC \n"                     
366                        "MOV    R0, #0 \n"                           
367                        "BL     sub_FFC912E8 \n"                     
368"loc_FFC913A4:\n"
369                        "LDR    R0, [SP, #0x1C] \n"                 
370                        "LDR    R1, [R0] \n"                         
371                        "CMP    R1, #0x2E \n"                       
372                        "BNE    loc_FFC913D4 \n"                     
373                        "LDR    R0, [SP, #0x1C] \n"                 
374                        "BL     sub_FFC92640 \n"                     
375                        "LDR    R0, [R7, #0x1C] \n"                 
376                        "MOV    R1, #1 \n"                           
377                        "BL     sub_FFC28814 \n"                     
378                        "BL     sub_FFC0F438 \n"     // ExitTask                 
379                        "ADD    SP, SP, #0x20 \n"                   
380                        "LDMFD  SP!, {R4-R8,PC} \n"               
381"loc_FFC913D4:\n"
382                        "CMP    R1, #0x2D \n"                       
383                        "BNE    loc_FFC913F0 \n"                     
384                        "LDR    R2, [R0, #0x8C]! \n"                 
385                        "LDR    R1, [R0, #4] \n"                     
386                        "MOV    R0, R1 \n"                           
387                        "BLX    R2 \n"                               
388                        "B      loc_FFC91930 \n"                       
389"loc_FFC913F0:\n"
390                        "CMP    R1, #0x26 \n"                       
391                        "BNE    loc_FFC91440 \n"                     
392                        "LDR    R0, [R7, #0x1C] \n"                 
393                        "MOV    R1, #0x80 \n"                       
394                        "BL     sub_FFC28848 \n"                     
395                        "LDR    R0, =0xFFC8DAB4 \n"                 
396                        "MOV    R1, #0x80 \n"                       
397                        "BL     sub_FFD08404 \n"                     
398                        "LDR    R0, [R7, #0x1C] \n"                 
399                        "MOV    R2, R8 \n"                           
400                        "MOV    R1, #0x80 \n"                       
401                        "BL     sub_FFC28754 \n"                     
402                        "TST    R0, #1 \n"                           
403                        "LDRNE  R1, =0xE5F \n"                     
404                        "BNE    loc_FFC914FC \n"                     
405"loc_FFC9142C:\n"
406                        "LDR    R1, [SP, #0x1C] \n"                 
407                        "LDR    R0, [R1, #0x90] \n"                 
408                        "LDR    R1, [R1, #0x8C] \n"                 
409                        "BLX    R1 \n"                               
410                        "B      loc_FFC91930 \n"                       
411"loc_FFC91440:\n"
412                        "CMP    R1, #0x27 \n"                       
413                        "BNE    loc_FFC91488 \n"                     
414                        "ADD    R1, SP, #0xC \n"                     
415                        "BL     sub_FFC912E8 \n"                     
416                        "LDR    R0, [R7, #0x1C] \n"                 
417                        "MOV    R1, #0x100 \n"                       
418                        "BL     sub_FFC28848 \n"                     
419                        "LDR    R0, =0xFFC8DAC4 \n"                 
420                        "MOV    R1, #0x100 \n"                       
421                        "BL     sub_FFD0868C \n"                     
422                        "LDR    R0, [R7, #0x1C] \n"                 
423                        "MOV    R2, R8 \n"                           
424                        "MOV    R1, #0x100 \n"                       
425                        "BL     sub_FFC28754 \n"                     
426                        "TST    R0, #1 \n"                           
427                        "BEQ    loc_FFC9142C \n"                     
428                        "LDR    R1, =0xE69 \n"                       
429                        "B      loc_FFC914FC \n"                       
430"loc_FFC91488:\n"
431                        "CMP    R1, #0x28 \n"                       
432                        "BNE    loc_FFC914A0 \n"                     
433"loc_FFC91490:\n"
434                        "LDR    R0, [SP, #0x1C] \n"                 
435                        "ADD    R1, SP, #0xC \n"                     
436                        "BL     sub_FFC912E8 \n"                     
437                        "B      loc_FFC9142C \n"                       
438"loc_FFC914A0:\n"
439                        "CMP    R1, #0x2B \n"                       
440                        "BNE    loc_FFC914B8 \n"                     
441                        "BL     sub_FFC80F70 \n"                     
442                        "BL     sub_FFC81B98 \n"                     
443                        "BL     sub_FFC816E8 \n"                     
444                        "B      loc_FFC9142C \n"                       
445"loc_FFC914B8:\n"
446                        "CMP    R1, #0x2C \n"                       
447                        "BNE    loc_FFC91508 \n"                     
448                        "LDR    R0, [R7, #0x1C] \n"                 
449                        "MOV    R1, #4 \n"                           
450                        "BL     sub_FFC28848 \n"                     
451                        "LDR    R1, =0xFFC8DAE4 \n"                 
452                        "LDR    R0, =0xFFFFF400 \n"                 
453                        "MOV    R2, #4 \n"                           
454                        "BL     sub_FFC809EC \n"                     
455                        "BL     sub_FFC80C74 \n"                     
456                        "LDR    R0, [R7, #0x1C] \n"                 
457                        "MOV    R2, R8 \n"                           
458                        "MOV    R1, #4 \n"                           
459                        "BL     sub_FFC28670 \n"                     
460                        "TST    R0, #1 \n"                           
461                        "BEQ    loc_FFC9142C \n"                     
462                        "LDR    R1, =0xE91 \n"                       
463"loc_FFC914FC:\n"
464                        "LDR    R0, =0xFFC8E124 \n"                 
465                        "BL     sub_FFC0F680 \n"                     
466                        "B      loc_FFC9142C \n"                       
467"loc_FFC91508:\n"
468                        "LDR    R0, [SP, #0x1C] \n"                 
469                        "MOV    R4, #1 \n"                           
470                        "LDR    R1, [R0] \n"                         
471                        "CMP    R1, #0x11 \n"                       
472                        "CMPNE  R1, #0x12 \n"                     
473                        "BNE    loc_FFC91578 \n"                     
474                        "LDR    R1, [R0, #0x7C] \n"                 
475                        "ADD    R1, R1, R1, LSL #1 \n"               
476                        "ADD    R1, R0, R1, LSL #2 \n"               
477                        "SUB    R1, R1, #8 \n"                       
478                        "LDMIA  R1, {R2-R4} \n"                   
479                        "STMIA  R6, {R2-R4} \n"                   
480                        "BL     sub_FFC8FC74 \n"                     
481                        "LDR    R0, [SP, #0x1C] \n"                 
482                        "LDR    R1, [R0, #0x7C] \n"                 
483                        "LDR    R3, [R0, #0x8C] \n"                 
484                        "LDR    R2, [R0, #0x90] \n"                 
485                        "ADD    R0, R0, #4 \n"                       
486                        "BLX    R3 \n"                               
487                        "LDR    R0, [SP, #0x1C] \n"                 
488                        "BL     sub_FFC92A08 \n"                     
489                        "LDR    R0, [SP, #0x1C] \n"                 
490                        "LDR    R1, [R0, #0x7C] \n"                 
491                        "LDR    R3, [R0, #0x94] \n"                 
492                        "LDR    R2, [R0, #0x98] \n"                 
493                        "ADD    R0, R0, #4 \n"                       
494                        "BLX    R3 \n"                               
495                        "B      loc_FFC91870 \n"                       
496"loc_FFC91578:\n"
497                        "CMP    R1, #0x13 \n"                       
498                        "CMPNE  R1, #0x14 \n"                     
499                        "CMPNE  R1, #0x15 \n"                     
500                        "CMPNE  R1, #0x16 \n"                     
501                        "BNE    loc_FFC91630 \n"                     
502                        "ADD    R3, SP, #0xC \n"                     
503                        "MOV    R2, SP \n"                           
504                        "ADD    R1, SP, #0x10 \n"                   
505                        "BL     sub_FFC8FF50 \n"                     
506                        "CMP    R0, #1 \n"                           
507                        "MOV    R4, R0 \n"                           
508                        "CMPNE  R4, #5 \n"                         
509                        "BNE    loc_FFC915CC \n"                     
510                        "LDR    R0, [SP, #0x1C] \n"                 
511                        "MOV    R2, R4 \n"                           
512                        "LDR    R1, [R0, #0x7C]! \n"                 
513                        "LDR    R12, [R0, #0x10]! \n"               
514                        "LDR    R3, [R0, #4] \n"                     
515                        "MOV    R0, SP \n"                           
516                        "BLX    R12 \n"                             
517                        "B      loc_FFC91604 \n"                       
518"loc_FFC915CC:\n"
519                        "LDR    R0, [SP, #0x1C] \n"                 
520                        "CMP    R4, #2 \n"                           
521                        "LDR    R3, [R0, #0x90] \n"                 
522                        "CMPNE  R4, #6 \n"                         
523                        "BNE    loc_FFC91618 \n"                     
524                        "LDR    R12, [R0, #0x8C] \n"                 
525                        "MOV    R0, SP \n"                           
526                        "MOV    R2, R4 \n"                           
527                        "MOV    R1, #1 \n"                           
528                        "BLX    R12 \n"                             
529                        "LDR    R0, [SP, #0x1C] \n"                 
530                        "MOV    R2, SP \n"                           
531                        "ADD    R1, SP, #0x10 \n"                   
532                        "BL     sub_FFC90FF0 \n"                     
533"loc_FFC91604:\n"
534                        "LDR    R0, [SP, #0x1C] \n"                 
535                        "LDR    R2, [SP, #0xC] \n"                   
536                        "MOV    R1, R4 \n"                           
537                        "BL     sub_FFC91288 \n"                     
538                        "B      loc_FFC91870 \n"                       
539"loc_FFC91618:\n"
540                        "LDR    R1, [R0, #0x7C] \n"                 
541                        "LDR    R12, [R0, #0x8C] \n"                 
542                        "ADD    R0, R0, #4 \n"                       
543                        "MOV    R2, R4 \n"                           
544                        "BLX    R12 \n"                             
545                        "B      loc_FFC91870 \n"                       
546"loc_FFC91630:\n"
547                        "CMP    R1, #0x22 \n"                       
548                        "CMPNE  R1, #0x23 \n"                     
549                        "BNE    loc_FFC9167C \n"                     
550                        "LDR    R1, [R0, #0x7C] \n"                 
551                        "ADD    R1, R1, R1, LSL #1 \n"               
552                        "ADD    R1, R0, R1, LSL #2 \n"               
553                        "SUB    R1, R1, #8 \n"                       
554                        "LDMIA  R1, {R2-R4} \n"                   
555                        "STMIA  R6, {R2-R4} \n"                   
556                        "BL     sub_FFC8F1C4 \n"                     
557                        "LDR    R0, [SP, #0x1C] \n"                 
558                        "LDR    R1, [R0, #0x7C] \n"                 
559                        "LDR    R3, [R0, #0x8C] \n"                 
560                        "LDR    R2, [R0, #0x90] \n"                 
561                        "ADD    R0, R0, #4 \n"                       
562                        "BLX    R3 \n"                               
563                        "LDR    R0, [SP, #0x1C] \n"                 
564                        "BL     sub_FFC8F4B8 \n"                     
565                        "B      loc_FFC91870 \n"                       
566"loc_FFC9167C:\n"
567                        "ADD    R1, R0, #4 \n"                       
568                        "LDMIA  R1, {R2,R3,R12} \n"               
569                        "STMIA  R6, {R2,R3,R12} \n"               
570                        "LDR    R1, [R0] \n"                         
571                        "CMP    R1, #0x25 \n"                       
572                        "ADDLS  PC, PC, R1, LSL #2 \n"             
573                        "B      loc_FFC91850 \n"                       
574                        "B      loc_FFC91730 \n"                       
575                        "B      loc_FFC91730 \n"                       
576                        "B      loc_FFC91738 \n"                       
577                        "B      loc_FFC91740 \n"                       
578                        "B      loc_FFC91740 \n"                       
579                        "B      loc_FFC91740 \n"                       
580                        "B      loc_FFC91730 \n"                       
581                        "B      loc_FFC91738 \n"                       
582                        "B      loc_FFC91740 \n"                       
583                        "B      loc_FFC91740 \n"                       
584                        "B      loc_FFC91758 \n"                       
585                        "B      loc_FFC91758 \n"                       
586                        "B      loc_FFC91844 \n"                       
587                        "B      loc_FFC9184C \n"                       
588                        "B      loc_FFC9184C \n"                       
589                        "B      loc_FFC9184C \n"                       
590                        "B      loc_FFC9184C \n"                       
591                        "B      loc_FFC91850 \n"                       
592                        "B      loc_FFC91850 \n"                       
593                        "B      loc_FFC91850 \n"                       
594                        "B      loc_FFC91850 \n"                       
595                        "B      loc_FFC91850 \n"                       
596                        "B      loc_FFC91850 \n"                       
597                        "B      loc_FFC91748 \n"                       
598                        "B      loc_FFC91750 \n"                       
599                        "B      loc_FFC91750 \n"                       
600                        "B      loc_FFC91764 \n"                       
601                        "B      loc_FFC91764 \n"                       
602                        "B      loc_FFC9176C \n"                       
603                        "B      loc_FFC9179C \n"                       
604                        "B      loc_FFC917CC \n"                       
605                        "B      loc_FFC917FC \n"                       
606                        "B      loc_FFC9182C \n"                       
607                        "B      loc_FFC9182C \n"                       
608                        "B      loc_FFC91850 \n"                       
609                        "B      loc_FFC91850 \n"                       
610                        "B      loc_FFC91834 \n"                       
611                        "B      loc_FFC9183C \n"                       
612"loc_FFC91730:\n"
613                        "BL     sub_FFC8DFCC \n"                     
614                        "B      loc_FFC91850 \n"                       
615"loc_FFC91738:\n"
616                        "BL     sub_FFC8E250 \n"                     
617                        "B      loc_FFC91850 \n"                       
618"loc_FFC91740:\n"
619                        "BL     sub_FFC8E458 \n"                     
620                        "B      loc_FFC91850 \n"                       
621"loc_FFC91748:\n"
622                        "BL     sub_FFC8E6D0 \n"                     
623                        "B      loc_FFC91850 \n"                       
624"loc_FFC91750:\n"
625                        "BL     sub_FFC8E8C8 \n"                     
626                        "B      loc_FFC91850 \n"                       
627"loc_FFC91758:\n"
628                        "BL     sub_FFC8EB84_my \n"                     
629                        "MOV    R4, #0 \n"                           
630                        "B      loc_FFC91850 \n"                       
631"loc_FFC91764:\n"
632                        "BL     sub_FFC8ECC4 \n"                     
633                        "B      loc_FFC91850 \n"                       
634"loc_FFC9176C:\n"
635                        "LDRH   R1, [R0, #4] \n"                   
636                        "STRH   R1, [SP, #0x10] \n"                 
637                        "LDRH   R1, [R5, #2] \n"                   
638                        "STRH   R1, [SP, #0x12] \n"                 
639                        "LDRH   R1, [R5, #4] \n"                   
640                        "STRH   R1, [SP, #0x14] \n"                 
641                        "LDRH   R1, [R5, #6] \n"                   
642                        "STRH   R1, [SP, #0x16] \n"                 
643                        "LDRH   R1, [R0, #0xC] \n"                 
644                        "STRH   R1, [SP, #0x18] \n"                 
645                        "BL     sub_FFC926B4 \n"                     
646                        "B      loc_FFC91850 \n"                       
647"loc_FFC9179C:\n"
648                        "LDRH   R1, [R0, #4] \n"                   
649                        "STRH   R1, [SP, #0x10] \n"                 
650                        "LDRH   R1, [R5, #2] \n"                   
651                        "STRH   R1, [SP, #0x12] \n"                 
652                        "LDRH   R1, [R5, #4] \n"                   
653                        "STRH   R1, [SP, #0x14] \n"                 
654                        "LDRH   R1, [R5, #6] \n"                   
655                        "STRH   R1, [SP, #0x16] \n"                 
656                        "LDRH   R1, [R5, #8] \n"                   
657                        "STRH   R1, [SP, #0x18] \n"                 
658                        "BL     sub_FFC92820 \n"                     
659                        "B      loc_FFC91850 \n"                       
660"loc_FFC917CC:\n"
661                        "LDRH   R1, [R5] \n"                       
662                        "STRH   R1, [SP, #0x10] \n"                 
663                        "LDRH   R1, [R0, #6] \n"                   
664                        "STRH   R1, [SP, #0x12] \n"                 
665                        "LDRH   R1, [R5, #4] \n"                   
666                        "STRH   R1, [SP, #0x14] \n"                 
667                        "LDRH   R1, [R5, #6] \n"                   
668                        "STRH   R1, [SP, #0x16] \n"                 
669                        "LDRH   R1, [R5, #8] \n"                   
670                        "STRH   R1, [SP, #0x18] \n"                 
671                        "BL     sub_FFC928CC \n"                     
672                        "B      loc_FFC91850 \n"                       
673"loc_FFC917FC:\n"
674                        "LDRH   R1, [R5] \n"                       
675                        "STRH   R1, [SP, #0x10] \n"                 
676                        "LDRH   R1, [R5, #2] \n"                   
677                        "STRH   R1, [SP, #0x12] \n"                 
678                        "LDRH   R1, [R5, #4] \n"                   
679                        "STRH   R1, [SP, #0x14] \n"                 
680                        "LDRH   R1, [R5, #6] \n"                   
681                        "STRH   R1, [SP, #0x16] \n"                 
682                        "LDRH   R1, [R0, #0xC] \n"                 
683                        "STRH   R1, [SP, #0x18] \n"                 
684                        "BL     sub_FFC9296C \n"                     
685                        "B      loc_FFC91850 \n"                       
686"loc_FFC9182C:\n"
687                        "BL     sub_FFC8F01C \n"                     
688                        "B      loc_FFC91850 \n"                       
689"loc_FFC91834:\n"
690                        "BL     sub_FFC8F5BC \n"                     
691                        "B      loc_FFC91850 \n"                       
692"loc_FFC9183C:\n"
693                        "BL     sub_FFC8F7F8 \n"                     
694                        "B      loc_FFC91850 \n"                       
695"loc_FFC91844:\n"
696                        "BL     sub_FFC8F974 \n"                     
697                        "B      loc_FFC91850 \n"                       
698"loc_FFC9184C:\n"
699                        "BL     sub_FFC8FB10 \n"                     
700"loc_FFC91850:\n"
701                        "LDR    R0, [SP, #0x1C] \n"                 
702                        "LDR    R1, [R0, #0x7C] \n"                 
703                        "LDR    R3, [R0, #0x8C] \n"                 
704                        "LDR    R2, [R0, #0x90] \n"                 
705                        "ADD    R0, R0, #4 \n"                       
706                        "BLX    R3 \n"                               
707                        "CMP    R4, #1 \n"                           
708                        "BNE    loc_FFC918B8 \n"                     
709"loc_FFC91870:\n"
710                        "LDR    R0, [SP, #0x1C] \n"                 
711                        "MOV    R2, #0xC \n"                         
712                        "LDR    R1, [R0, #0x7C] \n"                 
713                        "ADD    R1, R1, R1, LSL #1 \n"               
714                        "ADD    R0, R0, R1, LSL #2 \n"               
715                        "SUB    R4, R0, #8 \n"                       
716                        "LDR    R0, =0x3C674 \n"                     
717                        "ADD    R1, SP, #0x10 \n"                   
718                        "BL     sub_FFE7DFA0 \n"                     
719                        "LDR    R0, =0x3C680 \n"                     
720                        "MOV    R2, #0xC \n"                         
721                        "ADD    R1, SP, #0x10 \n"                   
722                        "BL     sub_FFE7DFA0 \n"                     
723                        "LDR    R0, =0x3C68C \n"                     
724                        "MOV    R2, #0xC \n"                         
725                        "MOV    R1, R4 \n"                           
726                        "BL     sub_FFE7DFA0 \n"                     
727                        "B      loc_FFC91930 \n"                       
728"loc_FFC918B8:\n"
729                        "LDR    R0, [SP, #0x1C] \n"                 
730                        "LDR    R0, [R0] \n"                         
731                        "CMP    R0, #0xB \n"                         
732                        "BNE    loc_FFC91900 \n"                     
733                        "MOV    R3, #0 \n"                           
734                        "STR    R3, [SP] \n"                         
735                        "MOV    R3, #1 \n"                           
736                        "MOV    R2, #1 \n"                           
737                        "MOV    R1, #1 \n"                           
738                        "MOV    R0, #0 \n"                           
739                        "BL     sub_FFC8DDD4 \n"                     
740                        "MOV    R3, #0 \n"                           
741                        "STR    R3, [SP] \n"                         
742                        "MOV    R3, #1 \n"                           
743                        "MOV    R2, #1 \n"                           
744                        "MOV    R1, #1 \n"                           
745                        "MOV    R0, #0 \n"                           
746                        "B      loc_FFC9192C \n"                       
747"loc_FFC91900:\n"
748                        "MOV    R3, #1 \n"                           
749                        "MOV    R2, #1 \n"                           
750                        "MOV    R1, #1 \n"                           
751                        "MOV    R0, #1 \n"                           
752                        "STR    R3, [SP] \n"                         
753                        "BL     sub_FFC8DDD4 \n"                     
754                        "MOV    R3, #1 \n"                           
755                        "MOV    R2, #1 \n"                           
756                        "MOV    R1, #1 \n"                           
757                        "MOV    R0, #1 \n"                           
758                        "STR    R3, [SP] \n"                         
759"loc_FFC9192C:\n"
760                        "BL     sub_FFC8DF14 \n"                     
761"loc_FFC91930:\n"
762                        "LDR    R0, [SP, #0x1C] \n"                 
763                        "BL     sub_FFC92640 \n"                     
764                        "B      loc_FFC91358 \n"                       
765        );
766}
767
768//** was sub_FFC8EBD4_my in f version
769void __attribute__((naked,noinline)) sub_FFC8EB84_my(  ) {
770asm volatile (
771"       STMFD   SP!, {R4-R8,LR} \n"               
772"       LDR     R7, =0x38B4 \n"                     
773"       MOV     R4, R0 \n"                           
774"       LDR     R0, [R7, #0x1C] \n"                 
775"       MOV     R1, #0x3E \n"                       
776"       BL      sub_FFC28848 \n"                     
777"       LDRSH   R0, [R4, #4] \n"                   
778"       MOV     R2, #0 \n"                           
779"       MOV     R1, #0 \n"                           
780"       BL      sub_FFC8DB38 \n"                     
781"       MOV     R6, R0 \n"                           
782"       LDRSH   R0, [R4, #6] \n"                   
783"       BL      sub_FFC8DC48 \n"                     
784"       LDRSH   R0, [R4, #8] \n"                   
785"       BL      sub_FFC8DCA0 \n"                     
786"       LDRSH   R0, [R4, #0xA] \n"                 
787"       BL      sub_FFC8DCF8 \n"                     
788"       LDRSH   R0, [R4, #0xC] \n"                 
789"       MOV     R1, #0 \n"                           
790"       BL      sub_FFC8DD50 \n"                     
791"       MOV     R5, R0 \n"                           
792"       LDR     R0, [R4] \n"                         
793"       LDR     R8, =0x3C68C \n"                     
794"       CMP     R0, #0xB \n"                         
795"       MOVEQ   R6, #0 \n"                         
796"       MOVEQ   R5, #0 \n"                         
797"       BEQ     loc_FFC8EC18 \n"                     
798"       CMP     R6, #1 \n"                           
799"       BNE     loc_FFC8EC18 \n"                     
800"       LDRSH   R0, [R4, #4] \n"                   
801"       LDR     R1, =0xFFC8DAA4 \n"                 
802"       MOV     R2, #2 \n"                           
803"       BL      sub_FFD08558 \n"                     
804"       STRH    R0, [R4, #4] \n"                   
805"       MOV     R0, #0 \n"                           
806"       STR     R0, [R7, #0x28] \n"                 
807"       B       loc_FFC8EC20 \n"                       
808"loc_FFC8EC18:\n"
809"       LDRH    R0, [R8] \n"                       
810"       STRH    R0, [R4, #4] \n"                   
811"loc_FFC8EC20:\n"
812"       CMP     R5, #1 \n"                           
813"       LDRNEH  R0, [R8, #8] \n"                 
814"       BNE     loc_FFC8EC3C \n"                     
815"       LDRSH   R0, [R4, #0xC] \n"                 
816"       LDR     R1, =0xFFC8DB28 \n"                 
817"       MOV     R2, #0x20 \n"                       
818"       BL      sub_FFC92670 \n"                     
819"loc_FFC8EC3C:\n"
820"       STRH    R0, [R4, #0xC] \n"                 
821"       LDRSH   R0, [R4, #6] \n"                   
822"       BL      sub_FFC80CE0_my \n"                     
823"       LDRSH   R0, [R4, #8] \n"                   
824"       MOV     R1, #1 \n"                           
825"       BL      sub_FFC81430 \n"                     
826"       MOV     R1, #0 \n"                           
827"       ADD     R0, R4, #8 \n"                       
828"       BL      sub_FFC814B8 \n"                     
829"       LDRSH   R0, [R4, #0xE] \n"                 
830"       BL      sub_FFC88E5C \n"                     
831"       LDR     R4, =0xBB8 \n"                       
832"       CMP     R6, #1 \n"                           
833"       BNE     loc_FFC8EC94 \n"                     
834"       LDR     R0, [R7, #0x1C] \n"                 
835"       MOV     R2, R4 \n"                           
836"       MOV     R1, #2 \n"                           
837"       BL      sub_FFC28754 \n"                     
838"       TST     R0, #1 \n"                           
839"       LDRNE   R1, =0x5A3 \n"                     
840"       LDRNE   R0, =0xFFC8E124 \n"               
841"       BLNE    sub_FFC0F680 \n"                   
842"loc_FFC8EC94:\n"
843"       CMP     R5, #1 \n"                           
844"       LDMNEFD SP!, {R4-R8,PC} \n"             
845"       LDR     R0, [R7, #0x1C] \n"                 
846"       MOV     R2, R4 \n"                           
847"       MOV     R1, #0x20 \n"                       
848"       BL      sub_FFC28754 \n"                     
849"       TST     R0, #1 \n"                           
850"       LDRNE   R1, =0x5A8 \n"                     
851"       LDRNE   R0, =0xFFC8E124 \n"               
852"       LDMNEFD SP!, {R4-R8,LR} \n"             
853"       BNE     sub_FFC0F680 \n"                     
854"       LDMFD   SP!, {R4-R8,PC} \n"               
855        );
856}
857
858
859//** was sub_FFC80D30_my  now @ 0xFFC80CE0
860void __attribute__((naked,noinline)) sub_FFC80CE0_my(){ //
861        asm volatile(
862                        "STMFD   SP!, {R4-R6,LR}\n"
863                        "LDR     R5, =0x35A8\n"
864                        "MOV     R4, R0\n"
865                        "LDR     R0, [R5,#4]\n"
866                        "CMP     R0, #1\n"
867                        "LDRNE   R1, =0x146\n"
868                        "LDRNE   R0, =0xFFC80AE4\n"
869                        "BLNE    sub_FFC0F680\n"
870                        "CMN     R4, #0xC00\n"
871                        "LDREQSH R4, [R5,#2]\n"
872                        "CMN     R4, #0xC00\n"
873                        "MOVEQ   R1, #0x14C\n"
874                        "LDREQ   R0, =0xFFC80AE4\n"
875                        "STRH    R4, [R5,#2]\n"
876                        "BLEQ    sub_FFC0F680\n"
877                        "MOV     R0, R4\n"
878                //  "BL      _sub_FFD7C2EC\n                    "       // -
879                        "BL      apex2us\n                      "                       // +
880                        "MOV     R4, R0\n"
881                //      "BL      sub_FFCB37B8\n"
882                        "MOV     R0, R4\n"
883                        "BL      sub_FFCB7E48\n"
884                        "TST     R0, #1\n"
885                        "LDRNE   R1, =0x151\n"
886                        "LDMNEFD SP!, {R4-R6,LR}\n"
887                        "LDRNE   R0, =0xFFC80AE4\n"
888                        "BNE     sub_FFC0F680\n"
889                        "LDMFD   SP!, {R4-R6,PC}\n"
890        );
891}
892
893
894
895
896
897
898
899
900
901
Note: See TracBrowser for help on using the repository browser.