diff options
author | Max <mparisi@stevens.edu> | 2020-09-26 22:26:05 -0400 |
---|---|---|
committer | Max <mparisi@stevens.edu> | 2020-09-26 22:26:05 -0400 |
commit | 87bb7c407150786d00adfb3bb134bf96deaa731d (patch) | |
tree | 2f1d9f0e7d111a7aa471f80cdbd8970f3bfe4c69 | |
parent | a7c6f37ddc6efd85304779794d7a487e26ab96cf (diff) |
split snd_Util.s
-rw-r--r-- | asm/nw4r/snd/detail/snd_Util.s | 353 | ||||
-rw-r--r-- | asm/text_11.s | 350 | ||||
-rw-r--r-- | obj_files.mk | 1 |
3 files changed, 354 insertions, 350 deletions
diff --git a/asm/nw4r/snd/detail/snd_Util.s b/asm/nw4r/snd/detail/snd_Util.s new file mode 100644 index 0000000..cfc7569 --- /dev/null +++ b/asm/nw4r/snd/detail/snd_Util.s @@ -0,0 +1,353 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global CalcPitchRatio__Q44nw4r3snd6detail4UtilFi
+CalcPitchRatio__Q44nw4r3snd6detail4UtilFi:
+/* 80382FA8 0037EC08 20 A3 0B FF */ subfic r5, r3, 0xbff
+/* 80382FAC 0037EC0C 38 00 0C 00 */ li r0, 0xc00
+/* 80382FB0 0037EC10 7C A5 03 96 */ divwu r5, r5, r0
+/* 80382FB4 0037EC14 2C 03 00 00 */ cmpwi r3, 0
+/* 80382FB8 0037EC18 C0 22 A7 A8 */ lfs f1, lbl_80642DA8-_SDA2_BASE_(r2)
+/* 80382FBC 0037EC1C 38 C0 00 00 */ li r6, 0
+/* 80382FC0 0037EC20 40 80 00 34 */ bge lbl_80382FF4
+/* 80382FC4 0037EC24 54 A4 E8 FF */ rlwinm. r4, r5, 0x1d, 3, 0x1f
+/* 80382FC8 0037EC28 1C 05 0C 00 */ mulli r0, r5, 0xc00
+/* 80382FCC 0037EC2C 7C 89 03 A6 */ mtctr r4
+/* 80382FD0 0037EC30 41 82 00 14 */ beq lbl_80382FE4
+lbl_80382FD4:
+/* 80382FD4 0037EC34 38 C6 FF F8 */ addi r6, r6, -8
+/* 80382FD8 0037EC38 42 00 FF FC */ bdnz lbl_80382FD4
+/* 80382FDC 0037EC3C 70 A5 00 07 */ andi. r5, r5, 7
+/* 80382FE0 0037EC40 41 82 00 10 */ beq lbl_80382FF0
+lbl_80382FE4:
+/* 80382FE4 0037EC44 7C A9 03 A6 */ mtctr r5
+lbl_80382FE8:
+/* 80382FE8 0037EC48 38 C6 FF FF */ addi r6, r6, -1
+/* 80382FEC 0037EC4C 42 00 FF FC */ bdnz lbl_80382FE8
+lbl_80382FF0:
+/* 80382FF0 0037EC50 7C 63 02 14 */ add r3, r3, r0
+lbl_80382FF4:
+/* 80382FF4 0037EC54 38 00 0C 00 */ li r0, 0xc00
+/* 80382FF8 0037EC58 2C 03 0C 00 */ cmpwi r3, 0xc00
+/* 80382FFC 0037EC5C 7C A3 03 96 */ divwu r5, r3, r0
+/* 80383000 0037EC60 41 80 00 34 */ blt lbl_80383034
+/* 80383004 0037EC64 54 A4 E8 FF */ rlwinm. r4, r5, 0x1d, 3, 0x1f
+/* 80383008 0037EC68 1C 05 F4 00 */ mulli r0, r5, -3072
+/* 8038300C 0037EC6C 7C 89 03 A6 */ mtctr r4
+/* 80383010 0037EC70 41 82 00 14 */ beq lbl_80383024
+lbl_80383014:
+/* 80383014 0037EC74 38 C6 00 08 */ addi r6, r6, 8
+/* 80383018 0037EC78 42 00 FF FC */ bdnz lbl_80383014
+/* 8038301C 0037EC7C 70 A5 00 07 */ andi. r5, r5, 7
+/* 80383020 0037EC80 41 82 00 10 */ beq lbl_80383030
+lbl_80383024:
+/* 80383024 0037EC84 7C A9 03 A6 */ mtctr r5
+lbl_80383028:
+/* 80383028 0037EC88 38 C6 00 01 */ addi r6, r6, 1
+/* 8038302C 0037EC8C 42 00 FF FC */ bdnz lbl_80383028
+lbl_80383030:
+/* 80383030 0037EC90 7C 63 02 14 */ add r3, r3, r0
+lbl_80383034:
+/* 80383034 0037EC94 2C 06 00 00 */ cmpwi r6, 0
+/* 80383038 0037EC98 C0 02 A7 AC */ lfs f0, lbl_80642DAC-_SDA2_BASE_(r2)
+/* 8038303C 0037EC9C 7C C5 33 78 */ mr r5, r6
+/* 80383040 0037ECA0 40 81 00 50 */ ble lbl_80383090
+/* 80383044 0037ECA4 54 C4 E8 FF */ rlwinm. r4, r6, 0x1d, 3, 0x1f
+/* 80383048 0037ECA8 7C 06 00 D0 */ neg r0, r6
+/* 8038304C 0037ECAC 7C 89 03 A6 */ mtctr r4
+/* 80383050 0037ECB0 41 82 00 30 */ beq lbl_80383080
+lbl_80383054:
+/* 80383054 0037ECB4 EC 21 00 32 */ fmuls f1, f1, f0
+/* 80383058 0037ECB8 EC 21 00 32 */ fmuls f1, f1, f0
+/* 8038305C 0037ECBC EC 21 00 32 */ fmuls f1, f1, f0
+/* 80383060 0037ECC0 EC 21 00 32 */ fmuls f1, f1, f0
+/* 80383064 0037ECC4 EC 21 00 32 */ fmuls f1, f1, f0
+/* 80383068 0037ECC8 EC 21 00 32 */ fmuls f1, f1, f0
+/* 8038306C 0037ECCC EC 21 00 32 */ fmuls f1, f1, f0
+/* 80383070 0037ECD0 EC 21 00 32 */ fmuls f1, f1, f0
+/* 80383074 0037ECD4 42 00 FF E0 */ bdnz lbl_80383054
+/* 80383078 0037ECD8 70 C5 00 07 */ andi. r5, r6, 7
+/* 8038307C 0037ECDC 41 82 00 10 */ beq lbl_8038308C
+lbl_80383080:
+/* 80383080 0037ECE0 7C A9 03 A6 */ mtctr r5
+lbl_80383084:
+/* 80383084 0037ECE4 EC 21 00 32 */ fmuls f1, f1, f0
+/* 80383088 0037ECE8 42 00 FF FC */ bdnz lbl_80383084
+lbl_8038308C:
+/* 8038308C 0037ECEC 7C C6 02 14 */ add r6, r6, r0
+lbl_80383090:
+/* 80383090 0037ECF0 2C 06 00 00 */ cmpwi r6, 0
+/* 80383094 0037ECF4 C0 02 A7 B0 */ lfs f0, lbl_80642DB0-_SDA2_BASE_(r2)
+/* 80383098 0037ECF8 7C 86 00 D0 */ neg r4, r6
+/* 8038309C 0037ECFC 40 80 00 48 */ bge lbl_803830E4
+/* 803830A0 0037ED00 54 80 E8 FF */ rlwinm. r0, r4, 0x1d, 3, 0x1f
+/* 803830A4 0037ED04 7C 09 03 A6 */ mtctr r0
+/* 803830A8 0037ED08 41 82 00 30 */ beq lbl_803830D8
+lbl_803830AC:
+/* 803830AC 0037ED0C EC 21 00 32 */ fmuls f1, f1, f0
+/* 803830B0 0037ED10 EC 21 00 32 */ fmuls f1, f1, f0
+/* 803830B4 0037ED14 EC 21 00 32 */ fmuls f1, f1, f0
+/* 803830B8 0037ED18 EC 21 00 32 */ fmuls f1, f1, f0
+/* 803830BC 0037ED1C EC 21 00 32 */ fmuls f1, f1, f0
+/* 803830C0 0037ED20 EC 21 00 32 */ fmuls f1, f1, f0
+/* 803830C4 0037ED24 EC 21 00 32 */ fmuls f1, f1, f0
+/* 803830C8 0037ED28 EC 21 00 32 */ fmuls f1, f1, f0
+/* 803830CC 0037ED2C 42 00 FF E0 */ bdnz lbl_803830AC
+/* 803830D0 0037ED30 70 84 00 07 */ andi. r4, r4, 7
+/* 803830D4 0037ED34 41 82 00 10 */ beq lbl_803830E4
+lbl_803830D8:
+/* 803830D8 0037ED38 7C 89 03 A6 */ mtctr r4
+lbl_803830DC:
+/* 803830DC 0037ED3C EC 21 00 32 */ fmuls f1, f1, f0
+/* 803830E0 0037ED40 42 00 FF FC */ bdnz lbl_803830DC
+lbl_803830E4:
+/* 803830E4 0037ED44 7C 64 46 70 */ srawi r4, r3, 8
+/* 803830E8 0037ED48 54 60 C0 0E */ slwi r0, r3, 0x18
+/* 803830EC 0037ED4C 54 63 0F FE */ srwi r3, r3, 0x1f
+/* 803830F0 0037ED50 7C 03 00 50 */ subf r0, r3, r0
+/* 803830F4 0037ED54 7C A4 01 95 */ addze. r5, r4
+/* 803830F8 0037ED58 54 00 40 3E */ rotlwi r0, r0, 8
+/* 803830FC 0037ED5C 7C 60 1A 14 */ add r3, r0, r3
+/* 80383100 0037ED60 41 82 00 18 */ beq lbl_80383118
+/* 80383104 0037ED64 3C 80 80 40 */ lis r4, lbl_80402948@ha
+/* 80383108 0037ED68 54 A0 10 3A */ slwi r0, r5, 2
+/* 8038310C 0037ED6C 38 84 29 48 */ addi r4, r4, lbl_80402948@l
+/* 80383110 0037ED70 7C 04 04 2E */ lfsx f0, r4, r0
+/* 80383114 0037ED74 EC 21 00 32 */ fmuls f1, f1, f0
+lbl_80383118:
+/* 80383118 0037ED78 2C 03 00 00 */ cmpwi r3, 0
+/* 8038311C 0037ED7C 4D 82 00 20 */ beqlr
+/* 80383120 0037ED80 3C 80 80 40 */ lis r4, lbl_80402978@ha
+/* 80383124 0037ED84 54 60 10 3A */ slwi r0, r3, 2
+/* 80383128 0037ED88 38 84 29 78 */ addi r4, r4, lbl_80402978@l
+/* 8038312C 0037ED8C 7C 04 04 2E */ lfsx f0, r4, r0
+/* 80383130 0037ED90 EC 21 00 32 */ fmuls f1, f1, f0
+/* 80383134 0037ED94 4E 80 00 20 */ blr
+
+.global CalcVolumeRatio__Q44nw4r3snd6detail4UtilFf
+CalcVolumeRatio__Q44nw4r3snd6detail4UtilFf:
+/* 80383138 0037ED98 C0 42 A7 B4 */ lfs f2, lbl_80642DB4-_SDA2_BASE_(r2)
+/* 8038313C 0037ED9C 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80383140 0037EDA0 FC 01 10 40 */ fcmpo cr0, f1, f2
+/* 80383144 0037EDA4 40 81 00 08 */ ble lbl_8038314C
+/* 80383148 0037EDA8 48 00 00 18 */ b lbl_80383160
+lbl_8038314C:
+/* 8038314C 0037EDAC C0 42 A7 B8 */ lfs f2, lbl_80642DB8-_SDA2_BASE_(r2)
+/* 80383150 0037EDB0 FC 01 10 40 */ fcmpo cr0, f1, f2
+/* 80383154 0037EDB4 40 80 00 08 */ bge lbl_8038315C
+/* 80383158 0037EDB8 48 00 00 08 */ b lbl_80383160
+lbl_8038315C:
+/* 8038315C 0037EDBC FC 40 08 90 */ fmr f2, f1
+lbl_80383160:
+/* 80383160 0037EDC0 C0 02 A7 BC */ lfs f0, lbl_80642DBC-_SDA2_BASE_(r2)
+/* 80383164 0037EDC4 3C 60 80 40 */ lis r3, lbl_80402D78@ha
+/* 80383168 0037EDC8 38 63 2D 78 */ addi r3, r3, lbl_80402D78@l
+/* 8038316C 0037EDCC EC 00 00 B2 */ fmuls f0, f0, f2
+/* 80383170 0037EDD0 FC 00 00 1E */ fctiwz f0, f0
+/* 80383174 0037EDD4 D8 01 00 08 */ stfd f0, 8(r1)
+/* 80383178 0037EDD8 80 81 00 0C */ lwz r4, 0xc(r1)
+/* 8038317C 0037EDDC 38 04 03 88 */ addi r0, r4, 0x388
+/* 80383180 0037EDE0 54 00 10 3A */ slwi r0, r0, 2
+/* 80383184 0037EDE4 7C 23 04 2E */ lfsx f1, r3, r0
+/* 80383188 0037EDE8 38 21 00 10 */ addi r1, r1, 0x10
+/* 8038318C 0037EDEC 4E 80 00 20 */ blr
+
+.global CalcPanRatio__Q44nw4r3snd6detail4UtilFfRCQ54nw4r3snd6detail4Util7PanInfo
+CalcPanRatio__Q44nw4r3snd6detail4UtilFfRCQ54nw4r3snd6detail4Util7PanInfo:
+/* 80383190 0037EDF0 C0 42 A7 A8 */ lfs f2, lbl_80642DA8-_SDA2_BASE_(r2)
+/* 80383194 0037EDF4 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80383198 0037EDF8 FC 01 10 40 */ fcmpo cr0, f1, f2
+/* 8038319C 0037EDFC 40 81 00 08 */ ble lbl_803831A4
+/* 803831A0 0037EE00 48 00 00 18 */ b lbl_803831B8
+lbl_803831A4:
+/* 803831A4 0037EE04 C0 42 A7 C0 */ lfs f2, lbl_80642DC0-_SDA2_BASE_(r2)
+/* 803831A8 0037EE08 FC 01 10 40 */ fcmpo cr0, f1, f2
+/* 803831AC 0037EE0C 40 80 00 08 */ bge lbl_803831B4
+/* 803831B0 0037EE10 48 00 00 08 */ b lbl_803831B8
+lbl_803831B4:
+/* 803831B4 0037EE14 FC 40 08 90 */ fmr f2, f1
+lbl_803831B8:
+/* 803831B8 0037EE18 C0 02 A7 A8 */ lfs f0, lbl_80642DA8-_SDA2_BASE_(r2)
+/* 803831BC 0037EE1C 3C 80 80 45 */ lis r4, lbl_8044D040@ha
+/* 803831C0 0037EE20 80 03 00 00 */ lwz r0, 0(r3)
+/* 803831C4 0037EE24 38 84 D0 40 */ addi r4, r4, lbl_8044D040@l
+/* 803831C8 0037EE28 EC 20 10 2A */ fadds f1, f0, f2
+/* 803831CC 0037EE2C C0 42 A7 B0 */ lfs f2, lbl_80642DB0-_SDA2_BASE_(r2)
+/* 803831D0 0037EE30 54 05 10 3A */ slwi r5, r0, 2
+/* 803831D4 0037EE34 88 03 00 04 */ lbz r0, 4(r3)
+/* 803831D8 0037EE38 C0 02 A7 C4 */ lfs f0, lbl_80642DC4-_SDA2_BASE_(r2)
+/* 803831DC 0037EE3C EC 21 00 B2 */ fmuls f1, f1, f2
+/* 803831E0 0037EE40 2C 00 00 00 */ cmpwi r0, 0
+/* 803831E4 0037EE44 7C 84 28 2E */ lwzx r4, r4, r5
+/* 803831E8 0037EE48 EC 00 00 72 */ fmuls f0, f0, f1
+/* 803831EC 0037EE4C EC 02 00 2A */ fadds f0, f2, f0
+/* 803831F0 0037EE50 FC 00 00 1E */ fctiwz f0, f0
+/* 803831F4 0037EE54 D8 01 00 08 */ stfd f0, 8(r1)
+/* 803831F8 0037EE58 80 01 00 0C */ lwz r0, 0xc(r1)
+/* 803831FC 0037EE5C 54 00 10 3A */ slwi r0, r0, 2
+/* 80383200 0037EE60 7C 44 04 2E */ lfsx f2, r4, r0
+/* 80383204 0037EE64 41 82 00 0C */ beq lbl_80383210
+/* 80383208 0037EE68 C0 04 02 00 */ lfs f0, 0x200(r4)
+/* 8038320C 0037EE6C EC 42 00 24 */ fdivs f2, f2, f0
+lbl_80383210:
+/* 80383210 0037EE70 88 03 00 05 */ lbz r0, 5(r3)
+/* 80383214 0037EE74 2C 00 00 00 */ cmpwi r0, 0
+/* 80383218 0037EE78 41 82 00 2C */ beq lbl_80383244
+/* 8038321C 0037EE7C C0 22 A7 A8 */ lfs f1, lbl_80642DA8-_SDA2_BASE_(r2)
+/* 80383220 0037EE80 FC 02 08 40 */ fcmpo cr0, f2, f1
+/* 80383224 0037EE84 40 81 00 08 */ ble lbl_8038322C
+/* 80383228 0037EE88 48 00 00 40 */ b lbl_80383268
+lbl_8038322C:
+/* 8038322C 0037EE8C C0 22 A7 C8 */ lfs f1, lbl_80642DC8-_SDA2_BASE_(r2)
+/* 80383230 0037EE90 FC 02 08 40 */ fcmpo cr0, f2, f1
+/* 80383234 0037EE94 40 80 00 08 */ bge lbl_8038323C
+/* 80383238 0037EE98 48 00 00 30 */ b lbl_80383268
+lbl_8038323C:
+/* 8038323C 0037EE9C FC 20 10 90 */ fmr f1, f2
+/* 80383240 0037EEA0 48 00 00 28 */ b lbl_80383268
+lbl_80383244:
+/* 80383244 0037EEA4 C0 22 A7 AC */ lfs f1, lbl_80642DAC-_SDA2_BASE_(r2)
+/* 80383248 0037EEA8 FC 02 08 40 */ fcmpo cr0, f2, f1
+/* 8038324C 0037EEAC 40 81 00 08 */ ble lbl_80383254
+/* 80383250 0037EEB0 48 00 00 18 */ b lbl_80383268
+lbl_80383254:
+/* 80383254 0037EEB4 C0 22 A7 C8 */ lfs f1, lbl_80642DC8-_SDA2_BASE_(r2)
+/* 80383258 0037EEB8 FC 02 08 40 */ fcmpo cr0, f2, f1
+/* 8038325C 0037EEBC 40 80 00 08 */ bge lbl_80383264
+/* 80383260 0037EEC0 48 00 00 08 */ b lbl_80383268
+lbl_80383264:
+/* 80383264 0037EEC4 FC 20 10 90 */ fmr f1, f2
+lbl_80383268:
+/* 80383268 0037EEC8 38 21 00 10 */ addi r1, r1, 0x10
+/* 8038326C 0037EECC 4E 80 00 20 */ blr
+
+.global CalcSurroundPanRatio__Q44nw4r3snd6detail4UtilFfRCQ54nw4r3snd6detail4Util7PanInfo
+CalcSurroundPanRatio__Q44nw4r3snd6detail4UtilFfRCQ54nw4r3snd6detail4Util7PanInfo:
+/* 80383270 0037EED0 C0 02 A7 AC */ lfs f0, lbl_80642DAC-_SDA2_BASE_(r2)
+/* 80383274 0037EED4 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80383278 0037EED8 FC 01 00 40 */ fcmpo cr0, f1, f0
+/* 8038327C 0037EEDC 40 81 00 08 */ ble lbl_80383284
+/* 80383280 0037EEE0 48 00 00 18 */ b lbl_80383298
+lbl_80383284:
+/* 80383284 0037EEE4 C0 02 A7 C8 */ lfs f0, lbl_80642DC8-_SDA2_BASE_(r2)
+/* 80383288 0037EEE8 FC 01 00 40 */ fcmpo cr0, f1, f0
+/* 8038328C 0037EEEC 40 80 00 08 */ bge lbl_80383294
+/* 80383290 0037EEF0 48 00 00 08 */ b lbl_80383298
+lbl_80383294:
+/* 80383294 0037EEF4 FC 00 08 90 */ fmr f0, f1
+lbl_80383298:
+/* 80383298 0037EEF8 C0 42 A7 B0 */ lfs f2, lbl_80642DB0-_SDA2_BASE_(r2)
+/* 8038329C 0037EEFC 3C 80 80 45 */ lis r4, lbl_8044D040@ha
+/* 803832A0 0037EF00 80 03 00 00 */ lwz r0, 0(r3)
+/* 803832A4 0037EF04 38 84 D0 40 */ addi r4, r4, lbl_8044D040@l
+/* 803832A8 0037EF08 EC 20 00 B2 */ fmuls f1, f0, f2
+/* 803832AC 0037EF0C C0 02 A7 C4 */ lfs f0, lbl_80642DC4-_SDA2_BASE_(r2)
+/* 803832B0 0037EF10 54 00 10 3A */ slwi r0, r0, 2
+/* 803832B4 0037EF14 C0 62 A7 AC */ lfs f3, lbl_80642DAC-_SDA2_BASE_(r2)
+/* 803832B8 0037EF18 7C 64 00 2E */ lwzx r3, r4, r0
+/* 803832BC 0037EF1C EC 00 00 72 */ fmuls f0, f0, f1
+/* 803832C0 0037EF20 EC 02 00 2A */ fadds f0, f2, f0
+/* 803832C4 0037EF24 FC 00 00 1E */ fctiwz f0, f0
+/* 803832C8 0037EF28 D8 01 00 08 */ stfd f0, 8(r1)
+/* 803832CC 0037EF2C 80 01 00 0C */ lwz r0, 0xc(r1)
+/* 803832D0 0037EF30 54 00 10 3A */ slwi r0, r0, 2
+/* 803832D4 0037EF34 7C 03 04 2E */ lfsx f0, r3, r0
+/* 803832D8 0037EF38 FC 00 18 40 */ fcmpo cr0, f0, f3
+/* 803832DC 0037EF3C 40 81 00 08 */ ble lbl_803832E4
+/* 803832E0 0037EF40 48 00 00 18 */ b lbl_803832F8
+lbl_803832E4:
+/* 803832E4 0037EF44 C0 62 A7 C8 */ lfs f3, lbl_80642DC8-_SDA2_BASE_(r2)
+/* 803832E8 0037EF48 FC 00 18 40 */ fcmpo cr0, f0, f3
+/* 803832EC 0037EF4C 40 80 00 08 */ bge lbl_803832F4
+/* 803832F0 0037EF50 48 00 00 08 */ b lbl_803832F8
+lbl_803832F4:
+/* 803832F4 0037EF54 FC 60 00 90 */ fmr f3, f0
+lbl_803832F8:
+/* 803832F8 0037EF58 FC 20 18 90 */ fmr f1, f3
+/* 803832FC 0037EF5C 38 21 00 10 */ addi r1, r1, 0x10
+/* 80383300 0037EF60 4E 80 00 20 */ blr
+
+.global CalcLpfFreq__Q44nw4r3snd6detail4UtilFf
+CalcLpfFreq__Q44nw4r3snd6detail4UtilFf:
+/* 80383304 0037EF64 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80383308 0037EF68 7C 08 02 A6 */ mflr r0
+/* 8038330C 0037EF6C C0 42 A7 A8 */ lfs f2, lbl_80642DA8-_SDA2_BASE_(r2)
+/* 80383310 0037EF70 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80383314 0037EF74 FC 01 10 40 */ fcmpo cr0, f1, f2
+/* 80383318 0037EF78 40 81 00 08 */ ble lbl_80383320
+/* 8038331C 0037EF7C 48 00 00 18 */ b lbl_80383334
+lbl_80383320:
+/* 80383320 0037EF80 C0 42 A7 C8 */ lfs f2, lbl_80642DC8-_SDA2_BASE_(r2)
+/* 80383324 0037EF84 FC 01 10 40 */ fcmpo cr0, f1, f2
+/* 80383328 0037EF88 40 80 00 08 */ bge lbl_80383330
+/* 8038332C 0037EF8C 48 00 00 08 */ b lbl_80383334
+lbl_80383330:
+/* 80383330 0037EF90 FC 40 08 90 */ fmr f2, f1
+lbl_80383334:
+/* 80383334 0037EF94 C8 22 A7 E8 */ lfd f1, lbl_80642DE8-_SDA2_BASE_(r2)
+/* 80383338 0037EF98 C8 02 A7 E0 */ lfd f0, lbl_80642DE0-_SDA2_BASE_(r2)
+/* 8038333C 0037EF9C FC 42 08 28 */ fsub f2, f2, f1
+/* 80383340 0037EFA0 C8 22 A7 D8 */ lfd f1, lbl_80642DD8-_SDA2_BASE_(r2)
+/* 80383344 0037EFA4 FC 40 00 B2 */ fmul f2, f0, f2
+/* 80383348 0037EFA8 4B E5 12 9D */ bl func_801D45E4
+/* 8038334C 0037EFAC C8 02 A7 D0 */ lfd f0, lbl_80642DD0-_SDA2_BASE_(r2)
+/* 80383350 0037EFB0 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80383354 0037EFB4 FC 00 00 72 */ fmul f0, f0, f1
+/* 80383358 0037EFB8 FC 00 00 1E */ fctiwz f0, f0
+/* 8038335C 0037EFBC D8 01 00 08 */ stfd f0, 8(r1)
+/* 80383360 0037EFC0 80 61 00 0C */ lwz r3, 0xc(r1)
+/* 80383364 0037EFC4 7C 08 03 A6 */ mtlr r0
+/* 80383368 0037EFC8 38 21 00 10 */ addi r1, r1, 0x10
+/* 8038336C 0037EFCC 4E 80 00 20 */ blr
+
+.global GetRemoteFilterCoefs__Q44nw4r3snd6detail4UtilFiPUsPUsPUsPUsPUs
+GetRemoteFilterCoefs__Q44nw4r3snd6detail4UtilFiPUsPUsPUsPUsPUs:
+/* 80383370 0037EFD0 2C 03 00 7F */ cmpwi r3, 0x7f
+/* 80383374 0037EFD4 40 81 00 0C */ ble lbl_80383380
+/* 80383378 0037EFD8 38 00 00 7F */ li r0, 0x7f
+/* 8038337C 0037EFDC 48 00 00 0C */ b lbl_80383388
+lbl_80383380:
+/* 80383380 0037EFE0 7C 60 FE 70 */ srawi r0, r3, 0x1f
+/* 80383384 0037EFE4 7C 60 00 78 */ andc r0, r3, r0
+lbl_80383388:
+/* 80383388 0037EFE8 1D 20 00 0A */ mulli r9, r0, 0xa
+/* 8038338C 0037EFEC 3C 60 80 40 */ lis r3, lbl_80404898@ha
+/* 80383390 0037EFF0 38 63 48 98 */ addi r3, r3, lbl_80404898@l
+/* 80383394 0037EFF4 7C 03 4A 2E */ lhzx r0, r3, r9
+/* 80383398 0037EFF8 7D 23 4A 14 */ add r9, r3, r9
+/* 8038339C 0037EFFC A0 69 00 02 */ lhz r3, 2(r9)
+/* 803833A0 0037F000 B0 04 00 00 */ sth r0, 0(r4)
+/* 803833A4 0037F004 A0 09 00 04 */ lhz r0, 4(r9)
+/* 803833A8 0037F008 B0 65 00 00 */ sth r3, 0(r5)
+/* 803833AC 0037F00C A0 69 00 06 */ lhz r3, 6(r9)
+/* 803833B0 0037F010 B0 06 00 00 */ sth r0, 0(r6)
+/* 803833B4 0037F014 A0 09 00 08 */ lhz r0, 8(r9)
+/* 803833B8 0037F018 B0 67 00 00 */ sth r3, 0(r7)
+/* 803833BC 0037F01C B0 08 00 00 */ sth r0, 0(r8)
+/* 803833C0 0037F020 4E 80 00 20 */ blr
+
+.global CalcRandom__Q44nw4r3snd6detail4UtilFv
+CalcRandom__Q44nw4r3snd6detail4UtilFv:
+/* 803833C4 0037F024 3C 60 00 19 */ lis r3, 0x0019660D@ha
+/* 803833C8 0037F028 80 8D 95 38 */ lwz r4, lbl_8063E7F8-_SDA_BASE_(r13)
+/* 803833CC 0037F02C 38 03 66 0D */ addi r0, r3, 0x0019660D@l
+/* 803833D0 0037F030 7C 64 01 D6 */ mullw r3, r4, r0
+/* 803833D4 0037F034 3C 63 3C 6F */ addis r3, r3, 0x3c6f
+/* 803833D8 0037F038 38 03 F3 5F */ addi r0, r3, -3233
+/* 803833DC 0037F03C 90 0D 95 38 */ stw r0, lbl_8063E7F8-_SDA_BASE_(r13)
+/* 803833E0 0037F040 54 03 84 3E */ srwi r3, r0, 0x10
+/* 803833E4 0037F044 4E 80 00 20 */ blr
+
+.global GetDataRefAddressImpl__Q44nw4r3snd6detail4UtilFQ54nw4r3snd6detail4Util7RefTypeUlPCv
+GetDataRefAddressImpl__Q44nw4r3snd6detail4UtilFQ54nw4r3snd6detail4Util7RefTypeUlPCv:
+/* 803833E8 0037F048 2C 03 00 01 */ cmpwi r3, 1
+/* 803833EC 0037F04C 40 82 00 0C */ bne lbl_803833F8
+/* 803833F0 0037F050 7C 64 2A 14 */ add r3, r4, r5
+/* 803833F4 0037F054 4E 80 00 20 */ blr
+lbl_803833F8:
+/* 803833F8 0037F058 2C 03 00 00 */ cmpwi r3, 0
+/* 803833FC 0037F05C 38 60 00 00 */ li r3, 0
+/* 80383400 0037F060 4C 82 00 20 */ bnelr
+/* 80383404 0037F064 7C 83 23 78 */ mr r3, r4
+/* 80383408 0037F068 4E 80 00 20 */ blr
diff --git a/asm/text_11.s b/asm/text_11.s index f53844f..91532dc 100644 --- a/asm/text_11.s +++ b/asm/text_11.s @@ -2,356 +2,6 @@ .section .text, "ax" # 0x80006980 - 0x803E1E60 -.global CalcPitchRatio__Q44nw4r3snd6detail4UtilFi -CalcPitchRatio__Q44nw4r3snd6detail4UtilFi: -/* 80382FA8 0037EC08 20 A3 0B FF */ subfic r5, r3, 0xbff -/* 80382FAC 0037EC0C 38 00 0C 00 */ li r0, 0xc00 -/* 80382FB0 0037EC10 7C A5 03 96 */ divwu r5, r5, r0 -/* 80382FB4 0037EC14 2C 03 00 00 */ cmpwi r3, 0 -/* 80382FB8 0037EC18 C0 22 A7 A8 */ lfs f1, lbl_80642DA8-_SDA2_BASE_(r2) -/* 80382FBC 0037EC1C 38 C0 00 00 */ li r6, 0 -/* 80382FC0 0037EC20 40 80 00 34 */ bge lbl_80382FF4 -/* 80382FC4 0037EC24 54 A4 E8 FF */ rlwinm. r4, r5, 0x1d, 3, 0x1f -/* 80382FC8 0037EC28 1C 05 0C 00 */ mulli r0, r5, 0xc00 -/* 80382FCC 0037EC2C 7C 89 03 A6 */ mtctr r4 -/* 80382FD0 0037EC30 41 82 00 14 */ beq lbl_80382FE4 -lbl_80382FD4: -/* 80382FD4 0037EC34 38 C6 FF F8 */ addi r6, r6, -8 -/* 80382FD8 0037EC38 42 00 FF FC */ bdnz lbl_80382FD4 -/* 80382FDC 0037EC3C 70 A5 00 07 */ andi. r5, r5, 7 -/* 80382FE0 0037EC40 41 82 00 10 */ beq lbl_80382FF0 -lbl_80382FE4: -/* 80382FE4 0037EC44 7C A9 03 A6 */ mtctr r5 -lbl_80382FE8: -/* 80382FE8 0037EC48 38 C6 FF FF */ addi r6, r6, -1 -/* 80382FEC 0037EC4C 42 00 FF FC */ bdnz lbl_80382FE8 -lbl_80382FF0: -/* 80382FF0 0037EC50 7C 63 02 14 */ add r3, r3, r0 -lbl_80382FF4: -/* 80382FF4 0037EC54 38 00 0C 00 */ li r0, 0xc00 -/* 80382FF8 0037EC58 2C 03 0C 00 */ cmpwi r3, 0xc00 -/* 80382FFC 0037EC5C 7C A3 03 96 */ divwu r5, r3, r0 -/* 80383000 0037EC60 41 80 00 34 */ blt lbl_80383034 -/* 80383004 0037EC64 54 A4 E8 FF */ rlwinm. r4, r5, 0x1d, 3, 0x1f -/* 80383008 0037EC68 1C 05 F4 00 */ mulli r0, r5, -3072 -/* 8038300C 0037EC6C 7C 89 03 A6 */ mtctr r4 -/* 80383010 0037EC70 41 82 00 14 */ beq lbl_80383024 -lbl_80383014: -/* 80383014 0037EC74 38 C6 00 08 */ addi r6, r6, 8 -/* 80383018 0037EC78 42 00 FF FC */ bdnz lbl_80383014 -/* 8038301C 0037EC7C 70 A5 00 07 */ andi. r5, r5, 7 -/* 80383020 0037EC80 41 82 00 10 */ beq lbl_80383030 -lbl_80383024: -/* 80383024 0037EC84 7C A9 03 A6 */ mtctr r5 -lbl_80383028: -/* 80383028 0037EC88 38 C6 00 01 */ addi r6, r6, 1 -/* 8038302C 0037EC8C 42 00 FF FC */ bdnz lbl_80383028 -lbl_80383030: -/* 80383030 0037EC90 7C 63 02 14 */ add r3, r3, r0 -lbl_80383034: -/* 80383034 0037EC94 2C 06 00 00 */ cmpwi r6, 0 -/* 80383038 0037EC98 C0 02 A7 AC */ lfs f0, lbl_80642DAC-_SDA2_BASE_(r2) -/* 8038303C 0037EC9C 7C C5 33 78 */ mr r5, r6 -/* 80383040 0037ECA0 40 81 00 50 */ ble lbl_80383090 -/* 80383044 0037ECA4 54 C4 E8 FF */ rlwinm. r4, r6, 0x1d, 3, 0x1f -/* 80383048 0037ECA8 7C 06 00 D0 */ neg r0, r6 -/* 8038304C 0037ECAC 7C 89 03 A6 */ mtctr r4 -/* 80383050 0037ECB0 41 82 00 30 */ beq lbl_80383080 -lbl_80383054: -/* 80383054 0037ECB4 EC 21 00 32 */ fmuls f1, f1, f0 -/* 80383058 0037ECB8 EC 21 00 32 */ fmuls f1, f1, f0 -/* 8038305C 0037ECBC EC 21 00 32 */ fmuls f1, f1, f0 -/* 80383060 0037ECC0 EC 21 00 32 */ fmuls f1, f1, f0 -/* 80383064 0037ECC4 EC 21 00 32 */ fmuls f1, f1, f0 -/* 80383068 0037ECC8 EC 21 00 32 */ fmuls f1, f1, f0 -/* 8038306C 0037ECCC EC 21 00 32 */ fmuls f1, f1, f0 -/* 80383070 0037ECD0 EC 21 00 32 */ fmuls f1, f1, f0 -/* 80383074 0037ECD4 42 00 FF E0 */ bdnz lbl_80383054 -/* 80383078 0037ECD8 70 C5 00 07 */ andi. r5, r6, 7 -/* 8038307C 0037ECDC 41 82 00 10 */ beq lbl_8038308C -lbl_80383080: -/* 80383080 0037ECE0 7C A9 03 A6 */ mtctr r5 -lbl_80383084: -/* 80383084 0037ECE4 EC 21 00 32 */ fmuls f1, f1, f0 -/* 80383088 0037ECE8 42 00 FF FC */ bdnz lbl_80383084 -lbl_8038308C: -/* 8038308C 0037ECEC 7C C6 02 14 */ add r6, r6, r0 -lbl_80383090: -/* 80383090 0037ECF0 2C 06 00 00 */ cmpwi r6, 0 -/* 80383094 0037ECF4 C0 02 A7 B0 */ lfs f0, lbl_80642DB0-_SDA2_BASE_(r2) -/* 80383098 0037ECF8 7C 86 00 D0 */ neg r4, r6 -/* 8038309C 0037ECFC 40 80 00 48 */ bge lbl_803830E4 -/* 803830A0 0037ED00 54 80 E8 FF */ rlwinm. r0, r4, 0x1d, 3, 0x1f -/* 803830A4 0037ED04 7C 09 03 A6 */ mtctr r0 -/* 803830A8 0037ED08 41 82 00 30 */ beq lbl_803830D8 -lbl_803830AC: -/* 803830AC 0037ED0C EC 21 00 32 */ fmuls f1, f1, f0 -/* 803830B0 0037ED10 EC 21 00 32 */ fmuls f1, f1, f0 -/* 803830B4 0037ED14 EC 21 00 32 */ fmuls f1, f1, f0 -/* 803830B8 0037ED18 EC 21 00 32 */ fmuls f1, f1, f0 -/* 803830BC 0037ED1C EC 21 00 32 */ fmuls f1, f1, f0 -/* 803830C0 0037ED20 EC 21 00 32 */ fmuls f1, f1, f0 -/* 803830C4 0037ED24 EC 21 00 32 */ fmuls f1, f1, f0 -/* 803830C8 0037ED28 EC 21 00 32 */ fmuls f1, f1, f0 -/* 803830CC 0037ED2C 42 00 FF E0 */ bdnz lbl_803830AC -/* 803830D0 0037ED30 70 84 00 07 */ andi. r4, r4, 7 -/* 803830D4 0037ED34 41 82 00 10 */ beq lbl_803830E4 -lbl_803830D8: -/* 803830D8 0037ED38 7C 89 03 A6 */ mtctr r4 -lbl_803830DC: -/* 803830DC 0037ED3C EC 21 00 32 */ fmuls f1, f1, f0 -/* 803830E0 0037ED40 42 00 FF FC */ bdnz lbl_803830DC -lbl_803830E4: -/* 803830E4 0037ED44 7C 64 46 70 */ srawi r4, r3, 8 -/* 803830E8 0037ED48 54 60 C0 0E */ slwi r0, r3, 0x18 -/* 803830EC 0037ED4C 54 63 0F FE */ srwi r3, r3, 0x1f -/* 803830F0 0037ED50 7C 03 00 50 */ subf r0, r3, r0 -/* 803830F4 0037ED54 7C A4 01 95 */ addze. r5, r4 -/* 803830F8 0037ED58 54 00 40 3E */ rotlwi r0, r0, 8 -/* 803830FC 0037ED5C 7C 60 1A 14 */ add r3, r0, r3 -/* 80383100 0037ED60 41 82 00 18 */ beq lbl_80383118 -/* 80383104 0037ED64 3C 80 80 40 */ lis r4, lbl_80402948@ha -/* 80383108 0037ED68 54 A0 10 3A */ slwi r0, r5, 2 -/* 8038310C 0037ED6C 38 84 29 48 */ addi r4, r4, lbl_80402948@l -/* 80383110 0037ED70 7C 04 04 2E */ lfsx f0, r4, r0 -/* 80383114 0037ED74 EC 21 00 32 */ fmuls f1, f1, f0 -lbl_80383118: -/* 80383118 0037ED78 2C 03 00 00 */ cmpwi r3, 0 -/* 8038311C 0037ED7C 4D 82 00 20 */ beqlr -/* 80383120 0037ED80 3C 80 80 40 */ lis r4, lbl_80402978@ha -/* 80383124 0037ED84 54 60 10 3A */ slwi r0, r3, 2 -/* 80383128 0037ED88 38 84 29 78 */ addi r4, r4, lbl_80402978@l -/* 8038312C 0037ED8C 7C 04 04 2E */ lfsx f0, r4, r0 -/* 80383130 0037ED90 EC 21 00 32 */ fmuls f1, f1, f0 -/* 80383134 0037ED94 4E 80 00 20 */ blr - -.global CalcVolumeRatio__Q44nw4r3snd6detail4UtilFf -CalcVolumeRatio__Q44nw4r3snd6detail4UtilFf: -/* 80383138 0037ED98 C0 42 A7 B4 */ lfs f2, lbl_80642DB4-_SDA2_BASE_(r2) -/* 8038313C 0037ED9C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80383140 0037EDA0 FC 01 10 40 */ fcmpo cr0, f1, f2 -/* 80383144 0037EDA4 40 81 00 08 */ ble lbl_8038314C -/* 80383148 0037EDA8 48 00 00 18 */ b lbl_80383160 -lbl_8038314C: -/* 8038314C 0037EDAC C0 42 A7 B8 */ lfs f2, lbl_80642DB8-_SDA2_BASE_(r2) -/* 80383150 0037EDB0 FC 01 10 40 */ fcmpo cr0, f1, f2 -/* 80383154 0037EDB4 40 80 00 08 */ bge lbl_8038315C -/* 80383158 0037EDB8 48 00 00 08 */ b lbl_80383160 -lbl_8038315C: -/* 8038315C 0037EDBC FC 40 08 90 */ fmr f2, f1 -lbl_80383160: -/* 80383160 0037EDC0 C0 02 A7 BC */ lfs f0, lbl_80642DBC-_SDA2_BASE_(r2) -/* 80383164 0037EDC4 3C 60 80 40 */ lis r3, lbl_80402D78@ha -/* 80383168 0037EDC8 38 63 2D 78 */ addi r3, r3, lbl_80402D78@l -/* 8038316C 0037EDCC EC 00 00 B2 */ fmuls f0, f0, f2 -/* 80383170 0037EDD0 FC 00 00 1E */ fctiwz f0, f0 -/* 80383174 0037EDD4 D8 01 00 08 */ stfd f0, 8(r1) -/* 80383178 0037EDD8 80 81 00 0C */ lwz r4, 0xc(r1) -/* 8038317C 0037EDDC 38 04 03 88 */ addi r0, r4, 0x388 -/* 80383180 0037EDE0 54 00 10 3A */ slwi r0, r0, 2 -/* 80383184 0037EDE4 7C 23 04 2E */ lfsx f1, r3, r0 -/* 80383188 0037EDE8 38 21 00 10 */ addi r1, r1, 0x10 -/* 8038318C 0037EDEC 4E 80 00 20 */ blr - -.global CalcPanRatio__Q44nw4r3snd6detail4UtilFfRCQ54nw4r3snd6detail4Util7PanInfo -CalcPanRatio__Q44nw4r3snd6detail4UtilFfRCQ54nw4r3snd6detail4Util7PanInfo: -/* 80383190 0037EDF0 C0 42 A7 A8 */ lfs f2, lbl_80642DA8-_SDA2_BASE_(r2) -/* 80383194 0037EDF4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80383198 0037EDF8 FC 01 10 40 */ fcmpo cr0, f1, f2 -/* 8038319C 0037EDFC 40 81 00 08 */ ble lbl_803831A4 -/* 803831A0 0037EE00 48 00 00 18 */ b lbl_803831B8 -lbl_803831A4: -/* 803831A4 0037EE04 C0 42 A7 C0 */ lfs f2, lbl_80642DC0-_SDA2_BASE_(r2) -/* 803831A8 0037EE08 FC 01 10 40 */ fcmpo cr0, f1, f2 -/* 803831AC 0037EE0C 40 80 00 08 */ bge lbl_803831B4 -/* 803831B0 0037EE10 48 00 00 08 */ b lbl_803831B8 -lbl_803831B4: -/* 803831B4 0037EE14 FC 40 08 90 */ fmr f2, f1 -lbl_803831B8: -/* 803831B8 0037EE18 C0 02 A7 A8 */ lfs f0, lbl_80642DA8-_SDA2_BASE_(r2) -/* 803831BC 0037EE1C 3C 80 80 45 */ lis r4, lbl_8044D040@ha -/* 803831C0 0037EE20 80 03 00 00 */ lwz r0, 0(r3) -/* 803831C4 0037EE24 38 84 D0 40 */ addi r4, r4, lbl_8044D040@l -/* 803831C8 0037EE28 EC 20 10 2A */ fadds f1, f0, f2 -/* 803831CC 0037EE2C C0 42 A7 B0 */ lfs f2, lbl_80642DB0-_SDA2_BASE_(r2) -/* 803831D0 0037EE30 54 05 10 3A */ slwi r5, r0, 2 -/* 803831D4 0037EE34 88 03 00 04 */ lbz r0, 4(r3) -/* 803831D8 0037EE38 C0 02 A7 C4 */ lfs f0, lbl_80642DC4-_SDA2_BASE_(r2) -/* 803831DC 0037EE3C EC 21 00 B2 */ fmuls f1, f1, f2 -/* 803831E0 0037EE40 2C 00 00 00 */ cmpwi r0, 0 -/* 803831E4 0037EE44 7C 84 28 2E */ lwzx r4, r4, r5 -/* 803831E8 0037EE48 EC 00 00 72 */ fmuls f0, f0, f1 -/* 803831EC 0037EE4C EC 02 00 2A */ fadds f0, f2, f0 -/* 803831F0 0037EE50 FC 00 00 1E */ fctiwz f0, f0 -/* 803831F4 0037EE54 D8 01 00 08 */ stfd f0, 8(r1) -/* 803831F8 0037EE58 80 01 00 0C */ lwz r0, 0xc(r1) -/* 803831FC 0037EE5C 54 00 10 3A */ slwi r0, r0, 2 -/* 80383200 0037EE60 7C 44 04 2E */ lfsx f2, r4, r0 -/* 80383204 0037EE64 41 82 00 0C */ beq lbl_80383210 -/* 80383208 0037EE68 C0 04 02 00 */ lfs f0, 0x200(r4) -/* 8038320C 0037EE6C EC 42 00 24 */ fdivs f2, f2, f0 -lbl_80383210: -/* 80383210 0037EE70 88 03 00 05 */ lbz r0, 5(r3) -/* 80383214 0037EE74 2C 00 00 00 */ cmpwi r0, 0 -/* 80383218 0037EE78 41 82 00 2C */ beq lbl_80383244 -/* 8038321C 0037EE7C C0 22 A7 A8 */ lfs f1, lbl_80642DA8-_SDA2_BASE_(r2) -/* 80383220 0037EE80 FC 02 08 40 */ fcmpo cr0, f2, f1 -/* 80383224 0037EE84 40 81 00 08 */ ble lbl_8038322C -/* 80383228 0037EE88 48 00 00 40 */ b lbl_80383268 -lbl_8038322C: -/* 8038322C 0037EE8C C0 22 A7 C8 */ lfs f1, lbl_80642DC8-_SDA2_BASE_(r2) -/* 80383230 0037EE90 FC 02 08 40 */ fcmpo cr0, f2, f1 -/* 80383234 0037EE94 40 80 00 08 */ bge lbl_8038323C -/* 80383238 0037EE98 48 00 00 30 */ b lbl_80383268 -lbl_8038323C: -/* 8038323C 0037EE9C FC 20 10 90 */ fmr f1, f2 -/* 80383240 0037EEA0 48 00 00 28 */ b lbl_80383268 -lbl_80383244: -/* 80383244 0037EEA4 C0 22 A7 AC */ lfs f1, lbl_80642DAC-_SDA2_BASE_(r2) -/* 80383248 0037EEA8 FC 02 08 40 */ fcmpo cr0, f2, f1 -/* 8038324C 0037EEAC 40 81 00 08 */ ble lbl_80383254 -/* 80383250 0037EEB0 48 00 00 18 */ b lbl_80383268 -lbl_80383254: -/* 80383254 0037EEB4 C0 22 A7 C8 */ lfs f1, lbl_80642DC8-_SDA2_BASE_(r2) -/* 80383258 0037EEB8 FC 02 08 40 */ fcmpo cr0, f2, f1 -/* 8038325C 0037EEBC 40 80 00 08 */ bge lbl_80383264 -/* 80383260 0037EEC0 48 00 00 08 */ b lbl_80383268 -lbl_80383264: -/* 80383264 0037EEC4 FC 20 10 90 */ fmr f1, f2 -lbl_80383268: -/* 80383268 0037EEC8 38 21 00 10 */ addi r1, r1, 0x10 -/* 8038326C 0037EECC 4E 80 00 20 */ blr - -.global CalcSurroundPanRatio__Q44nw4r3snd6detail4UtilFfRCQ54nw4r3snd6detail4Util7PanInfo -CalcSurroundPanRatio__Q44nw4r3snd6detail4UtilFfRCQ54nw4r3snd6detail4Util7PanInfo: -/* 80383270 0037EED0 C0 02 A7 AC */ lfs f0, lbl_80642DAC-_SDA2_BASE_(r2) -/* 80383274 0037EED4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80383278 0037EED8 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8038327C 0037EEDC 40 81 00 08 */ ble lbl_80383284 -/* 80383280 0037EEE0 48 00 00 18 */ b lbl_80383298 -lbl_80383284: -/* 80383284 0037EEE4 C0 02 A7 C8 */ lfs f0, lbl_80642DC8-_SDA2_BASE_(r2) -/* 80383288 0037EEE8 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8038328C 0037EEEC 40 80 00 08 */ bge lbl_80383294 -/* 80383290 0037EEF0 48 00 00 08 */ b lbl_80383298 -lbl_80383294: -/* 80383294 0037EEF4 FC 00 08 90 */ fmr f0, f1 -lbl_80383298: -/* 80383298 0037EEF8 C0 42 A7 B0 */ lfs f2, lbl_80642DB0-_SDA2_BASE_(r2) -/* 8038329C 0037EEFC 3C 80 80 45 */ lis r4, lbl_8044D040@ha -/* 803832A0 0037EF00 80 03 00 00 */ lwz r0, 0(r3) -/* 803832A4 0037EF04 38 84 D0 40 */ addi r4, r4, lbl_8044D040@l -/* 803832A8 0037EF08 EC 20 00 B2 */ fmuls f1, f0, f2 -/* 803832AC 0037EF0C C0 02 A7 C4 */ lfs f0, lbl_80642DC4-_SDA2_BASE_(r2) -/* 803832B0 0037EF10 54 00 10 3A */ slwi r0, r0, 2 -/* 803832B4 0037EF14 C0 62 A7 AC */ lfs f3, lbl_80642DAC-_SDA2_BASE_(r2) -/* 803832B8 0037EF18 7C 64 00 2E */ lwzx r3, r4, r0 -/* 803832BC 0037EF1C EC 00 00 72 */ fmuls f0, f0, f1 -/* 803832C0 0037EF20 EC 02 00 2A */ fadds f0, f2, f0 -/* 803832C4 0037EF24 FC 00 00 1E */ fctiwz f0, f0 -/* 803832C8 0037EF28 D8 01 00 08 */ stfd f0, 8(r1) -/* 803832CC 0037EF2C 80 01 00 0C */ lwz r0, 0xc(r1) -/* 803832D0 0037EF30 54 00 10 3A */ slwi r0, r0, 2 -/* 803832D4 0037EF34 7C 03 04 2E */ lfsx f0, r3, r0 -/* 803832D8 0037EF38 FC 00 18 40 */ fcmpo cr0, f0, f3 -/* 803832DC 0037EF3C 40 81 00 08 */ ble lbl_803832E4 -/* 803832E0 0037EF40 48 00 00 18 */ b lbl_803832F8 -lbl_803832E4: -/* 803832E4 0037EF44 C0 62 A7 C8 */ lfs f3, lbl_80642DC8-_SDA2_BASE_(r2) -/* 803832E8 0037EF48 FC 00 18 40 */ fcmpo cr0, f0, f3 -/* 803832EC 0037EF4C 40 80 00 08 */ bge lbl_803832F4 -/* 803832F0 0037EF50 48 00 00 08 */ b lbl_803832F8 -lbl_803832F4: -/* 803832F4 0037EF54 FC 60 00 90 */ fmr f3, f0 -lbl_803832F8: -/* 803832F8 0037EF58 FC 20 18 90 */ fmr f1, f3 -/* 803832FC 0037EF5C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80383300 0037EF60 4E 80 00 20 */ blr - -.global CalcLpfFreq__Q44nw4r3snd6detail4UtilFf -CalcLpfFreq__Q44nw4r3snd6detail4UtilFf: -/* 80383304 0037EF64 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80383308 0037EF68 7C 08 02 A6 */ mflr r0 -/* 8038330C 0037EF6C C0 42 A7 A8 */ lfs f2, lbl_80642DA8-_SDA2_BASE_(r2) -/* 80383310 0037EF70 90 01 00 14 */ stw r0, 0x14(r1) -/* 80383314 0037EF74 FC 01 10 40 */ fcmpo cr0, f1, f2 -/* 80383318 0037EF78 40 81 00 08 */ ble lbl_80383320 -/* 8038331C 0037EF7C 48 00 00 18 */ b lbl_80383334 -lbl_80383320: -/* 80383320 0037EF80 C0 42 A7 C8 */ lfs f2, lbl_80642DC8-_SDA2_BASE_(r2) -/* 80383324 0037EF84 FC 01 10 40 */ fcmpo cr0, f1, f2 -/* 80383328 0037EF88 40 80 00 08 */ bge lbl_80383330 -/* 8038332C 0037EF8C 48 00 00 08 */ b lbl_80383334 -lbl_80383330: -/* 80383330 0037EF90 FC 40 08 90 */ fmr f2, f1 -lbl_80383334: -/* 80383334 0037EF94 C8 22 A7 E8 */ lfd f1, lbl_80642DE8-_SDA2_BASE_(r2) -/* 80383338 0037EF98 C8 02 A7 E0 */ lfd f0, lbl_80642DE0-_SDA2_BASE_(r2) -/* 8038333C 0037EF9C FC 42 08 28 */ fsub f2, f2, f1 -/* 80383340 0037EFA0 C8 22 A7 D8 */ lfd f1, lbl_80642DD8-_SDA2_BASE_(r2) -/* 80383344 0037EFA4 FC 40 00 B2 */ fmul f2, f0, f2 -/* 80383348 0037EFA8 4B E5 12 9D */ bl func_801D45E4 -/* 8038334C 0037EFAC C8 02 A7 D0 */ lfd f0, lbl_80642DD0-_SDA2_BASE_(r2) -/* 80383350 0037EFB0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80383354 0037EFB4 FC 00 00 72 */ fmul f0, f0, f1 -/* 80383358 0037EFB8 FC 00 00 1E */ fctiwz f0, f0 -/* 8038335C 0037EFBC D8 01 00 08 */ stfd f0, 8(r1) -/* 80383360 0037EFC0 80 61 00 0C */ lwz r3, 0xc(r1) -/* 80383364 0037EFC4 7C 08 03 A6 */ mtlr r0 -/* 80383368 0037EFC8 38 21 00 10 */ addi r1, r1, 0x10 -/* 8038336C 0037EFCC 4E 80 00 20 */ blr - -.global GetRemoteFilterCoefs__Q44nw4r3snd6detail4UtilFiPUsPUsPUsPUsPUs -GetRemoteFilterCoefs__Q44nw4r3snd6detail4UtilFiPUsPUsPUsPUsPUs: -/* 80383370 0037EFD0 2C 03 00 7F */ cmpwi r3, 0x7f -/* 80383374 0037EFD4 40 81 00 0C */ ble lbl_80383380 -/* 80383378 0037EFD8 38 00 00 7F */ li r0, 0x7f -/* 8038337C 0037EFDC 48 00 00 0C */ b lbl_80383388 -lbl_80383380: -/* 80383380 0037EFE0 7C 60 FE 70 */ srawi r0, r3, 0x1f -/* 80383384 0037EFE4 7C 60 00 78 */ andc r0, r3, r0 -lbl_80383388: -/* 80383388 0037EFE8 1D 20 00 0A */ mulli r9, r0, 0xa -/* 8038338C 0037EFEC 3C 60 80 40 */ lis r3, lbl_80404898@ha -/* 80383390 0037EFF0 38 63 48 98 */ addi r3, r3, lbl_80404898@l -/* 80383394 0037EFF4 7C 03 4A 2E */ lhzx r0, r3, r9 -/* 80383398 0037EFF8 7D 23 4A 14 */ add r9, r3, r9 -/* 8038339C 0037EFFC A0 69 00 02 */ lhz r3, 2(r9) -/* 803833A0 0037F000 B0 04 00 00 */ sth r0, 0(r4) -/* 803833A4 0037F004 A0 09 00 04 */ lhz r0, 4(r9) -/* 803833A8 0037F008 B0 65 00 00 */ sth r3, 0(r5) -/* 803833AC 0037F00C A0 69 00 06 */ lhz r3, 6(r9) -/* 803833B0 0037F010 B0 06 00 00 */ sth r0, 0(r6) -/* 803833B4 0037F014 A0 09 00 08 */ lhz r0, 8(r9) -/* 803833B8 0037F018 B0 67 00 00 */ sth r3, 0(r7) -/* 803833BC 0037F01C B0 08 00 00 */ sth r0, 0(r8) -/* 803833C0 0037F020 4E 80 00 20 */ blr - -.global CalcRandom__Q44nw4r3snd6detail4UtilFv -CalcRandom__Q44nw4r3snd6detail4UtilFv: -/* 803833C4 0037F024 3C 60 00 19 */ lis r3, 0x0019660D@ha -/* 803833C8 0037F028 80 8D 95 38 */ lwz r4, lbl_8063E7F8-_SDA_BASE_(r13) -/* 803833CC 0037F02C 38 03 66 0D */ addi r0, r3, 0x0019660D@l -/* 803833D0 0037F030 7C 64 01 D6 */ mullw r3, r4, r0 -/* 803833D4 0037F034 3C 63 3C 6F */ addis r3, r3, 0x3c6f -/* 803833D8 0037F038 38 03 F3 5F */ addi r0, r3, -3233 -/* 803833DC 0037F03C 90 0D 95 38 */ stw r0, lbl_8063E7F8-_SDA_BASE_(r13) -/* 803833E0 0037F040 54 03 84 3E */ srwi r3, r0, 0x10 -/* 803833E4 0037F044 4E 80 00 20 */ blr - -.global GetDataRefAddressImpl__Q44nw4r3snd6detail4UtilFQ54nw4r3snd6detail4Util7RefTypeUlPCv -GetDataRefAddressImpl__Q44nw4r3snd6detail4UtilFQ54nw4r3snd6detail4Util7RefTypeUlPCv: -/* 803833E8 0037F048 2C 03 00 01 */ cmpwi r3, 1 -/* 803833EC 0037F04C 40 82 00 0C */ bne lbl_803833F8 -/* 803833F0 0037F050 7C 64 2A 14 */ add r3, r4, r5 -/* 803833F4 0037F054 4E 80 00 20 */ blr -lbl_803833F8: -/* 803833F8 0037F058 2C 03 00 00 */ cmpwi r3, 0 -/* 803833FC 0037F05C 38 60 00 00 */ li r3, 0 -/* 80383400 0037F060 4C 82 00 20 */ bnelr -/* 80383404 0037F064 7C 83 23 78 */ mr r3, r4 -/* 80383408 0037F068 4E 80 00 20 */ blr - .global func_8038340C func_8038340C: /* 8038340C 0037F06C 90 83 00 00 */ stw r4, 0(r3) diff --git a/obj_files.mk b/obj_files.mk index 11600a1..1a54965 100644 --- a/obj_files.mk +++ b/obj_files.mk @@ -158,6 +158,7 @@ TEXT_O_FILES := \ $(BUILD_DIR)/asm/nw4r/snd/detail/snd_TaskThread.o \ $(BUILD_DIR)/asm/nw4r/snd/detail/snd_Voice.o \ $(BUILD_DIR)/asm/nw4r/snd/detail/snd_VoiceManager.o \ + $(BUILD_DIR)/asm/nw4r/snd/detail/snd_Util.o \ $(BUILD_DIR)/asm/text_11.o CTORS_O_FILES := \ |