summaryrefslogtreecommitdiff
path: root/asm/code_80228970.s
blob: 39b11eff02ad3f121e4d83d581f5333e2315a3b1 (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
121
122
123
124
125
126
.include "macros.inc"

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

.global func_80228970
func_80228970:
/* 80228970 002245D0  54 64 00 1E */	rlwinm r4, r3, 0, 0, 0xf
/* 80228974 002245D4  38 60 00 02 */	li r3, 2
/* 80228978 002245D8  3C 04 FA 6A */	addis r0, r4, 0xfa6a
/* 8022897C 002245DC  28 00 00 00 */	cmplwi r0, 0
/* 80228980 002245E0  4C 82 00 20 */	bnelr
/* 80228984 002245E4  38 60 00 01 */	li r3, 1
/* 80228988 002245E8  4E 80 00 20 */	blr

.global func_8022898C
func_8022898C:
/* 8022898C 002245EC  94 21 FF C0 */	stwu r1, -0x40(r1)
/* 80228990 002245F0  7C 08 02 A6 */	mflr r0
/* 80228994 002245F4  90 01 00 44 */	stw r0, 0x44(r1)
/* 80228998 002245F8  39 61 00 40 */	addi r11, r1, 0x40
/* 8022899C 002245FC  4B F9 E7 89 */	bl _savegpr_26
/* 802289A0 00224600  7C 7A 1B 78 */	mr r26, r3
/* 802289A4 00224604  7C 9B 23 78 */	mr r27, r4
/* 802289A8 00224608  7C BC 2B 78 */	mr r28, r5
/* 802289AC 0022460C  7C DD 33 78 */	mr r29, r6
/* 802289B0 00224610  7C FE 3B 78 */	mr r30, r7
/* 802289B4 00224614  4B FF FF BD */	bl func_80228970
/* 802289B8 00224618  2C 03 00 01 */	cmpwi r3, 1
/* 802289BC 0022461C  40 82 00 10 */	bne lbl_802289CC
/* 802289C0 00224620  80 6D A3 80 */	lwz r3, lbl_8063F640-_SDA_BASE_(r13)
/* 802289C4 00224624  83 E3 00 20 */	lwz r31, 0x20(r3)
/* 802289C8 00224628  48 00 00 10 */	b lbl_802289D8
lbl_802289CC:
/* 802289CC 0022462C  80 6D A3 80 */	lwz r3, lbl_8063F640-_SDA_BASE_(r13)
/* 802289D0 00224630  4B FF DF 41 */	bl func_80226910
/* 802289D4 00224634  7C 7F 1B 78 */	mr r31, r3
lbl_802289D8:
/* 802289D8 00224638  2C 1F 00 00 */	cmpwi r31, 0
/* 802289DC 0022463C  40 82 00 0C */	bne lbl_802289E8
/* 802289E0 00224640  38 60 00 00 */	li r3, 0
/* 802289E4 00224644  48 00 00 58 */	b lbl_80228A3C
lbl_802289E8:
/* 802289E8 00224648  38 00 00 01 */	li r0, 1
/* 802289EC 0022464C  93 61 00 0C */	stw r27, 0xc(r1)
/* 802289F0 00224650  7F E3 FB 78 */	mr r3, r31
/* 802289F4 00224654  7F 44 D3 78 */	mr r4, r26
/* 802289F8 00224658  B0 01 00 08 */	sth r0, 8(r1)
/* 802289FC 0022465C  38 A1 00 08 */	addi r5, r1, 8
/* 80228A00 00224660  38 C0 00 04 */	li r6, 4
/* 80228A04 00224664  38 E0 00 00 */	li r7, 0
/* 80228A08 00224668  B0 01 00 10 */	sth r0, 0x10(r1)
/* 80228A0C 0022466C  93 81 00 14 */	stw r28, 0x14(r1)
/* 80228A10 00224670  B0 01 00 18 */	sth r0, 0x18(r1)
/* 80228A14 00224674  93 A1 00 1C */	stw r29, 0x1c(r1)
/* 80228A18 00224678  B0 01 00 20 */	sth r0, 0x20(r1)
/* 80228A1C 0022467C  93 C1 00 24 */	stw r30, 0x24(r1)
/* 80228A20 00224680  48 00 1C 85 */	bl func_8022A6A4
/* 80228A24 00224684  7C 7E 1B 78 */	mr r30, r3
/* 80228A28 00224688  7F E3 FB 78 */	mr r3, r31
/* 80228A2C 0022468C  7F C4 F3 78 */	mr r4, r30
/* 80228A30 00224690  48 00 45 89 */	bl func_8022CFB8
/* 80228A34 00224694  90 6D A3 98 */	stw r3, lbl_8063F658-_SDA_BASE_(r13)
/* 80228A38 00224698  7F C3 F3 78 */	mr r3, r30
lbl_80228A3C:
/* 80228A3C 0022469C  39 61 00 40 */	addi r11, r1, 0x40
/* 80228A40 002246A0  4B F9 E7 31 */	bl _restgpr_26
/* 80228A44 002246A4  80 01 00 44 */	lwz r0, 0x44(r1)
/* 80228A48 002246A8  7C 08 03 A6 */	mtlr r0
/* 80228A4C 002246AC  38 21 00 40 */	addi r1, r1, 0x40
/* 80228A50 002246B0  4E 80 00 20 */	blr

.global func_80228A54
func_80228A54:
/* 80228A54 002246B4  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80228A58 002246B8  7C 08 02 A6 */	mflr r0
/* 80228A5C 002246BC  90 01 00 24 */	stw r0, 0x24(r1)
/* 80228A60 002246C0  39 61 00 20 */	addi r11, r1, 0x20
/* 80228A64 002246C4  4B F9 E6 C5 */	bl _savegpr_27
/* 80228A68 002246C8  7C 7B 1B 78 */	mr r27, r3
/* 80228A6C 002246CC  80 6D A3 80 */	lwz r3, lbl_8063F640-_SDA_BASE_(r13)
/* 80228A70 002246D0  7C 9C 23 78 */	mr r28, r4
/* 80228A74 002246D4  7C BD 2B 78 */	mr r29, r5
/* 80228A78 002246D8  7C DE 33 78 */	mr r30, r6
/* 80228A7C 002246DC  7C FF 3B 78 */	mr r31, r7
/* 80228A80 002246E0  4B FF DE 91 */	bl func_80226910
/* 80228A84 002246E4  2C 03 00 00 */	cmpwi r3, 0
/* 80228A88 002246E8  40 82 00 0C */	bne lbl_80228A94
/* 80228A8C 002246EC  38 60 00 00 */	li r3, 0
/* 80228A90 002246F0  48 00 00 44 */	b lbl_80228AD4
lbl_80228A94:
/* 80228A94 002246F4  80 03 09 40 */	lwz r0, 0x940(r3)
/* 80228A98 002246F8  2C 00 00 00 */	cmpwi r0, 0
/* 80228A9C 002246FC  40 82 00 0C */	bne lbl_80228AA8
/* 80228AA0 00224700  38 60 00 00 */	li r3, 0
/* 80228AA4 00224704  48 00 00 30 */	b lbl_80228AD4
lbl_80228AA8:
/* 80228AA8 00224708  7F 64 DB 78 */	mr r4, r27
/* 80228AAC 0022470C  48 00 45 81 */	bl func_8022D02C
/* 80228AB0 00224710  2C 03 00 00 */	cmpwi r3, 0
/* 80228AB4 00224714  40 82 00 0C */	bne lbl_80228AC0
/* 80228AB8 00224718  38 60 00 00 */	li r3, 0
/* 80228ABC 0022471C  48 00 00 18 */	b lbl_80228AD4
lbl_80228AC0:
/* 80228AC0 00224720  7F 84 E3 78 */	mr r4, r28
/* 80228AC4 00224724  7F A5 EB 78 */	mr r5, r29
/* 80228AC8 00224728  7F C6 F3 78 */	mr r6, r30
/* 80228ACC 0022472C  7F E7 FB 78 */	mr r7, r31
/* 80228AD0 00224730  4B FF FE BD */	bl func_8022898C
lbl_80228AD4:
/* 80228AD4 00224734  39 61 00 20 */	addi r11, r1, 0x20
/* 80228AD8 00224738  4B F9 E6 9D */	bl _restgpr_27
/* 80228ADC 0022473C  80 01 00 24 */	lwz r0, 0x24(r1)
/* 80228AE0 00224740  7C 08 03 A6 */	mtlr r0
/* 80228AE4 00224744  38 21 00 20 */	addi r1, r1, 0x20
/* 80228AE8 00224748  4E 80 00 20 */	blr

.global func_80228AEC
func_80228AEC:
/* 80228AEC 0022474C  38 A0 00 01 */	li r5, 1
/* 80228AF0 00224750  38 6D A3 90 */	addi r3, r13, lbl_8063F650-_SDA_BASE_
/* 80228AF4 00224754  38 80 00 04 */	li r4, 4
/* 80228AF8 00224758  38 00 00 00 */	li r0, 0
/* 80228AFC 0022475C  98 AD A3 90 */	stb r5, lbl_8063F650-_SDA_BASE_(r13)
/* 80228B00 00224760  B0 83 00 02 */	sth r4, 2(r3)
/* 80228B04 00224764  98 03 00 04 */	stb r0, 4(r3)
/* 80228B08 00224768  4E 80 00 20 */	blr