source: trunk/platform/a410/sub/100f/focushack.c @ 1328

Revision 1328, 7.4 KB checked in by reyalp, 21 months ago (diff)

set eol styles and ignores on recently added ports/subs

  • Property svn:eol-style set to native
Line 
1#include "lolevel.h"
2#include "platform.h"
3#include "core.h"
4
5/*
6#include "asmsafe.h"
7*/
8
9void __attribute__((naked,noinline)) MoveFocusLensToDistanceA410(short* a) //sub_FFD2A438
10{
11 asm volatile (
12"                STMFD   SP!, {R4,R5,LR}\n"
13"                LDR     R5, =0xC0D8\n"
14"                LDR     R4, [R0]\n"
15"                MOV     R1, #1\n"
16"                LDR     R0, [R5]\n"
17"                BL      sub_FFC10974\n"
18"                MOV     R0, R4\n"
19"                LDR     R1, =0xFFE2DFD0\n"
20"                MOV     R2, #0\n"
21"                BL      sub_FFE2E338_my\n"
22"                LDR     R0, [R5]\n"
23"                MOV     R1, #1\n"
24"                MOV     R2, #0\n"
25"                LDMFD   SP!, {R4,R5,LR}\n"
26"                B       sub_FFC107B8\n"
27 );
28}
29
30void __attribute__((naked,noinline)) sub_FFE2E338_my()
31{
32 asm volatile (
33"                STMFD   SP!, {R4-R6,LR}\n"
34"                MOV     R5, R1\n"
35"                MOV     R6, R2\n"
36"                MOV     R4, R0\n"
37"                BL      sub_FFE21424\n"
38"                MOV     R1, R0,LSL#16\n"
39"                MOV     R1, R1,LSR#16\n"
40"                MOV     R0, R4\n"
41"                MOV     R2, R5\n"
42"                MOV     R3, R6\n"
43"                LDMFD   SP!, {R4-R6,LR}\n"
44"                B       sub_FFE2E368_my\n"
45 );
46}
47
48
49
50void __attribute__((naked,noinline)) sub_FFE2E368_my()
51{
52 asm volatile (
53"                STMFD   SP!, {R4,R5,LR}\n"
54"                SUB     SP, SP, #0xC\n"
55"                LDRH    R12, [SP,#0x18-0x12]\n"
56"                ORR     R12, R12, R1,LSL#16\n"
57"                SUBS    LR, R2, #0\n"
58"                MOV     R0, R0,LSL#16\n"
59"                MOV     R12, R12,ROR#16\n"
60"                MOV     R2, #0\n"
61"                STR     R12, [SP,#4]\n"
62"                STR     R2, [SP,#0x18-0x10]\n"
63"                MOV     R1, R3\n"
64"                MOV     R4, R0,ASR#16\n"
65"                ADD     R5, SP, #0x18-0x14\n"
66"                LDRNE   R3, =0xC0DC\n"
67"                STRNE   LR, [R3]\n"
68"                LDREQ   R2, =0xFFE2DF98\n"
69"                LDREQ   R3, =0xC0DC\n"
70"                STREQ   R2, [R3]\n"
71"                MOVS    R3, R4,LSL#16\n"
72"                LDR     R3, =0xC0E0\n"
73"                STR     R1, [R3]\n"
74"                MOVEQ   R4, #0xFFFFFFFF\n"
75"                BL      sub_FFE20E50\n"
76"                LDR     R12, =0xC0E4\n"
77"                MOV     R1, R4,LSL#16\n"
78"                STR     R0, [R12]\n"
79"                MOV     R1, R1,LSR#16\n"
80"                LDR     R2, =0xFFE2DF9C\n"
81/*
82"LDR R3, =0x1850\n" //debug
83"STR R5, [R3]\n" //debug
84*/
85"                MOV     R3, #0\n"
86"                STR     R5, [SP,#0x18-0x18]\n"
87"                BL      sub_FFE210DC_my\n"
88"                ADD     SP, SP, #0xC\n"
89"                LDMFD   SP!, {R4,R5,PC}\n"
90 );
91}
92
93void __attribute__((naked,noinline)) sub_FFE210DC_my()
94{
95 asm volatile (
96"                STMFD   SP!, {R4-R8,LR}\n"
97"                LDR     R12, =0x80598\n"
98"                SUB     SP, SP, #4\n"
99"                LDR     LR, [R12]\n"
100"                MOV     R1, R1,LSL#16\n"
101"                CMP     LR, #1\n"
102"                MOV     R4, R0\n"
103"                MOV     R5, R2\n"
104"                MOV     R8, R3\n"
105"                MOV     R6, R1,ASR#16\n"
106"                LDR     R7, [SP,#0x1C]\n"
107"                BNE     loc_FFE21124\n"
108"                CMP     R5, #0\n"
109"                BEQ     loc_FFE21280\n"
110"                MOV     R0, R8\n"
111"                MOV     LR, PC\n"
112"                MOV     PC, R5\n"
113"                B       loc_FFE21280\n"
114"loc_FFE21124:\n"
115"                LDR     R3, =0xBACC\n"
116"                LDR     R2, [R3]\n"
117"                CMP     R2, #0\n"
118"                BNE     loc_FFE21140\n"
119"                LDR     R0, =0xffe20ed8\n"
120"                MOV     R1, #0xC8\n"
121"                BL      sub_FFC03B58\n"
122"loc_FFE21140:\n"
123"                MOV     R0, R4\n"
124"                BL      sub_FFE224CC\n"
125"                CMP     R0, #0\n"
126"                BNE     loc_FFE2115C\n"
127"                LDR     R0, =0xffe20ed8\n"
128"                MOV     R1, #0xC9\n"
129"                BL      sub_FFC03B58\n"
130"loc_FFE2115C:\n"
131"                CMP     R7, #0\n"
132"                BNE     loc_FFE21170\n"
133"                LDR     R0, =0xffe20ed8\n"
134"                MOV     R1, #0xCA\n"
135"                BL      sub_FFC03B58\n"
136"loc_FFE21170:\n"
137"                LDR     R3, =0xBAD0\n"
138"                LDR     R2, [R3]\n"
139"                CMP     R2, #0\n"
140"                BEQ     loc_FFE211A0\n"
141"                BL      sub_FFE1BA1C\n"
142"                LDRH    R3, [R7]\n" //we get 0xd16 here on the first call (after switchover from af mode) when no zoom was used
143"                MOV     R0, R0,LSL#16\n"
144"                CMP     R3, R0,LSR#16\n" //while it should be <=0x9c4
145/*
146"LDR R1, =0x1850\n" //debug
147"STR R3, [R1, #4]\n" //debug
148"STR R0, [R1, #8]\n" //debug
149"STR R7, [R1, #0xc]\n" //debug
150*/
151"                B       loc_FFE211A0\n" //originally BLS
152"                LDR     R0, =0xffe20ed8\n"
153"                MOV     R1, #0xCC\n"
154"                BL      sub_FFC03B58\n"
155"loc_FFE211A0:\n"
156"                LDR     R3, =0x805B0\n"
157"                MOV     R1, #0\n"
158"                LDR     R0, [R3]\n"
159"                BL      sub_FFC11B80\n"
160"                BL      sub_FFE1DF60\n"
161"                CMP     R0, #0\n"
162"                BNE     loc_FFE211C8\n"
163"                LDR     R0, =0xffe20ed8\n"
164"                MOV     R1, #0xCF\n"
165"                BL      sub_FFC03B58\n"
166"loc_FFE211C8:\n"
167"                MOV     R1, SP\n"
168"                ADD     R0, SP, #0x1C-0x1A\n"
169"                MOV     R2, #0\n"
170"                BL      sub_FFE11984\n"
171"                MOV     R0, R0,LSL#16\n"
172"                MOV     R4, R0,LSR#16\n"
173"                MOV     R1, R4\n"
174"                LDRSH   R0, [SP,#0x1C-0x1A]\n"
175"                LDRH    R2, [SP,#0x1C-0x1C]\n"
176"                BL      sub_FFE23B2C\n"
177"                MOV     R3, R6,LSL#16\n"
178"                MOV     R0, R0,LSL#16\n"
179"                MOV     R1, R3,LSR#16\n"
180"                MOV     R0, R0,LSR#16\n"
181"                CMP     R1, R0\n"
182"                MOVCS   R0, R1\n"
183"                MOV     R2, R4\n"
184"                LDRSH   R1, [SP,#0x1C-0x1A]\n"
185"                LDRH    R3, [SP,#0x1C-0x1C]\n"
186"                BL      sub_FFE23818\n"
187"                MOV     R0, R0,LSL#16\n"
188"                MOV     R6, R0,ASR#16\n"
189"                LDR     R12, =0x8059C\n"
190"                LDR     R4, [R12]\n"
191"                LDR     LR, =0x80594\n"
192"                LDR     R2, =0x80590\n"
193"                MOV     R3, #1\n"
194"                ADD     R4, R4, #1\n"
195"                MOV     R1, R8\n"
196"                STR     R3, [R2]\n"
197"                MOV     R0, R5\n"
198"                STR     R3, [LR]\n"
199"                STR     R4, [R12]\n"
200"                BL      sub_FFE224E8\n"
201"                LDR     R5, =0x805A0\n"
202"                LDR     R2, =0x805B0\n"
203"                LDR     R3, =0xFFE22594\n"
204"                LDR     R0, [R2]\n"
205"                STR     R3, [R5]\n"
206"                BL      sub_FFC11D68\n"
207"                BL      sub_FFC8C260\n"
208"                MOV     R0, R6\n"
209"                LDR     R1, [R5]\n"
210"                MOV     R2, R4\n"
211"                MOV     R3, R7\n"
212"                BL      sub_FFE1DC38\n"
213"loc_FFE21280:\n"
214"                ADD     SP, SP, #4\n"
215"                LDMFD   SP!, {R4-R8,PC}\n"
216 );
217}
Note: See TracBrowser for help on using the repository browser.