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
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
|
.include "macros.inc"
.section .text, "ax" # 0x80006980 - 0x803E1E60
.global InitSoundSystem__Q34nw4r3snd11SoundSystemFll
InitSoundSystem__Q34nw4r3snd11SoundSystemFll:
/* 8037C1A0 00377E00 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8037C1A4 00377E04 7C 08 02 A6 */ mflr r0
/* 8037C1A8 00377E08 90 01 00 24 */ stw r0, 0x24(r1)
/* 8037C1AC 00377E0C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8037C1B0 00377E10 7C 9F 23 78 */ mr r31, r4
/* 8037C1B4 00377E14 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8037C1B8 00377E18 7C 7E 1B 78 */ mr r30, r3
/* 8037C1BC 00377E1C 80 6D 95 30 */ lwz r3, lbl_8063E7F0-_SDA_BASE_(r13)
/* 8037C1C0 00377E20 4B EE D4 91 */ bl OSRegisterVersion
/* 8037C1C4 00377E24 38 00 40 00 */ li r0, 0x4000
/* 8037C1C8 00377E28 3C 80 80 62 */ lis r4, lbl_80622040@ha
/* 8037C1CC 00377E2C 3C A0 00 01 */ lis r5, 0x0001696C@ha
/* 8037C1D0 00377E30 90 01 00 0C */ stw r0, 0xc(r1)
/* 8037C1D4 00377E34 38 61 00 08 */ addi r3, r1, 8
/* 8037C1D8 00377E38 38 84 20 40 */ addi r4, r4, lbl_80622040@l
/* 8037C1DC 00377E3C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8037C1E0 00377E40 38 A5 69 6C */ addi r5, r5, 0x0001696C@l
/* 8037C1E4 00377E44 93 C1 00 08 */ stw r30, 8(r1)
/* 8037C1E8 00377E48 93 E1 00 10 */ stw r31, 0x10(r1)
/* 8037C1EC 00377E4C 48 00 00 1D */ bl InitSoundSystem__Q34nw4r3snd11SoundSystemFRCQ44nw4r3snd11SoundSystem16SoundSystemParamPvUl
/* 8037C1F0 00377E50 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8037C1F4 00377E54 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8037C1F8 00377E58 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8037C1FC 00377E5C 7C 08 03 A6 */ mtlr r0
/* 8037C200 00377E60 38 21 00 20 */ addi r1, r1, 0x20
/* 8037C204 00377E64 4E 80 00 20 */ blr
.global InitSoundSystem__Q34nw4r3snd11SoundSystemFRCQ44nw4r3snd11SoundSystem16SoundSystemParamPvUl
InitSoundSystem__Q34nw4r3snd11SoundSystemFRCQ44nw4r3snd11SoundSystem16SoundSystemParamPvUl:
/* 8037C208 00377E68 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8037C20C 00377E6C 7C 08 02 A6 */ mflr r0
/* 8037C210 00377E70 90 01 00 24 */ stw r0, 0x24(r1)
/* 8037C214 00377E74 39 61 00 20 */ addi r11, r1, 0x20
/* 8037C218 00377E78 4B E4 AF 0D */ bl _savegpr_26
/* 8037C21C 00377E7C 88 0D B2 70 */ lbz r0, lbl_80640530-_SDA_BASE_(r13)
/* 8037C220 00377E80 7C 7A 1B 78 */ mr r26, r3
/* 8037C224 00377E84 7C 9B 23 78 */ mr r27, r4
/* 8037C228 00377E88 2C 00 00 00 */ cmpwi r0, 0
/* 8037C22C 00377E8C 40 82 01 50 */ bne lbl_8037C37C
/* 8037C230 00377E90 38 00 00 01 */ li r0, 1
/* 8037C234 00377E94 98 0D B2 70 */ stb r0, lbl_80640530-_SDA_BASE_(r13)
/* 8037C238 00377E98 4B FE C2 8D */ bl GetInstance__Q44nw4r3snd6detail9AxManagerFv
/* 8037C23C 00377E9C 4B FE C3 65 */ bl Init__Q44nw4r3snd6detail9AxManagerFv
/* 8037C240 00377EA0 4B F6 E7 0D */ bl SCInit
lbl_8037C244:
/* 8037C244 00377EA4 4B F6 E7 A9 */ bl SCCheckStatus
/* 8037C248 00377EA8 28 03 00 01 */ cmplwi r3, 1
/* 8037C24C 00377EAC 41 82 FF F8 */ beq lbl_8037C244
/* 8037C250 00377EB0 4B F7 03 0D */ bl SCGetSoundMode
/* 8037C254 00377EB4 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 8037C258 00377EB8 2C 00 00 01 */ cmpwi r0, 1
/* 8037C25C 00377EBC 41 82 00 30 */ beq lbl_8037C28C
/* 8037C260 00377EC0 40 80 00 10 */ bge lbl_8037C270
/* 8037C264 00377EC4 2C 00 00 00 */ cmpwi r0, 0
/* 8037C268 00377EC8 40 80 00 14 */ bge lbl_8037C27C
/* 8037C26C 00377ECC 48 00 00 40 */ b lbl_8037C2AC
lbl_8037C270:
/* 8037C270 00377ED0 2C 00 00 03 */ cmpwi r0, 3
/* 8037C274 00377ED4 40 80 00 38 */ bge lbl_8037C2AC
/* 8037C278 00377ED8 48 00 00 24 */ b lbl_8037C29C
lbl_8037C27C:
/* 8037C27C 00377EDC 4B FE C2 49 */ bl GetInstance__Q44nw4r3snd6detail9AxManagerFv
/* 8037C280 00377EE0 38 80 00 03 */ li r4, 3
/* 8037C284 00377EE4 4B FE C9 55 */ bl SetOutputMode__Q44nw4r3snd6detail9AxManagerFQ34nw4r3snd10OutputMode
/* 8037C288 00377EE8 48 00 00 30 */ b lbl_8037C2B8
lbl_8037C28C:
/* 8037C28C 00377EEC 4B FE C2 39 */ bl GetInstance__Q44nw4r3snd6detail9AxManagerFv
/* 8037C290 00377EF0 38 80 00 00 */ li r4, 0
/* 8037C294 00377EF4 4B FE C9 45 */ bl SetOutputMode__Q44nw4r3snd6detail9AxManagerFQ34nw4r3snd10OutputMode
/* 8037C298 00377EF8 48 00 00 20 */ b lbl_8037C2B8
lbl_8037C29C:
/* 8037C29C 00377EFC 4B FE C2 29 */ bl GetInstance__Q44nw4r3snd6detail9AxManagerFv
/* 8037C2A0 00377F00 38 80 00 02 */ li r4, 2
/* 8037C2A4 00377F04 4B FE C9 35 */ bl SetOutputMode__Q44nw4r3snd6detail9AxManagerFQ34nw4r3snd10OutputMode
/* 8037C2A8 00377F08 48 00 00 10 */ b lbl_8037C2B8
lbl_8037C2AC:
/* 8037C2AC 00377F0C 4B FE C2 19 */ bl GetInstance__Q44nw4r3snd6detail9AxManagerFv
/* 8037C2B0 00377F10 38 80 00 00 */ li r4, 0
/* 8037C2B4 00377F14 4B FE C9 25 */ bl SetOutputMode__Q44nw4r3snd6detail9AxManagerFQ34nw4r3snd10OutputMode
lbl_8037C2B8:
/* 8037C2B8 00377F18 4B FF 74 F1 */ bl GetInstance__Q44nw4r3snd6detail20RemoteSpeakerManagerFv
/* 8037C2BC 00377F1C 4B FF 75 95 */ bl Setup__Q44nw4r3snd6detail20RemoteSpeakerManagerFv
/* 8037C2C0 00377F20 80 7A 00 0C */ lwz r3, 0xc(r26)
/* 8037C2C4 00377F24 80 1A 00 04 */ lwz r0, 4(r26)
/* 8037C2C8 00377F28 7F DB 1A 14 */ add r30, r27, r3
/* 8037C2CC 00377F2C 7F DD F3 78 */ mr r29, r30
/* 8037C2D0 00377F30 7F DE 02 14 */ add r30, r30, r0
/* 8037C2D4 00377F34 7F DC F3 78 */ mr r28, r30
/* 8037C2D8 00377F38 4B FE FC CD */ bl GetInstance__Q44nw4r3snd6detail14AxVoiceManagerFv
/* 8037C2DC 00377F3C 4B FE FD F1 */ bl GetRequiredMemSize__Q44nw4r3snd6detail14AxVoiceManagerFv
/* 8037C2E0 00377F40 7F DE 1A 14 */ add r30, r30, r3
/* 8037C2E4 00377F44 4B FE FC C1 */ bl GetInstance__Q44nw4r3snd6detail14AxVoiceManagerFv
/* 8037C2E8 00377F48 4B FE FD E5 */ bl GetRequiredMemSize__Q44nw4r3snd6detail14AxVoiceManagerFv
/* 8037C2EC 00377F4C 7C 7F 1B 78 */ mr r31, r3
/* 8037C2F0 00377F50 4B FE FC B5 */ bl GetInstance__Q44nw4r3snd6detail14AxVoiceManagerFv
/* 8037C2F4 00377F54 7F 84 E3 78 */ mr r4, r28
/* 8037C2F8 00377F58 7F E5 FB 78 */ mr r5, r31
/* 8037C2FC 00377F5C 4B FE FD F9 */ bl Setup__Q44nw4r3snd6detail14AxVoiceManagerFPvUl
/* 8037C300 00377F60 7F DC F3 78 */ mr r28, r30
/* 8037C304 00377F64 48 00 65 FD */ bl GetInstance__Q44nw4r3snd6detail12VoiceManagerFv
/* 8037C308 00377F68 48 00 66 F5 */ bl GetRequiredMemSize__Q44nw4r3snd6detail12VoiceManagerFv
/* 8037C30C 00377F6C 7F DE 1A 14 */ add r30, r30, r3
/* 8037C310 00377F70 48 00 65 F1 */ bl GetInstance__Q44nw4r3snd6detail12VoiceManagerFv
/* 8037C314 00377F74 48 00 66 E9 */ bl GetRequiredMemSize__Q44nw4r3snd6detail12VoiceManagerFv
/* 8037C318 00377F78 7C 7F 1B 78 */ mr r31, r3
/* 8037C31C 00377F7C 48 00 65 E5 */ bl GetInstance__Q44nw4r3snd6detail12VoiceManagerFv
/* 8037C320 00377F80 7F 84 E3 78 */ mr r4, r28
/* 8037C324 00377F84 7F E5 FB 78 */ mr r5, r31
/* 8037C328 00377F88 48 00 66 F9 */ bl Setup__Q44nw4r3snd6detail12VoiceManagerFPvUl
/* 8037C32C 00377F8C 4B FF 1E 6D */ bl GetInstance__Q44nw4r3snd6detail14ChannelManagerFv
/* 8037C330 00377F90 4B FF 1F 59 */ bl GetRequiredMemSize__Q44nw4r3snd6detail14ChannelManagerFv
/* 8037C334 00377F94 4B FF 1E 65 */ bl GetInstance__Q44nw4r3snd6detail14ChannelManagerFv
/* 8037C338 00377F98 4B FF 1F 51 */ bl GetRequiredMemSize__Q44nw4r3snd6detail14ChannelManagerFv
/* 8037C33C 00377F9C 7C 7F 1B 78 */ mr r31, r3
/* 8037C340 00377FA0 4B FF 1E 59 */ bl GetInstance__Q44nw4r3snd6detail14ChannelManagerFv
/* 8037C344 00377FA4 7F C4 F3 78 */ mr r4, r30
/* 8037C348 00377FA8 7F E5 FB 78 */ mr r5, r31
/* 8037C34C 00377FAC 4B FF 1F 65 */ bl Setup__Q44nw4r3snd6detail14ChannelManagerFPvUl
/* 8037C350 00377FB0 3C 60 80 62 */ lis r3, lbl_80621D10@ha
/* 8037C354 00377FB4 80 9A 00 08 */ lwz r4, 8(r26)
/* 8037C358 00377FB8 80 DA 00 0C */ lwz r6, 0xc(r26)
/* 8037C35C 00377FBC 7F 65 DB 78 */ mr r5, r27
/* 8037C360 00377FC0 38 63 1D 10 */ addi r3, r3, lbl_80621D10@l
/* 8037C364 00377FC4 48 00 3D 3D */ bl Create__Q44nw4r3snd6detail10TaskThreadFlPvUl
/* 8037C368 00377FC8 48 00 00 E9 */ bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv
/* 8037C36C 00377FCC 80 9A 00 00 */ lwz r4, 0(r26)
/* 8037C370 00377FD0 7F A5 EB 78 */ mr r5, r29
/* 8037C374 00377FD4 80 DA 00 04 */ lwz r6, 4(r26)
/* 8037C378 00377FD8 48 00 02 0D */ bl Create__Q44nw4r3snd6detail11SoundThreadFlPvUl
lbl_8037C37C:
/* 8037C37C 00377FDC 39 61 00 20 */ addi r11, r1, 0x20
/* 8037C380 00377FE0 4B E4 AD F1 */ bl _restgpr_26
/* 8037C384 00377FE4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8037C388 00377FE8 7C 08 03 A6 */ mtlr r0
/* 8037C38C 00377FEC 38 21 00 20 */ addi r1, r1, 0x20
/* 8037C390 00377FF0 4E 80 00 20 */ blr
.global WaitForResetReady__Q34nw4r3snd11SoundSystemFv
WaitForResetReady__Q34nw4r3snd11SoundSystemFv:
/* 8037C394 00377FF4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8037C398 00377FF8 7C 08 02 A6 */ mflr r0
/* 8037C39C 00377FFC 90 01 00 14 */ stw r0, 0x14(r1)
/* 8037C3A0 00378000 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8037C3A4 00378004 93 C1 00 08 */ stw r30, 8(r1)
/* 8037C3A8 00378008 88 0D B2 70 */ lbz r0, lbl_80640530-_SDA_BASE_(r13)
/* 8037C3AC 0037800C 2C 00 00 00 */ cmpwi r0, 0
/* 8037C3B0 00378010 41 82 00 40 */ beq lbl_8037C3F0
/* 8037C3B4 00378014 4B EF 64 1D */ bl OSGetTick
/* 8037C3B8 00378018 7C 7E 1B 78 */ mr r30, r3
/* 8037C3BC 0037801C 3F E0 80 00 */ lis r31, 0x8000
/* 8037C3C0 00378020 48 00 00 1C */ b lbl_8037C3DC
lbl_8037C3C4:
/* 8037C3C4 00378024 4B EF 64 0D */ bl OSGetTick
/* 8037C3C8 00378028 80 1F 00 F8 */ lwz r0, 0xf8(r31)
/* 8037C3CC 0037802C 7C 7E 18 50 */ subf r3, r30, r3
/* 8037C3D0 00378030 54 00 F0 BE */ srwi r0, r0, 2
/* 8037C3D4 00378034 7C 03 03 97 */ divwu. r0, r3, r0
/* 8037C3D8 00378038 40 82 00 18 */ bne lbl_8037C3F0
lbl_8037C3DC:
/* 8037C3DC 0037803C 4B FE C0 E9 */ bl GetInstance__Q44nw4r3snd6detail9AxManagerFv
/* 8037C3E0 00378040 80 03 00 50 */ lwz r0, 0x50(r3)
/* 8037C3E4 00378044 7C 00 00 34 */ cntlzw r0, r0
/* 8037C3E8 00378048 54 00 D9 7F */ rlwinm. r0, r0, 0x1b, 5, 0x1f
/* 8037C3EC 0037804C 41 82 FF D8 */ beq lbl_8037C3C4
lbl_8037C3F0:
/* 8037C3F0 00378050 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8037C3F4 00378054 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8037C3F8 00378058 83 C1 00 08 */ lwz r30, 8(r1)
/* 8037C3FC 0037805C 7C 08 03 A6 */ mtlr r0
/* 8037C400 00378060 38 21 00 10 */ addi r1, r1, 0x10
/* 8037C404 00378064 4E 80 00 20 */ blr
.global __sinit_$3snd_SoundSystem_cpp
__sinit_$3snd_SoundSystem_cpp:
/* 8037C408 00378068 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8037C40C 0037806C 7C 08 02 A6 */ mflr r0
/* 8037C410 00378070 90 01 00 14 */ stw r0, 0x14(r1)
/* 8037C414 00378074 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8037C418 00378078 3F E0 80 62 */ lis r31, lbl_80621D10@ha
/* 8037C41C 0037807C 38 7F 1D 10 */ addi r3, r31, lbl_80621D10@l
/* 8037C420 00378080 48 00 3B E9 */ bl __ct__Q44nw4r3snd6detail10TaskThreadFv
/* 8037C424 00378084 3C 80 80 38 */ lis r4, __dt__Q44nw4r3snd6detail10TaskThreadFv@ha
/* 8037C428 00378088 3C A0 80 62 */ lis r5, lbl_80621D00@ha
/* 8037C42C 0037808C 38 7F 1D 10 */ addi r3, r31, 0x1d10
/* 8037C430 00378090 38 84 00 1C */ addi r4, r4, __dt__Q44nw4r3snd6detail10TaskThreadFv@l
/* 8037C434 00378094 38 A5 1D 00 */ addi r5, r5, lbl_80621D00@l
/* 8037C438 00378098 4B E4 A8 11 */ bl __register_global_object_tmp
/* 8037C43C 0037809C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8037C440 003780A0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8037C444 003780A4 7C 08 03 A6 */ mtlr r0
/* 8037C448 003780A8 38 21 00 10 */ addi r1, r1, 0x10
/* 8037C44C 003780AC 4E 80 00 20 */ blr
|