summaryrefslogtreecommitdiff
path: root/asm/nw4r/snd/snd_FxReverbHi.s
blob: d1e1aab6c7a19546ab1eae37b529df150b95898c (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
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
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
.include "macros.inc"

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

.global __ct__Q34nw4r3snd10FxReverbHiFv
__ct__Q34nw4r3snd10FxReverbHiFv:
/* 80370DC0 0036CA20  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 80370DC4 0036CA24  7C 08 02 A6 */	mflr r0
/* 80370DC8 0036CA28  3C A0 80 45 */	lis r5, lbl_8044CA68@ha
/* 80370DCC 0036CA2C  3D 40 80 40 */	lis r10, lbl_80400004@ha
/* 80370DD0 0036CA30  90 01 00 34 */	stw r0, 0x34(r1)
/* 80370DD4 0036CA34  38 00 00 00 */	li r0, 0
/* 80370DD8 0036CA38  38 A5 CA 68 */	addi r5, r5, lbl_8044CA68@l
/* 80370DDC 0036CA3C  38 81 00 08 */	addi r4, r1, 8
/* 80370DE0 0036CA40  93 E1 00 2C */	stw r31, 0x2c(r1)
/* 80370DE4 0036CA44  7C 7F 1B 78 */	mr r31, r3
/* 80370DE8 0036CA48  90 03 00 04 */	stw r0, 4(r3)
/* 80370DEC 0036CA4C  90 03 00 08 */	stw r0, 8(r3)
/* 80370DF0 0036CA50  90 A3 00 00 */	stw r5, 0(r3)
/* 80370DF4 0036CA54  98 03 00 0C */	stb r0, 0xc(r3)
/* 80370DF8 0036CA58  90 03 00 10 */	stw r0, 0x10(r3)
/* 80370DFC 0036CA5C  90 03 00 14 */	stw r0, 0x14(r3)
/* 80370E00 0036CA60  85 2A 28 B0 */	lwzu r9, 0x28b0(r10)
/* 80370E04 0036CA64  81 0A 00 04 */	lwz r8, lbl_80400004@l(r10)
/* 80370E08 0036CA68  80 EA 00 08 */	lwz r7, 8(r10)
/* 80370E0C 0036CA6C  80 CA 00 0C */	lwz r6, 0xc(r10)
/* 80370E10 0036CA70  80 AA 00 10 */	lwz r5, 0x10(r10)
/* 80370E14 0036CA74  80 0A 00 14 */	lwz r0, 0x14(r10)
/* 80370E18 0036CA78  91 21 00 08 */	stw r9, 8(r1)
/* 80370E1C 0036CA7C  91 01 00 0C */	stw r8, 0xc(r1)
/* 80370E20 0036CA80  90 E1 00 10 */	stw r7, 0x10(r1)
/* 80370E24 0036CA84  90 C1 00 14 */	stw r6, 0x14(r1)
/* 80370E28 0036CA88  90 A1 00 18 */	stw r5, 0x18(r1)
/* 80370E2C 0036CA8C  90 01 00 1C */	stw r0, 0x1c(r1)
/* 80370E30 0036CA90  48 00 01 59 */	bl SetParam__Q34nw4r3snd10FxReverbHiFRCQ44nw4r3snd10FxReverbHi13ReverbHiParam
/* 80370E34 0036CA94  7F E3 FB 78 */	mr r3, r31
/* 80370E38 0036CA98  83 E1 00 2C */	lwz r31, 0x2c(r1)
/* 80370E3C 0036CA9C  80 01 00 34 */	lwz r0, 0x34(r1)
/* 80370E40 0036CAA0  7C 08 03 A6 */	mtlr r0
/* 80370E44 0036CAA4  38 21 00 30 */	addi r1, r1, 0x30
/* 80370E48 0036CAA8  4E 80 00 20 */	blr

.global GetRequiredMemSize__Q34nw4r3snd10FxReverbHiFv
GetRequiredMemSize__Q34nw4r3snd10FxReverbHiFv:
/* 80370E4C 0036CAAC  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80370E50 0036CAB0  7C 08 02 A6 */	mflr r0
/* 80370E54 0036CAB4  38 63 00 30 */	addi r3, r3, 0x30
/* 80370E58 0036CAB8  90 01 00 14 */	stw r0, 0x14(r1)
/* 80370E5C 0036CABC  4B F2 15 09 */	bl AXFXReverbHiGetMemSize
/* 80370E60 0036CAC0  38 03 00 87 */	addi r0, r3, 0x87
/* 80370E64 0036CAC4  54 03 00 34 */	rlwinm r3, r0, 0, 0, 0x1a
/* 80370E68 0036CAC8  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80370E6C 0036CACC  7C 08 03 A6 */	mtlr r0
/* 80370E70 0036CAD0  38 21 00 10 */	addi r1, r1, 0x10
/* 80370E74 0036CAD4  4E 80 00 20 */	blr

.global AssignWorkBuffer__Q34nw4r3snd10FxReverbHiFPvUl
AssignWorkBuffer__Q34nw4r3snd10FxReverbHiFPvUl:
/* 80370E78 0036CAD8  38 63 00 0C */	addi r3, r3, 0xc
/* 80370E7C 0036CADC  4B FF B8 68 */	b CreateHeap__Q44nw4r3snd6detail8AxfxImplFPvUl

.global ReleaseWorkBuffer__Q34nw4r3snd10FxReverbHiFv
ReleaseWorkBuffer__Q34nw4r3snd10FxReverbHiFv:
/* 80370E80 0036CAE0  38 63 00 0C */	addi r3, r3, 0xc
/* 80370E84 0036CAE4  4B FF B8 A8 */	b DestroyHeap__Q44nw4r3snd6detail8AxfxImplFv

.global StartUp__Q34nw4r3snd10FxReverbHiFv
StartUp__Q34nw4r3snd10FxReverbHiFv:
/* 80370E88 0036CAE8  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80370E8C 0036CAEC  7C 08 02 A6 */	mflr r0
/* 80370E90 0036CAF0  90 01 00 24 */	stw r0, 0x24(r1)
/* 80370E94 0036CAF4  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 80370E98 0036CAF8  93 C1 00 18 */	stw r30, 0x18(r1)
/* 80370E9C 0036CAFC  7C 7E 1B 78 */	mr r30, r3
/* 80370EA0 0036CB00  38 63 00 30 */	addi r3, r3, 0x30
/* 80370EA4 0036CB04  4B F2 14 C1 */	bl AXFXReverbHiGetMemSize
/* 80370EA8 0036CB08  80 9E 00 10 */	lwz r4, 0x10(r30)
/* 80370EAC 0036CB0C  38 03 00 87 */	addi r0, r3, 0x87
/* 80370EB0 0036CB10  54 03 00 34 */	rlwinm r3, r0, 0, 0, 0x1a
/* 80370EB4 0036CB14  80 04 00 1C */	lwz r0, 0x1c(r4)
/* 80370EB8 0036CB18  7C 04 00 50 */	subf r0, r4, r0
/* 80370EBC 0036CB1C  7C 03 00 40 */	cmplw r3, r0
/* 80370EC0 0036CB20  40 81 00 0C */	ble lbl_80370ECC
/* 80370EC4 0036CB24  38 60 00 00 */	li r3, 0
/* 80370EC8 0036CB28  48 00 00 54 */	b lbl_80370F1C
lbl_80370ECC:
/* 80370ECC 0036CB2C  38 7E 00 0C */	addi r3, r30, 0xc
/* 80370ED0 0036CB30  38 81 00 0C */	addi r4, r1, 0xc
/* 80370ED4 0036CB34  38 A1 00 08 */	addi r5, r1, 8
/* 80370ED8 0036CB38  4B FF B8 69 */	bl HookAlloc__Q44nw4r3snd6detail8AxfxImplFPPFUl_PvPPFPv_v
/* 80370EDC 0036CB3C  38 00 00 00 */	li r0, 0
/* 80370EE0 0036CB40  38 7E 00 30 */	addi r3, r30, 0x30
/* 80370EE4 0036CB44  90 0D B1 EC */	stw r0, lbl_806404AC-_SDA_BASE_(r13)
/* 80370EE8 0036CB48  4B F2 14 89 */	bl AXFXReverbHiInit
/* 80370EEC 0036CB4C  80 81 00 0C */	lwz r4, 0xc(r1)
/* 80370EF0 0036CB50  7C 7F 1B 78 */	mr r31, r3
/* 80370EF4 0036CB54  80 A1 00 08 */	lwz r5, 8(r1)
/* 80370EF8 0036CB58  38 7E 00 0C */	addi r3, r30, 0xc
/* 80370EFC 0036CB5C  4B FF B8 91 */	bl RestoreAlloc__Q44nw4r3snd6detail8AxfxImplFPFUl_PvPFPv_v
/* 80370F00 0036CB60  38 7E 00 30 */	addi r3, r30, 0x30
/* 80370F04 0036CB64  4B F2 14 61 */	bl AXFXReverbHiGetMemSize
/* 80370F08 0036CB68  7C 1F 00 D0 */	neg r0, r31
/* 80370F0C 0036CB6C  38 60 00 01 */	li r3, 1
/* 80370F10 0036CB70  7C 00 FB 78 */	or r0, r0, r31
/* 80370F14 0036CB74  98 7E 00 0C */	stb r3, 0xc(r30)
/* 80370F18 0036CB78  54 03 0F FE */	srwi r3, r0, 0x1f
lbl_80370F1C:
/* 80370F1C 0036CB7C  80 01 00 24 */	lwz r0, 0x24(r1)
/* 80370F20 0036CB80  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 80370F24 0036CB84  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 80370F28 0036CB88  7C 08 03 A6 */	mtlr r0
/* 80370F2C 0036CB8C  38 21 00 20 */	addi r1, r1, 0x20
/* 80370F30 0036CB90  4E 80 00 20 */	blr

.global Shutdown__Q34nw4r3snd10FxReverbHiFv
Shutdown__Q34nw4r3snd10FxReverbHiFv:
/* 80370F34 0036CB94  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80370F38 0036CB98  7C 08 02 A6 */	mflr r0
/* 80370F3C 0036CB9C  90 01 00 24 */	stw r0, 0x24(r1)
/* 80370F40 0036CBA0  38 00 00 00 */	li r0, 0
/* 80370F44 0036CBA4  38 81 00 0C */	addi r4, r1, 0xc
/* 80370F48 0036CBA8  38 A1 00 08 */	addi r5, r1, 8
/* 80370F4C 0036CBAC  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 80370F50 0036CBB0  7C 7F 1B 78 */	mr r31, r3
/* 80370F54 0036CBB4  9C 03 00 0C */	stbu r0, 0xc(r3)
/* 80370F58 0036CBB8  4B FF B7 E9 */	bl HookAlloc__Q44nw4r3snd6detail8AxfxImplFPPFUl_PvPPFPv_v
/* 80370F5C 0036CBBC  38 7F 00 30 */	addi r3, r31, 0x30
/* 80370F60 0036CBC0  4B F2 14 75 */	bl AXFXReverbHiShutdown
/* 80370F64 0036CBC4  80 81 00 0C */	lwz r4, 0xc(r1)
/* 80370F68 0036CBC8  38 7F 00 0C */	addi r3, r31, 0xc
/* 80370F6C 0036CBCC  80 A1 00 08 */	lwz r5, 8(r1)
/* 80370F70 0036CBD0  4B FF B8 1D */	bl RestoreAlloc__Q44nw4r3snd6detail8AxfxImplFPFUl_PvPFPv_v
/* 80370F74 0036CBD4  80 01 00 24 */	lwz r0, 0x24(r1)
/* 80370F78 0036CBD8  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 80370F7C 0036CBDC  7C 08 03 A6 */	mtlr r0
/* 80370F80 0036CBE0  38 21 00 20 */	addi r1, r1, 0x20
/* 80370F84 0036CBE4  4E 80 00 20 */	blr

.global SetParam__Q34nw4r3snd10FxReverbHiFRCQ44nw4r3snd10FxReverbHi13ReverbHiParam
SetParam__Q34nw4r3snd10FxReverbHiFRCQ44nw4r3snd10FxReverbHi13ReverbHiParam:
/* 80370F88 0036CBE8  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80370F8C 0036CBEC  7C 08 02 A6 */	mflr r0
/* 80370F90 0036CBF0  C0 A4 00 00 */	lfs f5, 0(r4)
/* 80370F94 0036CBF4  90 01 00 24 */	stw r0, 0x24(r1)
/* 80370F98 0036CBF8  C0 C2 A6 28 */	lfs f6, lbl_80642C28-_SDA2_BASE_(r2)
/* 80370F9C 0036CBFC  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 80370FA0 0036CC00  C0 84 00 04 */	lfs f4, 4(r4)
/* 80370FA4 0036CC04  FC 05 30 40 */	fcmpo cr0, f5, f6
/* 80370FA8 0036CC08  93 C1 00 18 */	stw r30, 0x18(r1)
/* 80370FAC 0036CC0C  7C 7E 1B 78 */	mr r30, r3
/* 80370FB0 0036CC10  C0 64 00 08 */	lfs f3, 8(r4)
/* 80370FB4 0036CC14  C0 44 00 0C */	lfs f2, 0xc(r4)
/* 80370FB8 0036CC18  C0 24 00 10 */	lfs f1, 0x10(r4)
/* 80370FBC 0036CC1C  C0 04 00 14 */	lfs f0, 0x14(r4)
/* 80370FC0 0036CC20  D0 A3 00 18 */	stfs f5, 0x18(r3)
/* 80370FC4 0036CC24  D0 83 00 1C */	stfs f4, 0x1c(r3)
/* 80370FC8 0036CC28  D0 63 00 20 */	stfs f3, 0x20(r3)
/* 80370FCC 0036CC2C  D0 43 00 24 */	stfs f2, 0x24(r3)
/* 80370FD0 0036CC30  D0 23 00 28 */	stfs f1, 0x28(r3)
/* 80370FD4 0036CC34  D0 03 00 2C */	stfs f0, 0x2c(r3)
/* 80370FD8 0036CC38  40 81 00 08 */	ble lbl_80370FE0
/* 80370FDC 0036CC3C  48 00 00 18 */	b lbl_80370FF4
lbl_80370FE0:
/* 80370FE0 0036CC40  C0 C2 A6 2C */	lfs f6, lbl_80642C2C-_SDA2_BASE_(r2)
/* 80370FE4 0036CC44  FC 05 30 40 */	fcmpo cr0, f5, f6
/* 80370FE8 0036CC48  40 80 00 08 */	bge lbl_80370FF0
/* 80370FEC 0036CC4C  48 00 00 08 */	b lbl_80370FF4
lbl_80370FF0:
/* 80370FF0 0036CC50  FC C0 28 90 */	fmr f6, f5
lbl_80370FF4:
/* 80370FF4 0036CC54  C0 04 00 04 */	lfs f0, 4(r4)
/* 80370FF8 0036CC58  C0 22 A6 30 */	lfs f1, lbl_80642C30-_SDA2_BASE_(r2)
/* 80370FFC 0036CC5C  D0 C3 01 88 */	stfs f6, 0x188(r3)
/* 80371000 0036CC60  FC 00 08 40 */	fcmpo cr0, f0, f1
/* 80371004 0036CC64  40 81 00 08 */	ble lbl_8037100C
/* 80371008 0036CC68  48 00 00 18 */	b lbl_80371020
lbl_8037100C:
/* 8037100C 0036CC6C  C0 22 A6 2C */	lfs f1, lbl_80642C2C-_SDA2_BASE_(r2)
/* 80371010 0036CC70  FC 00 08 40 */	fcmpo cr0, f0, f1
/* 80371014 0036CC74  40 80 00 08 */	bge lbl_8037101C
/* 80371018 0036CC78  48 00 00 08 */	b lbl_80371020
lbl_8037101C:
/* 8037101C 0036CC7C  FC 20 00 90 */	fmr f1, f0
lbl_80371020:
/* 80371020 0036CC80  C0 04 00 08 */	lfs f0, 8(r4)
/* 80371024 0036CC84  C0 42 A6 34 */	lfs f2, lbl_80642C34-_SDA2_BASE_(r2)
/* 80371028 0036CC88  D0 23 01 80 */	stfs f1, 0x180(r3)
/* 8037102C 0036CC8C  FC 00 10 40 */	fcmpo cr0, f0, f2
/* 80371030 0036CC90  40 81 00 08 */	ble lbl_80371038
/* 80371034 0036CC94  48 00 00 18 */	b lbl_8037104C
lbl_80371038:
/* 80371038 0036CC98  C0 42 A6 2C */	lfs f2, lbl_80642C2C-_SDA2_BASE_(r2)
/* 8037103C 0036CC9C  FC 00 10 40 */	fcmpo cr0, f0, f2
/* 80371040 0036CCA0  40 80 00 08 */	bge lbl_80371048
/* 80371044 0036CCA4  48 00 00 08 */	b lbl_8037104C
lbl_80371048:
/* 80371048 0036CCA8  FC 40 00 90 */	fmr f2, f0
lbl_8037104C:
/* 8037104C 0036CCAC  C0 04 00 0C */	lfs f0, 0xc(r4)
/* 80371050 0036CCB0  C0 22 A6 34 */	lfs f1, lbl_80642C34-_SDA2_BASE_(r2)
/* 80371054 0036CCB4  D0 43 01 78 */	stfs f2, 0x178(r3)
/* 80371058 0036CCB8  FC 00 08 40 */	fcmpo cr0, f0, f1
/* 8037105C 0036CCBC  40 81 00 08 */	ble lbl_80371064
/* 80371060 0036CCC0  48 00 00 18 */	b lbl_80371078
lbl_80371064:
/* 80371064 0036CCC4  C0 22 A6 2C */	lfs f1, lbl_80642C2C-_SDA2_BASE_(r2)
/* 80371068 0036CCC8  FC 00 08 40 */	fcmpo cr0, f0, f1
/* 8037106C 0036CCCC  40 80 00 08 */	bge lbl_80371074
/* 80371070 0036CCD0  48 00 00 08 */	b lbl_80371078
lbl_80371074:
/* 80371074 0036CCD4  FC 20 00 90 */	fmr f1, f0
lbl_80371078:
/* 80371078 0036CCD8  C0 04 00 10 */	lfs f0, 0x10(r4)
/* 8037107C 0036CCDC  C0 42 A6 34 */	lfs f2, lbl_80642C34-_SDA2_BASE_(r2)
/* 80371080 0036CCE0  D0 23 01 84 */	stfs f1, 0x184(r3)
/* 80371084 0036CCE4  FC 00 10 40 */	fcmpo cr0, f0, f2
/* 80371088 0036CCE8  40 81 00 08 */	ble lbl_80371090
/* 8037108C 0036CCEC  48 00 00 18 */	b lbl_803710A4
lbl_80371090:
/* 80371090 0036CCF0  C0 42 A6 2C */	lfs f2, lbl_80642C2C-_SDA2_BASE_(r2)
/* 80371094 0036CCF4  FC 00 10 40 */	fcmpo cr0, f0, f2
/* 80371098 0036CCF8  40 80 00 08 */	bge lbl_803710A0
/* 8037109C 0036CCFC  48 00 00 08 */	b lbl_803710A4
lbl_803710A0:
/* 803710A0 0036CD00  FC 40 00 90 */	fmr f2, f0
lbl_803710A4:
/* 803710A4 0036CD04  C0 04 00 14 */	lfs f0, 0x14(r4)
/* 803710A8 0036CD08  C0 22 A6 34 */	lfs f1, lbl_80642C34-_SDA2_BASE_(r2)
/* 803710AC 0036CD0C  D0 43 01 8C */	stfs f2, 0x18c(r3)
/* 803710B0 0036CD10  FC 00 08 40 */	fcmpo cr0, f0, f1
/* 803710B4 0036CD14  40 81 00 08 */	ble lbl_803710BC
/* 803710B8 0036CD18  48 00 00 18 */	b lbl_803710D0
lbl_803710BC:
/* 803710BC 0036CD1C  C0 22 A6 2C */	lfs f1, lbl_80642C2C-_SDA2_BASE_(r2)
/* 803710C0 0036CD20  FC 00 08 40 */	fcmpo cr0, f0, f1
/* 803710C4 0036CD24  40 80 00 08 */	bge lbl_803710CC
/* 803710C8 0036CD28  48 00 00 08 */	b lbl_803710D0
lbl_803710CC:
/* 803710CC 0036CD2C  FC 20 00 90 */	fmr f1, f0
lbl_803710D0:
/* 803710D0 0036CD30  88 03 00 0C */	lbz r0, 0xc(r3)
/* 803710D4 0036CD34  D0 23 01 7C */	stfs f1, 0x17c(r3)
/* 803710D8 0036CD38  2C 00 00 00 */	cmpwi r0, 0
/* 803710DC 0036CD3C  40 82 00 0C */	bne lbl_803710E8
/* 803710E0 0036CD40  38 60 00 01 */	li r3, 1
/* 803710E4 0036CD44  48 00 00 68 */	b lbl_8037114C
lbl_803710E8:
/* 803710E8 0036CD48  38 63 00 30 */	addi r3, r3, 0x30
/* 803710EC 0036CD4C  4B F2 12 79 */	bl AXFXReverbHiGetMemSize
/* 803710F0 0036CD50  80 9E 00 10 */	lwz r4, 0x10(r30)
/* 803710F4 0036CD54  38 03 00 87 */	addi r0, r3, 0x87
/* 803710F8 0036CD58  54 03 00 34 */	rlwinm r3, r0, 0, 0, 0x1a
/* 803710FC 0036CD5C  80 04 00 1C */	lwz r0, 0x1c(r4)
/* 80371100 0036CD60  7C 04 00 50 */	subf r0, r4, r0
/* 80371104 0036CD64  7C 03 00 40 */	cmplw r3, r0
/* 80371108 0036CD68  40 81 00 0C */	ble lbl_80371114
/* 8037110C 0036CD6C  38 60 00 00 */	li r3, 0
/* 80371110 0036CD70  48 00 00 3C */	b lbl_8037114C
lbl_80371114:
/* 80371114 0036CD74  38 7E 00 0C */	addi r3, r30, 0xc
/* 80371118 0036CD78  38 81 00 0C */	addi r4, r1, 0xc
/* 8037111C 0036CD7C  38 A1 00 08 */	addi r5, r1, 8
/* 80371120 0036CD80  4B FF B6 21 */	bl HookAlloc__Q44nw4r3snd6detail8AxfxImplFPPFUl_PvPPFPv_v
/* 80371124 0036CD84  38 7E 00 30 */	addi r3, r30, 0x30
/* 80371128 0036CD88  4B F2 12 D1 */	bl AXFXReverbHiSettings
/* 8037112C 0036CD8C  80 81 00 0C */	lwz r4, 0xc(r1)
/* 80371130 0036CD90  7C 7F 1B 78 */	mr r31, r3
/* 80371134 0036CD94  80 A1 00 08 */	lwz r5, 8(r1)
/* 80371138 0036CD98  38 7E 00 0C */	addi r3, r30, 0xc
/* 8037113C 0036CD9C  4B FF B6 51 */	bl RestoreAlloc__Q44nw4r3snd6detail8AxfxImplFPFUl_PvPFPv_v
/* 80371140 0036CDA0  7C 1F 00 D0 */	neg r0, r31
/* 80371144 0036CDA4  7C 00 FB 78 */	or r0, r0, r31
/* 80371148 0036CDA8  54 03 0F FE */	srwi r3, r0, 0x1f
lbl_8037114C:
/* 8037114C 0036CDAC  80 01 00 24 */	lwz r0, 0x24(r1)
/* 80371150 0036CDB0  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 80371154 0036CDB4  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 80371158 0036CDB8  7C 08 03 A6 */	mtlr r0
/* 8037115C 0036CDBC  38 21 00 20 */	addi r1, r1, 0x20
/* 80371160 0036CDC0  4E 80 00 20 */	blr

.global UpdateBuffer__Q34nw4r3snd10FxReverbHiFiPPvUlQ34nw4r3snd12SampleFormatfQ34nw4r3snd10OutputMode
UpdateBuffer__Q34nw4r3snd10FxReverbHiFiPPvUlQ34nw4r3snd12SampleFormatfQ34nw4r3snd10OutputMode:
/* 80371164 0036CDC4  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80371168 0036CDC8  7C 08 02 A6 */	mflr r0
/* 8037116C 0036CDCC  7C 64 1B 78 */	mr r4, r3
/* 80371170 0036CDD0  90 01 00 24 */	stw r0, 0x24(r1)
/* 80371174 0036CDD4  38 61 00 08 */	addi r3, r1, 8
/* 80371178 0036CDD8  38 84 00 30 */	addi r4, r4, 0x30
/* 8037117C 0036CDDC  80 05 00 00 */	lwz r0, 0(r5)
/* 80371180 0036CDE0  90 01 00 08 */	stw r0, 8(r1)
/* 80371184 0036CDE4  80 05 00 04 */	lwz r0, 4(r5)
/* 80371188 0036CDE8  90 01 00 0C */	stw r0, 0xc(r1)
/* 8037118C 0036CDEC  80 05 00 08 */	lwz r0, 8(r5)
/* 80371190 0036CDF0  90 01 00 10 */	stw r0, 0x10(r1)
/* 80371194 0036CDF4  4B F2 12 C9 */	bl AXFXReverbHiCallback
/* 80371198 0036CDF8  80 01 00 24 */	lwz r0, 0x24(r1)
/* 8037119C 0036CDFC  7C 08 03 A6 */	mtlr r0
/* 803711A0 0036CE00  38 21 00 20 */	addi r1, r1, 0x20
/* 803711A4 0036CE04  4E 80 00 20 */	blr