From 36c370062ce4474d873365d7406a56d380a306fa Mon Sep 17 00:00:00 2001 From: Max Date: Wed, 7 Oct 2020 11:56:45 -0400 Subject: split AXFXLfoTable, AXFXSrcCoef, and AXFXHooks --- asm/SDK/AX/AXFXChorusExp.s | 4 ++-- asm/SDK/AX/AXFXHooks.s | 27 +++++++++++++++++++++++++++ asm/SDK/AX/AXFXLfoTable.s | 9 +++++++++ asm/SDK/AX/AXFXSrcCoef.s | 11 +++++++++++ asm/SDK/HBM/HBMBase.s | 6 +++--- asm/nw4r/snd/detail/snd_AxfxImpl.s | 6 +++--- asm/text_8_5.s | 37 ------------------------------------- obj_files.mk | 4 +++- 8 files changed, 58 insertions(+), 46 deletions(-) create mode 100644 asm/SDK/AX/AXFXHooks.s create mode 100644 asm/SDK/AX/AXFXLfoTable.s create mode 100644 asm/SDK/AX/AXFXSrcCoef.s delete mode 100644 asm/text_8_5.s diff --git a/asm/SDK/AX/AXFXChorusExp.s b/asm/SDK/AX/AXFXChorusExp.s index 3368fd8..524aee1 100644 --- a/asm/SDK/AX/AXFXChorusExp.s +++ b/asm/SDK/AX/AXFXChorusExp.s @@ -406,7 +406,7 @@ lbl_80295F7C: /* 80295F7C 00291BDC 54 C0 00 1E */ rlwinm r0, r6, 0, 0, 0xf /* 80295F80 00291BE0 55 03 BE 7E */ rlwinm r3, r8, 0x17, 0x19, 0x1f /* 80295F84 00291BE4 90 1B 00 14 */ stw r0, 0x14(r27) -/* 80295F88 00291BE8 48 00 04 F9 */ bl func_80296480 +/* 80295F88 00291BE8 48 00 04 F9 */ bl __AXFXGetSrcCoef /* 80295F8C 00291BEC 7F 64 DB 78 */ mr r4, r27 /* 80295F90 00291BF0 7F 67 DB 78 */ mr r7, r27 /* 80295F94 00291BF4 38 A1 00 14 */ addi r5, r1, 0x14 @@ -604,7 +604,7 @@ lbl_80296244: /* 80296244 00291EA4 38 60 00 00 */ li r3, 0 /* 80296248 00291EA8 48 00 01 14 */ b lbl_8029635C lbl_8029624C: -/* 8029624C 00291EAC 48 00 02 29 */ bl func_80296474 +/* 8029624C 00291EAC 48 00 02 29 */ bl __AXFXGetLfoSinTable /* 80296250 00291EB0 C0 42 A3 38 */ lfs f2, lbl_80642938-_SDA2_BASE_(r2) /* 80296254 00291EB4 C0 3F 00 80 */ lfs f1, 0x80(r31) /* 80296258 00291EB8 C0 1F 00 84 */ lfs f0, 0x84(r31) diff --git a/asm/SDK/AX/AXFXHooks.s b/asm/SDK/AX/AXFXHooks.s new file mode 100644 index 0000000..d4f6340 --- /dev/null +++ b/asm/SDK/AX/AXFXHooks.s @@ -0,0 +1,27 @@ +.include "macros.inc" + +.section .text, "ax" # 0x80006980 - 0x803E1E60 + +__AXFXAllocFunction: +/* 80296494 002920F4 7C 64 1B 78 */ mr r4, r3 +/* 80296498 002920F8 80 6D 87 A8 */ lwz r3, lbl_8063DA68-_SDA_BASE_(r13) +/* 8029649C 002920FC 4B FD 3A C0 */ b OSAllocFromHeap + +__AXFXFreeFunction: +/* 802964A0 00292100 7C 64 1B 78 */ mr r4, r3 +/* 802964A4 00292104 80 6D 87 A8 */ lwz r3, lbl_8063DA68-_SDA_BASE_(r13) +/* 802964A8 00292108 4B FD 3B AC */ b OSFreeToHeap + +.global AXFXSetHooks +AXFXSetHooks: +/* 802964AC 0029210C 90 6D 88 F8 */ stw r3, lbl_8063DBB8-_SDA_BASE_(r13) +/* 802964B0 00292110 90 8D 88 FC */ stw r4, lbl_8063DBBC-_SDA_BASE_(r13) +/* 802964B4 00292114 4E 80 00 20 */ blr + +.global AXFXGetHooks +AXFXGetHooks: +/* 802964B8 00292118 80 0D 88 F8 */ lwz r0, lbl_8063DBB8-_SDA_BASE_(r13) +/* 802964BC 0029211C 90 03 00 00 */ stw r0, 0(r3) +/* 802964C0 00292120 80 0D 88 FC */ lwz r0, lbl_8063DBBC-_SDA_BASE_(r13) +/* 802964C4 00292124 90 04 00 00 */ stw r0, 0(r4) +/* 802964C8 00292128 4E 80 00 20 */ blr diff --git a/asm/SDK/AX/AXFXLfoTable.s b/asm/SDK/AX/AXFXLfoTable.s new file mode 100644 index 0000000..dbaffe5 --- /dev/null +++ b/asm/SDK/AX/AXFXLfoTable.s @@ -0,0 +1,9 @@ +.include "macros.inc" + +.section .text, "ax" # 0x80006980 - 0x803E1E60 + +.global __AXFXGetLfoSinTable +__AXFXGetLfoSinTable: +/* 80296474 002920D4 3C 60 80 44 */ lis r3, lbl_8043A770@ha +/* 80296478 002920D8 38 63 A7 70 */ addi r3, r3, lbl_8043A770@l +/* 8029647C 002920DC 4E 80 00 20 */ blr diff --git a/asm/SDK/AX/AXFXSrcCoef.s b/asm/SDK/AX/AXFXSrcCoef.s new file mode 100644 index 0000000..cc3debe --- /dev/null +++ b/asm/SDK/AX/AXFXSrcCoef.s @@ -0,0 +1,11 @@ +.include "macros.inc" + +.section .text, "ax" # 0x80006980 - 0x803E1E60 + +.global __AXFXGetSrcCoef +__AXFXGetSrcCoef: +/* 80296480 002920E0 3C 80 80 44 */ lis r4, lbl_8043A970@ha +/* 80296484 002920E4 54 60 20 36 */ slwi r0, r3, 4 +/* 80296488 002920E8 38 84 A9 70 */ addi r4, r4, lbl_8043A970@l +/* 8029648C 002920EC 7C 64 02 14 */ add r3, r4, r0 +/* 80296490 002920F0 4E 80 00 20 */ blr diff --git a/asm/SDK/HBM/HBMBase.s b/asm/SDK/HBM/HBMBase.s index 113d31f..28aee3b 100644 --- a/asm/SDK/HBM/HBMBase.s +++ b/asm/SDK/HBM/HBMBase.s @@ -1861,7 +1861,7 @@ lbl_8039BA38: /* 8039BA4C 003976AC B0 7F 05 EC */ sth r3, 0x5ec(r31) /* 8039BA50 003976B0 38 7F 05 F0 */ addi r3, r31, 0x5f0 /* 8039BA54 003976B4 38 9F 05 F4 */ addi r4, r31, 0x5f4 -/* 8039BA58 003976B8 4B EF AA 61 */ bl func_802964B8 +/* 8039BA58 003976B8 4B EF AA 61 */ bl AXFXGetHooks /* 8039BA5C 003976BC 38 7F 07 58 */ addi r3, r31, 0x758 /* 8039BA60 003976C0 38 9F 07 5C */ addi r4, r31, 0x75c /* 8039BA64 003976C4 4B EF 42 C5 */ bl AXGetAuxACallback @@ -1869,7 +1869,7 @@ lbl_8039BA38: /* 8039BA6C 003976CC 3C 80 80 3A */ lis r4, HBMFreeMem__FPv@ha /* 8039BA70 003976D0 38 63 A0 68 */ addi r3, r3, HBMAllocMem__FUl@l /* 8039BA74 003976D4 38 84 A0 74 */ addi r4, r4, HBMFreeMem__FPv@l -/* 8039BA78 003976D8 4B EF AA 35 */ bl func_802964AC +/* 8039BA78 003976D8 4B EF AA 35 */ bl AXFXSetHooks /* 8039BA7C 003976DC C0 62 A9 34 */ lfs f3, lbl_80642F34-_SDA2_BASE_(r2) /* 8039BA80 003976E0 38 7F 05 F8 */ addi r3, r31, 0x5f8 /* 8039BA84 003976E4 C0 42 A9 70 */ lfs f2, lbl_80642F70-_SDA2_BASE_(r2) @@ -3514,7 +3514,7 @@ lbl_8039D218: /* 8039D234 00398E94 4B EF 29 C9 */ bl AXRegisterAuxACallback /* 8039D238 00398E98 80 7D 05 F0 */ lwz r3, 0x5f0(r29) /* 8039D23C 00398E9C 80 9D 05 F4 */ lwz r4, 0x5f4(r29) -/* 8039D240 00398EA0 4B EF 92 6D */ bl func_802964AC +/* 8039D240 00398EA0 4B EF 92 6D */ bl AXFXSetHooks /* 8039D244 00398EA4 A0 7D 05 E8 */ lhz r3, 0x5e8(r29) /* 8039D248 00398EA8 4B EF 35 91 */ bl AXSetAuxAReturnVolume /* 8039D24C 00398EAC A0 7D 05 EA */ lhz r3, 0x5ea(r29) diff --git a/asm/nw4r/snd/detail/snd_AxfxImpl.s b/asm/nw4r/snd/detail/snd_AxfxImpl.s index 3fcd2b3..9634a63 100644 --- a/asm/nw4r/snd/detail/snd_AxfxImpl.s +++ b/asm/nw4r/snd/detail/snd_AxfxImpl.s @@ -40,12 +40,12 @@ HookAlloc__Q44nw4r3snd6detail8AxfxImplFPPFUl_PvPPFPv_v: /* 8036C750 003683B0 7C 7F 1B 78 */ mr r31, r3 /* 8036C754 003683B4 7C 83 23 78 */ mr r3, r4 /* 8036C758 003683B8 7C A4 2B 78 */ mr r4, r5 -/* 8036C75C 003683BC 4B F2 9D 5D */ bl func_802964B8 +/* 8036C75C 003683BC 4B F2 9D 5D */ bl AXFXGetHooks /* 8036C760 003683C0 3C 60 80 37 */ lis r3, Alloc__Q44nw4r3snd6detail8AxfxImplFUl@ha /* 8036C764 003683C4 3C 80 80 37 */ lis r4, Free__Q44nw4r3snd6detail8AxfxImplFPv@ha /* 8036C768 003683C8 38 63 C7 BC */ addi r3, r3, Alloc__Q44nw4r3snd6detail8AxfxImplFUl@l /* 8036C76C 003683CC 38 84 C8 1C */ addi r4, r4, Free__Q44nw4r3snd6detail8AxfxImplFPv@l -/* 8036C770 003683D0 4B F2 9D 3D */ bl func_802964AC +/* 8036C770 003683D0 4B F2 9D 3D */ bl AXFXSetHooks /* 8036C774 003683D4 93 ED B1 E8 */ stw r31, lbl_806404A8-_SDA_BASE_(r13) /* 8036C778 003683D8 83 E1 00 0C */ lwz r31, 0xc(r1) /* 8036C77C 003683DC 80 01 00 14 */ lwz r0, 0x14(r1) @@ -60,7 +60,7 @@ RestoreAlloc__Q44nw4r3snd6detail8AxfxImplFPFUl_PvPFPv_v: /* 8036C794 003683F4 7C 83 23 78 */ mr r3, r4 /* 8036C798 003683F8 7C A4 2B 78 */ mr r4, r5 /* 8036C79C 003683FC 90 01 00 14 */ stw r0, 0x14(r1) -/* 8036C7A0 00368400 4B F2 9D 0D */ bl func_802964AC +/* 8036C7A0 00368400 4B F2 9D 0D */ bl AXFXSetHooks /* 8036C7A4 00368404 38 00 00 00 */ li r0, 0 /* 8036C7A8 00368408 90 0D B1 E8 */ stw r0, lbl_806404A8-_SDA_BASE_(r13) /* 8036C7AC 0036840C 80 01 00 14 */ lwz r0, 0x14(r1) diff --git a/asm/text_8_5.s b/asm/text_8_5.s deleted file mode 100644 index d7b8b88..0000000 --- a/asm/text_8_5.s +++ /dev/null @@ -1,37 +0,0 @@ -.include "macros.inc" - -.section .text, "ax" # 0x80006980 - 0x803E1E60 - -.global func_80296474 -func_80296474: -/* 80296474 002920D4 3C 60 80 44 */ lis r3, lbl_8043A770@ha -/* 80296478 002920D8 38 63 A7 70 */ addi r3, r3, lbl_8043A770@l -/* 8029647C 002920DC 4E 80 00 20 */ blr - -.global func_80296480 -func_80296480: -/* 80296480 002920E0 3C 80 80 44 */ lis r4, lbl_8043A970@ha -/* 80296484 002920E4 54 60 20 36 */ slwi r0, r3, 4 -/* 80296488 002920E8 38 84 A9 70 */ addi r4, r4, lbl_8043A970@l -/* 8029648C 002920EC 7C 64 02 14 */ add r3, r4, r0 -/* 80296490 002920F0 4E 80 00 20 */ blr -/* 80296494 002920F4 7C 64 1B 78 */ mr r4, r3 -/* 80296498 002920F8 80 6D 87 A8 */ lwz r3, lbl_8063DA68-_SDA_BASE_(r13) -/* 8029649C 002920FC 4B FD 3A C0 */ b OSAllocFromHeap -/* 802964A0 00292100 7C 64 1B 78 */ mr r4, r3 -/* 802964A4 00292104 80 6D 87 A8 */ lwz r3, lbl_8063DA68-_SDA_BASE_(r13) -/* 802964A8 00292108 4B FD 3B AC */ b OSFreeToHeap - -.global func_802964AC -func_802964AC: -/* 802964AC 0029210C 90 6D 88 F8 */ stw r3, lbl_8063DBB8-_SDA_BASE_(r13) -/* 802964B0 00292110 90 8D 88 FC */ stw r4, lbl_8063DBBC-_SDA_BASE_(r13) -/* 802964B4 00292114 4E 80 00 20 */ blr - -.global func_802964B8 -func_802964B8: -/* 802964B8 00292118 80 0D 88 F8 */ lwz r0, lbl_8063DBB8-_SDA_BASE_(r13) -/* 802964BC 0029211C 90 03 00 00 */ stw r0, 0(r3) -/* 802964C0 00292120 80 0D 88 FC */ lwz r0, lbl_8063DBBC-_SDA_BASE_(r13) -/* 802964C4 00292124 90 04 00 00 */ stw r0, 0(r4) -/* 802964C8 00292128 4E 80 00 20 */ blr diff --git a/obj_files.mk b/obj_files.mk index 87fa1ac..026c663 100644 --- a/obj_files.mk +++ b/obj_files.mk @@ -199,7 +199,9 @@ TEXT_O_FILES := \ $(BUILD_DIR)/asm/SDK/AX/AXFXReverbStdExp.o \ $(BUILD_DIR)/asm/SDK/AX/AXFXChorus.o \ $(BUILD_DIR)/asm/SDK/AX/AXFXChorusExp.o \ - $(BUILD_DIR)/asm/text_8_5.o \ + $(BUILD_DIR)/asm/SDK/AX/AXFXLfoTable.o \ + $(BUILD_DIR)/asm/SDK/AX/AXFXSrcCoef.o \ + $(BUILD_DIR)/asm/SDK/AX/AXFXHooks.o \ $(BUILD_DIR)/asm/SDK/MEM/mem_heapCommon.o \ $(BUILD_DIR)/asm/SDK/MEM/mem_expHeap.o \ $(BUILD_DIR)/asm/SDK/MEM/mem_frameHeap.o \ -- cgit v1.2.3