summaryrefslogtreecommitdiff
path: root/asm/code_8005018C.s
blob: 3cbfeb9d605dc65bb684dfd621ad319509a241d7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
.include "macros.inc"

.section .text, "ax"  # 0x80006980 - 0x803E1E60

.global func_8005018C
func_8005018C:
/* 8005018C 0004BDEC  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80050190 0004BDF0  7C 08 02 A6 */	mflr r0
/* 80050194 0004BDF4  90 01 00 24 */	stw r0, 0x24(r1)
/* 80050198 0004BDF8  DB E1 00 18 */	stfd f31, 0x18(r1)
/* 8005019C 0004BDFC  FF E0 08 90 */	fmr f31, f1
/* 800501A0 0004BE00  93 E1 00 14 */	stw r31, 0x14(r1)
/* 800501A4 0004BE04  7C 7F 1B 78 */	mr r31, r3
/* 800501A8 0004BE08  80 8D A1 50 */	lwz r4, lbl_8063F410-_SDA_BASE_(r13)
/* 800501AC 0004BE0C  88 04 04 68 */	lbz r0, 0x468(r4)
/* 800501B0 0004BE10  2C 00 00 00 */	cmpwi r0, 0
/* 800501B4 0004BE14  41 82 00 0C */	beq lbl_800501C0
/* 800501B8 0004BE18  7C 83 23 78 */	mr r3, r4
/* 800501BC 0004BE1C  48 1A ED AD */	bl func_801FEF68
lbl_800501C0:
/* 800501C0 0004BE20  2C 1F 00 02 */	cmpwi r31, 2
/* 800501C4 0004BE24  41 82 00 70 */	beq lbl_80050234
/* 800501C8 0004BE28  40 80 00 DC */	bge lbl_800502A4
/* 800501CC 0004BE2C  2C 1F 00 01 */	cmpwi r31, 1
/* 800501D0 0004BE30  40 80 00 08 */	bge lbl_800501D8
/* 800501D4 0004BE34  48 00 00 D0 */	b lbl_800502A4
lbl_800501D8:
/* 800501D8 0004BE38  80 CD A1 50 */	lwz r6, lbl_8063F410-_SDA_BASE_(r13)
/* 800501DC 0004BE3C  3C 60 1B 7A */	lis r3, 0x1B7A0C00@ha
/* 800501E0 0004BE40  38 83 0C 00 */	addi r4, r3, 0x1B7A0C00@l
/* 800501E4 0004BE44  3B E0 00 00 */	li r31, 0
/* 800501E8 0004BE48  D3 E6 04 58 */	stfs f31, 0x458(r6)
/* 800501EC 0004BE4C  38 A0 00 17 */	li r5, 0x17
/* 800501F0 0004BE50  38 00 00 FF */	li r0, 0xff
/* 800501F4 0004BE54  38 60 00 0A */	li r3, 0xa
/* 800501F8 0004BE58  9B E6 04 60 */	stb r31, 0x460(r6)
/* 800501FC 0004BE5C  9B E6 04 61 */	stb r31, 0x461(r6)
/* 80050200 0004BE60  80 CD A1 50 */	lwz r6, lbl_8063F410-_SDA_BASE_(r13)
/* 80050204 0004BE64  B0 A6 04 62 */	sth r5, 0x462(r6)
/* 80050208 0004BE68  D3 E6 04 5C */	stfs f31, 0x45c(r6)
/* 8005020C 0004BE6C  80 AD A1 50 */	lwz r5, lbl_8063F410-_SDA_BASE_(r13)
/* 80050210 0004BE70  9B E5 04 94 */	stb r31, 0x494(r5)
/* 80050214 0004BE74  9B E5 04 95 */	stb r31, 0x495(r5)
/* 80050218 0004BE78  9B E5 04 96 */	stb r31, 0x496(r5)
/* 8005021C 0004BE7C  98 05 04 97 */	stb r0, 0x497(r5)
/* 80050220 0004BE80  48 18 B2 9D */	bl func_801DB4BC
/* 80050224 0004BE84  80 8D A1 50 */	lwz r4, lbl_8063F410-_SDA_BASE_(r13)
/* 80050228 0004BE88  93 E4 04 9C */	stw r31, 0x49c(r4)
/* 8005022C 0004BE8C  90 64 04 A0 */	stw r3, 0x4a0(r4)
/* 80050230 0004BE90  48 00 00 68 */	b lbl_80050298
lbl_80050234:
/* 80050234 0004BE94  80 ED A1 50 */	lwz r7, lbl_8063F410-_SDA_BASE_(r13)
/* 80050238 0004BE98  3C 60 1B 7A */	lis r3, 0x1B7A0C00@ha
/* 8005023C 0004BE9C  38 83 0C 00 */	addi r4, r3, 0x1B7A0C00@l
/* 80050240 0004BEA0  38 C0 00 01 */	li r6, 1
/* 80050244 0004BEA4  D3 E7 04 58 */	stfs f31, 0x458(r7)
/* 80050248 0004BEA8  38 A0 00 17 */	li r5, 0x17
/* 8005024C 0004BEAC  3B E0 00 00 */	li r31, 0
/* 80050250 0004BEB0  38 00 00 FF */	li r0, 0xff
/* 80050254 0004BEB4  98 C7 04 60 */	stb r6, 0x460(r7)
/* 80050258 0004BEB8  38 60 00 0A */	li r3, 0xa
/* 8005025C 0004BEBC  98 C7 04 61 */	stb r6, 0x461(r7)
/* 80050260 0004BEC0  80 CD A1 50 */	lwz r6, lbl_8063F410-_SDA_BASE_(r13)
/* 80050264 0004BEC4  B0 A6 04 62 */	sth r5, 0x462(r6)
/* 80050268 0004BEC8  D3 E6 04 5C */	stfs f31, 0x45c(r6)
/* 8005026C 0004BECC  80 AD A1 50 */	lwz r5, lbl_8063F410-_SDA_BASE_(r13)
/* 80050270 0004BED0  9B E5 04 94 */	stb r31, 0x494(r5)
/* 80050274 0004BED4  9B E5 04 95 */	stb r31, 0x495(r5)
/* 80050278 0004BED8  9B E5 04 96 */	stb r31, 0x496(r5)
/* 8005027C 0004BEDC  98 05 04 97 */	stb r0, 0x497(r5)
/* 80050280 0004BEE0  48 18 B2 3D */	bl func_801DB4BC
/* 80050284 0004BEE4  80 8D A1 50 */	lwz r4, lbl_8063F410-_SDA_BASE_(r13)
/* 80050288 0004BEE8  93 E4 04 9C */	stw r31, 0x49c(r4)
/* 8005028C 0004BEEC  90 64 04 A0 */	stw r3, 0x4a0(r4)
/* 80050290 0004BEF0  48 00 00 08 */	b lbl_80050298
/* 80050294 0004BEF4  48 00 00 10 */	b lbl_800502A4
lbl_80050298:
/* 80050298 0004BEF8  80 6D A1 50 */	lwz r3, lbl_8063F410-_SDA_BASE_(r13)
/* 8005029C 0004BEFC  38 80 00 01 */	li r4, 1
/* 800502A0 0004BF00  48 1A EB 8D */	bl func_801FEE2C
lbl_800502A4:
/* 800502A4 0004BF04  80 01 00 24 */	lwz r0, 0x24(r1)
/* 800502A8 0004BF08  CB E1 00 18 */	lfd f31, 0x18(r1)
/* 800502AC 0004BF0C  83 E1 00 14 */	lwz r31, 0x14(r1)
/* 800502B0 0004BF10  7C 08 03 A6 */	mtlr r0
/* 800502B4 0004BF14  38 21 00 20 */	addi r1, r1, 0x20
/* 800502B8 0004BF18  4E 80 00 20 */	blr

.global func_800502BC
func_800502BC:
/* 800502BC 0004BF1C  80 8D A1 50 */	lwz r4, lbl_8063F410-_SDA_BASE_(r13)
/* 800502C0 0004BF20  88 04 04 68 */	lbz r0, 0x468(r4)
/* 800502C4 0004BF24  2C 00 00 00 */	cmpwi r0, 0
/* 800502C8 0004BF28  41 82 00 34 */	beq lbl_800502FC
/* 800502CC 0004BF2C  C0 44 04 74 */	lfs f2, 0x474(r4)
/* 800502D0 0004BF30  38 60 00 00 */	li r3, 0
/* 800502D4 0004BF34  C0 24 04 78 */	lfs f1, 0x478(r4)
/* 800502D8 0004BF38  C0 02 84 80 */	lfs f0, lbl_80640A80-_SDA2_BASE_(r2)
/* 800502DC 0004BF3C  EC 22 08 28 */	fsubs f1, f2, f1
/* 800502E0 0004BF40  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 800502E4 0004BF44  4C 80 00 20 */	bgelr
/* 800502E8 0004BF48  C0 02 84 84 */	lfs f0, lbl_80640A84-_SDA2_BASE_(r2)
/* 800502EC 0004BF4C  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 800502F0 0004BF50  4C 81 00 20 */	blelr
/* 800502F4 0004BF54  38 60 00 01 */	li r3, 1
/* 800502F8 0004BF58  4E 80 00 20 */	blr
lbl_800502FC:
/* 800502FC 0004BF5C  38 60 00 00 */	li r3, 0
/* 80050300 0004BF60  4E 80 00 20 */	blr

.global func_80050304
func_80050304:
/* 80050304 0004BF64  38 A0 00 01 */	li r5, 1
/* 80050308 0004BF68  38 6D 98 58 */	addi r3, r13, lbl_8063EB18-_SDA_BASE_
/* 8005030C 0004BF6C  38 80 00 04 */	li r4, 4
/* 80050310 0004BF70  38 00 00 00 */	li r0, 0
/* 80050314 0004BF74  98 AD 98 58 */	stb r5, lbl_8063EB18-_SDA_BASE_(r13)
/* 80050318 0004BF78  B0 83 00 02 */	sth r4, 2(r3)
/* 8005031C 0004BF7C  98 03 00 04 */	stb r0, 4(r3)
/* 80050320 0004BF80  4E 80 00 20 */	blr